Finding it hard to get my game seen, so thought maybe some other developers would appreciate it. Its been in works for a few months and still quite early in development. I just wanted to share a recent revamp of the ocean simulation that was finished yesterday.
The game is supposed to be somewhat similar to Sea of Thieves, just with more of a focus on the career aspect of the game and exploration.
(the boat is just a testing boat and not finished!.)
Eventually I will try to figure out how to reduce the visual effects of the ocean tiling, but to me it is not too big of a deal and hard to see when in first person, which is what most of the game will be.
I have this running on a 48x48 vertice editable mesh with a 30hz update rate. For me, with both the animated normal map, boat buoyancy simulations, tri-color and subsurface scattering simulations all running, i get about ~170 FPS consistently. My testers have reported on mid-end, low-end, and high-end mobile devices and computers good results, with mobile users having steady high 60 fps at max graphics, and computer varying per device but overall high and stable
(sorry for low quality video, 10mb limit is strict..)
The wave speed in my video was accidentally quite a lot slower than the normal wave speed, as I was testing out some stuff.
The ocean is highly customizable, and soon I will be setting it up to change depending on factors like your proximity to land, weather, wind speed, etc.
Greetings scallywag! Dis looks absolutely amazinâ! I be excited whaâ comes out oâ dis! I mighty hope ye get more attraction. It looks absolutely fabulous! I mighty wants tâ know how ye made the ocean too! Did ye use bones or EditableMeshes?
Goodbye scallywag 'n 'ave a good day ân good luck on yer amazinâ game!
Interestinâ⌠I wants tâ know how ye 'ave optimized it âcause the last time I used editable meshes tâ make an ocean, âtwas mighty slow. I suppose yeâre runninâ dis parallel?
to be honest I Tried running it with parallel luau but it was causing a lot of issues for me with little to no improvement i may try to revisit it some time again in the future. Im taking advantage of native code generation because of how much math is being done and it helps tremendously, and using buffering with the gerstner waves which are on top of the FFT waves for a nicer look. another big help is pre-baking all of the images for the normalmap animation and caching them after lowering their resolution. also, that its only simulating one tile which is then cloned instead of simulating all tiles
the most inefficient thing is that updating the editablemesh is really expensive. i hope we get bulk updating one day for it, would help tremendously.