Monday, 19 November 2012

Fuck This Jam!

Whew.

I can honestly say I have spent more hours programming in the last week than I would normally do in three. Thanks to a freak of bad timing (or good timing, depending on how keen I'm feeling), I worked on stuff for three back-to-back jam events in a row, on top of my day job. I can sleep when I'm dead, right?

The first of my triple-threat jam onslaught was Fuck This Jam. Organised by the guys at Vlambeer, Fuck This Jam is a massive online gamejam to create a something in a genre you hate. Strong word, 'hate', and the idea seemed to polarise people from the off. I'm not sure I could say I 'hate' a whole genre, apart from sports games, but I think that's more an aversion to sport rather than an aversion to sport videogames.

I toyed for a while with sports management games, which sounded simple in my head: no graphics, a bunch of numbers, easy peasy. After actually sitting down and sketching ideas out however, it started to sprawl and sound more and more complex, so I canned it. Definitely the right decision. I also toyed with an actual football game, and although I canned that in the end too, it was interesting to note that quite a few people did make similar games in the end... seems like the programmer community hates sports. Who'd have guessed?

In the end I chose to look at the match-three puzzler mechanic: I don't hate puzzle games, and I don't even hate match-three puzzlers, but I do hate inane pointless puzzle games that have no challenge or objective. Puzzle Quest = good, endless none-challenging Bejewelled clones = baaad.

I lucked into meeting a chap in the Fuck This Jam IRC channel, by the name of Kieran Lampert (@CandidKlamp), and after batting some ideas around we decided to form a pan-global tag-team and work on something together. Kieran is a total ninja digital illustrator, who does 2D, 3D, and as I found out later, amazing animations too. A general all-round magician. Check it out:
The game idea came together amazingly quickly. In just one quick conversation on IRC we had a basic design doc down, and we set to work. The time difference worked out great too: I'm in Manchester in the UK, and Kieran is in Seattle, so when one of us was about to go to sleep, the other guy was waking up! This allowed us to keep the momentum going well, and meant we were never waiting on each other.
There was a load of back and forth after that initial conversation, but the basic mechanic we came up with was to swap tiles with army units on (think Advance Wars), that would then fight each other. Stats change depending on the terrain, and the unit type. If a unit is destroyed, it's removed and the tiles slide inwards like a puzzle game, and a new unit is added at the side. In keeping with the match-three idea, having adjacent units together forms a battalion and makes them stronger. Oh, and each player gets a load of turns in a row (say, five each), so they can move tactically and keep units togther, that kind of thing.

We'd pre-decided all the pixel measurements, so I was able to stick placeholder artwork in while Kieran did his thing on the other side of the planet. This is the first tilemap engine I made, with some crappy PNG's laid over the top that I screengrabbed from Kieran's email. Did the trick in a pinch:
These then became proper tiles, which turned out brilliantly. Kieran created a great little tileset with land and water, including normal and inverse transitions, which went in pixel-perfect. I cobbled together a super rough tilemapper, in the name of quickness all the levels are hard-coded arrays of values, but it was enough to get by for the jam!
Kieran also animated the units perfectly, and was even good enough to put everything straight into Flash, which meant life was pretty easy for me at the receiving end. I also managed to get the grouping working, so adjacent units are a bit stronger. This is the first debug version just after getting it working:
Everything went well overall, but as always the time factor was an issue: real life started getting in the way a bit, and before we knew it time was up. We'd managed to get everything moving and fighting, and ran completely out of time before doing any game logic. Here's how far we got:
We submitted it anyway, and we're both massively happy with where we go to: it was a valiant effort, all things considered! As a concept I think it's definitely got legs too, and now we're not frantically panicking about a deadline we've agreed that we really would like to see this made into a full game. The code for this version is horrible (as most jam code is), but the mechanic is straightforward. I'd also like to try and get it onto mobile devices too, we'll have to see how that goes. I reckon I might take Haxe for a spin, see if I can't get it compiling onto devices. Watch this space on that front....

So yes, we had a blast making this even though we didn't *quite* get there, and working with Kieran was awesome too. If this jam rolls around again, I'll definitely be taking part. I might even make a football game.

View the full playable submission here!

No comments:

Post a comment