windbender.io

A WIP webgpu physics sailing game.

Every force and movement in the game is from physics there are no hidden engines or constraints*.

Gameplay:

  • 1km x 1km map.
  • A lot of players (not really found the limit yet, 100 would be cool)
  • Races appear on the map. Finish the race to get points.
  • Boat health.
  • Damage on collision.
  • Repair with picked up items.
  • Death.

How this works:

  1. Global wind simulation influenced by all boats (boats create wind shadow). This is the cool part you can literally take away wind from others and its not faked.
  2. Sail forces are simulated by angle of attack to wind. Lift and Drag are calculated like a real sail.
  3. The boat is using the hulls geometry for bouyance.
  4. The keel is counteracting the sails force like a real sailboat.
  5. The rudder is turned in the water. Hull shape and rudder make the boat turn.
  6. Wind is applied to the hull of the boat (can drift with the wind if other forces are low)
  7. The center of mass is realistic.

How to get points:

  • Once a race is announced you will get a waypoint to the start line.
  • Cross start line after race start.
  • Finish race.
  • Points are scaled by placement and how many players are online.

As you can see this is kinda crazy for a webgame but i wanted to try it out just because i think a global wind sim everyone can influence as a gameplay component could be cool.

This is an early version and im looking for any kind of feedback. This is not meant to be a game for sailers really. I also dont just want to add guns/cannons to force gameplay. Ideally there is some good gameplay loop without adding more.

This is not meant to be realistic. I hope to build something fun.

You dont see the wind simulation in game. You see little arrows on the water indicating the wind at the boat location.

If anyone is interested in helping me out with testing or just has ideas or wants to be kept up to date, feel free to join this discord.

This works best on a browser that supports webgpu.

Right now there is only one server running under my desk (EU) unfortunately the server needs a GPU to run so i cant just spin up a small box in every region.

Here some screenshots/gifs:




*some small stuff is not physical (adding this just to be fully transparent)

  • Rudder does not have force feedback
  • Sail tention does not have force feedback
  • Sail and rudder both have angle limits set in code. Max angle is not controlled by physics.
  • Sail is influenced by wind and is pushed on a hinge around the mast to its max angle. The max angle is the sail tention.
Updated 18 hours ago
Published 3 days ago
StatusReleased
PlatformsHTML5
Authorstuurboord
GenreRacing, Simulation
Made withThree.js
Tags3D, fluidsimulation, iogame, Physics, Sailing, webgame, webgpu, wind
Average sessionA few minutes
LanguagesEnglish
InputsKeyboard
MultiplayerServer-based networked multiplayer
LinksHomepage
ContentNo generative AI was used

Leave a comment

Log in with itch.io to leave a comment.