I feel like we’ve been a little quiet recently, so I want to start getting back to more regular blog posts. One of the things that happens a lot when you’re working hard on a game is that you get sucked into the process and end up not having as much time to share the awesome things you’re working on. We’ve shared our first gameplay footage for Milkyway Meow Meow(aka Space Cat Moon Puncher) recently, which you can see here, but we’ve been quiet enough about what we’re working on and how the game is shaping up. Today I’m going to start to remedy that!
Milkyway Meow Meow’s vertical slice is now complete and we are so happy with how it turned out! It looks great, thanks to Tom(@NinjaMonkeyTom), and sounds great, thanks to Wayne(@WayneIrwinETC), but today I want to talk about the game design of the game so far. Game design and game development is an iterative process and the iteration involved is one of the most important aspects. Where we are now with Milkway Meow Meow is a long way from where we started, and where we’re going next with the game is entirely different again! That being said there are some(many?) key components of the game that have remained intact and will continue to stay intact as we move forward with the project. Iteration is important, but you also need to have a good understanding of what you want your game to be like or you’re not iterating towards anything.
When we started working on Milkway Meow Meow it was a prototype of a single game mechanic. This mechanic is inspired by the flash game Winterbells, which I strongly suggest you check out if you’ve never played it. The concept is that the player controls their character’s left and right movement with the mouse, while up and down movement is controlled by physics. Gameplay involves moving the character so that it “bounces” off objects, giving it some upward momentum. Because gravity affects the character, the player needs to make sure they line the character up with an object below them as they are falling, so they will hit it and gain more upward momentum. The goal is to keep going as long as possible and bouncing on objects increases the player’s score.
As you can see in my incredibly artistic diagram above, we have iterated on this core game mechanic quite a bit. While we’ve tweaked many aspects of the mechanic, the two elements I want to discuss are the Average Jump Height and the Object Distance, both shown above. These two elements are quite interconnected and have a large impact on each other. The distance the character gets propelled upwards(Average Jump Height) upon hitting one of the objects in WinterBells is just enough to “skip” an object each time and reach the object above it. This means the player can jump from the 1st object to the 3rd object, then to the 5th object etc. For Milkyway Meow Meow we actually reduced this “Average Jump Height” so that if the character falls onto an object they will only bounce high enough to reach the next object up and not be able to skip one. So if they fall onto the 1st object, they’ll only be able to reach the 2nd object. So why do I mention falling onto the object here? The reason this is important is because unlike WinterBells the player can actually gain momentum in Milkyway Meow Meow. Winterbells will “cancel out” the current upward momentum when the player hits an object so that they’re always making jumps of 2 objects at most. In Milkway Meow Meow however, if the player hits an object from below, and so still has some upward momentum, they’ll actually bounce a lot further. This means that if a player is good enough and if they can keep hitting objects from the bottom, they are able to string together a lot of bounces, gaining a ton of momentum and allowing them to move quickly upwards. Now we do have a maximum speed the player gets capped at in order to prevent the player from “going infinite”, but this momentum based movement rewards experienced/better players a lot more without making the game unplayable for new/weaker players. This sort of reward for skill-based play is one of the key components we are designing the entire game around.
The second element shown in the diagram, the Object Distance, ties into the Average Jump Height quite a bit. The Average Jump Height, as we’ve discussed, never changes in WinterBells so it makes sense that the distance between objects never changes either. The player will always be able to make the jump from object 1 to object 3. In WinterBells every object is placed “X” units away from each other. In Milkyway Meow Meow we’ve mentioned that, unless they’ve already got some momentum, the player will only be able to make the jump from object 1 to object 2. But we also have a little bit of randomness involved in our object placement, meaning this isn’t always the case. I’ve described the placement for Milkyway Meow Meow in the diagram as “Between Y+20 and Y-20”. What this means is each object is placed “Y” units away from each other and then offset by a random amount which is some number between +20 and -20. Our math works a bit differently in the game but lets say Y here is 100 units. This means instead of every object being 100 units apart, they can be anywhere from 80 units apart(100-20) all the way up to 120 units apart(100+20). This allows the player to occasionally skip an object, if the distance between certain objects is low enough. Adjusting these distances is a simple change to the core mechanic but it allows the game to play out with a lot more variety and we’ve really enjoyed the fun it adds.
Another thing we adjusted for Milkyway Meow Meow was how the player movement works. We’ve found that the movement in Winterbells can be a little frustrating and at times it feels like the game is slow to react to your input. This comes from the fact that the rabbit takes time to follow the mouse, making it feel a bit sluggish and even punishing at times. This is something that we feel is very important to avoid in game design, and something we always look for ways to solve. The adjustment we’ve made to the movement is to have the character follow the mouse’s left and right movement at a ratio of 1 to 1. This way, you are moving the character left and right the exact way you would move your cursor, making it a lot more responsive. While making a game hard and skill intensive is perfectly fine, the player needs to feel like they are the reason they are succeeding or failing at the game. I mentioned already that one of the core goals for Milkyway Meow Meow is for it to be a skill based game, where playing it more and more allows you to improve. The new movement is a lot more rewarding and allows for more instinctive reactions letting us support that goal better than the alternative.
When I started this blog post I actually intended on diving into a lot more of the game, but as I wrote it I realised I had a lot to cover with just the core mechanic! There are a lot of other game design aspects of Milkyway Meow Meow that I want to talk about so keep an eye out for more Game Design blog posts coming soon! I hope you enjoyed this post and hopefully you learned a thing or two about our game design process.