I could start off with a litany of the flaws in various hockey games, but I'd rather start off on a more positive note. Let's have a look at the one game that pretty much got it right. I'm talking, of course, about Bethesda's Wayne Gretzky Hockey (WGH) series that was released for Amiga computers ten years ago. Why did this game win awards for its simulation quality, and why do hockey enthusiasts who've played it call it the greatest sim ever made?
First and foremost, it was realistic. I know, I know, there are people reading this and thinking "What good is realism if it's not FUN?" In general this is an argument that has some merit, but when it comes to sports simulations I don't buy it. The rules of hockey and other sports are not arbitrary. They developed over time precisely because they did make the real game more balanced and fun. I think the best way to make a sports game fun is to make it realistic, and it will naturally be well balanced and fun, just like the real sport is.
Having said that, it should be recognized that there are two kinds of sports gamers. There's the "sim crowd" and the "arcade crowd," and it's foolish for developers to ignore either one. Especially when the biggest difference between them is simply the speed at which they want the game to run. So rather than setting that speed arbitrarily, hockey games should have an option for the user to select the speed relative to the size of the rink. At the lowest level, of course, the skaters would move at realistic skating speed. Another speed-related issue that usually isn't done right is stopping - a person on skates can stop instantly. Acceleration is also very rapid, it takes three or fours strides for a good skater to get to full speed.
The Physics Problem
Player physics are just as important. As well as moving at accurate skating speeds, players should have weight and mass. It's harder for a small player to knock over a big one. It's also very hard, in the NHL, to get a clean, solid hit. If a player sees you coming and shifts just a bit at the last moment you'll get a partial hit. It might slow him down but not stop him. Only when you catch a player "with his head down" do you get a really clean hit. WGH modeled this perfectly. I still remember the satisfaction of noticing that your opponent was skating in a straight line (i.e., because he was looking at other things on the ice, not at his player) and turning into him for a body-crunching hit.
The last part of the physics model is the interaction of players and the puck. An obvious point is missed in some games - players can only get the puck if it is physically near the blade of their stick. They can't magically reach through another players body to touch it (real hockey coaches always talk of "protecting the puck" - keeping your body between the puck and the player challenging you). The puck is harder to grab if it it's behind you, bouncing, or caught in a player's feet along the boards. Two players working together have a better chance of winning the puck than one player alone - this is an important area no one since WGH has gotten right. In WGH it was unwise to forecheck hard by yourself, as the player on the other team would often get by you, leaving you trapped behind the play. But if another teammate was already on him you could join the forechecking and have a good chance of winning the puck.
Teammate AI refers to how and where the computer-controlled players on a human-controlled team move. The best example of this is seen in Powerplay 98. The players are in their correct positions, and more importantly they are always moving. Hockey, like basketball, is a game of flow and motion. Players almost never stop moving except when right in front of the net. A big problem in NHL 99 (and Actua's Ice Hockey 2) is that when you pass the puck to a player the computer isn't smart enough to lead the pass in front of them, it passes it directly at them. So the player had to stop dead to receive the pass, and right there the natural flow of the game is eliminated. Another problem in the EA Sports series is the tendency to implement "follow me" logic instead of true situational awareness. NHL players do not follow the player with the puck. They read where that player is going and make an intelligent decision about where they should be. For example, if I'm playing center and catch a pass while skating towards my own goal, my wingers don't stop and follow me - they know I'm going to either turn around or pass to them, so they continue to break out of the zone. Similarly, if I'm in the opposing zone behind the net, facing towards my own end of the rink, my teammates should keep going towards the net.
Computer team offensive AI seems to be another troublesome spot for developers. NHL 99 fails utterly here; the developers just resorted to cheats like making goalies lousy on human-controlled teams so that the computer players can score on weak shots. In the initial release of Powerplay 98 the computer simply couldn't score at all (it got better after the patch). The best recent example of good offensive AI is Actua's Ice Hockey 2. Players make good passes and set up one-timer scoring plays. They can also score on breakaways.
Computer defensive AI is even more of a problem. Not a single modern hockey game has done a good job of it. This is strange, because playing good defense in hockey is not that complicated. I think part of the problem is that developers have inadvertently made this are much harder for themselves by not implementing realistic puck/player physics models. A lot of defense is about preventing the puck from getting to the net, and to do that players need to be able to block shots. If the game engine has a good physics model then defensive AI is just a few simple rules:
· One defenceman always stays in front of the net. One of them might go into the corner or behind the net to fight for the puck, but one of them always "stays home."
· Forwards should "back check" and help out in the defensive zone - though their willingness to do this is a player-specific attribute.
· In the defensive zone all players should either be guarding a player on the other team, or playing their position (e.g., wingers cover the points).
· One neat trick used very effectively in WGH was shadowing. Real NHL teams use this as well, especially in the playoffs. The whole team will pay particular attention to the best player on the other team, sometimes even assigning a player to follow him whether he has the puck or not.
Of course, once you have good AI, you can then work on improving realism by including some variance in how players act, including making mistakes (loosely based on their skill ratings in various areas). For example, even good goalies sometimes flub an easy shot. A defenceman might momentarily forget to cover the front of the net, leaving a man in the slot open. Passes are sometimes missed, shots sometimes miss the net, and so on.