This is an archived abbreviated version of Information here is only kept for historical purposes.

Welcome to my non-commerical digital games page...

Snowflake brooch

This page describes finished, implemented and independently published digital games I have contributed to. These games are all non-commercial, personal projects. If the game is downloadable, this page will contain those links so you can play the games yourself and sometimes download the source code.

This page is an archive of historical projects I've worked on. For a list of other games I've been involved with, please see the full list on the about page, or a highlights list on the games page of my new website.

The Will

Your father has died and left you and your sister some family heirlooms. Unfortunately, he's locked them up and you'll need to solve a series of cryptic riddles to get to them. Play as one of the sisters and take a turn to explore the room and find an heirloom. When you've unlocked something, choose to keep or share the item and email your "sister" to notify them that it's their turn to explore.

Take turns to search a room Use hints to solve puzzles Choose to keep/share prizes

The Dragon Whisperers

You and your sibling must save your mother's life by travelling to the top of a temple guarded by a dragon. The dragon asks questions in pictograms and if you want to be understood you'll need to reply in pictograms. Luckily you have a dragon dictionary! Unfortunately you only have half of the dictionary. Your sibling has the other half!

Player Choice Screen Work out what to say Use your dictionary Use your dictionary

The AI with a Broken Heart

An AI matchmaker (A.I.M.) has fallen in love with its creator. When A.I.M. is dumped it doesn't know how to feel, since the only emotion it knows about is love. Help A.I.M. navigate the breakup by telling it how it should feel next.

AIM is sad and needs your help Start screen AIM is angry

Back to the First Date

Two time travellers went on a bad first date, so they decide to attempt to fix it using their respective time travel machines, a car and a hot tub. Play as each of the time travellers and help them avoid saying the wrong thing and ruining the date.

Starting Screen Original date conversation Editing Sofia's options

Imogen's Mansion

Imogen 5000 is a bored AI alarm system that has caught you sneaking in to the mansion she protects. Instead of handing you over to the police, she decides to play a game with you. She turns out all the lights in the mansion and tells you clues about the other rooms in the house that you can get to. Navigate rooms by entering the first letter of a neighbouring room you want to go to and try to find the jewels and the exit before the police arrive.

The Tree Mysteries Part One:
Marie's Mr Right

You play as a young woman named Marie. You and your housemates had a dinner party last night and you can't seem to remember everything that happened. You have an enigmatic phone message about Mr Right and it seems that Mr Right might not be your boyfriend! Talk to your housemates to find out who Mr Right is and listen to their opinions about your love life. Choose whether or not to listen to your friends, follow your heart, follow your mind or a little of everything.

Marie's choice. A line of text Missed a Clue

Together In Love

A game about love where two hearts beat as one. Work closely together with a partner to build a song. This is a simple two player game where both of you must move together to collect birds in the sky. You cannot collect birds if you are not close to the other player and the song of dischord will play.

A heart singing is the game's logo. Start Screen Starting far apart Moving together as one heart

Search, Breed, Repeat

A game created for the 2012 Global Game Jam based on the ouroboros (a symbol representing the cycle of life, death and rebirth). Search for your soul mate, breed with them, create a child, then find your child's soul mate. There are two play modes: reality and denial. In reality, you have a biological clock that is ticking. So you only have a limited amount of time to find your soul mate. In denial, you have all the time in the world: the cycle never finishes and the game ends when you choose to end it.

Created by Team Mate: Pouya Aflatoun (art and design), Clinton Shepherd (code and design), Michael Theiler (audio and design) and myself (design and production).

Download and play from the Soulmate home page.

Start Screen

Start screen

Choose how you want to play: endless or with a clock ticking.

Denial Mode

Singing in Denial

In denial mode, you're still looking for your soul mate, but you can take your time to admire the scenery.

Reality Mode

Singing in Reality

In reality mode you have a biological clock that is ticking. It will make finding your soul mate harder since you might run out of time. Sing to the other inhabitants to see if they're your soul mate.

End screen

End game screen

If you run out of time in reality or you choose to quit in denial, you'll find out how many generations you successfully created in your lineage.

Vet Lucie Disastrous:
A fable of good and evil in three acts
(Demo Game)

