Same Old Collision Systems
Posted by Alex Jordan on
This will be a tad esoteric, so it's prefaced by something non-esoteric: screaming. At my TV. Because I died for upteenth time in Bad Company 2 multiplayer thanks to outdated notions of how collision systems are supposed to work.
Every physical object in a game is part of that game's collision system, which determines how solid physical objects behave when they come up against other solid physical objects. Free-standing structures (like houses or shacks) will sit there until destroyed. Grenades will bounce along the ground and eventually explode. And players can run through open terrain and doorways, up steps, and down hills, so long as they don't try to run through walls.
The players' collision rules are usually pretty simple: (a) the player is represented by a roughly 6-foot tall, solid box, (b) this box can only go up steps or mantle over obstacles of a certain height, (c) the box can only go up hills of a certain steepness, and (d) the box can't move through anything solid.
That worked fine in older games, but in newer games, players have to contend with game developers' multi-million dollar art budgets and the fact that heavily-detailed levels are now crammed with all sorts of physical props that the player can bump into, like door frames and debris and small plants and what have you. As games add more and more solid environmental objects, the player's simplistic collision modeling can't keep up. If a shack gets destroyed in BC2, it's not unheard of for the player to get caught on a "solid" piece of debris the size of a small 2x4 just because it's solid and the collision system doesn't recognize it as being passable. In Modern Warfare 2, detailed surfaces (like the inside of a trench) are often misread by the "is this surface too steep?" check and cause the player to ice skate around on the lip of the trench before oddly shooting into midair, visible for all their enemies to see.
Such a simplistic, outdated collision system can't keep up with the environments the player has to navigate. It's also kind of an affront to playing a game where you're (almost always) a virtual human being, as the game thusly ignores the fact that real human beings generally have some sort of sense to not bump into or get stuck on things. Nothing is more infuriating than a player character who fails to respond in a logical way.
I really hope that more developers will look into using Euphoria, which creates animations on the fly so that player characters can respond to their environments in a dynamic fashion. I'm sure it's a bitch to mate with your existing codebase, and it'll drive your art department crazy, but they're the ones represented by your multi-million dollar investment, yes? It's a small price to pay so that I can stop screaming at my TV.