A Postmortem on my First Game Jam Entry
How did I get here
Four weeks ago, frustrated with overly theoretical programming lectures, I decided to download the Playdate SDK with a goal of submitting to PlayJam 6. My inspiration at this point were early arcade games and viral flash games of the early 00s, I figured it was a style of game I could reasonably hope to emulate with a limited time to learn and create, plus it sort of counted as homework.
When the “Trick-or-Treat” theme dropped, I initially felt a bit trapped by that inspiration. But I wanted to design a spawning system, so I decided on a shoot 'em up where the trick or treaters aren’t just wearing costumes. This also helped me fulfill another Jam criteria, designing to some of the Playdate's features and limitations.
From here on in I would follow two main rules: “done is better than perfect” and “try not to think, ideas = scope creep”
Getting Started
As I had decided thinking was the enemy I elected to do the first thing that came to mind; make a sprite sheet for my kickass cannon. This took way longer than it should have but it was an excellent task to work away on while I laid out a plan for the rest of the jam. Once my sprite sheet was finished, so was my plan, and I was ready to get to work.
Game Jam Side Quests
Now the stage was set for what I was most looking forward to building, enemy spawn logic. Instead I decided to try enemy sprite animation, and lost a good two hours failing to understand how the playdate SDK wanted me to do this, eventually I would need to add Whitebrims Animated Sprite Helper Class to get back into motion.
The Main Story
The enemy spawn logic I created is the part of the game I’m most happy with. I use a selection of dice rolls and coin tosses to weigh spawn rate, position and enemy type, with a spawn rate modifier that increases spawn rate as enemies are killed, meaning the game gets more difficult as the player improves, rater than at a linear rate, but there is still a degree of randomness to the spawns. I implemented a health and scoring system that were a similar opportunity to build on learning and I was quite happy to see the results behave as intended. The settings here ramp up pretty quick, but I’m not expecting any long plays of my game so I wanted to make sure people could have fun in 1 or 2-minute bursts.
At this point, the game was mostly there, but I needed a start screen and I wasn’t sure how to create one for Playdate. YouTube pointed me to SquidGodDev and I implemented his scene manager out of the box. I was starting to run out of time so another detour was not an option. Doing this killed the screen shake I had coded earlier, and precious time was lost trying to re-implement it but in the end I decided it was lost for good. The trade off was worth it though, I built out my existing sprites and wound up with two scenes I was happy with.
After giving players some respite from the onslaught of witches, I got to quickly tick some items off my “nice to have” list, including learn another new skill in implementing sound effects, which returned the player feedback lost when my screen shake system failed. Next time I’ll try making one or two FX by myself.
The Final Hurdles
Although I shouldn’t have been, I was surprised to realise that there was still work to do once I had finished with the game. I had never uploaded to Itch, and although I have bought and played games here it never occurred to me I would need to make a page for my game, complete with banner and cover art. I was pretty hasty with this and my “art” wound up being an assortment of game assets, the general theme I settled with wasn’t exactly good branding either. I have since given myself an additional hour to make something a little more colourful and while it’s not perfect, I am much happier with it and will factor in this time in future jams.
Once the submission period ended, I got to see what others had submitted given the same constraints. It was as informative as competing myself, the polish achieved by some more experienced developers was especially interesting. I did my best to play out each game and see everything people had put together. Where there was source code, I went through it and picked up some valuable tricks
People also got to play my game, and that felt particularly cool. I got bug reports! I have hopefully addressed those now and have uploaded a post jam version with fixes implemented. I think the score I received is very fair, the overall score reflects my current abilities and the breakdown shows where I put my time. I’m delighted honestly, it’s a strong first try and a great place to work from.
Conclusion
I submitted a game! And while it’s not the most polished or original it is complete, and I’m very happy with that. Being forced to just finish something made me confront my blind spots in a way that I wouldn’t otherwise and learning about those things was really interesting.
Next time, I’ll allow myself the space to think, I’ll also put some time aside for publishing. Before that I want to make a few more small games on my own time to really get familiar with all the tools, hopefully that will give me more time and capacity for creative and non programming elements in future.
Leave a comment
Log in with itch.io to leave a comment.