Hey guys, we just wanted to give you an update on the future of these blog posts. We’re happy to say that Star Escape has just entered Closed Alpha. However, because of this, we’ll have to slow down the release of these blog posts to give us more time to work on the game they’re based on! As a result, we’ll be posting to this blog less regularly.
Today, we’re covering one of the significant design changes we made in the jump from Hopper to Star Escape. Specifically, I’ll be talking about our choice to create sequences of planets for the game to use in generating levels.
When we originally participated in the Jupiter Hadley Game Jam where Hopper was first created, we didn’t have any prebuilt planet sequences. Instead, to generate the levels, we simply made planets spawn randomly ahead of the player. Given the time we had, we’re pretty happy in how good the game turned out with this design decision. However, we also quickly realised that if we wanted to expand on the game, we’d need capabilities past what the random planet spawner could offer.
Without us having full control over the planets that the game was creating for the player, there were two main issues. Firstly, it was much harder for us to find ways to change the game’s difficulty. While we could change some of the “rules” from the planet spawner such as planet speed, difficulty was still too volatile since any number of planets could spawn in numerous locations, going from very easy to difficult in seconds. The second issue was that when players became good at the game, most of their deaths were not caused by their mistakes, and instead were down to the planet spawner’s mercy, or lack thereof: if no planets spawned, players would simply die because there was nowhere to jump to.
To rectify this issue, we decided to mostly do away with random planet generation and instead make Star Escape rely on spawning short, prefabricated “sequences” of planets. Each level would be made up of a combination of these sequences, with different levels having different selections of sequences available to spawn. This effectively resolved the issues we had, as we can make sure that there’s never a situation where the player has to rely on luck to survive. Furthermore, this lets us have easier and harder sequences, which allows us to control difficulty better.
This design change also has another useful dimension in that players can now master both gameplay mechanics as well as individual sequences. This means that we can make the sequences themselves harder, as players will be able to use both their own skills and past experience to help them succeed.
One concern we had was that making the sequences ourselves would make levels much blander and predictable. We fixed this by introducing a bit of randomness into the levels, albeit in a consistent and predictable way: while the sequences themselves are recognisable, the order of the sequences will be random. This means that the level will still be slightly different each time, which would still provide challenge to players on repeat playthroughs.
That said, the new sequences have a couple of downsides. The main one is that sequences are limited by our imagination, and since there are a finite number of them, eventually a player could learn them all. For this reason, we decided that Hopper’s “Classic” mode of play could still exist as an alternative gamemode in the game, albeit in a fine-tuned form.
The second challenge we faced was in removing elements that could effectively “break” sequences and make them unable to be completed. To do this we had to stop the planets in the sequence from having their location “disrupted” due to player behaviour. For this reason, we decided that we will have to remove the planet “recoil” that currently makes planets move in the opposite direction of Ihp’s jump.
Overall though, the pros of sequences really outweigh the cons. It’s better for both the players and us, and it’s fun to make sequences and seeing how they play out.
Stay tuned for our next post, where we’ll discuss our thought process in making sequences and how we try to influence player behaviour.
Thanks for reading.