Tropical World - client project showcase

This project was built as a commissioned interactive web environment to test a client hypothesis. The project demonstrates scene composition, PBR materials, an optimized asset pipeline, and runtime performance techniques that make visually rich experiences run smoothly in the browser.

Demo & code
Live demo:

What this project highlights
Immersive tropical environment with layered materials, NPC entities, mini-games and environment lighting.

Custom GLSL shaders for natural effects (wind on foliage, surface water ripples, subtle particle systems).

GLTF asset pipeline with runtime compression/preprocessing for faster load times.

Responsive controls and input handling so the scene works on both desktop and mobile

Optimization techniques: GPU instancing, texture compression and frustum/occlusion-aware updates.

That said, the project still has some major issues, loading time being the main one.

Right now it loads all 5 islands first and only then becomes interactive. My current idea is to load the first island with the player already spawned, remove the loading screen immediately, and let the remaining 4 islands load in the background.

Curious what you think about this approach.

6 Likes

Nicely done!

Mouse controls please!
Left/Right = Rotate
Forward/Backward = Forward/Backward
Mouse Button (if available): Jump etc.

1 Like

It reminds me of Coastal World - it has the same effect of disappearing obstacles in front of the camera.

1 Like

awesome, nicely done, luv it

1 Like

Thanks!

The current control scheme is intentional. The project is more about scene exploration than character movement, so features like jumping were deliberately left out.

Appreciate the feedback though :slightly_smiling_face:

Yeah, that’s a fair observation :slightly_smiling_face:

Tropical World was definitely inspired by Coastal World, especially in terms of camera handling and hiding geometry in front of the camera. I really liked how clean and unobtrusive that solution felt there.

1 Like

Thanks, appreciate this!

i love the disappearing effect nice touch, i would not recommend the idea of loading first island then the other 4:

My current idea is to load the first island with the player already spawned, remove the loading screen immediately, and let the remaining 4 islands load in the background.

if you are using webp or jpg for the images texturing you will face a huge frame drop unless

doing the textures as KTX2 and tailing the textures for 512px.
i have been working on a project recently and those where one of the big issues i see your project also have (especially on firefox the project crashed with me after loading)