๐„ช

Dungeon Toolset

๐„ช

Your Email Did Not Find Me Well...

The trials and tribulations of the middle of a project.

Editor Utility Widget

Last time I updated on this project, I was making an Editor Utility Widget to lay out the planes for my dungeon generator HDA. Well as I showed this to my mentor, her feedback was along the lines of, "It would be cool if I didn't have to leave this widget tab and go do another thing for the HDA." So naturally, I took that to heart and decided to put my entire HDA into the Editor Utility Widget.

At first I was looking at SideFX's Project Pegasus workflow, which involved editor utility scripting for HDA inputs and parameters. It seemed pretty straightforward, but there was one problem. I was using Adrian Pan's Github release of Houdini Engine because it had the capability of using dynamic mesh actors as a Houdini input. So I may or may not have spent 10+ hours attempting to use his plugin to accomplish what I was trying to accomplish. But unfortunately, it did not fit the workflow I was trying to use, so I switched back to regular Houdini Engine and sacrificed the capability of having dynamic meshes as an input.

Then, after lots of trials and tribulations, I managed to come up with a workflow for putting the functionality of Houdini Engine into an Editor Utility Widget.

First, I made a button to instantiate my HDA. I also made references for my HDA wrapper and HDA actor to be used later on.

Then, I made the construct properties function, which allowed me to then write the instantiated HDA to a details view. A details view essentially takes what would normally be in the details panel of an asset when you click on it in-editor, and puts that in your widget. After getting the details view to show up in the widget on instantiate, I was then able to go into the designer and filter it to only show my HDA's parameters, not the entirety of the details panel that would normally show.

Next, I made a couple of functions to make the tool easier to use. I noticed two problems after completing the previous step:

  1. Input planes kept flickering with HDA planes

  2. The standard input UI of the HDA usually works by locking the details panel so that you may select things within the level to be input. However, this functionality does not work with Editor Utility Widgets

Therefore, I decided that I would make custom input buttons and a way to turn off the visibility of input planes.

Now, my widget is in a place where I can leave it alone for now and come back to it when I'm in the polish phase of the project!


Custom Connection Points

Just kidding. I touched my widget again.

Because I finally made the logic for custom connection points! Yay! Now the user can create either a stair marker or a door marker, and drag that around to dynamically change where the player would move between rooms.

So therefore, I added those buttons to my widget!


Sewage Room

I started working on a new room type! Below, you'll see the difference between the new sewage room and the goblin workshop.


Next Steps

Going forward, I'm going to continue to work on different room types and taking care of the spawning of hero assets in the center of the rooms proportional to the area of the room. In addition, I'm going to polish my merge type selection for the planes.

Create a free website with Framer, the website builder loved by startups, designers and agencies.