Software: Unity
Time: 12 Hrs
Objective: This is my first attempt at creating a procedurally generated level. My Goal was to make a 3D cave system that was visually interesting and navigable to a player. I was inspired by Deep Rock Galactic; An FPS where you are sent into asteroids in space to mine materials and complete objectives while fighting hordes of alien enemies. While Deep Rock uses a form of Occupancy Related Extension to generate their caves, I wanted to see what I can do using a different method. Most examples I saw for creating levels with cellular automata were in 2D and I wanted to see what this method could do with 3D.
Challenges: Finding a set of parameters that fit my goal. Changing one value dramatically changed the level that was generated. In addition these values also were in relationship to one another. If I was satisfied with one (A) of four values (A,B,C,D) , and changed another two (B,C), the value I was originally satisfied with (A) may not give me the same result that I expected in relation to this change.
Lessons Learned: -Procedural Level Generation requires lots of testing and iteration, just like anything else in game design.
-If a designer wants to use Procedural generation, it is 100% necessary to ask, "will this solution save time vs creating the assets organically?" & "Does this solution fit my project?".
-Procedural Generation is challenging
- In the end I don't feel like I succeeded in everything I wanted to do, but I may eventually come back to this and build upon my work. Regardless I did learn a lot from this and wanted to showcase it.
Sources Used: (2D cave generation cellular automata)
https://gamedevelopment.tutsplus.com/tutorials/generate-random-cave-levels-using-cellular-automata--gamedev-9664
Some of the end results. End result images at bottom of project.