Cool sea mesh, optimized and everything

You can see it on the last screenshot of the main post, I already have such plugin GUI, I created it for myself to speed up things but turned out good.

There are 100 other ways of distributing a file, torrent, telegram, discord, etc. Especially considering how small the file is, around 1 Mb, but at least there won’t be someone selling the exact same thing for a smaller price on the creator store, I didn’t know that, thank you.

That’s a good idea, but if that version with advanced features is extremely expensive, let’s say 90 dollars or something, I don’t think anyone will be tempted to buy it, the hard part of seas is optimization, if the basic system is already optimized coding the rest is a matter of patience for anyone.

The best approach I think would be searching for people planning to create games that need a more controllable sea, this way I think that the price becomes much more appealing, it’s a big part of a naval game and probably skips like 4 months of development or so, however, I don’t know where to find such people.

Should I just upload it to the creator store with a price that most will consider absurd? Piracy will be there but If I get like 2 sales a month with a price of around 100 dollars, I’m already happy with the time I spent on this, especially considering how much of my currency a dollar is worth.

I just don’t want to end up without anything after all the research I did and the time I spent.

This looks amazing! you should definitely release this or make a full tutorial on it. Roblox has needed something like this for a long time!

Thank you!

That would be the longest tutorial on the entire forum, don’t know if anyone would read through it :sweat_smile:

As for releasing it, I’m really confused about pricing and all that stuff.

Roblox had this for a long time, but everybody who finishes this wants to keep it for themselves because it’s a huge amount of work, I finished it in ~2 months because I was using several hours of my days, that’s also why I’m reluctant about making it free.

This looks sick and well optimized, I’d like to know how you managed to calculate the height of the waves

As for the feedback:

The clocks are synced with an error of ~0.1 seconds, but that doesn’t visually affect the waves.

You could try using this if you want a more accurate syncing approach: Player | Documentación del Centro de creación de Roblox
(I can explain further if needed but it’s basically a way to compensate delays between the server and client)

As for how to use it, since I don’t know how you exacly handle syncing, I do it like this:
(return os.clock from server by invoking call method) + os.clock() + player:GetNetworkPing() / 2

A few optimization tips:

  • Precaching math variables
  • Disable any unnecesarry properties from the plane part (Set EnableFluidForces to false, Set CollisionFidelity to Box, Set RenderFidelity to Peformance, set CastShadow to False)

At last:

  1. How much do you think this plugin is worth, and how much would you pay for it?

I’d say a price between $20-35 is fair, I’ve seen plenty of gerstern wave systems go for $5-10, however, since yours is actually optimized, I consider my price range to be fair.

  1. Do you like the project? Does it look good? What features could I add?

Indeed, if I were you I’d add a zone system so waves (bones inside certain range) have their settings changed, for example:

A spawn / Island where the waves are calm at certain range but once you get out of that area, the waves become rough (default waves)

That’s all the feedback from my part, i’m really interested in how you handled wave creation and height lookup

have a nice day and keep up the good work :muscle:

1 Like

I don’t know how to explain you properly, but 13:20 of this video explains it very well.

Edit: It’s not the optimal way to do it with low-resolution meshes, but as I managed to get a reasonable resolution without lag it works with great accuracy.

I choose this method over others because it’s the most performant, others involve looping through a bunch of bones, imagine this in every floater of the boat, and for a bunch of boats, it’s not the best idea.

Yea, compensating for ping probably will give me a more accurate result, but an error of 0.1 seconds is extremely precise, especially for something visual such as waves.

However, players with high ping might experience some really big difference in their mesh I’ll try that later today.

I remember reading a Lua article about precaching math variables I’ll also try this later today. CastShadow is already false, and RenderFidelity on performance isn’t working, in my first attempts of exporting Blender planes it was, but with the planes I’m using currently it says the mesh should pass through moderation first, and a new asset ID will have to be created, but I don’t know how to send it for approval. Also, I didn’t know about EnableFluidForces, I’ll disable it, thank you.

A price like that seems fair, but what gets me stuck is: how many people on Roblox are willing to buy this system? I have no data regarding this but I think that very few.

So I don’t know if I should sell for this price range ($20-35, the risk is getting very few sales) or aim for teams with a high budget, this optimization is a big part of the development of naval games, if someone has the budget it’s probably worth for them, even if it’s like $60 or more because it skips months of development (1-4 depending on how many programmers and their skills).

I’ll also have to wait for the creator store to support my country anyway, so I’m trying to think through this while I wait.

Thanks to everybody who’s helping me in this topic.

2 Likes

This is a fine creation.

But, unfortunately not the first, people who want something similar should go to:

1 Like

Roblox has a great API that allows you to get accurate server time, which also accounts for ping:
Workspace:GetServerTimeNow()

I’m aware of it but back then it was innacurate for me, perhaps it was fixed now

This is OP, looks like UnrealEngine 5, kudos on this! :clap: :clap: :clap:

1 Like

Wow I didn’t know this was available, sadly on April 29, I could have speeded up my learning a lot if it released earlier :frowning:

However, the main creation I’m showcasing isn’t the Gerster Wave code, but the optimization, I can add how many planes I want without making it unplayable, and from what I’ve seen on the resource you linked it’s not that optimized.

Damn, I was using his method to get server time :man_facepalming: I didn’t know there was a built-in one, I’ll definitely switch to it, thank you!

Thank you! I think you’re exaggerating though :sweat_smile:

Sorry, but what would you know about this? All you’ve ever done is follow a simple tutorial on how to make Gerstner waves, and then “optimize” it, aka all you do is only move the bones closer to the camera. These “optimizations” are a barely anything, all you’ve done is add a view distance, that is obnoxiously low. Also the funniest thing of this all is that you’re doing this on the server side, look I know I’m not one to pity Roblox, but at least pity their servers. They’re under enough stress as is, they don’t need to be computing the water.

And not to mention that your “water” is just Gerstner waves, look I know Gerstner waves are useful since they are performance easy, but if you’re going to compare Gerstner Waves and an actual Ocean Spectra, then that’s when you’ve crossed the line.

Also looking at other comments about you asking how much you should charge this, well here’s my answer: who would pay more than 5$ for this, it’s literally just following a tutorial, anyone with half a brain can do it. Look no offense here, but this is not something that should even be thought of monetization.

2 Likes

Dude calm down, it’s from what I’ve seen, I didn’t download it or anything.

I’m handling all the calculations on the client, do you think that 27 ms of update time is with everything on the server? I didn’t add anything more than Gerstner waves because the mesh resolution is already high enough, adding FFT and increasing the resolution would fuck the mobile players, I coded this with the Roblox player base in mind. Im also frustum culling the planes which increased performance significantly.

Well I was initially thinking of distributing it for free, I only thought about monetization because of the time I spent on it, but even now my idea is to leave a free version on GitHub.

I don’t know why you’re acting so aggressively though, it wasn’t my intention to sound rude with that comment, I’m sorry if I offended you in any way.

I wasn’t trying to make your creation sound worse or inferior, I was just saying that what I mainly did on my project was optimization, as you said, the Gerstner wave formula and all that stuff is already on the internet. Again, I’m sorry.

To answer your questions,

  1. As a programmer myself, I personally would not purchase it, simply because I would just end up making it myself. The only time I would consider a purchase of any product is if I do not have the time to create it myself and it fits the wants and needs I would have. There are also similar assets I have seen, BUT, the ones I have seen are not simplified for the average user like yours is, with a GUI. With that being said, I think those who do not have the ability to create such a thing, this would be a great asset to them.

  2. I do like the project you have worked on and I think it looks really good. From what I have seen you post here, the ocean is well optimized and performs great. I think the look of it is also really nice. There are a few things I could think of you possibly adding. One of the things you could try implementing is the ability to stay afloat the top of the mesh as the playable character(this may already work since you have the boat moving though). Another thing you could possibly implement is zones where the water is still or rougher. Finally you could try and implement drifting in the ocean, things could be pushed along slowly, maybe towards an island?

I also have no clue why the guy above got upset with your response. Regardless if you or anyone ever followed a tutorial or not on anything, you clearly understand the ins and outs of what you created and that’s the most important part.

tl;dr
You did a great job creating and understanding the project you worked/are working on.

2 Likes

Cool project but unless I’m mistaken , this doesn’t seem all that optimized if this is taking at minimum ~5ms with 300 studs render distance

The water we made for instance runs at 1.5ms with a render distance of 2000 studs

1 Like

Thank you!

I’ll probably implement it soon, thanks for the suggestion.

A zone system is also something necessary, I’ll include in the to-do list.

This one I never heard before actually, good idea, the sea actually carries stuff around, I forgot about this XD

I think there are 2 main factors:

  1. My PC is an extreme potato, especially the CPU, the generation is so old I had a hard time finding it on google.
  2. My project is probably far away from being as good and optimized as yours :sweat_smile:

I won’t try to throw everything on the hardware, there is definitely more stuff to optimize on my code, I’m just taking a break because I’m tired of seeing the sea and that same code already :upside_down_face:

I’ll try testing this on other PCs I have here (not mine) later, and see how it performs

edit: There are also other important factors like the mesh resolution and how many Gerstner waves, etc.

1 Like

proof:

I forgot to link it, F for my CPU :pensive:

Do you plan on releasing this as a paid plugin anytime soon?

I’m planning to open-source it soon, I just don’t know when. This file has been sitting here on my computer for a while now, idk

1 Like

Also if I were to release it as paid you would have to wait for the creator store to get to other countries, mine isn’t supported currently