Why I switched Engine Mid-Jam and Why It Payed Off


I was aiming for the compo with this game jam but because of several different events I missed the deadline for the compo. Everything you see in the game was made by me, except for the engine itself.

The idea:

When the theme was announce, I was kind of surprised and happy. Many ideas came to mind. I thought of a game with simple stacking mechanics – but this was too common and simple for me. I wanted to make something that I would enjoy. The final game is like a shoot-em up where you are a player going around a small planet destroying little dinosaurs that are landing on your planet. That wasn’t the idea to begin with.

My initial idea was that the player is trapped on a small little planet with meteorites landing and you survive as long as you can. For the player to walk around the world, I had to make code that included a bit of trigonometry and circle maths. If you are curious, the physics you see in the final game is fake :P. For the engine I used Monogame to start of with because with the help of Visual Studio Intellisense, my typing speed and the fact that I enjoy coding, will make for an enjoyable game jam experience.

With a little playtesting I found that the gameplay was booring. It literally consisted of jumping around and that’s it. I thought of the idea of introducing enemies that fall onto the planet and to shoot a set number of them to progress to the next level. Eventually, I concluded that the player should be a bunny because it fits the style I’m going for. The bunny would later own a bazooka, because it’s a way to defeat enemies and because of alliteration.




The Aesthetics:

The aesthetics in the final jam build can be described as cozy, cute and cuddly and that is the sort of style I was going for. The feedback tells me this to and I’m happy that I achieved that style. To get that cozy look I done some research. The style of PS2 “Little Big Planet” came to mind. The characters and props in these games were made from real-life materials, looked cool and I liked the style. I was going for the wooly look. So I used my phone and started taking pictures of the textures on my clothes. After taking many pics, I made my first planet using a combination of my pyjamas, my bath robe and some photoshop magic.


 

It was going so well:

I had the idea of making the characters out of a cloth material. However, by looking at the scale of the character onscreen, the details would be lost anyways. In MonoGame, I found that scaling the sprites will make it more pixelated. Therefore, I stuck with just normal cartoony character, with a few details like shading. In the midst of everything, I discovered shaders in monogame and I created cool glowing meteorites in MonoGame. Although, the effect didn’t go into the final build, it was cool learning it.


I started to go off in a tangent to try to create more shader files to make the game feel more sparkly. This, and my poor time management ate up a bit of time. At this point, I gave up hope of entering the compo and stuck with the jam. I made a lot of functionality that you see in the final build in MonoGame. The one thing I could not do 100% is “collision” detection with enemies. Sometimes it worked and sometimes it didn’t. I knew with a lot of bug-fixing, I would make it work. However, I did not want to do “a lot of big-fixing”. I need to concentrate on other aspects of the game. After my previous LD jam (Caves of Mimicry), I wanted to create a game that is playable at the very least.

The decision that changed the game



I switched to Unity. It was not a major change. It’s from one C# framework to another C# engine. Because of this, the switch was relatively and surprisingly seamless. Didn’t have to change a lot of the code at all. Once the game was playable and all the main functions are working, I had 6 hours of playtesting. At the end, Bunny Bazooka was coded in MonoGame but built in Unity.


What have I learnt: 

Stick to the engine you know. Do not experiment with different engines/frameworks that you are unfamiliar with – I thought I was fairly familiar with MonoGame but I wasn’t familiar enough. Implementing circle physics without the use of a physics engine – It was really fun doing this in MonoGame. It was all experimentation with trigonometry and it all payed off.

Scoping down–
The gamejam is 72 hours but you are not going to make use of the full 72 hours. Besides sleeping, I had other life stuff to do. If I had to guess, I would say I spent 12 hours maximum on making this game. Therefore, you have to tell yourself : “What can you make in 12 hours?”. There’s not a lot to Bunny Bazooka – it literally consists of things going around a circle on one screen, a menu screen, eight textures, two spritesheets, four audio files and one font.

Playtesting: The more time you leave to playtesting, the more polished your game will be prior to submission. I had 6 hours for playtesting. This was pivotal to the game being as enjoyable as it is.


What Have I learnt from feedback: 


There’s no such thing as too much screen shake –
Just joking. I admit I went overboard with this.

Players appreciate familiar controls – The controls seem basic in my game but when your on the bottom of the world, it becomes confusing. Controls are a major factor on what makes a game fun and a lot of time needs to dedicated to this.

Finding the right balance in gameplay
– This is very important but also very hard to decipher. I personally have a tendency to make the game hard at first, but players don’t tend to stick along. This time, I tried to find a balance. The first level started slowly but the level was too long for most people’s liking.

Actions need to have meaning – There is no indication of progress within a level. When one destroys an enemy nothing happens apart from the enemy disappearing. In Bunny Bazooka, if you destroy an enemy, you are closer to the next level. However, upon feedback, there is no indication of this.

Repetitive sound effects are jarring

Settings menu is important –
Unless the game is very basic a simple settings menu is very important. If there is something that the player dislikes, they can use a settings menu to alter that feature. Players like to be in control.


Final remarks:

Bearing in mind all the things that happened over the ludum dare weekend. I’ll say that Bunny Bazooka is a success in my eyes. When comparing it to my last LD entry, it is a vast improvement in terms or playability, gameplay, aesthetics, audio almost in every single way. My last game had a much bigger scope, which I was unable to fulfil and I wasn’t happy with that. However, I learnt a lot from the Ludum dare, mostly due to the feedback given from the community. I learnt a lot on using a framework to make a game and I am definitely a better coder then I was four months ago. Soon, I will bring out an Update to Bunny Bazooka with the feedback from the lovely ludum dare community.

Thank you for reading 😊  

Get Bunny Bazooka

Leave a comment

Log in with itch.io to leave a comment.