The Ultimate Race Postmortem

2010, August 10th 5:23 PM

So, I made this game. And – let's be fair – it sort of sucked.

I could go on at great length about how this is Box2D's fault, and thanks to issues integrating Box2D with Lua. There's some truth to that. There's still bugs in there causing the physics to behave a bit wonkily. I spent a lot more time working on infrastructure and bindings than I'd meant to, and even today it doesn't work properly on Linux (and probably won't, to be honest, it's not a good enough game for me to spend the time on it.)

But that's not why the game isn't fun.

The original view I had of the game was that you'd be running along towards the next checkpoint, trying desperately to get there in time, and at the last minute you'd fling yourself towards the goal, die in midair, and get to watch your corpse crunching its way down the mountain until you happened to fall into the rejuvenator and oh god time to keep running go go go get to the next checkpoint.

But there's a bunch of problems here. First off, it requires you to make a crucial decision – your exact death position and velocity – before you can even see what you're trying to aim for. Second, physics tends to be extremely chaotic, so either the game needs to be built to funnel the player inevitably down into the right location or the player's death is near-certain, regardless of skill. And, of course, if you funnel the player down to the right location, then you're making skill irrelevant anyway. A game with no skill component tends to not be a good game, and as much as I rail against them for being low-skill, even Bejeweled and Peggle involve more skill than my original vision of The Ultimate Race did.

Even that isn't the crucial problem.

The reason the game isn't fun – and this took me a while to hunt down – is that a game of this sort is only fun if you're almost losing. If you get to the goal quickly, it's easy, and you'll never bother with an early death and it's boring. If you're nowhere near the goal, you lose no matter what and it's simultaneously boring and frustrating. The player has to be right on that knife edge of losing for that fun moment I had in mind to actually occur.

And that's just ridiculously hard to orchestrate.

If I were going to do this again, I'd be trying one of two different approaches. One is to make the difficulty self-balancing in a sense. I hate auto-adjusting difficulty, so in reality what this would mean is that reaching a goal very quickly would unlock a "harder path" that the player could choose to go on, so the player could make the game as hard as they could handle and thereby keep it fun.

Another thing I would try would be to remove the time limit entirely, and even remove the voluntary-death button. I'd add some kind of a laser defense grid around the checkpoint. You die because you leap headlong into a laser and get fried, and that is when the whole "fall down the cliff praying" thing would kick in. I'd play up the "race" thing more heavily – you'd ideally be racing against a bunch of computer opponents that don't get shot by lasers ("sorry man, we're out of the reflective armor. good luck!") and so you'd be encouraged to leap headlong into danger without really spending a lot of time preparing.

And finally, the player needs at least some influence over the corpse behavior once he's dead. Even if that's limited to twitching in one direction or another. Something.

I feel like, in some sense, this game is a milestone for me. It's the first time I came up with an idea that just flat-out didn't work – the rest of my unsuccessful games have been unsuccessful because I didn't have an idea. So, I mean, I had an idea, and it sucked. That's progress.

I think that's progress.

The Ultimate Race

2010, July 31st 12:04 PM

Windows (.zip version available)
(No Linux version currently available, there's a bug I can't find right now)

This was made for the annual SomethingAwful GameDev Challenge V. The theme for this year was "You Can't ____" – something that you would normally be able to do, but something that you are now unable to do.

Make a game out of it!

As such, The Ultimate Race is subtitled "You Can't Avoid Having Constant, Instantly-Fatal Heart Attacks".

This is my first game with a physics engine involved, and some parts of it went . . . rockily. I ended up spending far more time fighting my tools and far less time actually making the game than I'd expected. Still, here's a game. Go play it!

Okay. This time I'm not really talking about a game. This time I'm talking about a game, and an expansion, and a magnificent complete failure at building a good community. Today is about what happens after you release a game.

A bit of background first. There's a dude named Chris Taylor. He made a real-time strategy game named Total Annihilation, released a bit after Starcraft. Now, obviously Starcraft was just a teensy bit more popular, but TA was interesting because it was a somewhat different style of RTS from the standard. Most RTSes have very flat tech trees, with at most an order of magnitude power difference between the biggest units and the smallest units. TA had a deep tech tree, with the most expensive biggest units able to take on moderate-sized armies of the smaller units. Blizzard's real-time strategy games love loading up their units with crazy special abilities, requiring massive micromanagement, while TA was more about building armies of military units and sending them against each other in bulk. RTS games rarely provide UI features to automate dull repetitive processes, and yet TA was (for its time) full of them – a thorough waypoint system, the ability to set factories to automatically build units and even automatically give orders to newly-built units, and some controls on unit behavior that were, strangely, actually useful.

