Dev Update 02-Sept-2016
Hi again! This is just a little update, I’m still working on level generation.
Good news is I made some serious progress:
I could identify four major steps in the generation process:
- Generate an abstract area tree, based on parameters we define in the editor per level. This includes main- and sidebranch depth as well as an extendable set of room layout types (different generation algorithms) and their appearance probabilty. This is completed.
- Generate the floor plan: Generate rooms based on the input algorithms and connect the generated rooms along the given tree. Tests showed that a breadth-first algorithm is much more reliable for generating a floor plan than a depth-first algorithm – depth first does often fail because it tends to trap itself much like in a game of snake. This is done but can still be extended by writing more generation algorithms (i.e. cellular…).
- Place geometry based on the floor plan. Each room knows its tiles and is provided with a design pattern (sets of meshes as well as placement algorithm settings). This is what I was working on recently. Most important is that I need to take care of tile reduction, as there can be millions of tiles and I don’t want them be all unique game objects. In the gif, different mesh sizes are identified by different colors from red – small to blue – large. Also, the environment will be more believable if things don’t all look grid split evenly.
- Create gameplay, means placing gameplay relevant elements. This is what I will do as soon as I finished step 3. This will also be refined/extended until all development is finished.
To me these last two weeks were the hardest in all the development process and I’m glad its finally working.
Now I am pretty excited to see how the levels will look when the generic tiles will be replaced with actual art 🙂