Scoring in Roguelikes

My new favorite YouTube channel is Matthewmatosis, a collection of in-depth game reviews and commentary. In-depth means really in-depth–30+ minutes in most of the videos. One of the most recent is on Pac-Man and scoring, which explores the phenomenon of the “perfect score” in Pac-Man: something made possible by the fact that a) the game is deterministic (the ghosts’ behavior is predictable and reliable), and b) the game has a finite number of a levels (not by design–but an integer overflow enforces this).

So for Pac-Man, there really is just a perfect score to attain, and the leaderboard shifted to who could do it the fastest. But there is actually a fastest-possible time as well, if you execute everything perfectly. So now it’s just an account of people who can attain the fastest time to the highest score.

Matthewmatosis offers a solution in the form of two missing ingredients: randomness, and unlimited time. They are both required, however, because random game elements (such as Tetris or a roguelike) combined with limited time means that top scorers are mostly at the mercy of the random number generator for a good score. And unlimited time without randomness turns the game into an endurance test, rather than a skill test.

How I Organize Projects as an Indie Developer

When I was in elementary school, I had a reputation for being completely disorganized. Homework assignments were often lost or forgotten because they were swallowed by the dark abyss that was my backpack. Efforts were made by my teachers and parents to improve things, but sadly, progress from age 6 through 18 was not substantial.  Let’s also just say that I wasn’t the ideal college student.  I found a sanctuary in my first real post-college job as a web programmer at a small firm.  Because all the organization was done by the project manager, all I had to do was execute. It was simple and beautiful.

This all changed in 2002, when I got an offer to switch careers into something I had dreamed about doing since I was a kid: making video game soundtracks.  I took on my first ever paid gigs, with Amaze Entertainment, doing all music and sound effects for both Harry Potter and the Chamber of Secrets GBC, and The Lord of the Rings: The Two Towers GBA.  Now, I was responsible for everything: making my own hours, choosing how to spend my time, problem solving at the project level. As a contractor, I was on my own. And it started out great… I remember the teams being impressed with my first couple audio deliveries. The work was steady but not overwhelming… at first.

Why Escape Goat 2 is (Probably) Not Coming to Xbox Live Indie Games

Last week I spent three days at CasualConnect in San Francisco showing Escape Goat 2, as part of their amazing Indie Prize event. Free demo space, lunches, snacks, and an open bar every day!  I felt like royalty. I wish I had time to play more games and see more of the show, but I was pretty committed to demoing Escape Goat 2 the whole time. I hardly left my table during show hours.

The most common question I got was “So is this coming to mobile?” which has a lot to do with it being CasualConnect. Being a paid-up-front, download game on PC, I was definitely a fringe title for the event. I resisted the urge to give a flat “no” to the mobile port question, and instead explain how the game would need to be redesigned for touch input, and with a direct port it just wouldn’t be a high quality game. (Imagine: Virtual D-Pad)  Pretty much everyone got it when I put it that way.  Each platform has a cost of porting, and I have a limited amount of time… it comes down to prioritization.

The priority is a basic equation: Potential revenue divided by hours of work.

eg2_alpha_july_4

It’s tricky because both of these numbers are guesses. For something like Wii-U, I doubt I could even get in the ballpark for either figure, so I’d have to do more research. For Xbox Live Indie Games, I have already released three games there, so I have a much clearer picture.

1. Potential Revenue

For potential revenue, I could look at how much each of my games made in their first year. I wish I had kept all the reports, because I can only download the most recent ones. But from the data I managed to revive, here are some estimates:

Game Launch First year revenue
Soulcaster March 2010 $8,000
Soulcaster II December 2010 $4,500
Escape Goat November 2011 $4,000

A lot of people are shocked when I tell them these figures.  But that’s just XBLIG, only certain types of games really make viable revenue there.  And as you can see, the trend is–though my games are getting objectively better–they make a little less money each time. It’s probably that the marketplace is getting more more crowded with high quality titles.

Compare those figures to what I made when these games launched on PC, in the Indie Royale bundle:

Game Launch Bundle Revenue
Soulcaster I & II February 2012 $17,000
Escape Goat June 2012 $15,000

This graph illustrates my 2012 revenue breakdown:

mtb revenue 2012 pie chart

There’s a chance Escape Goat 2, with its higher production value, will make more money than any of my other games on XBLIG. Very true! There’s also a chance that when the Xbox One comes out, Microsoft puts the 360 into the federal witness protection program, like they did with the Xbox when the 360 came out. Maybe the One will have a great self publishing deal–I’m keen to learn more about this in the coming months. But my future is not with the 360.

On the subject of revenue, there’s also the issue of pricing. Do I really offer my $10 PC game on XBLIG for just $1? I bet it would make more money there, but does this help me in the long run on other platforms?

2. Cost of Porting

The other variable in the equation is the time it will take to port. Now being built from the Escape Goat code base, EG2 should be ready to rock on the 360, right? Not really. The new lighting engine required a new renderer, so we’re not 100% organic XNA anymore. It could take a couple weeks to get the code to compile for 360, not to mention time spent on optimization. The file system needs to change to use storage devices. I have to remove every instance of default paramters.  I’ve got to do Evil Checklist testing, go through playtest and peer review. It could easily be a month-long project, and yield a separate code base in need of maintenance.

eg2_alpha_july_1

Escape Goat 2 has been chartered to make money. If I’m going to do this indie thing full time, I have to pick my battles wisely. I have a lot of fans on Xbox who don’t have a PC, or prefer to game on console (just like me!) and it bums me out that I have to snub them this time around.  I wish it wasn’t like this, and I hope in reading this article you can see what went into the decision to avoid XBLIG.

The Future

But just so this article isn’t a total bummer, let me close by saying that Escape Goat 2 really works best as a console game, and it will be on a console. Couch and controller. I will be in contact with Nintendo, Sony and Microsoft later this year to see what it’ll take to port and publish on Wii-U, PS4 and Xbox One. I hope to see you guys on one of those systems. I owe my indie career to XBLIG, and it will always be special to me.

I’ll see you on the PC in September, and we’ll take it from there as opportunities come up.

Red Mage Style: Music Direction

What is Music Direction?

Music direction is picking which songs the game needs. How long they are, how they’re used in the game, and what style/mood they will have. The goal is to set up the soundtrack to influence the mood of the game.

For example, in Escape Goat, I wanted the game to have a serious tone to counterbalance the game’s title, so I picked a lot of darker stuff as reference songs.

If you don’t know where to start, try this:

The Fake Playlist Method

  1. Brainstorm and make a list of a dozen songs that might work well with your game. Pick a variety of tempos, moods and genres.
  2. Collect mp3’s of these songs (if you can find them on YouTube, you can get the mp3… Google it)
  3. Make a playlist in iTunes or Windows Media Player
  4. Play your game while the playlist is playing. Skip around from song to song, and notice how each song affects each scene.

That’s it! You’ll have a short list of tracks that work well, and you can probably describe in a few words what makes them work.

Here’s a video that demonstrates this process:

I’ve used this technique dozens of times when scoring games. When it comes to tracking music production, I love spreadsheets. All you need are these columns: Cue name, Target Length, Actual Length, Reference, Notes (for reworks–which should be minimized with this practice).

Have fun!