My third Ludum Dare entry The Naughty List! This time the theme was “You Only Get One”, and I decided to interpret this by making an archer where you only get one arrow. The premise of the game is that you have been put on Santa’s naughty list, and he is fed up. He’s decided to send his hitmen elves after you, so you have to defend yourself against the waves of them. I am actually really pleased with this game. While it could be improved a lot as always, I think this is my best entry so far.
What went wrong:
Failed entity system
Oh dear. The first twelve hours of development ended up getting COMPLETELY scrapped. I attempted to use this entity component system I made, but because I’d never really made a complete game with it before, I really struggled to get it implemented correctly. In the end I had to scrap it and go back to using the traditional inheritance way. This cost me a LOT of time, and I think the game would have turned out much better if I had used that time for something else. Oh well, I will continue looking into this entity component system to use in the future since it is interesting!
Man was this game buggy. I struggled as hard as I could to implement the features I wanted and to get everything into a functional state. This means a lot of bugs and strange quirks. The physics was kind of horribly done, mostly caused by poor and cheap collision code. The way I did collision can sometimes cause trouble as it could make entities teleport on top of each other in specific circumstances. This is especially dangerous when you desperately need your arrow and it suddenly flies off somewhere difficult to get to. The good thing about the poor collision code though was it facilitated for some interesting mechanics which I’ll talk about later in the ‘What went right’ section.
Gameplay and asset variety
The entire game only consists of three identical levels with an increasing number of total enemies and their spawn rates. This meant that each level was the same as the last with just a few extra identical enemies each time. I would have loved to have made some different levels. blocks and enemies but as usual, time was the limiting factor. I really developed right to the last minute of submission hour. In the end, in terms of blocks only had the snow/ice block, the snow/ice background block, the sky block and the water blocks so the only level I had was fairly bland looking.
Music and sound
Like my previous game, I didn’t have time to add in any music or sound effects. This is something I would really like to work on for the next game. I have no experience with this whatsoever, so I’ll either have to learn to make them or use some random sound generator.
Because I had such limited assets, I had to find a way to artificially increase the difficulty of the game with each level. How did I do this? I simply raised the number of enemies that spawn at the same time, and raised the cap of how many can spawn. This caused level 3 to just be a large horde of bloodthirsty elves looking to shank you. While that sounds awesome, in the end it just didn’t work well with the only one arrow theme since the arrow would just get stuck in the middle of the horde with no way for you to retrieve it.
What went right:
Despite the large difficulty jump and lack of content, I actually found the game quite fun. I really liked the bow and arrow mechanics. To be honest, I was actually quite pleasantly surprised by the outcome of the game. The shooting and collecting your arrow while trying to kite the elves around actually worked together quite well.
While the movement was OK feeling, I REALLY loved the feel of firing the bow. The charging up mechanics and animations made the bow feel like it had some weight to it. I think this is a big factor of why I find the game to be a success to me.
While I would have loved to have been able to make more assets, I am actually quite pleased with my art for the character and elves. I am primarily a programmer, so doing this character pixel art was quite a large step for me that took quite a lot of time. I particularly thought the player character looks cool and cute at the same time.
The theme just worked out so perfectly. I managed to fully incorporate “You only get one” into the gameplay by making there only be one arrow for the player to pick up. In the end I felt that the game really fully revolved around the theme rather than being hindered by it. If I had given the player more arrows, the game would have been completely different. For one, the player could just hide on a ledge while shooting the enemies one by one. Secondly, I would have had to make the enemies soak up a few arrows which would take a lot away from the feel of the shooting.
Since Christmas is this month, I thought I would use it for the setting of my game. I managed to come up with a pretty funny storyline revolving around Santa Claus and his elves being kind of evil. The whole ridiculousness of the situation kind of made it funnier and gave some context to the game rather than making it a mindless violence game.
Overall, I am extremely pleased with the outcome of the game. I think everything came together very nicely to form a fun and complete game. I learnt quite a lot from this experience, and I think I can really improve for the next game jam. Firstly, I learnt that the entity component system I designed does not work. Secondly, I practiced my pixel art skills a lot and was quite pleased with the outcome. I really enjoyed this Ludum Dare, and am looking forward to the next one!