Radioactive Bubbleboy 2
After the first game and lot of time learning new things in programming and unity, Radioactive Bubble Boy 2 was project I used to incorporate a lot of the things I learned.
Radioactive Bubble Boy 2 or RBB2 for short has procedural level generation more complex than I've ever done before and I will continue to use it as platform to improve my skills on map generation algorithms.
Emulating a minotaur
The map generation has three main parts. First part is the layout of the rooms. It's very similar to you basic maze algorithm but unlike how it's commonly done, I set it so that each position of the maze can be visited twice. This means almost every room has three connections (when not counting corners).
Giff filter passes, please
Second part of map generation involves algorithm similar to cellular-automata when every tile looks at the neighbours and decides whether to exist or not. The clever bit, the part I am particularly proud of is where I take this small GIF image of size 3x3, 5x5 or 7x7 (and so on.) and then use that as multiplier as to how concerned the tile is about particular neighbours. Completely white pixel is 100% concerned and black is 0%. There is lot of neat shapes this achieves.
Fabricating with threads
The next part sadly restricts the game never to convert correctly on WebGL, Threading! I managed to successfully get the map generation use threading properly. I admit that my implementation makes the further development of the map generation bit slower as I will have to take threading into account. I cannot make use most of the unity's built in libraries inside the threads.
In future versions I am hoping to use graphics processor to improve the speed even further or even make seemingly endless map.