This is an entry in a series of blog posts on game design and development considerations for Quest for Bass. More entries to follow as we get closer to the release!

The secondary main character, Hepyli, jumping over obstacles and getting hurt
The secondary main character, Hepyli, jumping over obstacles and getting hurt

In Quest for Bass, you guide Blouf and friends through a world where they must avoid varying obstacles, all the while collecting as many bass guitars as possible. Since Quest of Bass is an endless runner (waddler*), the levels are theoretically infinite and will continue to generate as long as Blouf and co retains some health.

The levels are a combination of procedural generation and predefined patterns – as the edge of the spawned level is about to come into view, the level is extended by generating a new part, either randomly or using one of the predefined templates that specify obstacle location, ground type and collectibles and power-ups.

The random generation is of course not truly random – we put a fair amount of constraints on level spawning; for example, a stationary obstacle cannot be placed on top of another stationary obstacle (a moving obstacle can however be placed in any position, as it will move away from its origin regardless).

Our goal was to have predictable patterns in the levels (thereby allowing you to become more skillful in avoiding obstacles by being able to react to specific, repeating obstacle patterns), all the while introducing random variation from session to session. For the first level (Outside), we have created several hundred templates that are gradually introduced – the deeper into the level you progress, the more different kinds of obstacles and challenges are introduced. As we speak, we’re working on the templates for the second (Club) and third (Studio) levels.

Designing the different obstacles is without a doubt the most fun part of the game development process!

* Because hedgehogs don’t run, they waddle….