Global Game Jam – Replay Racer

A few weeks ago I participated in the Global Game Jam from the Adelaide venue held at The University of Adelaide. Over the past few months I’ve entered a few smaller jams but unfortunately haven’t produced any completed games. I think part of this is due to going into the jams half heatedly and also not being able to stay for the entire duration of the event. There also seemed to be a bit of a culture around those jams which didn’t favour producing complete works.

ggjjam

I was quite excited about participating in this years Global Game Jam because these issues were mostly resolved. I was able to attend the jam for the entire weekend and the entrance fee made the event a bit more serious. Plus meals were covered which meant I could spend more time focusing on the game.

The theme for this year was a quote by Anaïs Nin:

We don’t see things as they are, we see them as we are.

I found this theme quite tricky as it doesn’t describe or orient itself around mechanistic properties of game systems. Having thought about the theme for a while I’d come to the conclusion that I wanted to make a game about egocentrism. There were two ways I thought of tackling this. The first was to focus on breaking down egocentrism by allowing the player to see something from a variety of perspectives. The second was to have an interpretive game that would prime the player into thinking their perspective was the only valid one and then at the end of the game reveal that there were actually multiple valid perspectives. The second approach seemed a bit deceitful and so I decided to go down the first path.

diplomacy

Initially I wanted to create a game around diplomacy between states. I’ve been taking an interest in the ideas around global politics and thought this would be a great opportunity to apply those ideas. I started sketching out a concept but after talking it through with others at the jam came to the conclusion that I needed to do more research on the topic than I had time for and get a feel for how war games worked.

From there I let my thoughts mindlessly wander. I find it easiest to generate ideas by zoning out after intensely thinking about something. The next major idea I had became the game we made. The idea was to have a racing game in which the replays of your past laps would become opponents on subsequent laps. This idea slightly subverts the concept of the racing line, the optimal path around the course. This idea is a bit stretch from the theme however at that point I figured it was best to get started on something(this was 15 hrs into the jam). The idea was quite novel and most definitely do-able. Plus I’ve been secretly keen to make a little racing game.

I started this game by creating the graphics and then doing the programming. Usually I take the opposite approach, as I feel the graphics should fit the game and so it’s best to put them in after you’ve figured out what units you’re working with. In past jams I’ve been fortunate to have worked with Izzy Gramp(see &TTW1 and You Want the Money?) who does great work. However this time around I didn’t have an artist team member and so had to do the art myself. Since I’m not much of an artist, I thought that I’d be best to give myself plenty of time to do the art well, hence doing it first before the end of jam panic sets in.

replayRacer

Luckily John Oestmann(see Moirai) was keen to work with me at the jam. He spent the Saturday knocking out the music and sound effects for the game. He was initially hitting some brick walls with the main theme but in the end pulled through with a really great track.

At the end of the jam we had a complete game. Overall we were both really happy with how it came together. It’s a polished, fun, little game which we really enjoyed making.

John and I have released an updated version of the jam game onto New Grounds and Game Jolt. The updated version contains four new tracks, leaderboards and achievements. Big thanks to Jamalaide for hosting the jam and the other jammers who rocked up. Be sure to checkout the other games made at the jam.

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.

Contents


Introduction

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.

bones

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.

strokes

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.

stabsheep

Reception

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

Stats

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

Survival
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

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

Moirai is out now

I’m really glad to say that Moirai, previously The Cave, has now been released. You can download it here.

Over the last month we’ve been testing the game, fixing bugs and tweaking different bits and pieces. We had about thirty testers play through the game and provide us feedback and suggestions. This has really helped us refine the game and clear up any bugs. We are very appreciative for the time that testers put into helping us with the game.

I’m really happy with how this game has come together. It’s been fantastic working with both John and Brad. It’ll be interesting to see how the wider public respond to the game.

Chris

The Cave – Beta Testing

I’m currently in the process of arranging testing for the latest game I’ve been working on with Brad Barrett and John Oestmann called The Cave. It’s a short game that started as a 7DFPS entry but wasn’t finished within the week.

We are entering our third pass of play testing and are looking for several people to help us test the game. It only takes about 15 minutes to play through. If you’re interested then drop me an email and I’ll fire off a build to you.

Three of my Games are on Vapor

I just thought that I would do a quick post to say that I’ve added Matt and Chris, Left Right Pong and You Want The Money to a distribution client for games built on the LÖVE framework called Vapor.

screenshot

