GGJ 2014: Glorious Nation

I took part in this year’s Global Game Jam, making this my third. Apart from being enormous fun, I’ve been suffering from a holiday-induced slump in productivity and I thought it would be good to kick things into gear again with 48 hours of twitchy coding, “free” pizza, and hopefully a game at the end. This year, I went in with a bigger team consisting of Matt de Villiers (@mattdev), Damien Manuel and Tim Smith. Matt and Tim did the majority of the AI, pathfinding and flocking code, I worked on design and interface, and Damien created all the awesome art!

We created Glorious Nation, a city-building sim from the point of view of an evil dictator!

As it is with many jam games, we didn’t get as far as we would’ve liked, but we were still thrilled with what we managed to accomplish in 48 hours. The basic idea for the game ping-ponged between a number of different core mechanics: pure city builder, tower defense, even arcade shooter, but the one thing we were adamant on keeping was a satirical narrative. The theme of the jam was the phrase “we don’t see things as they are, we see them as we are”. From this, Matt developed the idea of a dictator who had to build a wonderland for tourists and foreign dignitaries, while viewing his desperate and disenfranchised populace as evil.

It was really interesting having a biggish team this time. In all honesty, I was predicting disaster, with us fumbling through the division of labor. However, apart from a few GIT hiccups, we each managed to have plenty to do without stepping on one another’s toes.

Overall, it was another amazing GGJ event! Many thanks to the organizers and UCT for hosting. Until next time!

Ludum Dare #26: Road Rage!

Having just recovered from an awesome Ludum Dare, I present Road Rage.
Visit the Ludum Dare project page to download the game, or play it online here.

Road Rage is a top-down traffic simulation game that goes wrong very quickly. You control a traffic officer who has to run around and control the flow of traffic, stopping cars at points, and letting others through before people boil over and redefine the meaning of dangerous driving.


For this Ludum Dare, I decided pretty early on to take part in the Jam rather than the official competition. This meant I had an extra day (72 hours total), and could use a great freeware track from 8th Mode Music. Overall, the Jam is much more relaxed, and given that a social event decided to creep into my weekend uninvited, the extra time was necessary.

In the spirit of Ludum Dare, here is a quick postmortem.

What went right:

  • The traffic simulation, while haphazardly coded, results in some wonderfully funny, even borderline realistic road chaos
  • Used the ‘minimalism’ theme to go for simple, effective graphics. Doing no 3D modeling and little texturing gave me lots more time
  • Gave myself the extra day of the Jam to compensate for a night out and a slow first day while struggling with the AI
  • Managed to squeeze 7 levels in

What went wrong:

  • Had a rotten first day wrestling with the traffic simulation AI, and generally struggled with it. I should have taken some time to carefully read up about traffic/city driving simulation, if only to get some ideas
  • Didn’t really get to explore the timing/movement-strategy gameplay until the last level, which ramped up the difficulty massively! I would like to explore the puzzle options for this one

I’d like to work on Road Rage a little more, tweaking the player movement and AI as per peoples’ feedback. However, I think it’s a really neat idea that has lots of potential for fun, strategic gameplay and hilarity, and I would definitely like to explore some more gameplay options. In the mean time, give it a play and let me know what you think.

Global Game Jam 2013: Silhouette

After another exhausting but thrilling 48-hour game dev slog, I present Silhouette.

Our team for the Global Game Jam 2013 consisted of myself and fellow game devs Will Francis and Thabo Ndlovu. The theme for the jam was the sound of a heartbeat, and we ended up with a game where two players play on one computer – one as a victim desperately searching for a way out, and the other as a menacing killer hunting him down. However, the pace of the game changes as you get closer to one another, providing a thrilling twist on turn based gaming.

Play the game (Unity webplayer)
Download: Windows / Mac OSX
Global Game Jam page

Player 1 (Victim): WASD keys to move
Player 2 (Killer): Arrow keys to move, right shift to attack
Restarting doesn’t work right now – you’ll have to restart the game itself to play again.
We will fix this and add other issues, as well and features in future releases, which I will post on this blog

Rise of the Meebas Dev Diary

I thought I’d get into the spirit of Ludum Dare and write about my entry, a game called Rise of the Meebas. It’s become quite a tradition with the LD crowd to write postmortems about their games, so I thought I’d do one myself this time. This is actually more of a rough development diary, peppered with some insights and cool, EXCLUSIVE behind-the-scenes goodness!

In South Africa, Ludum Dare begins at 3 in the morning. This leaves 2 choices: to power through and see the theme announcement, hoping to go to sleep and lucid dream oneself a mind-blowing game idea, or to wake up really early.

