in Game Development

Moirai Postmortem

In this post I’m going to do a postmortem/reflection on Moirai. I highly recommend that you play through the game before reading any further as doing so will provide you the appropriate context. The game is very short, taking less than 10 minutes to play through. So be sure it give it a quick play.



Moirai is a collaboration between Brad Barrett, John Oestmann and myself. Brad was primarily involved with doing the graphics, John did the music and I was responsible for the design and programming. The game started as an entry for the 7DFPS jam however towards the end of the week we realised that we needed more time to complete the game. It was eventually released about 100 days later. We spent a few hours on it each week between jobs, study and other projects. It took us about two months to finish the game and we tested the game over a month long period.


To make sure that everyone is on the same page I’ll quickly explain the core ideas in the game. Firstly, there are three paths to go down when you enter the cave. The path of the left leads to a room with a shiny object and bones. The shiny object is meant to represent the ‘hidden’ gold nugget and the bones are those of Julia’s child, who ventures into the cave looking for his Daddy. The path to the right leads to a room with markings on the wall. The number of markings represents the number of people who’ve played through the game. The book in this room lists the names of the last four people to finish the game. The most important path is the middle path. As you traverse this path you run into a farmer who has a lantern, knife and is covered in blood. This farmer is actually a stand in for the previous person who had played through the game(This is a bit more complicated. I’ll explain later). You can choose to let them pass, attack them or ask them one or more questions:

Why do you have blood on your overalls?
Why do you have a knife?
I heard moans, what have you done?

By the end of this confrontation you will have either killed the previous player(and have blood over your hands) or have let them pass. If you let the previous player pass then it’s not possible to see them again. At the end of this path you run into Julia and no matter the outcome you will always leave with blood over you. If you refuse to help her she will spit blood at you, if you aren’t already covered in blood. Or if you choose to kill her then you’ll be covered in blood. As you leave the cave you run into another farmer who is a stand in for the next player of the game. They ask you the same three questions that you could have asked the previous player before. The game then asks you for your name and email address and your results are stored in a database. You should then receive an email once the next player runs through the game.

Pairing Previous Players

One of the technical problems with this game was pairing the current player up with the previous player. A good question to ask is, what happens if two people play through the game at the same time? Won’t they have same previous player? Then who is the next previous player? This was an issue with the game, especially considering how there is a long period of time from when you read the previous players responses until you finish the game. This situation is handled by letting several previous players exist, then when the next person loads the game they are paired with a random previous player who hasn’t been matched before. In terms of deciding the previous players fate, I just choose the response of the first player to finish the game.

This solution leads to another problem that I didn’t anticipate. What happens if the number of previous players gets so big that people are waiting ages for an email? These players might assume that the email system is broken, or that you don’t really interact with other people. This actually happened and so I needed to come up with a way of dealing with it. Initially I was just manually filtering people out who had clearly entered a fake email address. Then I moved to removing people who had entered racist, sexist or disgusting messages(will definitely talk about this later). Then I decided to release a new version to properly address the issue.


Firstly, I decided to tighten the window over which you could be paired with the previous player. Initially the pairing occured when you loaded the game. I updated the game so that it could check to see if the player you were paired with had their fate decided since you started playing the game, if so then I would re-pair you with another player. I did this check in the background when you entered the cave and then on the screen right before you need to know the previous players responses.

Secondly, I noticed a lot of people that entered fake email accounts had also entered inappropriate content. So I decided to remove the email validation checks from inside of the game and just flagged the players as invalid outside of the game.

I released both of these changes in the one update and so it’s hard to say how effectively they were on their own. But together they greatly fixed the problem. These techniques cut down the list of previous players from over a hundred to less than five. Currently the game doesn’t extend out to any more than four previous players, usually it’s at one or two. This does however lead to another small problem being, what happens if there are no previous players because they all entered invalid email addresses? I resolved this by randomly pairing them with another player. Players would only receive one email from the first person that chose their fate.

Other Design/Implementation Thoughts

As mentioned earlier, there is a room with markings that represents the number of people who’ve played through the game. Initially this room was only programmed to support 3500 marks but was updated to allow for markings on the walls behind and around the book. The room now supports 5250 carvings, which we’ve surpassed.

When play testing the game we received several suggestions. One of these was to change the option of ‘Kill’ to ‘Attack’ when choosing the fate of the previous player. I liked this suggestion a lot because it toys with suggested meaning and outcomes. eg. “I didn’t mean to hurt him. I was only using self defence.” Another suggestion we had, was to allow the player to kill the sheep. This was added into the game, you can try it if you like. I was really quite torn about adding it into the game. In the end I decided to do so because it did make me feel uncomfortable and I wanted to test that feeling.



Moirai received much more attention than we were expecting. Here is a listing of some of the press we received:

Front page of Game Jolt with Moirai Featured

There were quite a few Youtubers who did play throughs of the game. From the developers point of view these are great to watch, it’s one of the best parts of releasing a game. Some of my favourite Let’s Plays were by RaedwulfGamer, RockLeeSmile and Things We Play.

The game also received a nomination for Kotaku’s Australian GOTY which was a bit strange. The nominations were sourced by the public. I tried to reach out the author to see if he played the game but I didn’t receive a response.

Moirai did received quite a bit of traffic from non-english speaking sites. This lead to a significant number of Russian and Spanish speaking players. In fact the most popular Let’s Play with over 40,000 views wasn’t in English.