In preparing the games to run on Vapor I made changes to both Matt and Chris and You Want the Money to allow players to swap between keyboard and game pad controls. You Want the Money now also has a screen that displays the controls before starting the game.

If you’ve made a game using the LÖVE framework then I recommend getting it onto Vapor. The process is pretty straightforward and it helps you get more people playing your games.

And Then There Was One is available for download

Over the past few months Izzy, John and I have made slight changes to our Global Game Jam entry Murder101. An updated version of the game is now available to download under the name And Then There Was One.

The notable changes from the Global Game Jam version are:

  • Bot Support which allows for 1-4 Human Players(not just 4)
  • Keyboard Controls
  • Replay Support
  • Feigning Death Move
  • Level Selection
  • Interactive How to Play Screen
  • Improved Introduction Screen

I prepared a video that runs through the game and provides tips to new players.

Be sure to download the game and let us know what you think via our IndieDB page.

Game Dev Adelaide

I thought I would do a short blog post to tell you about a new website that I quickly put together over the last few days. The site is called Game Dev Adelaide. It lists all of the game developers within Adelaide and creates posts depending upon what the developers post to their RSS news feeds.

gamedevadel

If you are an Adelaide/South Australian based developer and are not listed on the website then be sure to let me know. The details about how to do that are over on the sites about page.

My Games of the Last Year

I usually like to post about each of the games I develop on my blog. I haven’t done that for about a year. So let me run through what I’ve missed.

Java Script Teaching Games

jsGames

When I started teaching at the university we were introducing the students to programming using Java Script. At the end of the semester students had to work in small groups to complete the internal logic of one of three games. We showed students the completed games to give them an idea of what they needed to do and then we provided them with some skeleton code of each game. I developed the three games being Recursive Blocks, Reversi and Connect Four.

Jumping Cubes

jumpingCubes

I developed another game for teaching purposes called Jumping Cubes. This game is based on the game by the same name developed for KDE and Andriod. None of the students had seen this game before and the algorithm involved is quite interesting so it makes for a good practical exercise. The version shown here was developed in ActionScript 3 and FlashPunk but the students had to develop a running version using Qt and C++. One of the things I like about this game is how it requires a bit more thinking to determine who has the upper hand at any given time. The playing field can change drastically in one move and so players need to consider not just the territory captured by each player but how well that territory is captured.

Murder 101

murder101

Murder 101 was a game that I developed along with John Millard and Izzy Gramp for the Global Game Jam 2013. It’s a local multiplayer game in which you have to blend into a crowd of people and slowly murder several targets. What makes this interesting is that three other players are trying to do the same thing and if you spot them then you can murder them as well.

We have decided to continue to work on Murder 101, adding in replays, new levels and the ability to feign your own death. The updated version is called And Then There Was One. It will be playable at this years Indie Games Room at AVCon. The final game will be downloadable via IndieDB, we are hoping to have it out by August.

Left Right Pong

pong

One day I was thinking about simple modifications that can be made to existing games to give them more life. In Pong, you only move up and down. I decided to change this around and only allow you to move left and right. The interesting consequence is that most players will tend to miss the ball more often because it becomes harder to judge where you need to move the paddle. As a result I made the game vertically shorter to give the players more opportunities to hit the ball. This led to two consequences, firstly you could ‘dribble’ the ball across the top screen, which is neat and secondly you could score an own goal by knocking the ball back into your goal. I allowed players to become transparent and let the ball to move through their paddle as a way to recover from scoring an own goal. The game is only supports keyboard controls but I may go back and add controller support later.

Chalk Steps

feet

Chalk Steps is the first physical game I developed. You can think of it like hop scotch sprints. Players lay out a series of hand and feet placements onto the floor. They copy these placements alongside the existing placements. Then two players race try to complete all of the hand placements, the first person to do so is the winner.

You Want The Money?

want

You Want The Money? is a short game I developed with Izzy Gramp for the second Adelaide Game Jam held by Jamalaide. Originally we were developing another game but it looked like it wouldn’t be finished by the end of the jam. So we changed gears on the last day of the jam and cranked out this game in only a few hours. I look at this game as being a humorous take on capitalism.

There you have it. These are the games that I’ve worked on over the last year alongside Expand.

First post of 2013 :P

Occasionally I return back to my blog and every time I do, I have the same guilty feeling. The feeling that I should post more. Every now and then that feeling of guilt boils to the point where I feel urge to get back into writing. I’ve reached that point again and so now I bring you a new blog post.

My last blog post was over a year ago and some things have happened since then. I’ll run some of them now.

