[Prototype] Random Space (procedural level generation)
Hi people,
I have been experimenting with procedural level generation lately and have learnt a lot. I'd like to share these 2 showcases with the community.
Here are 2 techniques I looked into, the 3rd is a Perlin noise height-map for doing a random sine-wave like landscape (not demonstrated).
Example 1: Corridor algorithm
Prefabricated (Tiled editor) rooms with 1 entrance and 1 exit are aligned randomly to create a long level where player moves from room to room. There is also a basic edge tile transition to make it look more natural.
Example 2: Cellular Automata
This example uses a technique to create a cave like environment. This environment is also destructible and I have started adding some basic game mechanics which inspired me in games like Descent, Gravitar and Thrust from the 80's and 90's.
Regards
I have been experimenting with procedural level generation lately and have learnt a lot. I'd like to share these 2 showcases with the community.
Here are 2 techniques I looked into, the 3rd is a Perlin noise height-map for doing a random sine-wave like landscape (not demonstrated).
Example 1: Corridor algorithm
Prefabricated (Tiled editor) rooms with 1 entrance and 1 exit are aligned randomly to create a long level where player moves from room to room. There is also a basic edge tile transition to make it look more natural.
Example 2: Cellular Automata
This example uses a technique to create a cave like environment. This environment is also destructible and I have started adding some basic game mechanics which inspired me in games like Descent, Gravitar and Thrust from the 80's and 90's.
Regards
Comments
If there are any other techniques you are aware of to create random levels, I would appreciate a pointer to a site with some research material or any experience the local community has had in this specific area?
Thx
In the last Ludum Dare I built a random space generator that could generate infinite space levels that consisted of random celestial bodies (moons), the odd enemy space-thing and clumps of stuff to collect. There wasn't any perlin noise involved but I did use stratified random numbers to keep the variance of my moons at a managable level. To make infinite levels I implemented a "chunking" feature which represents the level as a sparse matrix where cells are filled with procedurally generated level-ness as the player comes close to them, a-la Minecraft.
@jellymann Thanks for the insight... I'll read up on Minecraft's approach and stratified random numbers to see if I can do a prototype using the tech. BTW: I downloaded your game No Hawking and played it. I really like the concept. Also the strange ambiance and music is perfect. Another thing that I really liked was the camera tracking wasn't exact. There seems to be some cool lerping happening which felt spot on - I might copy it in some of my games if you don't mind. Good work.
Thx for the feedback guys! Appreciated :)