Procedural level generation
About the game
If you ever watched Jackie Chan, Bruce Lee, or any other fighting movie, continue reading. In those kinds of movies, when there is a fight, there is a lot of broken things. By broken, I mean physically broken. There are glasses and chairs flying, tables look like a great place to throw your enemy at and everything is your weapon. Among the other things, this is something that we want players to experience in our 2D top-down game called Hack fu slash fu.
Sounds fun, but how? Even 2D top-down games can fit in hack and slash genre and that’s our aim. Furthermore, Hack fu slash fu is meant for everyone, from kids to adults, from casual players to hardcore gamers. The game will follow a story of our heroine Fu somewhere in China. Players will be able to explore multiple towers and rooms where they will experience many different enemies, puzzles, and bosses. Hack fu slash fu isn’t only a hack and slash game, it will also require some thinking from the players, like evading traps and solving puzzles to unlock certain doors. In that way, we hope to achieve a good balance between “action” and “thinking” moments that will keep our players engaged.
These screenshots are from our very first prototype.
Why and How? Procedurally Generation!
In early development we planned to customly create multiple room layouts. Our first game prototype used exactly that and judging by reactions from people, it turned out we did good job, it was fun, but the question was for how much longer. How many times player will die and repeat the same sequence of rooms with the same content over and over again, until they get bored. We didn’t want that to happen.
We did our homework, tried few solutions, but it wasn't that easy. We found games (like the Binding of Isaac) that use something similar, but not what we had in mind. Although we didn't want use handmade layouts that don’t change, the thought of using completely procedural rooms did not appeal to us since we did not have a good control of the quality of generated rooms. There are numerous things that we had to control, like having multiple connected bosses and puzzles before a boss room, or having a room where we could heal ourselves after an intense battle.
Luckily for us, we found the best solution for the game. If you’re familiar with procedurally generation, we use generative grammar that generates layout of rooms using some input we define. Basically what we do is create a set of rules where we can define many things like: what room visuals should be placed, which rooms should be connected, what content should be placed, and many many more.
What did we gain by using this approach? In the image above, there are many different room layouts. All those layouts (and many others) are generated from the simple set of rules. Every time you die, you need to carefully explore your environment again, however the game difficulty does not need to change much at all (at least if we're going to be gentle). Each player will get an unique and different experience.
Leave a comment
Log in with your itch.io account to leave a comment.