So firstly I built out a new version of Expand with Chris Larkin who is now composing the score for game. I can’t speak enough about how great it has been to work with him. This new version used my own custom collision system(not Box2D), integrated with FMOD Designer, stored level data as XML instead of Lua scripts and came bundled with a level editor. This version was shown at The Indie Games Room last year and then later Freeplay, where it was nominated for an Audio Award.

I wasn’t too happy with the code for the Freeplay version of Expand so I rewrote major parts of it at the start of this year. Since then I have added support for scripting behaviour with Lua, sector groups, masking and camera support. The last two parts work very differently to other games because of the nature of Expand. They add several ideas to the game that will move it into an even more interesting direction. At the moment the game is in a broken state as I’m finishing off these last few features but I’m very happy with where the game is at conceptually. I think I’m poised to deliver the game that has been stuck in my head for the last few years and that is very pleasing. The game also has a website.

The second half of last year was exceptionally busy for me. The university offered me a full time lecturing position in which I would coordinate one course and be a supporting lecturer for two others. I don’t know what to write about this, there is a lot that could be said. Firstly, I’m relatively young for such a position and that in itself was quite alienating and often left me questioning as whether or not I deserved to be there. Secondly, the experience was incredibly stressful. Despite their being reasonable guidelines as to the breakdown of your work, the work in itself is infinite in some ways. I always felt as though I could do more as if there was a glass ceiling. If you care, like I do, then this is the sort of job that can consume your entire life. It’s the sort of job that only becomes manageable with time and experience so starting out is really tough. It’s also a job that you receive little feedback on which adds to the feeling of being an imposter. If you want the feedback you need to seek it out. When I look back on the semester I can only see the things that I could have done better despite lots of people telling me I did a really great job.

There was the opportunity for me to continue lecturing but I decided to move back to a tutoring role which feels right. While I enjoy teaching, I love making games so much more. Besides without moving into research my future in the area was quite restricted. I’ve been tutoring for this last semester. Tutoring is great, I get to spend more time directly interacting with students which is the best part of the job. Teaching is a really humbling thing, I recommend giving it a shot if you have the opportunity.

After I finished with my lecturing position I moved out of home and into an apartment with my girlfriend which has been great. I’m living much closer to the city and I have the freedom to work any hours I want(within reason). Over this period I’ve taken an interest in coffee and have learnt how to make a half decent latte on my espresso machine. I really enjoy honing my coffee making skills.

Beyond all of that I’ve made a few small games and prototypes over the last year. I’ll share them with you in another blog post shortly.

PS: I’ve also migrated all of my old blog posts from nexfinity.net over to this blog.

Recent Game Releases

It’s been a while since my last blog post so I thought that I’d be appropriate to post an update about what I’ve been up to, game development wise.

Firstly, I’ve been working solidly on Expand since late last year. The game has been rewritten from scratch with an improved collision system and better tools for me to develop content with. I’m intending on having a new version playable at this years AVCon, until then I don’t have anything to show.

Working on one large game for a long period of time had left part of me malnourished. So I’ve started to work on a few small games on the side. So far this has worked wonders. I’m feeling more creatively energised and refreshed. It has also made working on Expand much more enjoyable. Today I’ll share some of these smaller games with you.

Matt and Chris

Matt and Chris is a game that I developed for the first Jamalaide Game Jam. The theme for the jam was cooperation. After playing around with a few ideas I decided to distill the theme into the simplest mechanics possible. The result was this neat pick up and play game for two players.

Wavyless

Wavyless is the first flash game that I’ve released in a long time. It was developed for the 2012 Pirate Kart using the fantastic FlashPunk framework. I decided to create a super simple game with only basic mechanics due to the very tight time constraints.

Rotator

Rotator was a quick prototype that I developed around a tile rotating mechanic. I wasn’t really happy with how this one turned out. It lacks the depth that I hoped for.

The Spandex Parable

The aim of The Spandex Parable is to get to the end of the game as quickly as possible in order to view the most salacious sex scene you’ve ever seen. I created this game with several friends for MolyJam 2012. Despite a few minor bugs, I’m really happy with the game.

Beyond these games I’m working on two other small games. They should be released in the coming months. The first game is a puzzle game in which you tie ropes together to form loops. Once you’ve created a loop you cannot move the loop. Here is a screenshot of one of the early puzzles.

The other game is a collaboration with good friend Sam Crisp. We’re making a small game about conversations, when one should remain silent and when one should interrupt. I’m really looking forward to releasing this game. As soon as I do I’ll let you know. 🙂