3D and immersive interaction on the web is the new standard, and a game is the best place to explore both. Oasea invites the player to turn a desert island into a lush Oasis.
first island win state
The game started out as an experiment with Three.js and a simple plane geometry for the terrain.
I quickly saw there was potential to expand on this concept.
Game-play is simple; click and drag to raise the terrain, add the shift key to lower it. Guide water to the goal or "aquifer"
Islands start out as barren, dry, and rocky
Each level has it's own sea creature visitors. Island #2 has a squadron of manta ray that swim around the island as the player saves the island.
I sourced low-poly models with animations so that the game would run fast and be dynamic without sacrificing visual fidelity or frame rate. Models would be very small relative to the size of the island so low poly wasn't going to break the illusion.
The implementation of the manta rays is especially performant as it uses a single instance of the model. A scaling effect is added to each instance and then they all travel on a single path with island avoidance at the center. Similar techniques were used for other creatures.
The island's shape, size, and rain frequency add new challenges and require new strategies
Players navigate to past levels they've saved
testing water physics
I introduced many different species of tropical plants to the win state celebration.
I worked through lightning effects and even added night time levels.
Not everything was smooth sailing. I had to work through bugs and perfect the 3D environment.
Play-testing
After watching a number of people try the game I saw the same stumbling block over and over. People skip the "how to play" tutorial. I somewhat expected this, but the current implementation, an instruction modal, can be improved. This is doubly important because after skipping the instructions players find it difficult to figure out the controls.
The game is beta testing currently (12/18/25) but this process has shown me that with a vision for structure and a clear concise scope.
This project relies on a reusable set of game mechanics and graphics. During level transition the original plane is only removed so that it can go out of the camera's view and the same plane is brought into view with updated topography.
This project relies on a reusable set of game mechanics and graphics. During level transition the original plane is only removed so that it can go out of the camera's view and the same plane is brought into view with updated topography.
I know a lot more about the game construction and functionality; play it and we can talk about it. I'm back to development.
next project...