The company that made Total Annihilation, Cavedog, was eventually reabsorbed into its parent company, and any hope of Total Annihilation 2 vanished with it. Chris Taylor went on to form a company called Gas Powered Games (I bet you are shocked by that, given the subject of this entry) which made a few dungeon-crawler games and eventually announced Supreme Commander, a spiritual successor to Total Annihilation.

Everything that TA did well, SC was meant to do better. A larger tech tree, with humongous, army-crushing ultimate units. More automation, less micromanagement. Supreme Commander was advertised as a strategic game, not a tactical game – a game where you would direct the flow of battle and not micromanage every unit in a skirmish. In a genre where "large battles" consisted of perhaps forty units, Supreme Commander advertised battles consisting of four hundred units, spread out across five hundred square kilometers or more.

So there's the background.

Supreme Commander was not a great game on release. Many of the features that had been promised were simply missing – the automatic base construction, joint attacks . . . even the pathfinding was hideously flawed, frequently turning your base-crushing attack into a five-minute-long trickle of easily-destroyed units. Multiplayer was imbalanced – not painfully so, but significantly so, and enough that many units were almost entirely unused. GPG promised improvements in patches, so we settled down to wait and see what improved.

Now, if you're changing the game substantially, there are things you have to do. You have to talk to the playerbase, for one thing. You have to give them some idea that things are being worked on, that their opinions are being heard, and that the game is actually getting better. GPG did none of these. Patches were released with changes – usually either minor changes, or gamebreaking changes – with little explanation or warning. Gamebreaking bugs remained unfixed. The balance was tweaked one way, then the other way, with no particular rhyme or reason to it, and little-to-no developer feedback.

There are a few events which, together, made me give up on the game and its developers.

GPG started a series of advertisements on their multiplayer application. "They're coming!" "What you asked for!" With a countdown – a month-long countdown. Surely this would be important, right? What we asked for – well, those are bugs fixed, pathfinding improved, and all those features we were promised originally! This could be awesome! And they're working on it for at least a month!

What we got were three units. One unit per race. Two bombers, and one hideously, hideously unbalanced guided missile, which seriously damaged competitive play since only one faction was now competitive.

People were pissed. People made threads on the forum talking about how pissed they were. A month! A full month of countdown, for three painfully unbalanced units! What were you thinking?

The threads were immediately closed and frequently deleted.

As a brief drop out of the timeline: THIS IS A BAD IDEA. NEVER DO THIS. People want to feel like they're being heard. People want to feel like their opinions matter. Take a look at the World of Warcraft forums, in comparison – the forum mods rarely delete threads and rarely censor anything. Want to talk about how the game sucks and they couldn't balance a scale if it came with marked weights? Go for it! It's allowed. People even argue GM decisions on the forums. (Unsuccessfully. But they do.) Back to the timeline.

Then the expansion showed up. With a full rebalancing of all the units, a huge modification of gameplay . . . and a complete abandonment of the original, non-expansion game. And an entire new set of bugs. A new set of balance issues. A new set of problems.

I gave it a month or two, the biggest problems weren't fixed, and I left.

I haven't written this just to vent about a game being screwed up by crummy customer service. I mean, it does still annoy me, and I do still want to play a working version of the game. But the real point is: your customers are fickle, capricious beings. They will leave if they think they're not being respected. They will leave if there are gamebreaking bugs. And they will leave if there is no evidence that the bugs will ever be fixed.

Contrast GPG's behavior with Blizzard's behavior. Blizzard's beta process is open and transparent. Blizzard employees talk about their balancing efforts, talk about what's coming up in future patches, and listen to customer feedback – or at the very least, read enough of it that they can pretend they're listening to it.

The second thing any game studio needs is a good game – but a good game won't help if you don't have people who want to play the game. And if you have people who want to play the game, and they give you suggestions on how to improve it? A lot of those will be terrible – but you still have to listen, because chances are they've played the game more than you have, and some of them will be good.

If you pay attention to your customers, you'll get more.

Aquaria dissection

2008, March 13th 5:11 AM


Developer: Bit Blot

Completion level: Main ending, not 100%

This is NOT a spoiler-free review and I'm not going to be making any attempt to keep spoilers out of this one, or flagged before they show up.

Aquaria is going to be a tough game to talk about.

