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

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.

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!

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.

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.

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.

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.

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 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).

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.

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

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

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

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

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 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

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

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

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

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

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

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

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

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

Group Select Verdict

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

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.

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

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

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

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

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.

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

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

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.