Thursday, April 28, 2011

I'm writing about Swarmtoday, so that means prelude. I wouldn't want anyone to get the wrong impression, and the usual caveats of these views are mine and mine alone, etc. apply.

Swarm is Hothead Games most recent XBLA/PSN title, and honestly, it's an interesting game. Now, I didn't work on Swarm at all and left Hothead before it was released. I played the in-development version a couple of times and gave that team my feedback, but that was about it (I was all 'Spank, all the time). Anyway, point is this isn't to be taken as a review or some judgement. It's an observation of one specific mechanic and the implication it has. Already, enough preface.

Swarm is about controlling a horde of 50 little blue guys at once. You lead them through hazard-strewn levels of roaring saws and crackling Tesla coils. Periodically, clusters of azure nodules allow you to restore any lost swarmites. And that's basically it, pleasantly simple and understandable. The only caveat is that your performance is scored. And that score is really important.

The basic scoring structure in Swarm is you earn points for collecting small objects in the levels. At the same time, as soon as one of these is picked up, a multiplier appears and begins counting down. Its countdown resets when another object is picked up. However, the countdown also resets whenever one of your swarmites is killed. When the timer finally runs down, your currently score is cashed out, multiplied and added to your cumulative score for the level.

Aside from the truly old school glory of having your name next to the highest score on the leaderboard, score in Swarm has another very important function: it's the sole way you progress through the game. Each level has a score target and if you fail to meet it, you cannot continue to the next level until you do. Full stop.

In design parlance, I'd call this a "hard gate." A hard gate is an element that prevents progression without a specific condition being met. Hard progress gates like this are dangerous, simply because progression in the game now hangs entirely on getting that balancing and tuning of those gates absolutely, completely perfect. I don't know if it's possible for that perfect balance to exist. You can't reliably know the skill level of players approaching your game. Do you balance it for a player of moderate skill? Then you're frustrating anyone below that threshold. If you're tuning it for players with very low skill, what's the point of having such gates at all?

Hard gates are especially dangerous for a linear game like Swarm where there's literally nothing else to do in the game should you be unable to achieve the gate's unlocking condition except throw yourself against it again. Even Super Meat Boy and its brutal difficulty had a simple progression goal of completing a level by any means necessary. A+ times were available for players that chose to seek them out, and these A+ times gated the extra difficult "Dark World" levels that were even more insanely difficult (and those also had A+ times). But to progress, only completing the levels was necessary. And even then, within any world, the levels could be played in any order. Plus, if you die in Super Meat Boy you respawn in about 2 seconds.

And that is what's most particularly frustrating about Swarm. Swarm has a checkpoint system where if all 50 of your swarmites die, you'll respawn all 50 at the last checkpoint you passed. Any "cashed out" points are saved and restored when you respawn. However, your running points and score multiplier will not. What this really means is that if you die, you'll almost certainly be in a much worse position score-wise when you respawn.

Especially in some of the later levels, it's the case that if you lost your entire swarm more than 1/3 of the way into the level, your chances of unlocking the next level are basically zero. At that point, it's better to simply restart the entire level rather than press on only to discover you're a couple hundred thousand points short of your goal when you finally reach the end.

Compounding this is the success conditions are difficult to discern. E.g. you have 300,000 points banked and an active tally of 36,400 points with a x14 multiplier. You need 1.2 million to pass the level. Quick, tell me how close you are to unlocking the next level! Now imagine doing that calculus when your multiplier is counting down and you're trying to lead your swarmites through a field of beartraps. The worst surprise one can get from finally chewing through an entire level is to get to end, see they're 100,000 points short and effectively being told, "Whelp, do it again. And better this time."

Now to reiterate the prelude, the point of this isn't to say Swarm is good or bad. I bought it and finished it and I'm genuine in saying there's a lot of interesting stuff going on in the game. Plus, everyone I know that worked on it is a god damn awesome person. I highly encourage you to check the game out for yourself (you can download the 360 demo right here and there's a PSN demo too, once Sony burns out the infection anyway).

But obviously I don't think the effect Swarm's progression had was intentional. I think it's informative to take a look at why that is and see the serious risks in having hard gates that are strictly tied to performance, especially when that performance isn't clear to the player until they're basically done with the task.

Of course, there's a wide gulf between this and L.A. Noire saying you can skip straight to the cutscenes if the game is too hard. But we'll save that for another day.

Monday, April 18, 2011

