May contain nuts.

Entered Ludum Dare for the first time this weekend. I've done 48 hour game jams before, years and years ago on FlashKit ( Actually won one ) and I just fancied the challenge, plus I actually wanted to just complete a game. It's been so long ( The downside to working on Outpost 2 ).

The Game:

The theme was "Minimalism", which when you've got to do your own art isn't a bad theme. I was awake when the theme was posted on Twitter, which was at silly o'clock UK time ( 4 am ? ) and I just went to sleep thinking about it.What I came up with was a world that was going to be very clean and sterile in iso. Lots of cubes, cube particles, cube sprites. It was inspired partly by Marble Madness and an old Spectrum game ( Which my mate Bas mentioned when we were chatting about it, which was strange, as it's quite an obscure reference ) Quazatron.

Which in itself was an iso remake of Paradroid ( My favourite game ever ). The clean visual style I had in my head was of an unreleased official remake of Paradroid that just looked stunning.

So lots of clean white iso lines.That was the look & feel sorted, next, the game play. I figured with the theme the player should be making the game area minimalistic, bringing some order to the chaos. Another one of my favourite games is WizBall, where you have to collect colour and paint a drab world.

So let's do the opposite of that, lets position the player as almost a baddie, turning a beautifully coloured world to a nasty plain drab one.

The look & feel turned out really well. I knew I couldn't spend too much time on the assets. I can do pixel art to a degree, but it takes me forever.I lost a ton of time trying to get the colours plotted correctly. I had this vision of undulating hills with stunning shades of pastel colours all overlapping creating lots of different hues ( I was thinking of a pretty version of the Red Weed stuff from War of the Worlds ).Instead what I got was this:

It took ages on the last day to actually mix the colours as I wanted, and even then I never really nailed the shades I wanted ( Remember, this is the stuff I thought went well ! ).

The level generation worked so much better than I could have ever hoped. I used Perlin Noise to generate the height map,

It took a couple of attempts to gauge the height of each tile sprite correctly so they appeared like a solid wall, but aside from that it went really smoothly, and once I could scroll over it it looked great, I'm so happy with that.

The colour bomb mechanic was a late addition. I realised that if I was going to have lots of baddies milling around I had to either make them slow, zombie like and you'd die just to their weight of numbers, or speed them up but give the player a weapon.I couldn't have directional shooting, it would have been a massive pain to do with the different heights of the map ( There's no depth sorting going on ) so it had to be a smart bomb type weapon.I couldn't just give the player three to start with and I didn't have the time to add collectables. But hang on, don't we technically collect the colour emitters ? ( Well we don't, we just destroy them, but it's just a game kids, I'm allowed to break the rules a little ). There's also a certain nice irony that the colour emitters can be turned on their defenders.

For the visual effect it was an obvious thing, let the whole level wobble like a giant water drop. I left the player's tile untouched, partly to keep that slow motion water drop effect and partly because it would have been a real ball ache to move it too.I abused TweenLite a lot to create the effect and it came out pretty much how I pictured it in my head, which is a rare treat.

And that's all I can think of that went well. The particles the colour emitters ( And the sprites themselves ) look ok.

What went wrong ?

Less grabs this time, I don't want to draw too much attention to all the bad things.

The lack of sprite images. I'm kinda lucky with the theme that it's a slight way out, but I planned to have the player as a metal ball and show reflections in it to create a sense of movement ( I've written a similar routine for Outpost 2 just the other week so it was still fresh in my head ).But then I realised that it may look weird the player being this detailed sprite in a world where he was trying to make everything drab, so I would need to give the baddies some love and... just out of time with it all, hence the baddies being the same sprite just tinted, which was a crap cop out.

Speaking of the baddies, the AI was the very last thing finished. I had massive issues with it, which I wasn't expecting, as they're ultra simple ( Is the player to the right of this baddie ? Yes, move right. That's it! ).I had pre-calculated all the possible positions on the map and I was using a simple tweening code to move them, but they'd go mental after a little while. Turns out I was accidentally over-writing my coord values so their movement was getting more broken as the level went on.By the time I'd discovered that ( On day 3 ) I'd ripped out my tween code assuming that was wrong and replaced it with TweenLite. Now TweenLite is fantastic, but you don't want it running in-game, it's for title screens and other transitions.The performance is ok on my machine, but it's a beast when it comes to Flash for some reason, it's probably going to be dog shit on a lot of peoples machines.I also wanted different baddie types. The one really clear image I had when I nodded off on Friday [ Saturday morning ] thinking about the game was having these sand worms type baddies. They'd burst out of tile with a shower of cube particles and arch there way across the screen. Picture Loch Ness style humps, like a snake where you'd see it's arches / humps. Even thinking about it now makes me want to do it.

The chunk scroll came back to haunt me. What looked so nice with just the static objects, looked fucking dreadful when I had moving baddies in there. A combination of them smooth moving whilst the player moved a tile at a time just didn't work. It's my least favourite part of the game and in hindsight I would have smooth scrolled the whole thing and added fogging to edge tiles to try and soften that out.

Lack of time / planning. I always just wing things. If I don't know how to do something I just put it on the back burner as there's always a million things to do when writing a game anyway, and then normally my brain just works it out for me in a bolt of inspiration.You can't rely on that when pressed for time. Every little thing seemed to come back to haunt me, an added complication I wasn't expecting, and that's partly why I missed the comp deadline and it slipped into day 3 making it a jam submission. Which annoyed the shit out of me, I hate missing deadlines.

There are other things, I'm not overly loving the gameplay itself, it's very basic. Also the map was a late addition, then I realised you actually see the colour splat before the emitter shows up on it, so that was pretty pointless ( When I first did the map I did it with each emitter just being a pixel, turns out a pixel on a map is very very tiny and pointless ).I'm not overly happy with the sounds, they were very last minute and pretty much the first things BFXR spat out at me. Outpost 2 has 212 sounds in it's library, I just couldn't face spending a ton of time on these ones. Again minimalism was a blessing.One last thing, I decided to give Starling a try as I've been meaning to use it for ages and this seemed a good chance. Ripped it all out Sunday as I wasn't happy with the colour shading on the tiles, so that was a bit of a waste of time.

Conclusion ( Or the bit you skipped to )

I really enjoyed doing the comp, the team spirit within the community is great. I can't express how annoyed I am with myself for missing the comp deadline, but overall the game's ok. Well rather, there's a good game in there somewhere, I just didn't manage to extract it.At least it's a playable game and I've got a real taste for LD, hopefully I'll be entering future ones.

If you'd like to play the game / grab the source / vote / comment here's the link: