shape shape

Ships At Sea

header.jpg
Developer

Misc Games

Publisher

Misc Games

Role

Lead Engine/Systems Programmer

Engine

Unreal Engine 5

Platforms

Steam

Main Tasks

WaveWorks

Buoyancy

Performance Optimization

Modular Gameplay

Experience the thrill of navigating a wide range of ships. Immerse yourself with various service, cargo and commercial fishing ships, as you explore the breathtaking open world of Norway´s Lofoten Islands with its stunning scenery. The ocean is within your reach!

WaveWorks

One major task was to implement the nVidia WaveWorks 2.0 Sample into Unreal Engine 5. Currently, there is no Unreal Engine Plugin provided from nVidia so the task was to create the plugin from scratch, from the partially completed RHI agnostic WaveWorks 2.0 sample. For multi-platform support the entire library is now compiled as part of the Unreal Build process, the shaders are compiled using the Unreal Shader Compiler and the entire source code of the sample if kept as close to the original as possible for future upgrades.

Besides the Wind Waves, the local waves for (boat) wave effects were not available just yet and I reverse engineered the missing c code from the library. Additionally, a cutout for boats was developed, a coastline detection based on a generated signed-distance field was implemented and used for shore-line waves.

Buoyancy

At the core of the ship simulation sits to buoyancy simulation for boats. This simulation was re-built from the ground up in a clean and physically based way. This simulation is capable of simulating small fishing boats to large trawling vessels and from small buoys weighing a few kilograms to ships weighing 30'000 tons or more.

Several forces are calculated for this. Buoyancy alone only creates uplift based on the submerged surface area, causing a boat to bounce on the water surface in an unrealistic manner. Additional forces, like Pressure, Drag and Suction, Displacement of Water are required to achieve a believable and stable simulation.

Tags