The purpose of these Dev Logs will be to share with everyone the creation process for Steampunk Panic. A way to look behind the curtain, so to say. Some of these Dev Logs will be simple, others will give plenty of in-depth explanation for how things work or why things were done the way they were.
Today, there won’t be any images, as I haven’t added any new parts to the temp UI. Along with the original button types that you can tap (Normal, Multiplier, and Lose), I also added new types to provide more variety when looking at the game grid. Since these buttons are just colored buttons, there isn’t anything new to see.
The combo button (teal color), when hit, will start a combo! While a combo is active, every new set of buttons that appears will always have a combo button to be pressed, allowing you to continue the combo chain. Currently, the combo count is added to your current multiplier, allowing for a temp multiplier boost while you continue the combo. For example, if your multiplier is x5 and you start the combo, the next hit will provide the base points x (5 + 1) to your score. Hit the combo button again, and it goes up to (5 + 2), then (5 + 3), etc.
Since hitting the combo button makes it very easy to boost your multiplier quickly, there needed to be risk to this reward. So, while a combo is active, the game speed actually increases more quickly with each hit, allowing the game to go faster than the max speed the more provides. The player will need to decide when to force an end to their combo, otherwise they will get to a state where it could be impossible to hit a button in time and end the game. When the combo is ended, the multiplier bonus disappears, the game slows down to the speed it should be at, and the player can continue.
Flex Multiplier Button
Next, we have the Flex Multiplier button type (magenta color). This button is a special type of Multiplier button that, instead of increasing the multiplier by +1 when it, it could increase it by +0 up to +4 instead, based upon the time it takes to hit the button. So, when the button appears, it behooves the player to hit it as quickly as possible to boost their multiplier quickly. However, if the player doesn’t react fast enough, they might only increase the multiplier by +1 or even +0 (no increase).
This is another button that feels like it should have a risk/reward associated with it, but I haven’t decided what to do with it. The first thought is to allow the multiplier provided from the button to not only count down to +0, but go further, possibly to -1 or -4. By doing this, the player would need to make a quick decision to hit the button, but also move away from the button to another button if the multiplier drops to a negative amount. I’ll be iterating on this idea in the future…
Slow / Freeze Button
This button (blue color) appeared out of a desire to provide a bonus mode for the game. When this button is pressed, the game timer freezes for a small amount of time (currently 10 seconds). This provides a break if the game has been going a while, allowing the player to take a break or simply take their time to hit a few buttons, before picking back up to whatever speed the game should be at.
I currently have the button freezing the timer, but I also want to try just slowing the timer so it decreases 3-5 times slower. That will happen during some testing I perform to see which feels better.
Fever Mode Button
Again, I wanted another special mode, so I thought it might be fun to add a “Fever Mode” type of button (green color). When active, every button on the screen will be a valid button to tap, with no “Game Over” buttons appearing. The mode lasts for 5 seconds, allowing the player to spam all the buttons as quickly as they want.
To combat an instant-lose situation that appears when the mode ends, I opted to specify a certain number of button hits after the mode ends where no “Game Over” buttons appear, so if the player is mashing buttons when the mode ends, they can slow down and start playing normally after a couple hits go through.
This button feels really good when hit, and the buffer I added at the end for the button hits helped to make this mode perform even better.
Currently, there is an Easy, Normal and Hard mode for the game. The difficulty dictates what the base score should be, with Easy providing a max of 10 points, Normal a max of 100 points, and Hard a max of 1000 points when a button is hit. Of course, these points will be based upon how much time is left in the timer for the current hit. If you hit the button quickly, you’ll earn most of the base score. If you hit it really late, when the timer is almost empty, you’ll get a small amount of the base points. This rewards quick reaction speed.
The difficulty will also dictate the start speed of the game and what the max speed the game can reach normally. For example, Easy mode might start with a 2 second timer, providing plenty of time for new players to hit buttons. As they hit the buttons, the speed increases up to the max speed of 1 second per hit over time.
The idea is that as a player plays the Easy mode and gets used to the game, they will graduate to the Normal mode, earning an even higher score, but playing a faster game. Once they are good with Normal, the Hard mode will be where all players will eventually aim for, as this mode provides the highest score as well as requires quick reaction speed skills.
When the difficulty modes were created, I needed to find good speeds for the game. A special debug mode was added to the game in order to allow me to increase or decrease the starting and ending speeds for a mode, as well as dictate how fast the game speeds up per hit. The main goal is to try and allow the player to play the game comfortably for at least the first 50 hits. I didn’t want the game to end after a couple of hits due to the timer, nor did I want the player to not feel challenged by the timer until hit 300.
After a few hours of testing, I settled on some good speeds for these modes and put it in front of some players to test out. Sure enough, most of the players were able to get at least to hit #50 in easy mode, then the hit number decreased for the other modes, which makes sense since the players are not prepared or skilled enough for the faster speeds. After playing some of the easier modes first, these players retried the harder modes and made more progress. This is the type of progression I expect for the game, so that worked out well.
The bonus modes (Slow/Freeze and Fever) were welcome additions and, when triggered, the players definitely felt more powerful and just went to town. Some who had a large multiplier and hit the fever mode watched their score explode, and when their game ended they felt very accomplished!
The Easy mode is where most players will want to start, but some players will go straight to Normal mode for their first game. So, I needed to make the Easy mode speed good enough to not scare away new players (to the game, to the genre, or to games in general) and ramp up nicely so that the player felt like they were getting better and improving their reaction speed. The Normal mode also needed to provide a slight challenge for someone new to the game or the genre, but is not really where a player new to mobile games should touch.
If I want to add more button types to the game, I won’t be able to rely on simply colored buttons. There will need to be a textured appearance to the button, or some kind of extra treatment on the button to separate it from the other buttons. For example, the Multiplier and Flex Multiplier button types are essentially the game, so they could be the same button color but the Flex Multiplier could have some kind of “time” or “clock” art treatment added to it to inform the player that it is the timed version of the button. Likewise, I need to make sure each button stands out as the type of button it is, without confusion. This is important for color and display purposes, as well as for colorblind players. Relying on just color is a bad idea.
A few extra button types should probably exist, along with a way for me to pick how often these buttons should appear, or how many hits should happen before a button type can start appearing in the game.
With the differences in scores from the modes, I definitely need to let players submit their scores to a leaderboard for the mode itself, instead of a single leaderboard for all modes. This will let players compete against players in the same score range. Of course, I also need to validate this score to prevent cheating.
I’m still thinking about monetization for the game as well.
These questions and more will be addressed and tested over the next couple Dev Logs!