Lucifer Disastrous, aka Lucie, is an evil vet trying to live up to the expectations of her infamous father, Dr Dr Disastrous. Unfortunately, most of Lucie's actions end end up as good deeds. Join Lucie in this classic point-and-click adventure game as she explores the sides of good and evil in the small town of Darklight.

A demo of the game has been created using the Adventure Game Studio engine. Unfortunately, Adventure Game Studio only works on Windows, so the demo is only suitable for Windows. I created the original concept (see idea 31 of my idea a week project), designed the game, created all the art and implemented/coded it. Saul Alexander wrote all the dialog for the characters and did additional game design.

Feel free to contact me with any questions about the game. Please download the demo and play it (Download the Windows executable ( Note that the game works best when in a window, not in full-screen mode. Please follow the directions in the README file to play the game optimally.

In the beginning

Starting screenshot

The game starts with darkness and a knock on the door.

Meeting your Dad

Meeting your Dad

Very soon you're talking to your Dad, Dr Dr Disastrous. He's set up an evil vet clinic for you in the little town of Darklight.

Friendly cats

Friendly cat

If you're ever stuck and unsure what to do next, simply talk to one of your cats that follow you around. They'll point you in the right direction in stages so you can work out the full solution yourself.

Exploring other rooms

Exploring other rooms

As the demo progresses you can explore other rooms. The cats are never far behind with their hints. You can always find them at the top of your screen, along with your handy vet bag to store all the items you pick up.

Looking at objects

Looking at objects in the world

You can look at many of the objects in the world and get a better idea of who the characters are and their stories.

Finding food in the kitchen

Finding food in the kitchen

When you find the kitchen you'll meet the Disastrous Family's chef, Coldheart. He's cooked up some food for you and will show you that not everyone is evil in the town of Darklight.

Fashion Police:
The Game

Fashion Police: The Game is a game about correctly identifying outfits as "hot" or "not". It's also a community where you can send in your own outfits and use your opinion to change what's set as "hot" or "not". Try to get a high score by getting as many points as possible (annihilation game) or clearing waves of outfits from the room as quickly as possible (time trial game). Outfits are judged not just on whether the clothes go together, but whether those clothes suit that person's body. So you'll find the same outfit on different people with different results. The emphasis in Fashion Police is on long-term styles, rather than passing trends.

This game was created entirely by me using Lua and the LÖVE 2D engine. LuaSocket was used for the internet connection so that poll and high score data could be uploaded, and so the game can tell the user when a newer version has been released. The images of celebrities are taken from Red Carpet Fashion Awards (although the opinions on the outfits are mine). All other outfits are of me and of my friends who kindly agreed to be part of the game.

Go to the downloads page to download the latest version and start playing it. Do a poll within the game to let your opinion on the outfits be known or go to the online poll and vote. Go to the create your own page to find out how you can use your own photos in the game or send them to me to be part of the next version of the game.

Choosing Gameplay Variables

Starting screenshot

When you start the game, you are able to change which outfits you use in the game how many of them you want to use and whether you want tutorial help.

Tutorial Start Screen

Tutorial Start Screen

If you're new to the game, the tutorial will step you through how to play.

Annihilation Game

Annihilation Game

There are two sorts of game styles: annihilation or time trial. In the annihilation game, shown above, you have to keep clearing outfits from the room until you can't do it anymore and the room fills up with too many people. The aim is to get the maximum number of points (shown in top right corner).

Time Trial Game

Time Trial Game

In the time trial game, you have a time limit in which to clear 5 waves of outfits from the screen. The aim to is complete the waves as quickly as possible.

Single Select

Choosing your verdict for a single outfit

To clear an outfit from the room, you must correctly identify whether the outfit is "hot" or "not". In this screenshot you need to make your decision before the hourglass runs out of sand.

Single Select Verdict

Result from choosing a verdict

Once you have made your decision, you will be shown whether you got the answer right or wrong. In this case the answer of "hot" was right, so the outfit will be cleared from the screen. If you got the answer, wrong, the outfit would remain in the room, and therefore you'll be closer to having a full room.

Group Select - A "Hot" group

Choosing your verdict for multiple outfits - hot group

Once you have got three right in a row, the group select power becomes enabled at the bottom right corner of the screen. Now you can choose multiple outfits at once to put in the "hot" group.

Group Select - A "Not" group

Choosing your verdict for multiple outfits - not group

You can use the group select power to select outfits to go in the "not" group too.

Group Select Verdict

Verdict from choosing your verdict for multiple outfits - hot group

Once you have finished selecting outfits for the group, the verdict on your choices will be shown. If you are correct, all the outfits will be cleared from the room. If you are incorrect, the screen will quickly give you some clues as to what you did wrong, the outfits will not be cleared and you will loose the power to group select. In order to group select again, you'll need to get three single select verdicts right in a row.

Poll and Voting

Choosing your vote

If you don't agree with the opinions on the outfits... never fear. By completing a poll your opinion will be uploaded to the website and will then be used in the next version of the game. This means that the results used in the game will eventually reflect the average opinion people have of the outfit.


This mini game was built with Microsoft XNA (XNA Creators club) using the Marblets starter kit. The main aim is to clear the snowflakes at the bottom of the screen by matching to a snowflake at the top. Matching is initially based on colour, then it is based on shape, then back to matching on colour and so on. The challenge comes as the time allowed to make matches decreases and you must switch between matching colours and matching shapes more frequently. Although the rules of the game are simple to learn, matching based on shape and changing match criteria can be quite challenging, leading to an engaging game. The snowflake images were taken from dezignus, but all other graphics and audio was designed by myself.

The initial idea was inspired by idea 5 of the game idea a week project. You can install and play the game by downloading it from this game zip file. The entire source code can be downloaded in this source code zip file.

Start Screen

Starting screenshot

This start screen, showing current high scores, is the first step into the game. When the game is started a set of instructions are shown to explain how to select and match snowflakes or generate a new match snowflake up the top.

Matching based on colour

Colour matching

The game begins by asking players to match the top snowflake with one of the bottom ones based on colour. The player has time limit on finding a match as shown by the yellow bar at the bottom of the screen. Initially players have a lot of time to make matches, this is reduced as the game goes on.

Matching based on shapes

Shape matching

After an initial period the matching rules switch: players must now match snowflakes based on their shapes, not their colours. This phase of the game is harder since many of the snowflake shapes look similar, but are not the same.

Clearing a correct match


When a correct match is selected, both snowflakes are cleared. A new top snowflake will be generated to match with the remaining bottom snowflakes. Once all the bottom snowflakes are cleared, the player gets a bonus life and a new set of bottom snowflakes is generated.

Exact match

Exact match

If the player is able to find an exact match of both shape and colour, they will get bonus points. As the game progresses the amount of time available to match snowflakes decreases and the game forces the player to switch between matching shapes and matching colours more frequently.

No match

No match

If there is no match, the player must generate a new snowflake at the top of the screen. The player continues to do this until a match can be made with one of the bottom snowflakes. Sometimes it can take a few snowflakes to find a suitable match, which can lull the player into a generating a new snowflake so quickly that they miss a possible match.

Masters thesis

My masters thesis investigated how to automatically generate character personalities. A small game was built to test the theory. Below is some information about the game and some screenshots. For more information on my masters thesis please look at the thesis overview page.

Telling the player they suck and waiting for a response

Asking character about themselves

In this scenario, the player is told they suck and they are allowed to respond to this statement. If they wish to please that character, they may decide to agree with the character!

Asking the player for their opinion about Fran

Asking player about another character

In this scenario, Anna asks the player for their opinion of one of the other characters, Fran. If the player agrees with Anna's negative opinion, then she may change her opinion of the player and list them as a friend.

The game is based on social interactions in the form of building friendships between characters. The game was limited so that the theory about generating personalities could be tested precisely. The characters are a group of school children, such as those shown in the screenshots, on their lunch break who want to interact with each other. Individual children can choose from three different top-level activities: to wait in one place, move towards or away from character's they like or disklike, and tell another child the name of a child they do not like, i.e. insult someone. The children choose actions in real-time. Note that the children are not allowed to say positive things about each other. This forces the characters not to just be nice to everyone, they must decide who their friends are and make sure they don't insult everyone, otherwise they will have no friends.

The characters choose what to do based on their personal history of previous choices in this situation and their personal goals. A character's goals are set in their starting personality template, but their overall personality in the form of observed choices they make is built up based on their unique history of their current personal context. When a character completes an activity, they evaluate whether it was "bad" or "good" based on their personal goals and use this to update the likelihood of doing the same activity in the same context the next time they encounter it. For more information on the code and the theory behind each character's choices, please look at my thesis code page.