I usually don’t know how to write these kind of things but I figure I try and write as much as I can about how my game turned out and what it was like taking part in and actually completing my first Ludum Dare.
Long story short, Only One Shot is a game where you must shoot all the enemy squares to complete the level. However, the game adds a twist where you must do this with one bullet otherwise you fail the level (Hence the game title). But how do you kill more than one enemy with just one bullet (especially when the enemies are spread quite far apart)? This is where the reflector blocks that are placed around each level come in. When a bullet hits a reflector, the reflector will spawn a bullet from each side apart from the side that it was hit on. In levels containing more than one reflector, the game almost feels like a Rube Goldberg machine where one bullet starts up a long chain reaction just to kill some enemies in one go.
What went right:
- The Graphics: Having minimalism as a theme meant that I didn’t have to worry about the art (since I can’t draw to save my life XD) and sort of essentially get away with simple (if somewhat crude) shapes.
- The Gameplay: Trying to interpret minimalism in terms of gameplay mechanics was a bit difficult. Whilst I could have made a simple one button game, I wanted to convey minimalism in the sense that the simplest of things (either one or nothing) are only needed to start a huge reaction hence the one bullet rule of my game. From this core concept, I managed to create a game with simple, yet deep mechanics.
- Having a Plan (and mostly sticking to it): Once I had decided on the core idea of my game as well as figured out the type of game I wanted to make, I decided to flesh my idea out a bit further by brainstorming and jotting down notes on a pad before I get started on doing some actual coding. Although some features I had planned in my notes did not make it into the final version of the game that was submitted, doing this really helped in two ways: Firstly, having a plan to stick to meant that I was able to get most of the essential concepts of my game done in time without the distraction of bloating up my game with unnecessary features and secondly, having a plan meant that I would have a concrete idea of what to code without the risk of suffering mental blocks (if I had decided to just jump in and start coding without one).
What went wrong:
- Time Management: This was probably by far the biggest fault I had with the game. Originally, I had planned to get the game completed and submitted in time for the compo but overall, I wasn’t really making full use of my time as I was either too distracted to work or taking too long on one task (The collision code for my game between the player/enemy and the walls took one long tedious Sunday afternoon to do and most of it was wasted on trying to work out which parts of the collision boxes have overlapped before I eventually realised that I could just use the direction vector of the player/enemy and use that instead whenever the two collision boxes interect and reposition accordingly). Having to work on a Monday didn’t exactly help either which meant that I was only able to work on the game during the evening but fortunately, my game was nearly done and luckily I managed to submit it in time for the game instead (despite the fact
- The reflectors: Although the basic function of the reflectors worked out pretty well (spawn additional bullets when hit), there were a few glaring bugs in the overall functionality which meant that they didn’t work out exactly as I had envisioned. The most obvious bug was when a reflector would spawn bullets when it wasn’t recently hit. During early playtesting, an endless stream of bullets would sometimes spawn from a reflector for no reason causing the game to unfortunately slow down and crash. Although the bug still persists, I managed to work my way around it by adding an extra flag in the logic that checks for a game over condition.
To my own actual surprise, the initial feedback for my game so far was really nice with most saying that they loved the overall concept of the game (with some saying that they would love to play more levels) whilst criticising the fact that the player moved too slow and that there was no way to tell which way the player was facing (a fault of my own in trying to keep the art as simple as possible).
Post-Compo Version? :
Due to the positive feedback that I have received, I am considering making a post-compo(post-jam?) version of my game (depending if I have time) fixing all the bugs I wasn’t able to fix during the 2/3 days of development as well as tweak the game based on feedback (i.e. a faster player and a way to work out where it’s facing) plus add some extra functionality whilst keeping the core mechanics and art the same (although I may consider adding some extra polish to the art as well). To keep things fair however, I would only consider starting work on this version once the judging period so that way I can take all the feedback and work out what needs to be changed.
Overall Experience and What I’ll Do in the Future:
For me, taking part in my first Ludum Dare and actually completing it was a rather scary yet fun experience and despite the fact that some things didn’t go exactly as planned, I feel that my gamedev skills have improved (a bit I think) further. For the next Dare however, I will be working much harder to ensure that I am able to submit something for the compo rather than the jam by working hard to improve on my graphics skills (which I find terribly lacking) so that I don’t have to make something rather crude and simple (unless it’s actually better to go that way). I might use another engine for the next Dare (I’ve used Unity before) or perhaps learn a new one (I’m looking at you LOVE). After all, there’s only roughly 3 more months I have left to start improving my skills until August 😉
And now for a selection of some of the nice comments that I have received for my game…
“Really cool concept. Would have loved to play more levels :D”
“Cool bullet splitting mechanic! Work on this, you have a neat puzzle game idea on your hands :)”
“Great game, I loved the concept.”
“Simple, challenging, awesome. Simple, yet smart design.”