So, Rezzed just passed, and I competed in the game jam in the “wildcard” team that’d never met each other before.
I do a lot of jamming, but generally 2-3 day ones from home. This was the first jam I’ve done with other people. Our team was divided into:
Myself – Code (core game mechanic, physics, visual effects, gamestate), Music (which was awful, sorry everyone), particles, lighting and design (levels 3, 4 and the credits).
James Coote – SFX, Design (levels 1, 2), Coded a ghost noise feature that never made it in :(, Testing.
David Aizenberg – 2D Art (Title screen, Character art, large hd backgrounds, tiled textures, background objects)
Adrian Nantchev – 3D Art (A whole bunch of environment, a lot of which also never made it in unfortunately)
N.B: This is a personal postmortem from my perspective, so it’ll mostly focus on the code.
We had 8 hours to make a game fitting the theme, “touch”. Our initial thought was, “Everyone is going to do touchscreens – let’s do something different”, so I just plugged “touch” into a wildcard dictionary for phrases. There was pretty much one thing that stood out on the list – “Midas Touch”.
By now I’ve done a few platformers (Rude Bear Resurrection, Rude Bear X, Claire’s Voyage), so throwing together a quick platformer took no time at all, and the gameplay mechanic is actually extremely simple code, so we had a playable build within 45 minutes of the theme being announced (albeit with rather different physics to the final design). Most of the time was spent just tweaking physics.
The core game mechanic was essentially – when you touch things they turn into coins, which are 2d rigid bodies that the player can push around, climb on etc. Initially I just used placeholder graphics.
We didn’t have any shared space, so we had a set of 3 USB sticks that routinely made the rounds onto each other’s laptops.
There was no time to really sit around delegating tasks, so we pretty much just produced everything as it was necessary. It made more sense for David to make 2D backgrounds and Adrian to make some 3D walls at first. We had a problem in that Adrian only had 3 hours of battery charge and forgot his charger, so he had to really make the best use of his time. (Later this was solved, but it affected our strategy in the beginning).
Because I’m not overly familiar with 3D animation, we elected to use a 2D character, and we settled on a noir style to contrast the gold coins. David created a ghost, and immediately I was like, “Okay, one – that looks awesome, two – that will take almost no animation. Great”. So I just made the ghost a child of its collider and had it float sinusoidally around its centre.
Honestly, I mildly regret that, and adding particles and lighting for the ghost. They were nice touches, but I’d rather have had something less polished but with more exploration of the game mechanics. Especially as.. it didn’t even look great. My bad.
Regardless, I gave James a playable build and he started doing level design on the first two levels, and I started sketching up level 3:
There was quite a major impact of implementing the ghost – he was rather thin and tall, but on top of this, he had additional height underneath him because he floats. Because of this, his hitbox was over 2.5x taller than its width. This led to the issue that gaining height while platforming was extremely difficult, as he’d bump his head. This meant his gravity had to be lowered so he’d float around, which meant the physics had to be rebalanced, and in turn meant that the levels had to be redesigned to compensate.
Also, I didn’t notice until afterwards that it’s actually possible to get stuck in the bottom left corner of this level. Derp. Also, that long horizontal walk with no background is really boring; I should’ve done platforms there instead. Would’ve been nice to have swinging chains and stuff as well, but obviously.. 8 hours. Not even going to pretend that was feasible to balance.
At this point I needed to implement death and win conditions with fading screens, so that took a bit of time. Finally I got to the point where I would normally say, “YEAH LET’S ADD A BOSS FIGHT” and saw that about 90 minutes remained. Adrian was modelling a key, so I was just like, “Ha, yeah, a key you can’t use ‘cause it turns to gold” – and then we had the idea for the ending.
Please excuse my lack of artistic ability, it made more sense when I was explaining it as I drew it. The background is supposed to show some ethereal heavenly place, that’s a tree and a rainbow. Under the rainbow is a door that’s locked, and the key is on the right of it. In front of all of that are bars, and the stick figure is supposed to be the ghost, who is also supposed to be in front of the bars. David gave me two doors – a hell one and a heaven one, so the idea got reworked a bit:
It essentially kept the same principle though. The player climbs up to this key they try to obtain, thinking they can choose the heaven or hell door, but instead it bursts into coins and they stay in limbo forever.
At this point, everyone else had finished what they needed to do, and we were being shadowed by the lovely Tom Hatfield from PC Gamer, so they just had a little post mortem talk with him. There was really not much time left at all, so I ended up doing credits that burst into gold. We were pretty chilled at this point though. Other teams were failing to compile and looking stressed – we knew we couldn’t implement anything big now, and we were happy with what we had.
We were up first with our presentation. It felt like it went well at the time – I was playing the game, and the game synchronised with what was being discussed (e.g. interacting with things and demonstrating features as we were explaining them). We wanted to say what each person had done, but it might’ve come across badly in hindsight.
A couple of people watching it said that when people were saying “I did x” it came across unprofessionally, but because we were the team who were strangers we did want to sort of.. have each of our bits where we explained what we did. The speech was practised about 10 times beforehand, and in our heads there was no problem with that, but in reality it made us look less like a team.
However, altogether I’d like to think it came across as pretty prepared. Although, it was also rather apologist by the end, “Yeah, here’s all the things we could’ve done with the game mechanic but didn’t”. We probably should’ve just provided the best couple of examples instead of giving like 5. Also, stop waving your hands about, Alex.
Things I learnt:
- Don’t focus on designing a game around its scope for expansion in an 8 hour jam. If you can’t fully explore the benefits of your game mechanic, just make something fun.
- The presentation is half the challenge. Don’t just show off the game – make something amusing, use judge/audience participation, get people invested and involved in the idea.
- Make something extremely small and polish the heck out of it.
- Don’t present first. (Although, this was out of our hands).
From group discussion afterwards, we also feel like the following could’ve been improved from knowing each other:
- Having USB sticks was awful. It meant James got the builds sometimes hours after he needed them thanks to important stuff always getting added to the master build that he needed (this was also poor time management from me, no excuses).
- On top of this, because of Unity’s lockfiles and working on OSX, there’s probably a way around this, but without an internet connection we just went for the simple solution of closing Unity whenever we wanted to copy the files across. This meant game development had to completely cease for 15 minute chunks every time a new build needed transferring across!
- I should’ve focused more on making the game work around the mechanic and had James handle things like lighting, particles, 3difying 2d levels etc.
- This seems like something stupidly small and dumb, but the two coders should’ve sat on the same side of the table so we could compare builds and levels, and the two artists on the same side so they could compare art style.
In short, these are things that we would’ve been more familiar with if we’d actually met each other before the jam, but honestly, I think in 8 hours we still came up with something great, so we never even bothered mentioning we were the wildcarders in the presentation; we figured it would come across as an excuse, when we didn’t have anything to excuse in the first place.
Midas: Gold Edition is playable online, with a bunch of extra levels, mechanics and features here.
You can also watch the presentation here.
One response to “Midas Postmortem”
[…] Article originally from my developer blog. […]