If you've talked to me recently, you know I'm quite enamoured with the Battlestar Galactica boardgame. If you haven't played it, you really should. It's one of the best games I've ever played, digital or cardboard. It's a game about paranoia, suspicion and betrayal, which are disappointingly rare experiences as far as games are concerned. It evokes those feelings with both excellence and ease. And perhaps most importantly, it does so exclusively through the game's mechanics.

I've never seen the Battlestar Galactica show (I know, I know, I'm planning to watch it as soon as my wife and I finish Rome), so the feelings the game evokes are not due to the game's fiction. Although by all accounts, the game does replicate the feeling of the show quite well. But the BSG fiction is just a supporting element and a way to tie the game into something people are already familiar with. The feelings the game evokes are entirely due to its design.

I'm going to try to break down specific mechanics that help the game foster the atmosphere that it does. For those that haven't played, this likely won't make much sense. But hey, that's just another reason to go play the game. As I thought about this, one commonality is how much depth many of the mechanics have. Even once the mechanic is understood, clever players can find unexpected ways to utilize it and, especially if they're a Cylon, find ways to manipulate the perceptions of other players. So without further ado:

Anonymity and Randomness in Crisis Skill Checks: Cards played in skill checks are played face down, and two random cards (of a finite deck of two of each kind) are added (unless a special card is used to force them all to be played face up). Unless there are three negative cards, the humans cannot assume the skill check has been sabotaged by a Cylon.

If there are more than three negative cards played, which players can draw those colours comes under scrutiny. If all the negative cards are green and yellow, suspicion is going to fall on the Political characters. Of course, there are ways to get colours your character cannot draw. So the behaviour of characters for the past few turns comes under scrutiny. Has someone been playing a lot of Consolidate Power cards, getting two cards of any colour? What were those colours? Has someone been spending a lot of time in the Press Room, drawing yellow cards? A clever Cylon might have encouraged someone to hit up the Press Room, just to then spike a skill check with yellow cards and try to cast suspicion on them. In short, the anonymity and randomness in the skill checks end up not only allowing for higher order thinking, but suspicion is almost always the outcome if they go wrong.

Character Access to Skill Cards: The types of cards characters have access to creates interesting depth in how they can affect skill challenges. In some ways, Pilot characters (and Giaus Baltar) have the easiest time of sabotaging skill checks. With access to three or four types of skill cards, it's more difficult to pin them down as playing against a skill check. But with limited access to leadership and politics cards, it's difficult for pilots to participate in the shipboard skill checks of sending someone to or freeing them from the brig, and changing the presidency. Also they won't ever start the game as president or admiral.

Voting: Since it's difficult for any one person to accomplish a skill check, many skill checks (especially those involving the Brig or the presidency) end up seeming very much like votes. Whether a character participates or abstains can potentially shed insight into their true nature. This has the secondary effect of potentially creating alliances between players. If I helped keep you out of the Brig, you're probably at least a little more likely to trust me. Similarly, moving the Presidency from one character to another (rather than to yourself) has essentially created one ally and one enemy.

As a Cylon player, the ideal situation is to keep the humans factionalized. By allowing for "voting" in the skill checks, not only are player's motives called into question (creating suspicion), but alliances can potentially be formed. Should those alliances then be betrayed, and it's very much in the Cylon player's interest to do so, the feeling of being mislead is inevitably heightened.

Players being forced to make decisions: Certain Crisis cards give the option to either attempt a skill challenge and risk a very negative outcome, or simply choose a slightly less awful outcome without any chance of success. Other cards simple force the current player, the admiral or the president to choose between two unpleasant options. By forcing players to make a decision with real severe consequences, it creates stressful moments where that player's judgement is called into question. It provides the opportunity for a Cylon player to make the obviously worse decision if it's really damaging to the humans.

But most importantly, it plants the seed of doubt in other players' minds. If you're suspicious of someone, you don't want them to have an opportunity to do grievous harm. Putting them in the Brig means they'll not draw Crisis cards and they'd lose the Admiral title. But putting someone in the Brig unnecessarily can do major harm to the humans' chances of success, so it's not a decision to be made lightly.

Positions of Power: Beyond the decisions they're forced to make in the above circumstances, the Admiral and President also have two very important roles. The President has access to the Quorum cards, which afford a number of powerful abilities, including sending someone to or free them from the Brig without needing a skill check. The Admiral decides where the Galactica goes when it jumps, which can greatly help or hinder the humans. These roles are not balanced with respect to the other player's abilities.

