About Tim Hardy


Tim Hardy's Trophies

Tim Hardy's Archive

The Persistence of Memory

Posted by
Saturday, October 2nd, 2010 12:59 pm
The Persistence of Memory

This is my first game and my first entry for a LD contest. Annoyingly I was ill last weekend but since the contest is still open I thought I’d sneak this in now :)

Given the time restraints, I decided to focus on a very simple idea reasoning that I’d rather complete something small than fail to complete a more ambitious project. This turned out to be a good plan since the first version of the game was no fun at all and I was able to change it into something that I hope others might enjoy.

The code is written in python and uses pygame. It was developed on Ubuntu and has been tested on Windows XP. It lacks finesse, the graphics suck (!) and it has a number of rough edges not least the lack of Quit/Restart controls (just press escape to abort). Nonetheless I’ve had fun playing it and I hope others do too. (NB the zip file contains a credits file listing the sources of the sound effects.)

I suspect that part of the fun of playing it will be in deducing the best strategy so beware of potential spoilers in what follows. If you’re thinking of playing it please try it now then come back and read on when you’re ready.

The Persistence of Memory

One of my fears is that of losing my memory as I grow older.

I decided to write a simple game/puzzle that would evoke the frustration of memory loss.

I knocked together a very quick first version using some code built on top of the open sourced Memory Starter by John Eriksson.

The first version was based on a nasty trick: it would swap neighbouring tiles after a fixed lapse of time, forcing the player to make mistakes and think that they had failed to recall the exact position of the tile. This, it turned out, was no fun at all. (Not really a surprise in retrospect.)

Part of the problem was that even without the evil trickery behind the scenes, it was too hard to recall such a huge number of tiles but reducing the number of the tiles made it too obvious that the game was cheating you.

In the next iteration, I decided to split the grid into levels, each slightly larger and therefore harder than the other, starting with an inner ring that was easy to complete so the player got sucked into the game.

This played better but I no longer liked the trick of moving tiles and there was no real relationship between the levels. I didn’t like the fact that you could just forget about the ones you had already completed.

Therefore I decided to get rid of the trickery but instead to punish players when they failed to match a tile when they’d already seen its partner by removing already completed pairs from inner levels.

Obviously if it just removed one pair, then it would be trivial for the player to click the backs of the two turned cards and continue on so I decided to remove x pairs where x was the number of times the player had seen the matching card. This makes the game progressively harder the longer you play, with mistakes building on mistakes.

Play testing this proved a far more satisfying game and introduced the idea that the game itself had a memory of your past mistakes, meaning that it becomes progressively harder to complete if you get off to a bad start.

This could be said to be another fear: that we never get over our wrong beginnings in life.

I find it challenging to complete in less than 200 card clicks. ¬†Perhaps my memory is already beginning to go…

[cache: storing page]