I chose the latter, which really would’ve worked if I had woken up early. By the time I had a brunch in me, I was still entirely at a loss for ideas. “Evolution” was a great theme, but sometimes one tends to get obsessed with trying to design something too clever. I had something similar happen to me for my LD#22 game, and like Rise of the Meebas, I ended up with a game that contained the initial sparks of a good idea, but was left lacking good, solid, fun gameplay.

I spent a majority of the Saturday getting the basic movement mechanics and a few graphical elements into Unity. I’d settled on an idea in which you had to move a number of amoeba-like balls around a level, and the more you moved each one the closer you got to evolving the movement of the group as a whole, after which you could overcome obstacles and reach the exit. I wanted this to have a similar feel to those levels in Braid where moving left rewinds time, and moving right progresses it. In other words, having the player carefully evaluate where and when to move around the level, with some reflex-based platforming gameplay.

With this in mind, I spent the end of the day designing some levels on paper, which helped lock in something of the puzzling aspect to the level design. I also very quickly hacked together an amoeba model, which in its froggy/fishy/impy look, made me decide that these were “‘Meebas”.

Sunday morning began with something that totally sums up the strange creative spirit of Ludum Dare. About 2 hours before I woke up, the bells from the church across the street started chiming. As I lay in bed half asleep, I thought “this would be kinda cool to have as eerie cave music”, followed by the realization that my laptop was sitting next to my bed, and “hell yes, I can do this!”. So I flipped it open, fired up Garage Band, and managed to capture the last 30 seconds or so of the bells.

I felt like a game-making McGuyver. It was moments like these that made me really appreciate the rule that says all assets should be created by hand. In some way this forces us to attempt a number of unfamiliar disciplines, and more often than not, discover that we aren’t bad at them! That being said, my spacey, ravey church bells song was not a hit, but it was good fun having a go at putting a track together.

I also completed the rest of the modeling, texturing and animation of the Meeba character. I was happy with the way the animations turned out in the end, but again, the process of getting them in was bizarre and fueled by desperation. Firstly I tried using 3ds Max bones, but as something went wrong when I imported the animation into Unity, I made the wise decision to go with what I knew worked: A full biped. This has some strange results when you realize biped is generally designed for animating people:

What they don’t teach you in animation school


So after this creative misuse of biped, I moved onto making levels. This was another one of the areas of development that went well, simply because I gave myself enough time for it. Although my idea wasn’t really developed fully enough to be an intriguing puzzler, I was still able to convey the gist of the gameplay through the levels and tutorials. I also had time to put some detail into the levels, including various colored lights to indicate exits (green/blueish) and dangerous areas (red). I’d made a stalactite prefab and discovered that by tweaking its mesh colliders, I was able to turn it into a fun level obstacle. I probably got carried away positioning the stalactites so that your Meeba could fall – flailing and grunting – and crash into them on its way down.

Ultimately, this was an exhausting, fun and successful Ludum Dare! Although it sorta goes against one of the fundamental tips for making a great LD game, I found it useful to work on what I could art- and code-wise while I let my very vague initial gameplay idea develop. There came a point where I was running out of time, so had to go for what I though might be halfway decent, but if I hadn’t, I simply wouldn’t have had enough time to finish.

What went right:

– The art and graphics. I tried to create a really interesting, colorful and funny mood while working quickly on each asset, and I think it worked well.

– Leaving enough time to design levels, add tutorials, and bookend the game with a menu and game over screen.

What went wrong:

– Initially having an idea that didn’t hold too much promise of fun and interest. It’s still in need of an overhaul, and I think a post- post- post- post- compo version might start blending into something of an arcade or even RTS-flavoured platformer.

– Church bells, apparently 😛

Ludum Dare #24: Rise of the Meebas

I took part in my fifth Ludum Dare over the weekend and produced Rise of the Meebas – a strange puzzle game, or torture app depending on your point of view.

For anyone not aware, Ludum Dare is a game development compo that takes place all over the world in which people try to make a video game in 48 hours. It’s a lot of fun and tremendously exhausting, and one of the things that makes it most exciting is getting to dabble in areas of game creation that one normally doesn’t touch. The programmers get to create art, the artists get to wrestle with code, and everyone gets to shout, grunt and make fart sounds into a microphone in the name of audio.

It’s common that Ludum Dare entrants write a post mortem about their game, so I’ll be doing one of those soon. I’ll likely also release an update to the game with bug fixes, and features very helpfully suggested by the community, but in the mean time, you can play the game at my LD submission page.