All of us are super appreciative of the writers and youtubers who took the time to produce content about the game.

Front page of IndieDB with Moirai listed


Play Throughs
Total Play Throughs: 10581
Total Play Throughs marked as invalid: 1289
Percentage of Invalid Playthroughs since first invalid marking: 17.87%

Number of Players who were killed: 4360
Number of Players who were free: 6221
Percentage of Players who killed: 41.21%

Multiple Play Throughs
Total Play Throughs with unique email address(excluding invalid): 6534
Number of unique players(email) that played the game more than once: 1374(21.03%)
Top 5 Highest Counts of play throughs by email address: 52, 44, 29, 25, 20
Average number of times played per email address(excluding invalid): 1.42

Number of Players that asked no questions: 279(2.64%)
Number of Players that asked no questions and killed: 155(1.46%)
Number of Players that asked no questions and survived: 124(1.17%)
Number of Players that asked all 3 questions: 9325(88.13%)
Number of Players that included ban-able words in replies: 5592(52.85%)

Number of Playthroughs Per Day Graph

graphLooking at these stats there are a few interesting tidbits that jump out:

  • Over half of the players entered some kind of profanity into the game. Worth noting that not all profanity was used in an offensive way.
  • Most players asked all three questions and hence likely didn’t feel as though the other farmer would hurt them. They might have felt as though they had control.
  • There were a few players who were really keen to replay the game. Over 150 people played the game at least 5 times!
  • There is still a steady stream of players per day. At least 30 per day. I wonder if the tail for this game will be longer because people are more inclined to recommend it to a friend in order to find their fate.

Things we would have done differently

There are two things that I wished we changed about the game. Firstly I wish we logged if the player decided to kill Julia and secondly if we logged whether or not they killed the sheep. These would have been interesting stats.

Take Aways

Here are some important things we learnt having made the game.

Adding Mechanisms to support virality
One of the early changes we made was to add a short message at the bottom of the emails encouraging people to share the game with their friends if they enjoyed it. This was a simple way to help the game spread without having a negative impact on the player’s experience.

Game Portals can improve your exposure more than you think
We uploaded Moirai to my website, GameJolt and IndieDB. GameJolt by far increased our exposure the most, with many of the news posting linking directly to GameJolt and not my website which would be considered the ‘source’. IndieDB didn’t attract anywhere near as much interest and my website pushed through about the same numbers as IndieDB(mostly because some articles directly linked there). I think there are several factors that made the game more successful on Game Jolt. They seem to have a community that’s more interested in trying smaller, experimental games whereas I think IndieDB community is more interested in longer games with higher production values. This would make sense as IndieDB spawned from ModDB. Ontop of that I think there are a quite a few Youtubers and games journalist that casually check the GameJolt. We were also featured on the front page of GameJolt for quite a while. The featuring system here works much better than IndieDB which floods you with a lot of featured games but for a shorter period.

The amount of racist/sexist messages and/or comments with profanity is hard to appreciate
It was expected that a lot of horrible responses would be entered into the game. After all it’s the internet right? What I didn’t anticipate was the amount of this. You can’t really appreciate it until you see it. I spent an hour every day over a few weeks(while the number of previous players was high) going through and flagging these messages to prevent other people from seeing them.

Email Validation is can be used to trick the trolls
Invalidating a user record behind the scenes and telling them that they’ve successfully completed the transactions isn’t a new idea. It’s a pretty neat one that you may want to consider sometime.

That’s from me and Moirai. Feel free to contact me if you have any questions.

Write a Comment



  1. this is actually a pretty intresting concept its like a never ending loop that tests the players morality and how he/she would interact with something like this happening. maybe we could have more content on the game for more new players to experience though, but other than that this game is amazing! also i have not recieved a e-mail

    you’re a amazing artist~

  2. Great concept! I loved it. I would be interested in seeing if there was a chain effect. If a player kills the previous player, if they are more likely to be killed by the next player and if that continues for any length of time.

  3. Unfortunately removing the racist/sexist answers can’t be foolproof, as I just played through the game and the previous farmer I got answered ‘to protect myself from ni**ers’ (why have you got a knife?) and ‘she’s a suicidal bitch’ (what have you done?) 🙁 took me out of the game a bit as at that point I didn’t know what’s going on and thought game itself was going for shock value responses.

  4. I personally like the idea of getting emails knowing my character’s fate. I think there should be a way to wash off the blood though. Also, should be a better angle with the gold in the hole. Might be a nice add on to let the player kill everyone in the town for shock value. Also, there is the same amount of blood each time, even though I slaughtered all the sheep, killed the farmer, and ended the woman’s life in one run. Maybe more blood could be added if the player does that? Just a thought for the future. Also, as stated before, the filter for offensive language isn’t working right. There are a lot of sick answers making it through. Might be nice to have a button to report people that are cussing, being racist, or have names like “F-ing your mom.” Also, I once ran into my previous character. That was strange. Not sure if I liked that or not.


  • Moirai Is An Adventure Game With A Killer Twist | Kotaku Australia September 17, 2017

    […] choice in a vague situation. One of the game's developers, Chris Johnson, looked at the results in a postmortem: Only 41 per cent of players were killed at the time of the analysis. For whatever reason, be it […]