A retrospective of shadows in 3D games

Real-time ray-tracing is the hot thing in video games, but the reality is that what you see in those worlds has generally been a collection of ingenious physical and visual shortcuts, approximations and illusions crafted to make you think it's all being rendered in light. At 30fps.net, Pekka Väänänen takes us on a retrospective of shadows, and the many methods by which they are cast in 3D gaming history.

One intuitive option is to flatten a shadow caster on a plane by projecting it away from the light. Then render it the second time but now in black. They are usually kept opaque to hide how object parts are drawn on top of another. Naturally the shadow will be correct only on a flat floor.

Some early flight simulators draw a top-down flat shadow when on a runway. During my research I expected to see examples where the shadow is also seen when in flight but couldn't find any

One that sticks for me is the 2001 game titled Severance or Blade of Darkness (above!) and I'm delighted to see it cited in Väänänen's article. An early soulslike, it troubled itself to cast fantastic shadows, always dancing and looming in the flickering light of braziers, torches and campfires. I don't know if I saw shadows that good for a decade after. I would guess there are a lot of games from that era that did specific things well, that became technically unfeasible as the geometry and other player expectations became more demanding. Another that comes to mind is one about a flooded ship or factory, where large bodies of water actually behave in the extremely upsetting ways that large volumes of water behave. The whole 3D engine was obviously about the water, and you could do that in 200A.

Contemporary ray-tracing is still a complexity of tradeoffs. We are not modelling photons quite yet!

In practice modern games have such complex scenes the above simulated solution has to be approximated. For example in the ray-traced shadows of Alan Wake 2 (2023) each pixel receives lighting only from a single randomly chosen light. The result is eventually fed to a denoiser that intelligently smooths out the noisy picture. See the whole presentation for details. Therefore even ray-traced shadows won't be "perfect" and will have their own look, depending on the tradeoffs made.