Ability for water to form and create waves and ripples when interacted

Background information:

As a Roblox developer, it is currently impossible for having terrain water to become waves going from big to small or along land terrain, or a ripple when a ball or brick is fallen into the river or ocean by a boat or physics and stuff and it creates realistic water movements.

Information about the feature:

We all know the basic properties of water like WaterColor and WaveSize which when it was introduced was cool and all, but as the years went on most users and especially I got very bored on the simple water physics that we have today and maybe want something more to work with terrains like realistic water such as waves or some sort of water movement when water is being interactive with maybe a sphere or a cube being cloned every time a button is clicked, you get the idea.

Water waves and ripples are cool to look at in the real world like at the beach or maybe a river when you throw a rock and where the rock hits the water there will be a little ripple from that certain location and move out like a miniature wave.

There was a discussion post relating to water ripple but it was just a tutorial on how to script and make it work realistically like a real ripple, and that is one of the examples of what a water ripple could look like inside studio if it were an option

Here are the water properties that I was mentioning:

Water properties:
  • WaterColor

  • WaterReflectance

  • WaterTransparency

  • WaterWaveSize

  • WaterWaveSpeed

Another idea in mind for more realistic water movements had to be huge waves and water pushing back and forth onto solid material as you see in beaches where the water would flow against the sand or rock and come back, and then a bigger wave comes, or a tsunami.

Anyway, it’s pretty much just more physics to the water property like having it act more realistic from a players view onto the water and how they look at it like a lake or ocean on a hot sunny day.

Here are some GIFs of waves and ripples from water:



In conclusion, if Roblox is able to address this addition, it would improve my development experience because I can create and mess around with the terrain water and maybe work with physics inside the game or many games on the platform that could use this for things that they can create like jailbreak.

Also, you would be able to disable/enable this type of water feature as most water terrain properties do, as it is not a permanent check if you check the feature.

So, what are your thoughts on this?


I agree,

Right now, the terrain water isn’t the best it can possibly be. I mean the graphics are good and they got the lighting effects down, but the physics still need an upgrade. In addition to having waves and ripples, I think there should also be stagnant water like a real life pond or a lake. There aren’t waves in them until a disturbance occurs like throwing a rock in it.

I’m sure if and when waves get added, there’ll be a huge wave of surfing games and other beach related games (pun intended). It’ll be a whole new era of Roblox.

Before anyone points out performance issues, you must remember: Roblox has come a long way in terms of pushing boundaries of graphics while keeping their low end devices in mind. They almost always figure out a way to incorporate something into the engine. Plus, the same concepts of smooth terrain can be applied: LOD, etc.

Minecraft’s already got their aquatic update, now it’s time for Roblox to do the same!


I like what you’re thinking about this so far with beach games and stagnant water, but the performance and graphical issues could be a bit more important for now.

Why didn’t I think about that! With a lot of waves and tides that might be added one day, surfing games will become a thing a get a trend like some other games. :eyes:

Agree here, stagnant water seems like a nice introduction to the water physics we have today, and could easily make Shrek swamps or a little showcase of a swampy river/lake.


Waves are already possible to create

This script below creates water and creates a wave on it.

workspace.Terrain:FillBlock(CFrame.new(0, 10, 0), Vector3.new(10, 1, 10) * 10, Enum.Material.Water)

local startZ = -100/2
local positionalHeight = 18
local waveHeight = 2
local waveDepth = 2
local waveSpeed = 100
for i = 1, 100 do 
	workspace.Terrain:FillBlock(CFrame.new(0, positionalHeight + waveHeight, startZ + i), Vector3.new(100, waveHeight, waveDepth), Enum.Material.Water) 
	workspace.Terrain:FillBlock(CFrame.new(0, positionalHeight + waveHeight, startZ + i), Vector3.new(100, waveHeight, waveDepth), Enum.Material.Air) 

Where would I put this script? Also any video demonstrating this?

Heres an image showcasing what it does, it creates a simple wave. You can put it anywhere that a script can run by itself, such as Workspace, or ServerScriptService

1 Like