Sunday, May 16, 2010

Transparency and learning

I came upon a concept in a poker video that I've never heard before, humans as a self-correcting system. What it means is that as long as you get punished for doing things wrong and rewarded for doing them right, everyone will improve over time. The reason why poker is so hard to adjust to is that it is also a game with a high amount of short-term variance, you just don't always get rewarded for doing the right thing, which might make you mislearn things or apply them incorrectly. This is also a reason why it's possible to make money in poker. It is more likely that bad players stick around longer because they feel like they are really good or "just got unlucky".

The two primary ways of improving at anything is by doing it (playing) and studying (reading strategy, watching videos etc.) but not everyone is interested in meta-gaming. If you're making a game which is based more on skill and has less short-term variance, what you need is transparency. If a player does the right thing, he needs to be rewarded instantly so that it's blatantly obvious what is happening. While playing a FPS game, you might occasionally kill the entire other team in a round or die as soon as you meet the enemies which makes for variance. But if you just run into an entire team and get killed in one second, you will probably learn pretty fast not to do it again.

So if having good feedback and a transparent set of rules should make players be better and better at a game over time, they will also probably notice that they are suddenly crushing some opponents over and over again. This will make them happy. Noticing that you're suddenly able to do something you used to fail at over and over again is in my opinion one of the greatest rewards.

This is why it bothers me so much when game designers put in non-obvious things in games. At the release of Left 4 Dead I played it a decent amount. In this game there are tanks who can take a lot of damage. There are also molotovs, which make things burn. What is not apparent is that if you set a tank on fire, it will die in 30 seconds no matter what happens. Doing the amount of damage to kill it over 30 seconds would be fine with me, but if you're playing the tank and run into some fire, you will still be surprised if you have 6000 hp and die instantly after a while for "no reason". It was patched after a few months but I still find it amazing that it was in a shipped game to begin with.

Having a high amount of transparency is easier the shorter every encounter is. In a fps game, an encounter is usually only a few seconds long, in a beat 'em up maybe half a minute, but the real problem comes when in a strategy game a match is 30 minutes. It might just take such a long time before you actually know that you're beaten it's too late to do something about it. If you watch a super good player at for example Starcraft, when they lose a game in a tournament, they have to go back and watch the replay to see what actually made them lose. And those are the best players in the world.

All of my examples here are based on games that depend a lot on hand-eye coordination. Of course if you dominate your opponent here, given equal strategical "skill" you will win no matter what. This is only somewhat lessened in strategy games, but not entirely unimportant and in some cases critical.

Shooters

A fight one on one in a shooter is very easy to make transparent and very dependant on preparation. If you show up with the most powerful weapon and three times as much health as the other guy, you're probably going to win no matter what he does. Fortunately this is offset by the fact that duels are more about playing for total map control, but having the map being designed to not allow for total domination. And in my experience, people mostly play shooters in groups of people, where you only have time to maybe grab one weapon before running into your first encounter or maybe not even that.

Since the game mechanics are so easy most players manage to grasp it on an intuitive level. If you click when you have an enemy in your sights, he will bleed. If he bleeds more than you do, he dies before you. Bigger guns make your opponents bleed more.

Fighting games
If you play a fighting game, a fight is probably half a minute, or divided into several rounds of that length. But the encounters themselves are usually (unless one is dominating the other) only a few attacks, and then the players split up to catch their breath. This allows for much more adjustments in-game trying to find the perfect play before you run out of health.

Transparency is usually not a problem in fighting games. You can't hide from your opponent, all your moves are given but adapting to the situation, dependency on hand-eye coordination and reflexes is what makes the game interesting.

Strategy games
This is where it gets interesting. Most strategic games are games of incomplete information and the difficulty lies in adapting fast to unexpected challenges. Thus you strive for complete information and using a strategy that is superior to what you expect your opponents to do. Coming mostly from a Warcraft 3 background, I have been in a lot of situations where I just tried building my army in a quiet corner of the map and then being ran over, having no idea what hit me. While nearly all strategy games (that I've played) build on this concept of slow adaptation and incomplete information, alternatives are not inconceivable (though in this example balanced with a certain lack of control).

The biggest problem with slow adaptation is that if you do the wrong thing at the start, you might be doomed later and having to wait half an hour to find out. For example, the start of a Starcraft (and SC2) game is designed around the premise that rush > expansion > defending > rush. This means that if you defend and nobody shows up because he chose to expand instead, you've already lost a major advantage. This also means that lack of information or choosing one option because of faulty information will lose you the game.

However there is no way of knowing that you're supposed to lose if you just defend at the start if you only play the game. In the single-player campain, most of the maps are based around defending early just because the AI already has fully developed bases. Going online after finishing the single-player mode and then being stomped into the ground (you will be, especially if you start playing now) is not a lot of fun. You just don't get any feedback.

An example for a solution

Save the replays after a game and adapt the AI to be able to run, telling you what it would do, updating only every few seconds. Since it should be able to read a situation and the actions are mostly there already, the only thing that's missing is a way of putting it up on screen. For example "Expand" and then give a green area that should hopefully be safe from enemies. Scout, attack, build a unit, research, all are things that the AI would do given the same starting conditions. The micro-management will not be there and it would not be perfect in every condition but it would probably improve the games for people interested enough to play but not interested enough to meta-game. Starcraft 2, the newest RTS game I've played (still in beta) does this decently well in how many spectator tools it provides. If you lost a game you can check if you just had worse economy, less units than you thought or your opponent just had better upgrades. You still have to know what to look for, that is why an AI-based guide would help you do.

Of course, this would make things seriously difficult for programmers. I said it was a solution, not that it was a very practical one.

No comments:

Post a Comment