Swell – a free water system for Godot 4.7.2+ (Some 4.8 features)

Hi everyone!

I’ve been working on a water system for Godot 4.7.2+ for a while now, and I think it’s time to show a preview and hear what you think.

Swell aims to cover whatever water your game needs:

  • Open ocean – Gerstner or spectrum (FFT) waves, presets from calm to storm, rogue waves
  • Foam – whitecaps, breaking crests, foam that lingers, foam around objects and on the shore
  • Shores – waves that shrink in shallow water, surf, swash and wet sand
  • Rivers, streams, waterfalls and lakes
  • Weather – wind, rain, puddles, snow and ice
  • Boats – buoyancy, wakes, bow spray, prop wash and simple sailing
  • Under the water – fog, caustics, god rays and the surface seen from below
  • Reflections, refraction and light – sun and moon glitter, light through the crests, sea sparkle at night
  • A cartoon style if you don’t want realism

The demo

To show it all, I built a demo with 42 small chapters, one feature each. Every chapter has a panel with camera views and live settings, so you can see what each slider actually does. It also runs with a gamepad. The video below walks through all of them – it’s long, so skip around as much as you like.

Below is a general video of my demo that shows where I navigate the demo:
[VIDEO]

Se more videos on my BlueSky… Or my YouTube…

Terrain3D and Sky3D

If you use Terrain3D or Sky3D, Swell can talk to them a little: waves shrink over Terrain3D’s shallows and boats know where the land is, and with Sky3D the water follows its sun, moon and clouds (with their shadows on the water). Nothing fancy, but it’s there.

Requirements

  • Godot 4.7.2 or newer (also tested on 4.8-beta2)
  • Forward+ only – Mobile and Compatibility aren’t supported
  • Desktop (Windows, Linux)
  • GDScript only, no C# needed (C# can call it, though)
  • Quality levels (Low to Ultra) for slower and faster cards

Free on GitHub

Both the plugin and the demo will be free on GitHub, so you can dig into every chapter, see how it’s set up and use it in your own projects.

This is a preview. And this addon and demo will be amazing for you to use for free in your projects! :slight_smile:

If you want to know when it’s out, follow me on Bluesky, where I post clips and progress:

Thanks for taking a look! :ocean:

7 Likes

Follow for more :slight_smile:

3 Likes

Here’s another cool and amazing feature with the water lock.

2 Likes

It looks really beautiful, great work !

2 Likes

And the system has freezing and thawing…

3 Likes

And some lighthouse with volumetric fog.

2 Likes
2 Likes

Here’s an early tour of the tech demo.

2 Likes

That’s impressive. The changing seasons and varying water levels — in other words, this could be used to try implementing irrigation, which is exactly what I wanted to see in my project. It’ll be interesting to take a look at the demo project once it becomes available.

1 Like

Got you covered. Lakes freeze, and thaw… and might refreeze if the water is still enough. And the ice wear down. Untested this one but it’s close to be working :slight_smile:

2 Likes

Here’s winter… winter is coming… but spring is near. :grinning_face:

2 Likes

:scream: nice!!!

How computationaly expensive is it to run? This is amazing work.

You can set the quality and upscale to make it smooth on older graphic cards.

But also disable lots of consuming settings to make it even smoother to run.

The “Swell for Godot - Demo navigation demo” above was recorded on my old 1070 Ti with upscaling on.