How I Celebrated the IGF Nomination
You may have heard SpyParty was nominated for the Seumas McNally 1 Grand Prize at the 2011 Independent Games Festival. This is really exciting, even though I probably have no chance of winning! Still, I celebrated in the best way possible: I worked on the game.
The feature I’m working on right now I call “Action Testing”, which is a pretty lame name, but you have to name things when you’re writing code, so there you go…I’ll figure out a sexier name later.
The idea behind Action Testing is to fix what I consider a flaw in the current game. As I’ve said many times, I’m trying to take the core SpyParty game design as deep as I can on the player-skill axis, to the point where a more experienced player will basically always beat a less experienced player. Once I’ve got the player-skill design “turned to 11”, I can ease new players into the game with matchmaking and an advanced handicapping system2.
The flaw in the current game is if a merely good Sniper is playing an elite Spy, the Spy player can’t accomplish any missions if the Sniper is looking directly at the Spy, even though he or she is much more skilled. The Spy will still win most of the time, because the merely good Sniper won’t be able to tell which partygoer to watch if the Spy is good enough, but I still consider this a flaw because an elite Spy should be able to perform missions right in front of the less skilled Sniper due to the skill differential.
So, I’ve decided to try adding a tiny optional player-skill challenge to accomplishing missions. There are many examples in games of the kind of small scale player-skill challenges I’m talking about, with driving and putting in Golf games being a historically important example. However, for me, the most inspirational challenge of this sort in modern day games is Active Reload from Epic‘s Gears of War, so to start out I’ve basically made a modified clone of it and we’ll see how that goes in playtesting.
Here’s how it works in Gears:
When you run out ammo, you can press the reload button once and you’ll do a normal reload animation. However, if you look closely in the upper right hand side of the screen, you’ll see a display like the above. The bright vertical bar travels across the Active Reload bar, and if you push the reload button again on the “awesome” zone you’ll get a much faster reload (and you get a temporary bonus on the weapon), if you hit the “normal” area, you get a slightly faster reload, but close to the duration you’d get if you’d just ignored the challenge, and if you hit the “total failure” section you are penalized with a long and slow gun jam. The exact timings and details are here.
The thing I like about this is that it’s an “opt-in” risk/reward challenge for the player. The player can decide whether it’s worth the risk for the extra bonus, and if they opt-in and screw it up, the credit (read: blame) assignment is clear.
However, in practice, because the Gears design has a fixed geometry and timing, experienced players simply learn the timing and nail the “awesome” zone every time. This is probably good for an FPS, where you just get a little extra depth by having the rhythm challenge, but I didn’t want my version of it to be memorizable in that way. Instead, I wanted the Spy player to have to pay attention to the skill aspect of the test and adapt to it each time. The Spy should really have to think about whether it is worth the risk of both potentially screwing up the test, and of having to pay attention to the test when the Sniper was aiming right at him or her. So, I randomize both the position of the “normal” zone in the overall bar, and the position of the “awesome” zone in the normal zone. I have the cursor ramp up in speed as it goes along to compensate for the fact that you have more visual time if the zones get placed farther to the right. So, if the zones are to the left, the cursor is moving slower, but you have less time to process the situation and react, but if the zones are to the right, you have more time to figure out what you’re doing, but the cursor is moving faster.



The current tuning feels pretty good. The cursor takes 1.4 seconds to traverse the whole bar, and it’s going twice as fast on the right as the left. I find it really hard to not push the button once I’ve decided to go for it, even if I can see the cursor is past the “normal” zone…there’s some interesting psychology going on there. I haven’t playtested it in the game yet, though, so we’ll see how it goes.
In SpyParty, each Spy action with have the Action Test enabled, and the results of hitting “awesome”, “normal”, and “total failure” will be different for every action. Here’s an example video of the three results for hiding the microfilm in the book:
The one on the left is the “awesome” result, and you can see it’s fast and subtle. The middle is the “normal” result, and is basically the animation that’s currently in the game. The one of the right is the “total failure” result. I kinda like how he takes the wrong thing out of his pocket at first…you can think of the Action Test as a way of choosing whether you’re Austin Powers or James Bond!
The different expressions of skill won’t always be represented with animations. For the Check Watch action that allows the Spy to add time to the game, the “awesome” result actually dilates time on the Sniper’s machine, so the countdown clock simply slows down to add the time, instead of adding it in a single 30 second chunk like the “normal” result. An astute Sniper can still tell time has slowed down, but it requires more attention than just noticing the clock go backwards. The “total failure” result sounds the beep tone when the time is added. Normally the clock only beeps on the minute, so if you are the Sniper and you hear the beep and look up and the clock isn’t near a minute breaker, you know somebody screwed up.
The different results are going to be totally custom for each action, which means they’re going to need a lot of playtesting to balance out right.
Oh, and speaking of playtesting, since SpyParty is an IGF nominee, that means GDC 2011 will be the next (pseudo-)public playtest!
- I actually knew Seumas back in the day, and I’m really glad the IGF has kept his name on the Grand Prize. More about Seumas is available here. [↩]
- The board game Go is a ultimate example of this. Very different skill level players can both have a good game with each other because of Go’s beautiful handicapping design. [↩]