logo80lv
Articlesclick_arrow
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_loginLogIn

Learn How Still Wakes the Deep Used Unreal Engine 5 to Create Water Mechanics

The Chinese Room developed a pump system to add urgency.

Still Wakes the Deep is the latest game from The Chinese Room, a team behind Dear Esther, Amnesia: A Machine for Pigs, and the upcoming Vampire: The Masquerade – Bloodlines 2. It tells the story of an oil rig worker stuck with monsters in the endless sea. 

Water is one of the main characters in the game, and the studio shared how it was set up with Unreal Engine 5 in a recent blog post.

The Chinese Room chose the engine because of its "fidelity and control over the process of creation." Moreover, its water technology provided a good simulation of the North Sea, while its shader tools gave the team the "building blocks" for its internal water simulation.

"Finally, we were able to leverage the technology of Control Rig for the transformed crew of the Beira D oil rig, which helped us create believable otherworldly creatures to scare and intrigue the player," said The Chinese Room's programmer Joe Wheater.

The Chinese Room

The task was to create water that felt "ever-present, pushed players to their extremes, and felt realistic and punishing but never impossible." There are 2 types of water: one that takes over the rig and the surrounding North Sea.

"Both have a role to play to bolster the atmosphere and tension within the game and to tap into some of the players’ most primal fears, including: claustrophobia (fear of small spaces), submechanophobia (fear of human-made objects submerged in water), thanatophobia (fear of death), autophobia (the fear of isolation), thalassophobia (fear of large bodies of water), nyctophobia (fear of the dark), and acrophobia (fear of heights)."

The studio developed a 2D shallow water simulation for the surface using Unreal's Niagara, which calculates equations that describe its movements and "creates changes in the surface height which generates waves and ripples to give it a wild and menacing look."

There are water volume systems the company set up:

"We tagged wall and floor meshes so they can be baked into a heightmap texture. This heightmap texture represents the space where water can flow, enabling these meshes as boundaries within the simulation so water can bounce and reflect upon impact."

The Chinese Room

The Chinese Room

The Chinese Room wanted levels to focus on using water as an obstacle, "adding an extra degree of difficulty." To do this, it tweaked post-processing parameters to make the player feel underwater.

The team added extra dimensions by using fog volumes, particles, caustic light patterns, depth of field, blur, and bloom effects.

To make rising water feel urgent, the studio created a pump system that added velocities and currents in order to give the water a sense of speed and thrill and to support the movement of the player.

The Chinese Room

"The pump system is formed of capsule-shaped objects that inject velocities into the water simulation and create waves and ripples that move across the water surface to show direction. We then attached several pumps to the arms, hands, and feet of the protagonist character which caused the pumps to intersect and created a realistic, real-time flow to the player’s in-water actions."

The Chinese Room

The Chinese Room

The Chinese Room

One issue the developers faced was that the water simulation wasn’t causing physical objects to react to the surface movement, so they used Niagara's GPU readback, "which enabled us to query the simulation and know the flow direction, strength, and surface height at specific locations." With this, they could apply buoyancy forces and use water flow forces "to make the object move in line with the surface simulation, therefore giving the impression that objects were moving in direct correlation to the player."

The Chinese Room utilized a variety of Unreal Engine tools, and here are some that especially helped them create water in Still Wakes the Deep:

  • "Single Layer Water Shading Model: This was great for getting realistic-looking water in Unreal Engine, and we learned a great deal from Epic’s existing resources about its implementation and effectiveness.
 
  • Content Examples Sample Project: This contains a ton of useful examples for all parts of the engine and was vital in us learning Niagara and Fluid simulations. 
 
  • Material Editor: We used the material editor to layer on texture-based effects on top of the simulation data. This was extremely practical for us to add effects to the visuals of the water and helped us with our storytelling as the game progressed.
 
  • Niagara: We used Niagara for the simulation itself and also for many of the particle systems—from burst pipes to debris in water. We also found the available Niagara simulation stages learning helpful. They were vital in helping us understand how Fluid simulations are put together for Unreal.
 
  • Water System: Our water system reads back simulation data from Niagara using a Niagara data interface. This allows other systems in the game to react dynamically to the current state of the simulation.
 
  • Fog Volumes: We used a volumetric material to render fog in our water volumes, meaning the material was able to obtain information from the water simulation by sampling a 2D array render target."

Perhaps the team's expertise and these parts of UE5 will help you develop your own fantastic experience.

Meanwhile, check out what mechanics didn't make it to the game in the blog. Also, join our 80 Level Talent platform and our new Discord server, follow us on InstagramTwitterLinkedInTelegramTikTok, and Threads, where we share breakdowns, the latest news, awesome artworks, and more. 

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more