Skip to main content
3D GAME DEV & GRAPHICS ENGINEERING

SHIP GAME: ARCHITECTING A REAL-TIME WATER WORLD

Mastering the waves: From custom Perlin noise shaders to a fully interactive 3D maritime simulation.

04
Engineering notes
5
Core technologies
1
Documented screens
ship-game-3d.vercel.app
Watch on LinkedIn
01 — Overview

The problem worth engineering

Building a full 3D game in Three.js required diving headfirst into the complexities of shaders, vector math, and rendering pipelines. The 'Ship Game' is a technical demonstration of custom GLSL implementation, where waves aren't just textures but dynamic mathematical functions.

The project features a custom water shader combining Perlin noise (Gustavson) with wave interference, dynamic environment mapping for realistic sky reflections, and a custom physics engine for boat buoyancy and steering. Beyond the visuals, I engineered a hybrid camera system to provide smooth, cinematic perspectives that respond to movement inertia, creating a truly immersive maritime experience.

  • Custom GLSL Water Shader: Engineered a vertex and fragment shader using Perlin noise and wave interference patterns. Used multiple octaves of noise for rippling 'micro-waves' and interpolated color depth based on elevation for a believable underwater fade.
  • Dynamic Environment Mapping: Implemented a cube texture skybox (px, nx, py, ny, pz, nz) that reflects realistically on the water surface and ship hull, eliminating seams and ensuring perfect environmental immersion.
  • Realistic Boat Buoyancy & Physics: Developed wave-synced vertical motion for GLTF boat models. Created a custom physics math layer (simulated drag and velocity dampening) to mimic water resistance and steering inertia.
02 — Deep-Dive Modules

How it was built, system by system

01 / 04
Custom GLSL Water Shader
Engineering HighlightsModule 01

Custom GLSL Water Shader

Engineered a vertex and fragment shader using Perlin noise and wave interference patterns. Used multiple octaves of noise for rippling 'micro-waves' and interpolated color depth based on elevation for a believable underwater fade.

Engineering Highlights4

Related Projects

Explore more of my work

smoke
logo

"If Your Dreams do not scare you, they are too small !"

Got a project? Let’s vibe together and
make it ninjaa-precise—get in touch!

Call Me Now !

mail

noordragon2004@gmail.com

address

from egypt,mansoura

phone

+20 1145838187