|
[The following originally appeared on Dave Mark's "IA on AI" blog on Intrinsic Algorithm's site.]
I've written about rubber-banding before over on Post-Play'em where I talked about my observations of how it is used in Mario Kart: Double Dash. Rubber-banding is hardly new. It is often a subtle mechanism designed to keep games interesting and competitive. It is especially prevalent in racing games.
For those that aren't familiar, the concept is simple. If you are doing well, the competition starts doing well. If you are sucking badly, so do they. That way, you always have a race on your hands—regardless of whether you're in first, the middle of the pack, or in back.
Sometimes, it can be more apparent than others. If competitors are teleporting to keep up, that's a bit egregious. If you come to a dead stop in last place, and so do the other racers, that's way too obvious. The interesting thing is that sometimes, it can be more than just about fairness and a running a good race. Sometimes it can be used because it is inherently tied to a design mechanic other than racing.
I saw this review on Thunderbolt of the new game Split/Second where it explains this phenomenon. The game is, on the surface, a racing game. However, in a mechanism borrowed from the aforementioned Mario Kart, the gameplay heavily revolves around "power plays". These involve triggering things like exploding cars alongside the road, crumbling buildings, and helicopters dispensing explosives. You can even trigger massive changes for your foes like changing the route entirely. Needless to say, that has the effect of annoying the piss outta your opponents. The problem comes when those opponents are not human ones, but AI.As the Thunderbolt reviewer puts it,
Split/Second isn’t too difficult until some of the latter stages of the career, but unfair AI is a common problem throughout. It’s testament to the game’s focus on power plays that this unfair AI often occurs, since being in the lead isn’t a particularly fun experience when you can’t trigger the game’s main selling point. As a result, you’ll often find the following pack extremely close behind, often catching up six second gaps within two. Even when you know your car is much faster and you’re driving the race of your life, the AI finds a way to pass you with relative ease, performing impossibly good drifts and respawning from wrecks in the blink of an eye. Dropping from first place to fifth is such a common occurrence it would actually be quite comical if it weren’t for the frustration involved. That’s not to say Split/Second is a hard game – it’s usually pretty easy to wreck opponents with a decent power play, and you’ll normally be given ample opportunities to pass them – but the rubber band AI does cause some unwieldy races where the AI will pull ahead rather than keeping at a more realistic, surmountable distance.
As you can see above (emphasis mine), the rubber-banding is about more than keeping the pack close behind you if you are doing well. In order for the power plays to be relevant, you can't be in the lead. You need to be behind them to use them. This is analogous to the "blue shell" in Mario Kart that would streak from wherever you were all the way up to the front of the pack and tumble the first-place kart. You simply can't use the blue shell if you are in first place. In fact, the game won't give you one if you are in first.
In Split/Second, the whole point of the game is blowing crap up and screwing with the other drivers. In fact, most of the fun of that is actually seeing it happen. While, in Mario Kart, you can use red or green shells, bananas, and fake blocks to mess with people behind you (and this is a perfectly normal tactic), the result of that isn't the visually stunning and exciting experience that the power play in Split/Second is. Therefore, the designers of Split/Second had to make sure that you were able to use the power plays and see them in action.
The difference between these two approaches is subtle. The rubber-banding in Mario Kart makes sure that, if you are in first, you can't make a mistake without having people pass you. In Split/Second the entire point of the rubber-banding is to make sure you aren't in first—at least not for very long.
You have to wonder how this mechanism would translate over to a shooter game, however. If rubber-banding in a shooter is to make sure you are challenged to a good fight... but one that in which you eventually triumph, a change to one where the AI is supposed to ensure that you don't triumph would be a bit awkward. In fact, that would be negating the game's purpose of having you see the rest of the content down the road (so to speak). AI in shooters is really cut from the same template of the rubber-banding in Mario Kart then. "Do well, and then lose." It was just interesting to see a different take on this mechanism that generates a different outcome for the perfectly viable reason of making the game better.
|
If we assume each conflict to be standalone, then the respawn after each death can be thought of as a "rubber-band" mechanism, giving the opponent fresh health, and dependent on the game, fresh supplies as well.
If we were to take this into a car racing analogy, it would be similar to granting a point to the car in the lead (or dropping a point from the car at the back) then reassigning the cars such that they are once again competitive. The gameplay can then be altered such that instead of completing a certain number of laps, a certain number of points has to be reached, or a certain time limit reached before the the score is tallied. Granted there would be balancing issues like now far back or in the lead must a car be before they are auto-balanced, but the idea is there.
Interesting that you should say that. Most games that teach players to do better involve rubber-banding (otherwise known as adaptive difficulty) as a required component.
Perhaps you had something specific in mind as a counter-example?
Mario Kart is dead to me. It doesn't matter how great I am at the game and how far ahead I am, I'm always in trouble, especially since the introduction of the Blue Shell. Rubber banding has created, for me at least, this really boring meta game of intentionally sitting right behind the leader of the pack, then making a break away on the last stretch of the last lap. That is not fun to me.
Looking back at the old Road Rash series as an example, there were many times I raced to the head of the pack and knocked out the competition with the trusty ol' chain, then just burned so far ahead of the other racers that I could slam into a car or miss a turn and kiss a tree, but thanks to my strategy and work in the first half of the race, I would be able to run back to the bike and retain my lead. (Or at least be able to be on the heels of the then-usurpers to reclaim the lead again)
With no rubber banding mechanics, the first half of the race places a sense of urgency to maintain absolute peak performance to set myself up as the dominant racer and the second half of the race then becomes about dialing down risk a bit and maintaining my lead. Each half is its own kind of focus, one risk centered and one risk adverse. I love both flavors because one is ambition to conquer and the other is stalwart to keep the hill. (In truth, I find maintaining the lead a more tense experience because all it takes is one slip up to potentially lose all that I worked for.)
But with rubber banding... I don't feel inspired to do my best. I feel inspired to game the game and win according to the mechanics I've learned. And the mechanics tell me that it doesn't matter how well I do, the AI is going to get a boost just to bring them up to me. And it doesn't matter when you perform poorly and when you perform excellently, the only thing that really matters is that last 15% of the race. Burn through your power-ups until you get red or blue shells or a triple mushroom burst and then perform in a mediocre way until the end, then you make your move, collect your points, rinse, lather, repeat.
At least racing against Johnny in Chrono Trigger you could physically block him and physically keep him behind you. Hell, you were even rewarded for doing so, which made a fun little mini-game out of the whole ordeal.
Rubber banding isn't AI. It's just some design cheese that you put in instead of AI.
Rubber-banding or not, one often missed principle of good game design is that you should take the most enjoyable things to do in the game and reward the player for focusing on those. If the fun in split/second comes from blasting other racers, doing so ought to reward the player. In this case, rubber-banding of car locations could be used to keep the combat going but time penalties for dying or bonuses for killing would mean that victory results more from your combat than from your racing (i.e. rubber banding is used to position the cars but is not used to change the victor). Instead, rubber-banding mitigates the game reward for playing the fun way.
I always hated in racing games that it wasn't about how good you were nearly as much as when you screwed up. Running a race perfectly only to crash a hundred yards from the finish and be passed by half of the other cars is really aggravating when the same mistake would have made little difference in the beginning or middle of the race.
Each time I manage to increase my finish position, I see it as a little victory: as dramatic, in its way, as the rubber-banding alternative. What if a game was set up to reward you for getting better, not for being number 1?
As for split/second, why does there have to be a fixed number of opponents at all? I could imagine a game that had an infinite series of opponents to pass, each one slightly more skilful than the last; and your final score would just be a tally of how many you overtook. That way, there will _always_ be someone ahead of you.
I think infinite opponents in a game like that is an excellent idea, and it would work very well when considering Joshua's earlier comment. They've already broken what a standard race is all about, so they might as well take the concept and run with it.
Wipeout HD seems to do what Laurie suggests about having opponents at a set skill level. Beating the bottom few vehicles in any given race is fairly easy, but beating the top couple is much more difficult. You make progress by improving at each given track until you reach the point where you can beat the top racer. This works well in a game like Wipeout where there is a large series of individual races, but perhaps not so well in a game like Mario Kart where you race circuits and finishing near the top of each race is very important.
That was my favourite gametype dor Burnout: Dominator (or Revenge if I'm confusing, we had both), it was called "Road Rage", and every respawn were spread along the track range, so there would always be car behind and ahead no matter what. I'd like to see a race concept where the cars have different routes in the same complex of road, or just half the cars running in reverse.
I like the adaptative difficult concept when it has a way for you to measure. For exemple, an arcade mode in a random game, where harder and bigger enemies come. You know if you go far, you're doing well. Instead of the same ones just doing better, where your performance doesn't have a face.
Get Capcom vs. SNK 2 as an exemple, you would get the bonus fight with Shin Gouki/Akuma or God Mr. Rugal in the end if you met a certain score requirement. Even in a linear game, difficult progress should be exposed and treated as a reward, not just seemless increasing trouble.
You can even make the game unfair, if you show how it's unfair in the game universe.
Note: yes, you may have the problem of your player missing content if they keep it at a low level, but you can always have a "start difficulty" choice for the second run, where the difficulty can never go back from that point.
Mario Kart: it's okay if they always keep up with my pace, just make them come back with giant turbo boosters and whatever visual clue that tells me how I'm doing.