Let's start with the easy stuff: the art. Aquaria is fucking gorgeous. I described Layton as "clean", but Aquaria can only be described as "lush". The game takes place almost entirely underwater, and Aquaria has done a fantastic job capturing the feel of tropical reefs. Colors are bright and saturated, schools of fish dart between reeds which sway gently in currents, and nearly every movement causes ripples to wash out from your character. When I had a difficult time seeing it was because I was in an intentionally badly-lit area. The only creatures I had trouble recognizing were the ones who were camouflaged. The animations are very well-done, with sprites deforming appropriately to create realistic-looking movement. I found this game to be even prettier than Odin Sphere, and that's saying quite a bit. The music is probably the weakest part, as none of the tracks are particularly memorable or exciting, and even it sets the mood quite well. The controls are fluid (once you switch to a gamepad, at least – I personally couldn't stand the mouse). To put it simply, the game's pretty, and it feels good to play it.

The game itself is an exploration game, similar to Metroid or Castlevania. The main character, Naija, has a collection of songs she can sing that do various things. The majority of these songs transform her into another form, giving her a new set of powers, from "ability to shoot fireballs" to "ability to make plants grow" (which is moderately more useful than it sounds.) The bulk of the game involves you exploring new areas to unlock new forms which you can then use to explore more areas. It's not a game design that's particularly popular right now, but it's certainly a classic and it's one I've always loved.

So there's the easy stuff. What Aquaria does well, it does really well, in an excellent way but not one I'm really going to talk about. I want to make it clear, before I move onto the rest, that Aquaria really is a good game – this isn't a review, it's a dissection, and the parts I want to talk about most are the ones that Aquaria got wrong. And that's why I'm going to spend the rest of this talking about Aquaria's problems.

The writing is . . . dubious, in places.

Naija starts out alone with amnesia. It's a cliche, but a common and useful one. She spends a lot of time moping about how alone she is, and how she doesn't know where she came from or where anyone else is, and – pretty quickly – the player actually ends up resigned to being alone. It's a lonely game. It's just Naija, and a huge sea of water, and a lot of aquatic creatures, and it has a certain stark beauty.

And then Li shows up. Li is a human. Naija meets Li and instantly falls completely in love with him, despite the fact that they never communicate in any way. Not just love – dedication and devotion. It comes out of nowhere – she quite literally falls in love with the first living sentient creature she meets. It feels like a high school romance. "Oh! Boys exist! And I LOVE THEM. Forever." There's no courting, there's no romance, there's absolutely nothing besides the game informing you that, oh, by the way, you're now in love with this dude.

Li proceeds to follow you around the game. The stark solitary exploration is gone. Instead, there's this random guy following you. He shoots things occasionally. He's not particularly useful (his firepower is extremely limited) – largely he just serves to make you feel less alone. Unfortunately, the loneliness was, for me, one of Aquaria's great strengths. Before I met Li, I felt like I was exploring a huge, uncaring and yet beautiful world. Li didn't make me feel cared for and didn't make me feel like my quest was either more or less important. He was just a guy, following me and distracting me from the ocean's beauty.You can tell Li to knock it off and stay at home, which I did. But eventually you need him. You could claim this is making a statement about human social behavior, or the problems with trying to be self-sufficient, and maybe it is, but honestly I just felt irritated by him.

I don't actually believe it's a statement about human social behavior, though, because the plotline is unambiguous and blunt. It's about how much gods suck. This is a recurring theme in the game – every time you find out about a destroyed race, it was destroyed because a god decided to destroy it. Maybe it was the god that created the race. Maybe it was a different god. But every time a god is mentioned in the entire game (and this happens frequently) the god is described or shown destroying things.

It's not clear whether this was an intentional decision or not because it's never explicitly mentioned. If there were good gods involved in plotlines I wouldn't have had trouble with the plurality of evil gods. If Naija had, at any point, mused about how all the gods she encountered were evil, it would have at least shown me that the writer was aware of the evil-god fixation. But neither of those things happened. I'm left not knowing whether it was an intentional theme – perhaps it was meant to be a recurring plot issue, or perhaps the writer is just an obsessive atheist and hates the idea of benevolent gods. I don't know which and I quickly ended up feeling very disconnected from the plot thanks to how out-of-place this recurring element felt.

Let me set the stage for the last part of my playing. I was perhaps 3/4 of the way through the game. I'd found Li, and been annoyed by him. I'd started to notice and be sourly amused at the recurring Evil God issue. I still loved the smooth gamepad controls, and I was still enjoying the sheer beauty of the game. The game was annoying me slightly, but largely I still loved it. I entered a new area called The Abyss.

The Abyss is dark. There is no light. The only light in the level comes from you, in your Sun Form, which coincidentally means you can't attack. You're either reliant on Li for attacks or you're switching forms like a madman for any kind of combat. Or you simply run away from everything, which is what I did. Down down down in the bottom of the Abyss is a large door, marked with symbols that I recognized from Li's cave. I checked it out, ran into it a few times, tried playing Li's song, tried shooting it with fireballs, growing plants on it, and using all the forms I could to get it open. Nothing worked. Eventually I gave up and went looking for another area I hadn't yet explored.

Two hours later I went and asked for help on the forum. It turns out that the door can't be opened using the game pad. You have to click on it.

Yes, that's right. One of the supported control methods leaves the game completely unbeatable. There's no way to realize this on your own, there's no sign that this is the case. If you haven't been using the mouse to get around you're simply not going to think about clicking on it. It is not something that comes to mind. I'd just spent literally two hours swimming around pointlessly because it hadn't occured to the game designers to maybe, you know, trigger the door script when I moved close to the door.

Saying I was annoyed would be an understatement.

I wandered through the next area, solving some (admittedly pretty cool) puzzles, and then Li got kidnapped. Remember that Li just showed up out of nowhere perhaps five hours ago, and I was told Naija just spontaneously fell in love with him. Well, Naija went on this huge emotional tirade, ending with the following line:

"I knew that I would hunt down that dark creature . . . and kill it. I would not be alone again."

Naija. Come on. You've known this guy for less than ten hours. I know this because I've been playing for less than ten hours, and I met Li midway through, and then I had him stay in a cave for a good chunk of time. On top of that, you have literally not spoken to him once. There has been no period of time in this game where you could have had a long heartfelt talk with him that I couldn't see. I have had conversations with strangers that lasted longer than your entire romance. Stop being such a drama queen.

I continued on to rescue Li from whatever had kidnapped him, entering a new area in the Abyss that had previously been closed off from me. Now, a lot of previous puzzles had some kind of hint attached to them. Naija had feelings about the solution, or hunches, or said things like "I decided to check out the X and see if it was important", which is usually a good sign that maybe X is important. But the first puzzle I ran into was spelled out. "I found the X. And I knew that it would do Y." Somehow, Naija wasn't guessing anymore. How did she know? No clue. If she'd said that the knowledge came out of nowhere, okay, fine. If she'd said a memory returned to her, I can buy that. If she talked about writing on cave walls, great, we've got a reason. But no, none of those. Another glaring issue, on top of a lot in quick succession.

And then the end boss turned out to be . . .

. . . oh come on, you can guess, right?

Yeah. It was an evil god.

Okay. Deep breath.

I've written the last few paragraphs to demonstrate how annoyed I was getting at the game. Any one of those issues would have been a relatively small issue. Any one of them would have resulted in me sighing heavily, making a note, and then probably mentioning it in this dissection. But four big issues, back-to-back, starting with a seriously frustrating one, did more to knock me out of the game than nearly anything I've seen before. The first 3/4 of the game was deep and immersive and fantastic. The last 1/4 of the game left me annoyed and laughing at it. All the drama, all the suspense, all the beauty it had built up? Gone . . . and largely because I had to click on a door, instead of just bumping into it.

Summing It Up

The game's beautiful, in more ways than one. The gameplay is well-done. The plot is dubious and somewhat cliche, and unfortunately written in several places. And the interface is great and fluid . . . except in one unfortunate location.

Suspension of disbelief is an incredibly precious and fragile commodity. If you're lucky, your players will forget they're playing a game and just enjoy what they're doing. That's the ultimate goal of virtually all games. You have to be agonizingly careful to avoid squandering that, and once it goes away, it's difficult at best to get back. Once that first problem hits, even things that wouldn't normally be an issue can throw the player right back out of the game over and over again.

I've talked about "fighting the villain" vs "fighting the game" before, and this is the textbook example of the latter. The door wasn't hard to open. Figuring out how to tell the game I wanted to open the door? That was deadly. And I've never had it demonstrated quite as thoroughly as I did in Aquaria.

Aquaria is going to be released on Macintosh shortly. The forums say that a PC patch will be released along with the Mac release that, among other things, fixes the door bug. It is a good game, and it's very worth playing. But if you buy it before the patch, and you find yourself stuck, and you're using a gamepad . . . try clicking on things.