
Ever tried walking through waist-deep water in Red Dead Redemption 2 or watched the wind blissfully glide through the grass in Ghost of Tsushima and thought, “Damn, that feels real”?
Yeah, it does feel real. That’s the whole point of it, but mathematically speaking, it’s a beautiful lie.
Real-world fluids, water, wind, smoke, honey, are very chaotic in nature. They are governed by some of the most complex physics in the universe (shoutout to the Navier-Stokes equations for trying to mathematically model it).
If a game engine even attempts to calculate the real physics of a single splash, our devices would melt into a puddle of expensive plastic.
So, how do game developers make us believe we’re swimming in oceans or flying through storms without turning our consoles and PCs into heaters? They simply cheat. Brilliantly. And that’s what we’re going to explore in this Geekswipe edition.
Why can’t we just simulate real fluid physics?
Let’s talk about the real world for a second. If we pour a glass of water, millions of individual molecules are bumping into each other, reacting to gravity, surface tension, and air resistance.
In the world of physics simulation, we have two main ways to look at this
Fluid as grid (Eulerian approach)
We simply divide the world into a 3D grid of tiny boxes (voxels or mesh). Instead of tracking the particle, the water molecules, you just track what’s happening inside each of these boxes. Like the velocity of the fluid and other properties. For continuous flow (like a stream of river) it works smoothly.
But for a game engine, it’s still expensive as it has to calculate empty boxes too.
Fluid as particles (Lagrangian approach)
Here, instead of a grid, we track individual fluid particles as they move through space and resolve all the properties along with it. It works great for splashes but keeping track of thousands and thousands of particles in real-time is still a complicated task for a CPU.
VFX in movies typically use these methods, but they have render farms that take days to compute a single frame. And a game? It needs to render 60 frames … every single second. So any real physics is off the table.
So, what are we actually looking at in a game?
If it’s not real physics, what is it? It’s a combination of clever math tricks, shaders, and optical illusions.
The ocean surface — Scrolling textures and sine waves
When we look at a massive ocean in a game like Sea of Thieves (which has arguably the best water in gaming), we aren’t looking at a volume of water. We are looking at a flat plane (a mesh) that is being distorted by math.
The oldest trick in the book is scrolling a normal map (an image that fakes lighting bumps) over a flat surface. But for real waves, developers use algorithms like Gerstner Waves. Instead of simple up-and-down sine waves (which would look too smooth and artificial), Gerstner waves push the peaks of the waves together and flatten the troughs, creating that sharp, choppy ocean look.
Combine a bunch of these waves moving in different directions, we have a stormy sea that costs very little processing power.
Windy trees — Vertex displacement
Wind is invisible, so we only see its effect on things. If we tried to calculate the air pressure pushing against every leaf on a tree in a game like The Witcher 3, the PC would beg us for mercy.
Instead, developers use a technique in the shader (the code that tells the graphics card how to draw a surface) called vertex displacement.
Every 3D model is made of points called vertices. The shader takes the vertices of the grass or the leaves and moves them back and forth based on a noise map (like Perlin noise) panning across the world. The ‘wind’ isn’t pushing the grass but the grass itself is just wiggling on its own according to a mathematical pattern, creating the illusion of a gust of wind sweeping across a field.
Splashes and smoke — Particle systems
When we jump into the water or throw a smoke grenade, the game suddenly has to show chaotic, messy volume. This is where particle systems come in.
The engine spawns flat 2D images (sprites) of water drops or smoke puffs. These sprites always face the camera and follow simple physics rules like gravity should pull them down, or buoyancy should push them up. They fade out after a few seconds. You could see this in a game like Battlefield 3.
So the splashes are completely fake. If you pause the game and move the camera around a smoke cloud, you’ll see it’s just a bunch of flat pictures overlapping. But in motion, our brain just buys it.
When does the illusion break?
The biggest problem with faking fluids is interaction. When your in-game character, a complex 3D object, jumps into a mathematically generated wave, how does the water know you are there?
Often, it doesn’t. Have you ever seen a character standing in water, and the surface just clips straight through their waist without a ripple? (Battlefield games in general) That’s the illusion failing.
To fix this, games have to add more localised hacks. They might spawn a temporary ripple effect around the character’s waist, or use simplified physics for small, specific areas (like a puddle splashing when we step in it), while the rest of the ocean remains a simple mathematical wave.
The future of fluid simulation in gaming
We are getting closer to real-time, physically accurate fluids, largely thanks to the raw power of modern GPUs.
Take a look at Nvidia’s Flex technology. It uses a unified particle system where fluids, cloth, and rigid bodies all interact using the same physics rules, calculated on the graphics card.
Games are starting to use simplified versions of grid-based fluid dynamics for things like interactive smoke or shallow water ripples. But for massive oceans and global wind systems, the ‘beautiful’ lies of sine waves and vertex displacement aren’t going anywhere anytime soon. They are just too efficient, and honestly, they look spectacular.
At the end of the day, game development is the art of optimization. Why simulate a million water molecules when a clever math equation can fool the human eye for a fraction of the cost—for entertainment and fun? It’s not real physics, but it’s brilliant engineering.
karthi karthi!!! whats your big deal here!
Not everyone are smart like you, vinnie buddy. I didn’t know about all these stuff while playing. I learned about it and I’m just sharing what I learned so others could pick this up and learn deeper. What’s your deal here?