TL;DR here is the game I made for this game jam: https://juanuys.com/cargogame or find it on itch.io and in the interest of seeing the entire game, one can cheat by middle-mouse-clicking on the polyominoes to place them automatically
Week 4 webinar (on 2020-10-14; how time flies!) kicked off the rapid ideation exercise in the form of a game jam (or hackathon).
Our theme was randomly generated:
I decided to run with the winged boat and arithmetic ideas. Arithmetic for me means “puzzle game”. I prototyped a basic arithmetic mechanic the same evening.
However, I decided not to pursue this idea further, and opted for a “spatial arithmetic” approach instead. This involves optimally packing polyominoes on a board until there are no spaces and no overlaps.
Here is the game. The winged boat and the arithmetic combines in this way: you are tasked with loading up a ship with cargo (the polyminoes) before it can take off and deliver.
First and foremost, I wanted to make a finished game. Something playable from beginning to end. A puzzle game was going to rob me of “interesting decisions” (Meier, Sid. 2012), systems like GOAP (Orkin, Jeff. 2003), so it would be basic enough to achieve in a 2 week time frame.
In fact, I’m sure a puzzle game could be “more”, but do we run the risk of the game trying to be too many things?
I call it the “Covert Action Rule”. Don’t try to do too many games in one package.
Or perhaps I should just flip it around: a game about anything could also have puzzles in it (as a gate to progression). Next time, when “puzzle’ comes to mind during a game jam, I’ll let it not be the main course as I did in this game.
As many of my peers also noted, we want to learn something new, but perhaps not be bogged down for too long with tools we don’t know. (E.g. 3D modelling tools). I also brought down the gauntlet on any new tooling, and decided to use my usual suite of tools:
- Clip studio paint for 2D graphics and sprites…
- …packed with TexturePacker
- Logic Pro X for some rudimentary music
- Phaser 3, which I’ve used before (and ties in nicely with my existing skill set)
- iMovie for the promo video
The one new thing I want to incorporate was a shader, especially to provide an outline to the polyominoes so they can be more easily discerned from the background. I got something working, but it didn’t look good enough, so I cut this “feature” to save time.
Shaders are definitely in my future, though. They’re everywhere in game development, and well worth spending time mastering.
Being a programmer, I had to make the polyomino solver myself. Programming is my catnip, but also my kryptonite, as I tend to stick with a problem until I solve it, much to the detriment of my sanity and my available time. And there were problems indeed (mostly due to my own hare-brained-ness). This foolhardiness is something which can bring a studio down, so I have to keep in mind to hire only the best programmers one day ;-)
The rest of it was smooth sailing, as I kept scope way down. The graphics were very basic and had a sketched-by-a-child look to them. The music tracks were basic, as I just layered some basic motifs using different sounding synthesizers. Given more time, I would push myself to be more creative in these areas (art and audio), but I wanted to be finished before the deadline (webinar on 2020-10-28).
I was done in time, and had a few days left for finishing touches:
- not only is the game on my website, but it’s also on itch.io
- a tiny marketing push in the form of a promo video and a tweet which got one Like from a very biased observer
- Konami code (for those not in the know, press
up up down down left right left right b aand WIN!)
I’m aware that for larger commercial games, one would start the marketing strategy at the same time as starting development, building up hype over time, and consistently teasing onlookers with screenshots and GIFs. (I have some literature on this topic stashed away for when the time comes.)
I didn’t push myself very hard during this jam. I just wanted to play it safe, go down well-trodden avenues, and be done in time (and not burn out half-way through the first course!).
I did, on the night of the theme reveal, participate in a very tiny ICEDIP exercise, but I did it all in my head and left Incubation for bed time, meaning I settled on the puzzle idea in the morning.
All the other ideas I had for the game (like the music, art, etc) just came to me without any ideation effort. I guess I had a cache/stash of ideas stuck in my head I wanted to try out anyway, but I never felt creatively stuck. (I’m definitely pushing myself more in future by participating in more frequent game james, or even going as far as “game a week” so I can get out of my comfort zone.)
I definitely learnt a few new things:
- new concepts around Phaser + Typescript
- more about my peers and the way they think and work
- iMovie video editing
- to do more game jams in future (SMART goal coming up!)