Been a long time since a blog post! I have been busy managing graphic artists, coordinating plans, and coding.
Onslaught relies on heavy randomization that empowers the game’s re-play ability aspect.
Being a 2D platformer, one of the main tasks was too ensure each level you ran has a different feel to it with different environment, different traps, different enemies and a powerful feedback engine that ensures that the next level will be even more hard.
Here are some tools and dev work that has been going on recently:
This is a very entry level look on how a procedural level is made. It relies on some key aspects like:
1) Neighboring platforms
2) Preference of Zones (Map is split into invisible zones for plopping new platforms)
3) All Generic – JSON Controlled via a Recipe based system
While working on your algorithm, it’s important to not be in the dark. So, I built a set of dev tools to help me quickly analyze progress or load levels on the fly. Levels can be loaded from Recipes or Files. File Levels are hard-coded levels and recipe levels on the other hand are purely random. Recipes just guide the algorithm during creation.
Here is how the heat map looks like:
Pretty fun. There were some many challenges encountered like making sure platforms are connected and reachable by all players, Plopping platforms where there is scarcity in zones and many more!
Excited on the progress. Art will come soon(tm).