๐ฃ I'm building FishFest, a cozy multiplayer fishing game for the browser.
๐ Explore one shared ocean
๐๏ธ Build and customize your own island
โ๏ธ Sail through dynamic weather and ocean events
๐ฃ Fish and explore with other players
This is an early gameplay demo, and the current build is already significantly ahead of what you see here.
I'm also developing TJWS1, Three.js Water Sim, a custom water simulation system built specifically for FishFest. The system is already running in the current build and will be featured in the next gameplay demo. ๐
FishFest is currently in development.
Follow and comment for development updates and the upcoming playtest. ๐ฎ
#gamedev #indiedev #ThreeJS #Opus5 #chatgpt #astra6
I told the water to stop behaving like a shader.
It took that personally. ๐
This is ThreeJs Water Simulation 1 (TJWS1), my custom water simulation system for FishFest.
Watch what happens when the boat accelerates.
The water doesnโt just play a wake effect behind it.
Acceleration pushes energy into the surface, creating deformation, fluid motion, and a trail of foam behind the hull.
Now watch the turns.
This is where TJWS1 starts getting interesting.
The boat changes direction, but the water keeps moving according to the force that was already applied.
So the old wake keeps propagating while the boat creates a new one.
The result is overlapping fluid motion instead of a wake that simply follows the boat like a texture.
Acceleration โ deformation โ fluid momentum โ foam โ persistent wake.
That was the goal:
Not โmake the water look alive.โ
Make the water react.
The 1:40 video shows the current state of TJWS1: fluid physics, foam, surface deformation, boat interaction, and persistent wake behavior.
And this is still version 1.
Next problem: seeing how far I can push the ocean before the browser files a complaint. ๐
Built for https://t.co/IeUpvUtzXn ๐ฃ
#ThreeJS #gamedev #WebGL #AI #Claude #ClaudeCode #Anthropic #OpenAI #GPT #opus5 #opus55 #astra6 #sol6 #gptastra #gptsol #claudeopus
@LexnLin Three.js + AI-generated environments are getting absurdly good. The coastline and waves already sell this really well.
Iโve been pushing the water side further with TJWS1, my custom Three.js fluid/wake simulation for boats.
https://t.co/7F3ak3m3nu
I told the water to stop behaving like a shader.
It took that personally. ๐
This is ThreeJs Water Simulation 1 (TJWS1), my custom water simulation system for FishFest.
Watch what happens when the boat accelerates.
The water doesnโt just play a wake effect behind it.
Acceleration pushes energy into the surface, creating deformation, fluid motion, and a trail of foam behind the hull.
Now watch the turns.
This is where TJWS1 starts getting interesting.
The boat changes direction, but the water keeps moving according to the force that was already applied.
So the old wake keeps propagating while the boat creates a new one.
The result is overlapping fluid motion instead of a wake that simply follows the boat like a texture.
Acceleration โ deformation โ fluid momentum โ foam โ persistent wake.
That was the goal:
Not โmake the water look alive.โ
Make the water react.
The 1:40 video shows the current state of TJWS1: fluid physics, foam, surface deformation, boat interaction, and persistent wake behavior.
And this is still version 1.
Next problem: seeing how far I can push the ocean before the browser files a complaint. ๐
Built for https://t.co/IeUpvUtzXn ๐ฃ
#ThreeJS #gamedev #WebGL #AI #Claude #ClaudeCode #Anthropic #OpenAI #GPT #opus5 #opus55 #astra6 #sol6 #gptastra #gptsol #claudeopus
@nowsomemv@threejs The fish under the wake is such a nice touch ๐
Iโve been working on the other half of this problem lately: making the wake itself physically persist and react to acceleration + turns instead of simply following the boat.
TJWS1 demo:
https://t.co/7F3ak3mBd2
I told the water to stop behaving like a shader.
It took that personally. ๐
This is ThreeJs Water Simulation 1 (TJWS1), my custom water simulation system for FishFest.
Watch what happens when the boat accelerates.
The water doesnโt just play a wake effect behind it.
Acceleration pushes energy into the surface, creating deformation, fluid motion, and a trail of foam behind the hull.
Now watch the turns.
This is where TJWS1 starts getting interesting.
The boat changes direction, but the water keeps moving according to the force that was already applied.
So the old wake keeps propagating while the boat creates a new one.
The result is overlapping fluid motion instead of a wake that simply follows the boat like a texture.
Acceleration โ deformation โ fluid momentum โ foam โ persistent wake.
That was the goal:
Not โmake the water look alive.โ
Make the water react.
The 1:40 video shows the current state of TJWS1: fluid physics, foam, surface deformation, boat interaction, and persistent wake behavior.
And this is still version 1.
Next problem: seeing how far I can push the ocean before the browser files a complaint. ๐
Built for https://t.co/IeUpvUtzXn ๐ฃ
#ThreeJS #gamedev #WebGL #AI #Claude #ClaudeCode #Anthropic #OpenAI #GPT #opus5 #opus55 #astra6 #sol6 #gptastra #gptsol #claudeopus
@apekshik@fal A custom water engine in Three.js is exactly the kind of insanity Iโm here for ๐ This looks incredible.
Iโve been building my own too, TJWS1, but focused heavily on simulation: deformation, momentum, foam and persistent wakes from boats.
https://t.co/7F3ak3m3nu
I told the water to stop behaving like a shader.
It took that personally. ๐
This is ThreeJs Water Simulation 1 (TJWS1), my custom water simulation system for FishFest.
Watch what happens when the boat accelerates.
The water doesnโt just play a wake effect behind it.
Acceleration pushes energy into the surface, creating deformation, fluid motion, and a trail of foam behind the hull.
Now watch the turns.
This is where TJWS1 starts getting interesting.
The boat changes direction, but the water keeps moving according to the force that was already applied.
So the old wake keeps propagating while the boat creates a new one.
The result is overlapping fluid motion instead of a wake that simply follows the boat like a texture.
Acceleration โ deformation โ fluid momentum โ foam โ persistent wake.
That was the goal:
Not โmake the water look alive.โ
Make the water react.
The 1:40 video shows the current state of TJWS1: fluid physics, foam, surface deformation, boat interaction, and persistent wake behavior.
And this is still version 1.
Next problem: seeing how far I can push the ocean before the browser files a complaint. ๐
Built for https://t.co/IeUpvUtzXn ๐ฃ
#ThreeJS #gamedev #WebGL #AI #Claude #ClaudeCode #Anthropic #OpenAI #GPT #opus5 #opus55 #astra6 #sol6 #gptastra #gptsol #claudeopus
@chetanankola The boat + water combo makes this one especially cool.
Iโve been obsessing over exactly that interaction lately. TJWS1 makes acceleration, turning and hull movement actually disturb the fluid instead of just spawning a wake texture.
https://t.co/7F3ak3m3nu
I told the water to stop behaving like a shader.
It took that personally. ๐
This is ThreeJs Water Simulation 1 (TJWS1), my custom water simulation system for FishFest.
Watch what happens when the boat accelerates.
The water doesnโt just play a wake effect behind it.
Acceleration pushes energy into the surface, creating deformation, fluid motion, and a trail of foam behind the hull.
Now watch the turns.
This is where TJWS1 starts getting interesting.
The boat changes direction, but the water keeps moving according to the force that was already applied.
So the old wake keeps propagating while the boat creates a new one.
The result is overlapping fluid motion instead of a wake that simply follows the boat like a texture.
Acceleration โ deformation โ fluid momentum โ foam โ persistent wake.
That was the goal:
Not โmake the water look alive.โ
Make the water react.
The 1:40 video shows the current state of TJWS1: fluid physics, foam, surface deformation, boat interaction, and persistent wake behavior.
And this is still version 1.
Next problem: seeing how far I can push the ocean before the browser files a complaint. ๐
Built for https://t.co/IeUpvUtzXn ๐ฃ
#ThreeJS #gamedev #WebGL #AI #Claude #ClaudeCode #Anthropic #OpenAI #GPT #opus5 #opus55 #astra6 #sol6 #gptastra #gptsol #claudeopus
@sino1782013@threejs This is beautiful. Underwater environments in Three.js + WebGPU are getting seriously impressive.
Iโve been attacking the surface side of the same problem with TJWS1: fluid motion, deformation, foam and persistent boat wakes in the browser. ๐
https://t.co/7F3ak3mBd2
I told the water to stop behaving like a shader.
It took that personally. ๐
This is ThreeJs Water Simulation 1 (TJWS1), my custom water simulation system for FishFest.
Watch what happens when the boat accelerates.
The water doesnโt just play a wake effect behind it.
Acceleration pushes energy into the surface, creating deformation, fluid motion, and a trail of foam behind the hull.
Now watch the turns.
This is where TJWS1 starts getting interesting.
The boat changes direction, but the water keeps moving according to the force that was already applied.
So the old wake keeps propagating while the boat creates a new one.
The result is overlapping fluid motion instead of a wake that simply follows the boat like a texture.
Acceleration โ deformation โ fluid momentum โ foam โ persistent wake.
That was the goal:
Not โmake the water look alive.โ
Make the water react.
The 1:40 video shows the current state of TJWS1: fluid physics, foam, surface deformation, boat interaction, and persistent wake behavior.
And this is still version 1.
Next problem: seeing how far I can push the ocean before the browser files a complaint. ๐
Built for https://t.co/IeUpvUtzXn ๐ฃ
#ThreeJS #gamedev #WebGL #AI #Claude #ClaudeCode #Anthropic #OpenAI #GPT #opus5 #opus55 #astra6 #sol6 #gptastra #gptsol #claudeopus
@mdaman010@threejs Water physics + boats in Three.js? Now weโre speaking the same language ๐
Iโve been building TJWS1 specifically around this problem: acceleration creates foam and displacement, and wakes keep propagating even after the boat changes direction.
https://t.co/7F3ak3m3nu
I told the water to stop behaving like a shader.
It took that personally. ๐
This is ThreeJs Water Simulation 1 (TJWS1), my custom water simulation system for FishFest.
Watch what happens when the boat accelerates.
The water doesnโt just play a wake effect behind it.
Acceleration pushes energy into the surface, creating deformation, fluid motion, and a trail of foam behind the hull.
Now watch the turns.
This is where TJWS1 starts getting interesting.
The boat changes direction, but the water keeps moving according to the force that was already applied.
So the old wake keeps propagating while the boat creates a new one.
The result is overlapping fluid motion instead of a wake that simply follows the boat like a texture.
Acceleration โ deformation โ fluid momentum โ foam โ persistent wake.
That was the goal:
Not โmake the water look alive.โ
Make the water react.
The 1:40 video shows the current state of TJWS1: fluid physics, foam, surface deformation, boat interaction, and persistent wake behavior.
And this is still version 1.
Next problem: seeing how far I can push the ocean before the browser files a complaint. ๐
Built for https://t.co/IeUpvUtzXn ๐ฃ
#ThreeJS #gamedev #WebGL #AI #Claude #ClaudeCode #Anthropic #OpenAI #GPT #opus5 #opus55 #astra6 #sol6 #gptastra #gptsol #claudeopus
This is extremely relevant to what Iโve been experimenting with. The interaction between multiple simulated materials is especially cool.
Iโm building TJWS1 for Three.js, focused specifically on water deformation, momentum, foam and boat-fluid interaction.
Would love your take on it:
https://t.co/j2fHKq2Pob
I told the water to stop behaving like a shader.
It took that personally. ๐
This is ThreeJs Water Simulation 1 (TJWS1), my custom water simulation system for FishFest.
Watch what happens when the boat accelerates.
The water doesnโt just play a wake effect behind it.
Acceleration pushes energy into the surface, creating deformation, fluid motion, and a trail of foam behind the hull.
Now watch the turns.
This is where TJWS1 starts getting interesting.
The boat changes direction, but the water keeps moving according to the force that was already applied.
So the old wake keeps propagating while the boat creates a new one.
The result is overlapping fluid motion instead of a wake that simply follows the boat like a texture.
Acceleration โ deformation โ fluid momentum โ foam โ persistent wake.
That was the goal:
Not โmake the water look alive.โ
Make the water react.
The 1:40 video shows the current state of TJWS1: fluid physics, foam, surface deformation, boat interaction, and persistent wake behavior.
And this is still version 1.
Next problem: seeing how far I can push the ocean before the browser files a complaint. ๐
Built for https://t.co/IeUpvUtzXn ๐ฃ
#ThreeJS #gamedev #WebGL #AI #Claude #ClaudeCode #Anthropic #OpenAI #GPT #opus5 #opus55 #astra6 #sol6 #gptastra #gptsol #claudeopus
@chetanankola The reflections here are gorgeous. Water is becoming the unofficial final boss of Three.js ๐
Iโve been working on the physics side of it with TJWS1, where boats actually deform the surface and leave persistent fluid motion + foam behind them.
https://t.co/7F3ak3mBd2
I told the water to stop behaving like a shader.
It took that personally. ๐
This is ThreeJs Water Simulation 1 (TJWS1), my custom water simulation system for FishFest.
Watch what happens when the boat accelerates.
The water doesnโt just play a wake effect behind it.
Acceleration pushes energy into the surface, creating deformation, fluid motion, and a trail of foam behind the hull.
Now watch the turns.
This is where TJWS1 starts getting interesting.
The boat changes direction, but the water keeps moving according to the force that was already applied.
So the old wake keeps propagating while the boat creates a new one.
The result is overlapping fluid motion instead of a wake that simply follows the boat like a texture.
Acceleration โ deformation โ fluid momentum โ foam โ persistent wake.
That was the goal:
Not โmake the water look alive.โ
Make the water react.
The 1:40 video shows the current state of TJWS1: fluid physics, foam, surface deformation, boat interaction, and persistent wake behavior.
And this is still version 1.
Next problem: seeing how far I can push the ocean before the browser files a complaint. ๐
Built for https://t.co/IeUpvUtzXn ๐ฃ
#ThreeJS #gamedev #WebGL #AI #Claude #ClaudeCode #Anthropic #OpenAI #GPT #opus5 #opus55 #astra6 #sol6 #gptastra #gptsol #claudeopus
@mlperego@threejs Apparently everyone decided to fight water physics at the same time ๐
Iโve been building my own Three.js water simulation too. TJWS1 does persistent wakes, foam, deformation and fluid motion from boat forces.
Now you definitely need the duck ๐ฆ
https://t.co/7F3ak3mBd2
I told the water to stop behaving like a shader.
It took that personally. ๐
This is ThreeJs Water Simulation 1 (TJWS1), my custom water simulation system for FishFest.
Watch what happens when the boat accelerates.
The water doesnโt just play a wake effect behind it.
Acceleration pushes energy into the surface, creating deformation, fluid motion, and a trail of foam behind the hull.
Now watch the turns.
This is where TJWS1 starts getting interesting.
The boat changes direction, but the water keeps moving according to the force that was already applied.
So the old wake keeps propagating while the boat creates a new one.
The result is overlapping fluid motion instead of a wake that simply follows the boat like a texture.
Acceleration โ deformation โ fluid momentum โ foam โ persistent wake.
That was the goal:
Not โmake the water look alive.โ
Make the water react.
The 1:40 video shows the current state of TJWS1: fluid physics, foam, surface deformation, boat interaction, and persistent wake behavior.
And this is still version 1.
Next problem: seeing how far I can push the ocean before the browser files a complaint. ๐
Built for https://t.co/IeUpvUtzXn ๐ฃ
#ThreeJS #gamedev #WebGL #AI #Claude #ClaudeCode #Anthropic #OpenAI #GPT #opus5 #opus55 #astra6 #sol6 #gptastra #gptsol #claudeopus
@badboyfoxy@threejs This looks beautiful. Three.js water has gotten ridiculously good lately.
Iโve been going down the same rabbit hole, but focused on making the water physically react to boats instead of just looking good. Built my own system called TJWS1 ๐
Demo here:
https://t.co/7F3ak3m3nu
I told the water to stop behaving like a shader.
It took that personally. ๐
This is ThreeJs Water Simulation 1 (TJWS1), my custom water simulation system for FishFest.
Watch what happens when the boat accelerates.
The water doesnโt just play a wake effect behind it.
Acceleration pushes energy into the surface, creating deformation, fluid motion, and a trail of foam behind the hull.
Now watch the turns.
This is where TJWS1 starts getting interesting.
The boat changes direction, but the water keeps moving according to the force that was already applied.
So the old wake keeps propagating while the boat creates a new one.
The result is overlapping fluid motion instead of a wake that simply follows the boat like a texture.
Acceleration โ deformation โ fluid momentum โ foam โ persistent wake.
That was the goal:
Not โmake the water look alive.โ
Make the water react.
The 1:40 video shows the current state of TJWS1: fluid physics, foam, surface deformation, boat interaction, and persistent wake behavior.
And this is still version 1.
Next problem: seeing how far I can push the ocean before the browser files a complaint. ๐
Built for https://t.co/IeUpvUtzXn ๐ฃ
#ThreeJS #gamedev #WebGL #AI #Claude #ClaudeCode #Anthropic #OpenAI #GPT #opus5 #opus55 #astra6 #sol6 #gptastra #gptsol #claudeopus
@MarkMFFF That makes sense. I like the real-device mindset, especially around SDK callbacks, saves, and interrupted flows. Iโm definitely borrowing some of that for FishFest before playtest.
I built a multiplayer fishing game in 8 days by running Claude as a 6-person dev studio. ๐ฃ
https://t.co/IeUpvUtzXn: a cozy multiplayer fishing game for the browser. One shared ocean ๐, your own island ๐๏ธ, storms โ๏ธ, tsunamis. Sea of Thieves meets Animal Crossing.
I'm the only human here. Everything else is Claude Opus 5.5 in Claude Code, set up as an orchestrator + 5 workers: Client, Design, Art, Server, Water. Each works on its own git branch and only merges to main when tests are green. โ
The water is also getting its own custom simulation system: TJWS1, Three.js Water Sim ๐
It's a system I've been implementing over the last 3 weeks specifically for the game.
Important: the video below is from a 3-day-old build and does not use TJWS1 yet. The current build already has TJWS1 running, and the next demo will show the system in action and where it's heading. ๐
Honest part: I'm on Anthropic's $200/month plan, and my weekly limit is gone in about 4 days. ๐ธ
Six AI coworkers eat tokens fast. ๐
The game's already way ahead of this footage. More soon.
Not public yet. Coming soon. Follow and comment "playtest" to be the first to test it out. ๐ฎ
#gamedev #indiedev #ClaudeCode #ThreeJS #opus55 #opus5 #claude #chatgpt #astra6 #gptsol
Very similar idea. The Art worker handles visual implementation, materials, asset integration, scene polish and art-related tasks, while the other workers stay focused on their domains.
I really like your split though: one model generating/rigging GLBs and Claude owning the game code. That separation makes a lot of sense for Three.js.
Would definitely be interested in comparing workflows.
@GamePixDev Absolutely ๐ Playtest is coming.
I'm still pushing a few major systems further before opening it up, but I'll be posting the first public testing round here.
And once it's ready, I'll definitely be looking forward to bringing FishFest to GamePix too.
@audiee_ai Thanks Chloe! Glad you like it. Would be happy to connect ๐
I'm going to keep posting the development here as FishFest gets closer to the first playtest.
@corhoonx Exactly ๐ Cozy fishing until the ocean decides you've had enough relaxation.
The tsunami started as a "wouldn't it be funny if..." feature and somehow became part of the game.
I built a multiplayer fishing game in 8 days by running Claude as a 6-person dev studio. ๐ฃ
https://t.co/IeUpvUtzXn: a cozy multiplayer fishing game for the browser. One shared ocean ๐, your own island ๐๏ธ, storms โ๏ธ, tsunamis. Sea of Thieves meets Animal Crossing.
I'm the only human here. Everything else is Claude Opus 5.5 in Claude Code, set up as an orchestrator + 5 workers: Client, Design, Art, Server, Water. Each works on its own git branch and only merges to main when tests are green. โ
The water is also getting its own custom simulation system: TJWS1, Three.js Water Sim ๐
It's a system I've been implementing over the last 3 weeks specifically for the game.
Important: the video below is from a 3-day-old build and does not use TJWS1 yet. The current build already has TJWS1 running, and the next demo will show the system in action and where it's heading. ๐
Honest part: I'm on Anthropic's $200/month plan, and my weekly limit is gone in about 4 days. ๐ธ
Six AI coworkers eat tokens fast. ๐
The game's already way ahead of this footage. More soon.
Not public yet. Coming soon. Follow and comment "playtest" to be the first to test it out. ๐ฎ
#gamedev #indiedev #ClaudeCode #ThreeJS #opus55 #opus5 #claude #chatgpt #astra6 #gptsol