Until now we've designed all levels around a 4:3 aspect ratio. 16:9 is a much more common aspect ratio on modern displays and we wanted to switch to 16:9 for quite some time, but we were also aware that this will cause some problems. The main problem is that as we use pixel art we don't want to make the art blurry by scaling it up. To avoid this, we can only scale up with integers (2,3,4,...), but we also don’t want to introduce any black borders.
However, with these two requirements in mind we are only able to use either 320x180 or 640x360 as native resolution. Those will scale up well on 720p and also on 1080p. Before the transition we've used 320x240 and designed all our levels, mechanics and bosses around that resolution. The first option of 320x180 didn't work well, because the vertical size of the viewport was way to tall. Especially now with a new charged hammer mechanic (more on that later) where the size of the viewport actually matters A LOT to the gameplay.
The second option of 640x360 had the opposite problem. Although the game works nicely with it and looks beautiful, the viewport feels just way too big. The game is losing it's retro vibe quite a lot. It would also mean a lot of changes to the level design.And the current, narrow boss arenas would not work at all anymore.
So in the end we've decided to keep the vertical size of 240 pixels which was also a common resolution on popular 8Bit and 16Bit consoles. It scales up very nicely to 720p (3x). The problem now is that it doesn't scale up well to 1080p. So our solution is to scale it up 4x times. And then with that input we scale it up again by 1.3333333334. This will introduce a little bit of blurriness around the edges, but it's very hard to figure it out (Shovel Knight for example used the same or very similar approach I think). We've also added some options that people who prefer the original pixel art in all it's beauty can disable this last step in the games options.
We tweaked the mushrooms that are acting as trampolines. First of all we have removed that the player is able to modulate the jump height whether he holds the jump button down or not. In play tests we've figured out that it's quite unintuitive and it felt much better just without it. We also added the ability to rotate the mushrooms by 45 and 90 degrees which enables us to create some exciting fast-paced sections where the player is pushed around the level in zig-zag paths which is a lot of fun.
We're currently also talking about the idea, if the Mushrooms should also work as some kind of "charging pads" for the hammer to give some extra boost to it.
Using trigger zones we are now able to spawn enemies (indeed: any game object) when the player hits a predefined (invisible) box. The original intention for that feature wa that enemies are able to attack the player from both sides at the same time. But suddenly we realised that we can do much more with it, like spawning objects when the player backtracks a given area or even enemy patterns that change or start when a player hits given zone.
One example that benefits a lot from the spawning system are the statues. These were static enemies that now have a spawn animation where they rise from the ground in a dramatic fashion, ambushing the player.
We finally implemented Checkpoints. We didn't want them in the game since the beginning, but as the levels are getting bigger and bigger, with lots of areas to explore for the player, it was very frustrating when the player died near the end and has to start over.
Before the checkpoint system we felt very limited with the difficulty curve of an individual level. Very hard passages right before the exit of a 10 minute level felt very punishing if you failed, but you kind of expect a climax before the end. Now, as a level can be divided into chucks, we have much better control over pacing, difficulty and tension.
During the last weeks we played around a lot with different mechanics and ideas for the charged hammer the player can throw. And this week we finally reached a design that is genuinely fun and shows a lot of potential for enemy and leveldesign.
The player can now throw the hammer without it losing any speed or it being affected by gravity. This seemingly simple change resulted in the hammer bouncing through the level as if we're playing breakout.
This mechanic feels so awesome, powerful and satisfying because you can do lots of very cool, bouncy skillshots. You can even throw your hammer, watch him destroying enemies in one part of the screen while you fighting some enemies on the ground at the same time.
The wall jump of the game had some flaws we addressed now. One problem was that the player was not only able to jump up opposite walls but also single-sided walls as much as he wanted to. This was a problem with level design as we always had to take care of it. And for example put spikes on them so the player isn't able to skip sections or something like that. Now the player is pushed away much wider when he executes a wall jump which besides fixing our main problems has some other nice benefits as well. The player is now able to use the wall jump to jump off much wider, which combined with the double jump makes for some very wide jumps which can be used to do some nice level design or secret passages. The flow of it is also much, much better because the player can move or change direction much faster.
Last but not least we tweaked the swinging ropes.One thing that was important was to have greater control over their timings/angles in the editor, so that more intricate sections can be built. Another change we made was that the player gains more momentum from the swinging rope, allowing him to make wider jumps and we tweaked that values a lot so it felt less random and the player has better control over it.