Procedural three dimensional modular assembly - will it work

   4644   2   2
User Avatar
Member
16 posts
Joined: June 2006
Offline
Hello,

I have a question and could use some directions.
I'm trying to devise a way to create a video game level generator with Houdini.

The general idea is that I can set certain variables and/or construction curves.
Input a range of modular building blocks (like rooms, corridors, elevator shafts, stairs corners, etc.) and then Houdini should assemble these components into a playable game space. It should be possible to build in all axis with this (so not just on a flat surface but also with different height levels)?

My understanding of this would be to outfit the modular building blocks with connection points at the doorways. The generator will orient and connect new modules onto previously placed modules. These connection points could potentially have variables like height, width etc. so when a new segment is attached, they will fit one another.

To give you a better idea of what i'm talking about
I was thinking of making it work like this.
Make the generator or the user place a room or corridor somewhere. Then make the generator determine another location within a certain bounding box. The generator will then create rooms and corridors towards that point using the modular building blocks much like how one would assemble a pipeline. Preferably the generator will then loop back to the first room creating a circular path.

When these corridors and rooms have unused doors, repeat the process for a set number of generations until a complex enough level is generated. Then make the generator connect up the remaining openings with one another or seal them off.

Via configuring certain parameters, bigger rooms with more doors could have more importance to the generator and be more likely to have a corridor establish a connection with them.



I'm wondering if Houdini is capable of doing something like this.
If it is, does anyone know how I would go about setting up a system up.
If it isn't, does anyone have a better idea.

Examples or tutorials of a similar system, or anything that can help me reach the required result would be greatly appreciated.

Attachments:
houdini assembly concept.jpg (357.2 KB)

User Avatar
Member
289 posts
Joined: July 2005
Offline
You could L-systems with attributes on them to later on copy the specific geometry you need.

You could also take this into a forLoop and build your own itteration to “grow” the level. This would allow you to search for self intersections etc..
A computer is almost human - except that it does not blame its mistakes on another computer.
User Avatar
Member
696 posts
Joined: March 2006
Offline
well… you could certainly model the nodular building blocks in houdini and even have some sort of pre-assembled random variation that you export from houdini… but Houdini is not a game engine… how you program your game to compile your levels would be up to you…
Stephen Tucker
VFXTD
  • Quick Links