This means it's very important to make sure the Admiral and President are trustworthy. I can tell you first hand that if one person is both the Admiral and the President and they turn out to be a Cylon, the humans are in a bad way. The Admiral and President end up heavily scrutinized, but the humans have to be very careful about changing those roles, lest they change it from a human player to a Cylon.

Cylon Reveal Abilities: Should a Cylon reveal themselves and not be in the Brig, they get to deal extra harm to the humans players. This encourages the Cylons to play subtly until they can position themselves for a devastating reveal. Engaging in a scorched earth policy from the outset will get that Cylon dropped in the Brig. As damaging as the Cylon can be, it's distrust and suspicion amongst the humans that will do the most damage. A good Cylon will foster that distrust, ideally sowing as much dissent as they can without revealing themselves. And only then should they pull the ultimate reveal. Without the advantage of reveal while outside of the Brig, Cylons would be less penalized by openly sabotaging the humans' efforts.

Imperfect Information: Fundamentally, Battlestar Galactica is a game of imperfect information. Whenever the Admiral looks at the destination cards, he isn't allowed to share their contents. If he selects something harsh, it's up to the other players to believe when he says the other thing was worse. Players can occasionally look at another player's loyalty cards, but again that information is for their eyes alone. When they claim that person is a Cylon (or not), the other players can act on that information or not depending on how trustworthy they feel that player is. The only time any perfect information is ever allowed is when a Cylon reveals themselves. Otherwise, it's just trust. And having to rely that much of trust means suspicion is an inevitable consequence.

This is by no means thorough. But it does reveal some trends (build mechanics that result in suspicion, making trusting other players dangerous) that fosters the atmosphere of paranoia and tension that makes BSG such a novel experience. I really encourage anyone who hasn't played it to find a way to do so. Given how well established certain experiences in games are (as excellently as they may be implemented) the feeling of a good game of BSG is really quite novel. Plus, it's hard to offer higher praise than saying it's almost guaranteed to make you hate your friends, in the best of ways.

Thursday, April 14, 2011

I was hoping to put together a post, but we've got a pretty big internal deadline at the end of the week and these sweet video games won't make themselves. But this weekend I'll be compiling an analysis of why I think the Battlestar Galactica board game works so god damn well, so be prepared to read me yammering on about it yet again (but it really is that good).

But not to leave without providing anything, if you're all at interested about design, you should read 101 Things I Learned in Architecture School. It's one of the best books I've ever read about level design and game design in general. I've got some thoughts on it in the pipe, but in the interim, I heartily recommend acquiring a copy. Go forth, to learning!

Tuesday, April 5, 2011

This topic has been sitting in the backlog for a while, and although nothing major has catapulted it to the forefront, a few comments about recent games tipped the scales. Plus after several more abstract position pieces, I wanted to get back to something very tangible. Let's talk about autosave and how pretty often, it sucks. And sometimes, it really sucks.

"Are you sure you want to quit? Any unsaved progress will be lost."

We've seen various instances of this phrase in countless games. We vaguely understand what it means, but if you really break it down, useful information in that message is tragically absent, especiallyif the game relies exclusively on autosaving.

Imagine that message appearing in a game where saving manually was not possible. You want to stop playing, but it immediately casts doubt on your intended action. "If I quit, what am I going to lose?" the player may ask. This certainly doesn't provide that information, and likely there's no way to ascertain that information at all. Worse, this message appears any time you quit, whether or not the game saved one second before this message was triggered. Even if there's no unsaved progress to lose, this message is still ambiguous about what consequences, if any, will occur as a result of this action. Simply, this is not a well designed interaction.

This is the kind of message that's build to satisfy TRCs/TCRs, not to actually provide a good, usable experience for the player. So I've compiled a set of thoughts/principles/whatever, in an attempt to encourage others to be a bit more conscientious. This seemingly inconsequential feature actually matters a great deal to broad playability of your game.

0) Let players save whenever they want

This is totally side-stepping the issue, but honestly, it's not an outlandish request. It should be really, seriously considered as to what benefits players will get with an exclusively automatic save system. Taking away manual control completely is a dangerous proposition and one that should only be considered if it has real, tangible benefits. Saying, "Well, now the player won't have to worry about it" usually just means "this is easier to implement" and will usually result in the player worrying about it more, not less.

