Critical Intel

Critical Intel
Why Games are Terrible at Water

Robert Rath | 3 Jul 2014 16:00
Critical Intel - RSS 2.0

Water is why you're alive right now. It's one of the major prerequisites for both creating and sustaining life. But while oceans cover 71% over of our planet, water often plays a peripheral role in games, secondary to any actions on land. This is partially because water poses unique challenges both to physics engines, with the result being that the medium as a whole may be ill equipped to translate an underwater experience. However, enormous opportunities exist for developers who can get creative about braving the depths -- and they might help save the planet.

All gameplay systems are stylized to a certain extent. We understand that we're not firing a real gun or driving a real car when we're playing a game, and expect developers to cut corners for the sake of gameplay. But even so, developers take such liberties with water it tends to fray the suspension of disbelief. Realistically, humans are not aquatic creatures. Water blurs our vision and our hands and feet are poor substitutes for fins. We're so ill-equipped for underwater environments that we need a life support system to survive there for more than a few minutes. Apart from easier access, underwater might as well be outer space. Most games flat-out ignore these facts for playability's sake. Characters see perfectly underwater. Their lungs burn air at the same rate swimming as they do at rest. They plunge down like Olympians, and don't seem naturally buoyant like real human bodies. But most of that you can chalk up to playability. It's physics engines - so precise above the surface - that seem way off.

Partially this has to do with the fact that water's harder to program than air. Fluid dynamics are notoriously difficult, even for aspiring engineers and physics students, and the fact that it's a denser medium than air upends most physics engines. On land, you can generally assume that gravity affects objects universally - unless it's a balloon, when you drop something, it's going to travel downward. But water's density means that things with greater density are going to sink while things with lighter density will float. This is especially difficult to program when it comes to humans, since even the amount of air in a person's lungs can change their buoyancy. To counteract buoyancy while snorkeling or skin-diving means fighting your way downward while exhaling. SCUBA divers, on the other hand, descend, ascend, and maintain neutral buoyancy with weight belts and a Buoyancy Control Device that inflates or deflates using compressed air from their tank. Apart from simulators like Infinite SCUBA, games tend to ignore these physics and, as a result, there's a feeling of wrongness that accompanies going underwater.

Things aren't much better on the surface, either. Simulating waves seems beyond most engines, since the processing power you'd need to create them is immense. Unlike the solid objects game engines are good at, water flows and changes in a way that developers can animate but often not actually model. Take waves, for example. Most games don't bother to create waves, but those that do generally settle for a rolling motion. Witness the ship graveyard in Uncharted 3, for instance, where the sea laps by like it's a blanket someone's shaking out. Or Assassin's Creed 4 which had dynamic rolling waves at sea but no surf to speak of. This programming isn't wrong exactly. It's a common misconception that waves are made up of water. In fact, waves are simply energy traveling through water and affecting it as it passes through. Much like a blanket's fabric doesn't travel forward when you shake it, water mostly stays where it is as the wave affects it and moves on, so in that sense these game waves are accurate. But the problem is that most video game waves lack lateral energy - that they move you up and down but not much horizontally - and that they never break.

In brief, waves break onshore when the bottom of the wave slows down due to friction on reef or sand and the top of the wave overtakes it, spilling over the top. A similar thing can happen in the open ocean when a wave becomes large enough that the wave's length can't sustain its height. The problem is that this action changes the wave from the simple crest-and-trough formation most engines can handle, to a more complex form with different parts moving at different speeds. While some games like Grand Theft Auto V have created impressive visual illusions to make you think their waves break - Rockstar flecked the top of their "breaking" waves with flat whitewater texture, but their physics don't change - it'll be quite awhile before physics engines allow players to shoot the curl or barrel ride a truly dynamic wave.

Comments on