Monday, 9 May 2011

Ludum Dare 20, House of Dangerous Kittens

Ludum dare is a speed game development contest. This years theme was "It's dangerous to go alone take this", referring to an old Zelda game quote, as well as the more recent internet meme.

If you've seen the meme, I think you'll understand the motivations behind my entry*:

"House Of Dangerous Kittens"


Basically you have to survive as long as possible against hordes of evil kittens. That's about as far as I got, but it makes for an okay demo.

I'm tempted to work on it further, it could be quite a fun game.

Technical things about H.O.D.K.:

  • Written in C

  • Uses SDL

  • Compiles under windows and GNU/Linux

  • Kittens eat you alive

* Actually I entered the 72 hour 'jam', rather than the 48 hour contest. It meant I could drink beer. Wayhey!

solumns 0.1.4 was released a while ago

Same ridiculously annoying/addictive gameplay, but generation of difficult columns is much faster than previous versions.

Go and download it

Also, some new art, courtesy of Maddy Norval. Buy her things! (She helped under the condition I would tell people that :)

Here's a video of my girlfriend playing solumns: she's quite good!

Wednesday, 20 April 2011

Solumns 0.0.2... a while ago!

So I released Solumns 0.0.2!

A couple of weeks ago actually!

An installer for windows an ubuntu package are available.

This version of solumns introduces some randomness. This is needed to stop 2-cycles occurring.

Tomorrow I have time, and shall work towards 0.1.0.
I'm planning on re-writing the neighbouring squares elimination algorithm in C, to make it much faster.

Friday, 1 April 2011


I have written an evil variant of the classic columns game, I call it solumns. It attempts to give you columns that you don't want.

It's not quite ready for everyone (no binaries yet) but developers may be interested in trying it out.

The rules are a little different from regular columns in that squares of similar colour are eliminated whenever they touch two others, without having to be in any particular alignment.

Poor columns are found by a brute force search of every single possible new column in every possible place.

With 7 colours, and noting that each column cannot contain three identical elements, that gives us (7 ^ 3) - 7 = 336 individual columns
Each of these needs to be positioned in one of 6 possible new positions, so that gives us 336 * 6 = 2016 possible next grids!

That's not a whole lot but then you need to then eliminate congruent squares, until no more are eliminated. That's not a trivial calculation, but it can be done in O(w*h) time where w is the width of the grid and y the height. The basis of the algorithm is that if a square is neighbours with 3 others of the same colour, then it, one of its immediate neighbours, is next to at least 1 square which has 2 neighbours of the same colour.

However, solumns is written in racket, so even with a good algorithm, it's still not going to be fast enough. It takes around 500ms to find the next column on my phenom 2.

The algorithm has some problems too. It can become stuck in a two cycle; the worst columns now implies the worst column next which implies the first again. If this happens a canny player can gain many points.

Next steps are:
rewrite the square elimination in C
deal with repetition

The Strict And (Highly) Singular Purpose Of This Blog

This is a binding agreement with myself not to get caught up with the sanity of modern life, nor join strange cults, nor attempt to do sensible things, nor to express my philosophical or political opinion.

This Blog will discuss my odd software, it's development and the mathematics involved and that is ALL.