Hacker News new | ask | show | jobs
by jesperwe 631 days ago
20 years ago I could spend months tweaking ocean surface in renders and not get even close to that. Amazing how good this is!!

Although the demo clip feels a bit exaggerated (saying this having over 50k Nm open water ocean sailing in my logbook). Waves that sharp and high would need the wind blowing a lot stronger. But I am sure that is just a parameter adjustment away!

Since it is in Godot I assume the rendering is real time? Does it need a monster GPU?

7 comments

This is not a criticism, just an observation: it looks like what I imagine an ocean of hot corn syrup would look like (after dyeing it blue). The viscosity seems right; possibly the surface tension is not what ocean water would have (a colloid of salty H2O and biomaterial, which is common in real-world experience but quite ugly for computational fluid dynamics).

Also note that the ocean spray here is a post-hoc effect, but for a real ocean the spray dulls the sharpness of the waves in a way that will be (vaguely) apparent visually.

Of course there's almost no "physics" in this elegant, simple, and highly effective model, so I want to emphasize that suggesting directions to poke around and try things should not be construed as an armchair criticism.

This is literally a criticism.
A) It would be a criticism if I thought these effects could be plausibly rendered with a similar FFT algorithm, but that seems unlikely to me. I think these results are "highly effective" given the toolset, which is not attempting to emulate the actual physics.

B) This project is not an all-out attempt to make lifelike water, it is described as an experiment. I am making an observation about the result of the experiment, not criticizing the project for failing to meet standards it wasn't holding itself to.

Neat that FFT yields great waves.

But ultimately, does that model model vortexes or other fluid dynamics?

Can this model a fluid vortex between 2-liter bottles with a 3d-printable plastic connector?

Curl, nonlinearity, Bernoulli, Navier-Stokes, and Gross-Pitaevskii are known tools for CFD computational fluid dynamics with Compressible and Incompressible fluids.

"Ocean waves grow way beyond known limits" (2024-09) https://news.ycombinator.com/item?id=41631177#41631975

"Gigantic Wave in Pacific Ocean Was the Most Extreme 'Rogue Wave' on Record" (2024-09) https://news.ycombinator.com/item?id=41548417#41550654

Keep in mind that this project is aimed at video game developers, not oceanographers :) The point is to get something cheap and plausible, not to solve Navier-Stokes with finite element methods.
criticism can be positive, neutral or negative.
This not a criticism, but the comment you are replying to is a critique, not a criticism.
What sad times do we live in, that you need to defensively remark you're not making a criticism as if criticism was bad?

I found a video that records (in a few places) how the waves actually look: https://www.youtube.com/watch?v=8XBO-hen7_s

Maybe you can adjust the parameters of the tool to get waves like this, or perhaps I still should care even if the solution isn't realistic, and getting such an effect is hard by just using an arbitrary formula. In particular getting the detail right, but I imagine the recorded video is heavily subdivided and takes most of the resources that you just can't spend on a real video game.

It's still impressive, but I can't help but wonder why the formal maths if you don't arrive at anything realistic - perhaps because I'm a layman and I don't understand the difficulties of achieving this.

> 20 years ago I could spend months tweaking ocean surface in renders and not get even close to that.

There are tons of videos now about that making the whole thing (somewhat) more approachable, but there are still a lot of pitfalls!

One of my favourites on the subject: https://m.youtube.com/watch?v=yPfagLeUa7k

This one is nice too: https://m.youtube.com/watch?v=kGEqaX4Y4bQ

> I could spend months tweaking ocean

I have a game project. But I always get nerd sniped by cool game stuff, and want to implement them myself. My progress so far could probably have been achieved in a 48h gamejam if I just used/bought existing assets. Instead I have also spent weekends playing with water shaders and getting them to look how I want.

But my game is a puzzle game. I don't need water, except that I now have a cool splash screen..

You might be taking "splash screen" a bit too literal.
Back when I graduated, doing particle engines, with marching cubes and stuff like that, was a graduation thesis project.

Nowadays it is a check box on a game engine, one of many.

People don't imagine how good they have it with modern engines.

Not to take any value out of this work, this is a great achievement and kudos to the author, only making the point how good we have nowadays.

Back when I graduated I was still holding my breath for the patent expiration on marching cubes, GPUs were still being made for PCI and even ISA slots, you could find some game engines but you would have a better time writing one specialized for the type of game or graphics you were targeting.

Things really have improved a lot.

I guess we might have a similar age, first computer Timex 2068. :)
sounds like it, my first computer was an Atari 800 XL that shared the family TV as its monitor (and fortunately there was an RF switch to toggle between it and the antenna so we worked out a kind of timesharing system)
Sounds familiar. :)
Agree, based on the clips, it looks a bit random.

I think it is looks to be very good, and probably the best I’ve seen having given it a cursory search recently to see what was possible.

In terms of what I’d like to see, open ocean waves generally have more rhythm, I’d be very interested to see a simulation of 15 knots of wind blowing over 1km for a few hours and see if that matches what I observe, which would be relatively organised wave trains (sets) that build and disperse.

There's 2 demo clips, the second one shows quite a number of parameters you can adjust.
I think the point is that these parameters you adjust are being rendered near real-time, whereas back in their days you’ll have to enter these values, and add custom tweaking because the hardware just wasn’t powerful enough to do the things we can do now at many times the speed. Not to mention the vast improvement in mileage for your time.
yeah, the "in real time" is what kills me. the old joke of blue bar races, rendering, buffering, and any of the other things us gray beards had to put up with is just unimaginable to the whippersnappers of today.
20 years ago I could spend months tweaking ocean surface in renders and not get even close to that.

I'm not sure what you mean here, because this is made directly from research that was done 20 years ago and it looks the same, it's just being done in real time.