Thursday, September 18, 2014

XYZZY Awards (Coloratura)

Main post on Coloratura.

Coloratura won a set of 2013 XYZZY Awards: Best Individual PC, Best Puzzles, Best Individual Puzzle, and Best Game. It was nominated in nearly every category, and was so heavily nominated for Best Individual PC that it was granted that award in the nomination phase. This is in addition to already having won First Place and Miss Congeniality in the 2013 Interactive Fiction Competition that it was originally entered into. It's fair to say that Coloratura was a runaway success. But what made it so? I'm going to focus on the winning puzzle of creating the meat monster, but this creation process applied to the whole game. There will be heavy spoilers of the game, specifically centered around the solution puzzle.

Adaptive Puzzles

The actual puzzle to create the meat monster was incredibly simple. It could be solved with only four basic actions: Get heat, touch meat, possess meat, leave. There is no subtlety to the questgiver either: you stumble upon the meat, and your internal dialogue tells you that you need to help this meat. So what did people find so engrossing about this puzzle? Well, it did have an awesome payoff scene. And it made players feel directly responsible for that result. But I think in addition to that, players were helped along by the puzzle having adaptive difficulty. They got to that awesome payoff, and never had to deal with being stuck or annoyed on the way to getting it.

After solving the initial puzzle step of bringing heat to the meat monster, it's clear that the meat monster wasn't happy with its surroundings. The solution is to possess the Newsong and move it out of the room. But >Possess isn't a common command, and wouldn't necessarily come naturally to most players. So, I added a mechanic so that every attempt to solve the problem (by opening the door, talking about the door, etc.) or attempt to interact with the meat monster (look at it, touch it, talk to it, etc.) would increase a counter. At each counter level, the hints on how to solve the puzzle would become more and more direct. This conditional counter (instead of a turn-based counter) meant that players could do other things (like go back for more heat) without being punished. At a certain point, the game would even solve the puzzle for the player, with the meat monster forcing you into control of its mind. This kept the plot moving forward and rewarded players who were concerned about how to help without being quite sure what specific action was needed. If that had been a failure condition instead, players would have just gotten frustrated over their helplessness.

I made sure to add these adaptive puzzles in as many places as I could, so as to catch all players where they were at. If you stay in the first room for too long, your internal dialogue reminds you that you would very much like to Sing. If you don't have Mercy push your Cellarium to the life boat but try to launch it anyway, she'll figure out your intention and drag the Cellarium along anyway. I never interfered with the player's ability to get where they wanted to go, even if they weren't all the way reading my mind on exactly what they needed to do next. (The one place I failed at this was the sub puzzle, which suffered from being too fixedly stuck in my mind that I never examined it enough to change it.)

Player-centric Motivation

I really identify with the Michaelangelo description of statues as already existing within a block of marble, and the artist is the one who just happens to chip away and reveal what's already there. But the unspoken consequence of that view is that the marble decides what the statue looks like, not the artist. I had to let the protagonist, the story decide where it needed to go next. Everything had to have reasonable and sensible player-centric motivations, and I could never ask players to suspend disbelief or make a leap of faith. This often meant changing directions, and the game did that several times. The original concept dealt with a malicious sanity-stealing monster in a sandbox environment antagonizing a group of human researchers, but then why hadn't this thing sought out humans to eat before? Why was it lashing out? It didn't feel right at all.

Strong Hinting in Failure

Well, I first made sure that any reasonable solution could be implemented. The number of synonyms and recognized verbs for the helping the meat in the meat puzzle got… layered. I made sure that players could get heat from the oven and the drier (for some reason, I had initially restricted it to drier-only, but that was a bad decision). I also put a lot of work into making sure that every sensible (and many nonsensical) actions not only had an appropriate failure message but also pointed players towards the correct solution. For example, the coolant tanks did not count as a valid place to get heat from because by then their heat had dissipated. Attempting to do so would give an error message to that effect, but also encouraged players that other devices aboard the ship were in fact warm.

Good Time Management

The game had a year-long production cycle to ensure a high-quality product. That timeframe meant designing towards milestones, sticking to them, and re-evaluating the scope when needed. I dedicated 2 months to research/brainstorming, 4 months for back-end programming + Act I (combined for proof-of-concept), 2 months for Act II, 2 months for Act III, 1 month for break, and 1 month for implementing beta tester responses (although almost all of this ended up spilling over into the month of break). I also spent the month after release fixing bugs, tweaking puzzles, and releasing regular updates.

The main advantage to having milestones meant that I had regular intervals where I could evaluate my progress, test the current content, and rework anything that wasn't working. I ended up cutting several things: sandbox mechanics, several turns of NPC dialogue from various scenes, and a sub-plot involving a crashed pilot. I also had the chance to refractor the color-reading scene mechanic several times until I found something that worked and was easy to copy-paste implement. I also had time to think about puzzles and improve them: the original Newsong puzzle did not involve the player possessing it at all; it was just created and then left to rampage about the ship.

Planning around Scope

I've touched on this in more detail before, but I planned extra content that could be easily cut if needed, and did end up having to cut the original plan for it to hit the deadline. I changed the main format of the game away from sandbox so that it could be finished within time while still maintaining quality. While I did feel that every scene was important, and did not plan for scenes within the main game to be cuttable, I did first implement basic versions of each scene and then add in colorable lines later.

Leaning on Talent

I'd like to especially thank Fabian Parker for donating his amazing art work. My original cover art was terrible programmer art, and it really tied the game together having someone so talented draw the submarine. Thank you!
And of course, I couldn't have done this without my amazing beta-testers. I'd like to especially thank Kaan Vural, Joel Webster, Joe Barlow, and Michael Fransioli, who played through multiple times, Melvin Rangasamy who tested and helped me with some epilogue code, Michael Ammer for taking the time to do multiple sit-down meetings, Hall Hood for testing and giving me fantastic encouragement and advice, and of course my husband Russell Glasser for supporting me all the way through it.

Putting in the Work

This is my third text adventure. My first two were good-sized projects that placed middling, because they were fresh attempts at design. They will not win me any awards, but I couldn't have gotten to Coloratura if I hadn't made them first. I was constantly referring back to them to see how things fit together, what kind of code to use, and to think about what worked and what didn't: how I wished I had done things differently, what mistakes to avoid. Slogging through painfully bad reviews. That growth process with pivotal to churning out Coloratura, and I couldn't have done it without that history behind me. I'm working on more experimental projects now where I'm getting a feel for new ways of writing, new kinds of medium. And it's fun and exciting, and I'm really looking forward to seeing what my new marble statues end up looking like.

1 comment: