About Nick Knowlson (twitter: @nickknw)


Ludum Dare 24

Nick Knowlson's Trophies

Nick Knowlson's Archive

I’m finished! Here’s my post-mortem

Posted by (twitter: @nickknw)
Sunday, August 26th, 2012 12:58 pm

All right, that’s it – for better or for worse, I’m out of time. There were several major features in my game that I didn’t finish, but the end result is actually playable, so I consider it a wild success!

For a description of the game and screenshots, take a look at the project page here: Conway’s Revenge. Also, here is my official Ludum Dare entry page.

What was missing


I originally had big plans for a procedurally generated soundtrack. It would be based off the action currently happening on the screen – each tribe of cells would be a different instrument/sound, and the x,y positions would determine the pitch somehow. For example, if green was winning on the top side you might hear a lot of higher pitched trumpets.

This turned out to be too ambitious for the limited time frame. I think somewhere deep inside I knew this, and that’s why I left it until last and implemented other, more key, features first.


Campaign mode was the way I envisioned turning Conway’s Revenge from more of a toy into an actual game. I had in mind a set of puzzle levels where you face off against progressively more difficult enemy formations. You would have to experiment to find the fastest growing formations with a limited amount of cells to place.

Unfortunately it took me too long to finish everything else, and I never did get started on this.

Multiple colour placement and Scoring

Two more minor features I wanted to get done were: allowing the player to place all 4 (or more) cell colours, and giving them a score. I had thought about assigning points for each enemy cell you kill. This would give you more points for longer games, so instead of rewarding you for dominating your opponent it rewards you for judging the minimum amount of force necessary to eliminate them, which I thought was kind of interesting.

What was accomplished

Quite a lot, considering how unfamiliar with my tools I was. I came up with a modified live/die algorithm that I’m actually quite happy with. It suits multiple players well, has a tendency to grow and eat up space, avoids deadlock/tie scenarios, still allows for stable formations and spinners, and can generate some lovely-looking ‘explosions’.

I implemented two game modes, Sandbox and Battle Royale. They’re pretty similar internally, but different enough to the user that it makes sense to separate them in the UI.

I made a craptastic main menu and instruction screens. My idea was small enough in scope that I had time to do these, which I’m happy about.

Finally, I learned a bit about flash development, and discovered that I actually quite like it. Combined with a good game framework (I used FlashPunk) it gives you a lot of help, and makes common tasks really easy.

What went wrong

I couldn’t make up my mind on what set of development tools to use – I picked FlashPunk on my third attempt. Before the competition started I decided to use Unity and read few tutorials and created a small sample project. When I finally decided on my idea I realized that it would be using exactly zero of Unity’s strengths and decided to change to something that made simple things easier. I initially tried XNA, downloaded it and installed Visual Studio Express, etc. then suddenly changed my mind because it would make running my game more of a pain and because people in the Ludum Dare chat were talking about how much of a pain XNA was to use.

In the end Flashpunk was a good choice (I almost used Flixel, and may try it next time), but it took me too long to make and I jumped into it several hours late without knowing the slightest thing about using it. Not the best strategy.

What went right

I took my time coming up with a good idea. I must have thrown out the first ten or so I had for various reasons (unoriginal, not fun, too nebulous to implement). I personally find this idea really interesting, and it was small enough in scope that it fit my ability to implement it in less than 48 hours.

Another thing I did right was prioritizing tasks and cutting down on scope at more or less the right times. I don’t have a lot of half-done things left in the game – what is there is mostly complete (with a few exceptions of course). I focused on what I thought was possible to do within the limited time frame and deferred the rest until later (after the competition, even).

Of course, if I had more experience, everything would look more polished and I might have been able to finish a few more of those missing bits, but the most important stuff got done. And that’s what counts.

Closing thoughts

I really enjoyed doing this. Quite a few times over the last few years I’ve watched this event happen and thought I wasn’t skilled enough to take part. I’m glad I decided to join in anyway. Before the event started I was full of trepidation and self-doubt, but now that I’m finished I feel exhilarated, exhausted, and I have a great feeling of accomplishment. I learned a lot of new skills, had fun with other people (I recommend joining in on the IRC channel), and I even have a cool new project to show off for it!

If you’re on the sidelines trying to decide whether to take part next time, I heartily recommend it. I know I will be.

(This post was originally published on my blog, here).

First playable prototype ready!

Posted by (twitter: @nickknw)
Sunday, August 26th, 2012 3:05 am

I’ve finally finished my first playable prototype! Take a look at the official project page or the ludum dare entry and try it out!

I did manage to sneak in a rudimentary Sandbox mode, but unfortunately I haven’t had time to work on my idea for the music yet. Along with some final polishing, that will have to be the thing I tackle tomorrow morning before I head off to my local Barcraft.

I have to admit, I’ve done better than I thought I would. It’s my first Ludum Dare entry, my first serious attempt at a game, my first time using Flashpunk, and the first time I’ve tried to write any serious amount of code in actionscript! Okay, that last one is a bit misleading – I’m pretty familiar with javascript so the learning curve wasn’t bad at all.

Finally, I’d like to thank Trance Around the World for getting me through this with the maximum amount of grooving possible.


Posted by (twitter: @nickknw)
Saturday, August 25th, 2012 9:15 pm

Well, a little past halfway in my case, since I’m going to a Barcraft tomorrow!

Here is an imgur album of what the game looks like right now

What is it?

My game is essentially a multiplayer Conway’s Game of Life (loosely related to the theme). I’ve decided to call it “Conway’s Revenge”! It doesn’t follow the original rules for the Game of Life – I’ve made changes to the live/die algorithm to account for multiple players and to prevent spending too long in a deadlock scenario, while making sure it’s not too hard to get your cells to grow and expand.

I’m more or less happy with the live/die algorithm now; I’ve got pause, play and step forward buttons; and you can draw new red or green tiles.

So what’s next?

I have something interesting planned for the music that I’d really like to get done. I want to have a main menu screen as well as some instructions (maybe on the main menu?). To give the game a bit of actual replay value I’d like to do one or some of the following:

  1. Implement a progressively more difficult set of levels where you face off against different enemy formations
  2. Let you pick the number of players and place tiles of all colours so you can set up your own scenarios to see how they play out.
  3. (This is the way it works right now, but I’d like to keep this as an option) A ‘Battle Royale’ mode where all colours spawn randomly and fight it out to the death.

If I have enough time, the ideal would be to have these three as three different game modes that you can pick right off the main menu with their own instruction screens.

I think the way to go is to fully implement the main menu with one game mode (probably ‘Battle Royale’) including instructions, then move on to working on the music.

If I still have time at the end, I’ll spend it on implementing the other game modes.

[cache: storing page]