Now, there are genuine gameplay complications to a general save-anytime system. Turn-based tactics games like Final Fantasy Tactics Advance don't offer a save/load within any particular battle. Doing so would encourage micro-optimizing every single turn, which might lead to a more successful battle in the long run, and also gives players tool for creating boring, tension-less fights. But rather that offering no save features at all, they have a one-time save slot (especially important since it's a portable game which needs to be safely turned off any almost any time). Saving mid-battle quits immediately after the save and loading that file restore precisely to that point and then deletes the save. Essentially, it does just what a save is meant to and restores that game state. While popular amongst mobile games, this feature is certainly a viable option for games where saving anytime is not viable. But really, most of the time, you should just allow players to save anywhere.

1) Let people know what happens if they quit

Alright, enough deflection. If an autosave system is a must, it's vital to let players know what happens when they quit. And this does not mean saying "Any unsaved progress will be lost." At the very least, let the player know when the save occurred. That information is available to you, and easily. Even that simple addition makes "Any unsaved progress will be lost (last save was 30 seconds ago)." so, so much more useful to the player. But ideally the player will know far more specifically what "unsaved progress" really consist of, which leads to ...

2) Provide consistent autosave behaviour

The indelible Chris Remo was discussing Crysis 2 on Twitter, relating that he found the exclusively autosave system very frustrating (especially for a freakin' PC game and considering you could quicksave anywhere in the first Crysis). He said he'd play for ~20 before work in the morning, but when it was nearing time to go, he had no idea how long he had to continue playing before he'd be able to save again. Two minutes? Five? Twenty? Such information was totally invisible to the player.

I'm sure we've all had a similar experience. Gotta dash out, partner needs help in the kitchen, etc. We're forced to either leave the game paused (not often viable) or spout the repugnant, "Just a minute, I have to get to a save point."

At the least, make those autosave moments evenly spaced. Either literally, as in every 5 minutes, or after some very specific and readable events. Having to just stumble blindly forward, hoping you cross that trigger soon, is basically unacceptable.

3) Make autosave part of another system and obvious

At the very least, try to make autosaves part of another readable system. In DeathSpank respawning from death and loading from a save were the exact same action. I think (hope?) that consistent behaviour made it obvious to players who'd saved and loaded once what future behaviour would be like. If your autosaves occur after any level or changing map, that's better than it being tied to random checkpoints or worse, completely invisible (you laugh, but more games than you'd think have done that).

This may seem like a quibble, but really, it's important. Developers don't see it much, since we've got command line options, debug cheats and a heap of other things. But for players that have to just start at the beginning and go until the end, this can be a big deal. How many reviews of the otherwise excellent Costume Quest negatively mentioned its autosavesystem? How many FAQs and forums have that same question?

I wrote a good chunk of DeathSpank's autosave behaviour, and honestly, it's not that hard. And we had all kinds of ugly issues to resolve. E.g. dependent sets of gamestate variables and conversation variables that would get set during a conversation but if the console was rebooted before the conversation was over, those would fall out of the sync and it would be impossible to progress in the game. Finding reproduction steps for those bugs, before we realized what the general issue was, was not fun at all. But even then, it was manageable and something that basically myself and our system engineer were able to hand. Nobody has any good excuse not to do this well.

It's easy to skim on basic usability like this, because it's one of those things that only gets mentioned if it's bad. Nobody praises a good autosave system. But unsung valour is sometimes the most important. A poorly implemented autosave system can be one of the biggest sources of frustration for an audience. Sorry folks, this is one of those things we just gotta suck up and do right. At you know, at least not awful. It's really not that hard.

(As a footnote, I updated yesterday's post to include a link to a second podcast I recorded over the weekend. It's Graham and I talking about the burgeoning Vancouver indie dev scene. Being such topics are near and dear to my heart, I thank you for indulging this extra linkage and encourage you to give it a listen)

Monday, April 4, 2011

Proper post is inbound for tomorrow, but I couldn't wait to mention Michael has posted a new podcast and was kind enough to invite me on again.

The first bit has Michael, myself, Mitch Krpata and Brad Gallaway just talking about games we've been playing this year that we've found interesting. Suffice to say, Mitch has some choice words about Little Big Planet 2, as does Brad about Dragon Age 2. But I froth ebulliently (again) about the Battlestar Galactica board game, so it balances out the scales.

I haven't had a chance to listen to the other segments yet, but with a host and guests such as these, recommendations flow without hesitation. Michael talked to Patrick Klepek, Matthew Burns and Chris Dahlen at GDC, and he finished with a solo segment featuring Sean Duncan.

So get thee to your iListeners!

[Update: I was actually on another podcast this weekend as well. It's not specifically about games, more about creative industries in Vancouver in general. It features myself and Graham talking the burgeoning Vancouver indie game scene and the indie scene in general. Give it a listen too!]