Here’s a polished version you can paste directly into the Project Story field:

## Inspiration

The ocean is one of the least explored places on Earth, and that sense of the unknown inspired us to build **The Unknown Ocean**. We wanted to create more than a visually impressive 3D website. We wanted to create a world that makes people curious about what might be hiding in the next dive.

Our goal was to combine the peaceful feeling of underwater exploration with discovery, research, and mystery. Every expedition should feel like there is something new waiting to be found.

## What it does

The Unknown Ocean is an immersive 3D underwater exploration experience where players pilot a submarine through a vast ocean and discover marine life, geological formations, artifacts, mysteries, and rare events.

Players can:

- Explore a huge open ocean across different depths and biomes.
- Discover and scan unknown marine species.
- Photograph interesting creatures and behaviours.
- Complete marine research missions.
- Discover artifacts and mysterious locations.
- Use sonar to investigate unusual signals.
- Build their research encyclopedia through discoveries.
- Encounter rare creatures and special ocean events.
- Contribute discoveries to a shared global exploration experience.

The world is designed to encourage players to return and discover something they have not seen before.

## How we built it

We built the experience as an interactive 3D web application using React and Three.js/WebGL.

The ocean is procedurally generated and streamed around the submarine so that players can explore a large world without loading the entire environment at once. Marine life is procedurally generated with different species, behaviours, rarity levels, and depth-based populations.

We also implemented deterministic world generation so that discoveries and geological formations remain consistent when players revisit locations.

A major focus during development was performance. We implemented chunk streaming, caching, progressive loading, frame-budgeted generation, and reusable 3D resources to keep the experience responsive in the browser.

## Challenges we ran into

One of our biggest challenges was performance.

Initially, too many terrain and creature chunks were being generated simultaneously, which caused severe frame drops and even browser "Page Unresponsive" errors.

We had to investigate the rendering and generation pipeline, reduce unnecessary chunk generation, introduce progressive startup, add performance instrumentation, and move expensive world generation into smaller time-budgeted tasks.

Another challenge was making procedural terrain behave like a persistent world. Early versions caused terrain to shift or disappear as the submarine moved. We solved this by giving terrain fixed world-space chunk ownership and sharing deterministic terrain data between rendering and collision.

Balancing a huge open ocean with enough creatures, discoveries, and environmental detail while keeping the browser responsive was another major challenge.

## Accomplishments that we're proud of

We are proud that we turned the project from a simple 3D exploration concept into an interactive underwater world with procedural generation and persistent exploration mechanics.

We built:

- Procedurally generated marine species.
- Creature behaviours and rarity systems.
- Dynamic ocean events.
- Research and discovery mechanics.
- Sonar-based exploration.
- Photography and species documentation.
- Persistent research progression.
- Procedural terrain and geological formations.
- Terrain collision.
- Chunk-based world streaming.
- Deterministic world generation.
- Performance monitoring and optimisation systems.

Most importantly, we focused on making the experience something players can return to rather than a website they visit once and forget.

## What we learned

We learned that creating an immersive 3D experience is not only about visual quality. Performance, world consistency, interaction design, and gameplay loops are equally important.

We also learned the importance of profiling before optimising. Several early performance problems came from assuming which system was responsible for a slowdown. Instrumentation helped us identify the actual expensive operations and optimise them systematically.

Most importantly, we learned how difficult it is to create a large procedural world that feels alive while running entirely in a browser.

## What's next for Unknown Ocean

We want to continue expanding the ocean into a deeper and more dynamic research world.

Future improvements could include more marine species and behaviours, additional mysteries and artifacts, larger environmental events, deeper ocean regions, improved photography and research mechanics, community discoveries, seasonal expeditions, and an even richer global ocean encyclopedia.

Our long-term goal is to make every expedition feel different and leave players wondering:

**"What will I discover on my next dive?"**

Built With

Share this project:

Updates

Submission history