Procedural tools introduction

Procedural tools introduction

In my last project, Iron Danger, we customised a procedural level generation tool called Dungeon Architect. I removed the procedural maze generation, and we added a bunch of custom tools to better control the nodes in the grid.

A timelapse of Iron Danger’s tools in action.

I was really happy with how easy it was to block out levels using this toolset, so naturally I had to use Dungeon Architect in this adventure game project as well!

In-game view of the white boxed procedural ship interior.

For Iron Danger I did way too much procedurally. We had a lot of random elements in the levels: even the small things on the shelves were separated and had random combinations and offsets. It made no sense: the tools reauired to control everything were finicky and somewhat difficult to control.

But what was great about the over the top procedural detail placement was that Iron Danger never had too much of a whitebox stage: everything looked ”final quality” out of the gate!

The Dungeon Architect main interface. Iron Danger had hundreds of nodes! Now will have about a dozen!

This time I am only going to use Dungeon Architect for the floors, walls, windows and doors. And for some other things that repeat over and over, like airducts and fences.

The simple cargo ship interior theme in action.

The ship level is a great example of the combination of methods that will be used to create the locations in the game:

  • the main ”shell” is a fbx file created in Modo
  • prefabs; like starways, life preservers, etc; are hand placed around the ship in Unity
  • repeating structures are built usin custom version of Dungeon Architect
  • Prefab Painter 2 is used to scatter small props; coffee cups, litter, barrels, furniture, etc; around the ship

I had to take great care when aligning the walls and doors and other areas where the procedural parts need to seamlessly integrate with the main portion of the ship.

Luckily the ship was really close to the measurements of the procedural grid: I only needed to move a few walls and the cabin section with the bridge forward a little bit!

Gameplay capture of the cargo ship level with procedural rooms and multiple accessible floors.

Now that the main shape of the ship is blocked out and the technical features are in place, I can start to test if the locations on my flow chart even fit! Testing that is very easy now that the internal walls are procedural!

if the ship is too small, I can always add more floors. I did a quick script for Adventure Creator (the adventure game framework I am using for game logic) that allows me to hide complete portions of the level on demand. This makes it easy to add multi storey buildings. The ship already has 2 storeys, but it can accommodate maximum of five!

Leave a Reply