for the record sea of thieves doesn't just use a bunch of stacked gertsner waves, it uses a tessendorf simulation, which is capable among other things of generating a full spectrum of waves (in the hundreds) There's a talk called "the technical art of sea of thieves" which mentions tessendorf simulation, and also goes over the extra steps they took to make it stylized, and a video called "Ocean waves simulation with fast fourier transform" by Jump Trajectory, which talks about a Unity implementation
@@syaoranli7869 The unity implementation I mentionned is a pretty good place to start, and it has a bunch of link to various papers on the subject in its description, including the original one by jerry tessendorf
@@CharlieToof part of the reason players sometimes go towards the top of the water, and then get shot down to the bottom. Or why you can't grab water from the bow of a scoon, even if it's touching the wave. It still registers as a single plane, it just looks different with the player, and environment.
@@caseym6272 As a player, they cant deal with shooting in the sea and with stability, a lot of wrong hitreg and really strange position bugs (not just sometimes.. EVERYTIMES), this tecnics it is not well optimized and rare is not able to make it work for an action adventure game.
If you're talking about buoyancy, it's simpler than you would think. The CPU side has a collection of points in worldspace and it just queries the GPU for the ocean height and flow direction at all these points. Then the CPU can decide how to act on this. (for example by pushing the object upwards with a certain amount of force if point is below water).
sea of thieves water does even more than what you've talked about here. As far as I am aware, it is the most technically involved water in a game even to this day. There are a lot of videos on sea of thieves break downs for their tech art and it's astounding all the things they were able to pull off with unreal engine 4.8.
It's not the most technically involved. It uses an iFFT algorithm with a Philips ocean spectrum model, but there are better ones out there now like JONSWAP with more real world analysis. Other games have used this, Assassins Creed many years ago for example. Sea of Thieves is better looking due to all the added visual effects and the advantage of modern lighting/rendering features that A.C did not have but the waves themselves both use the same algorithm. The algorithm (for ocean rendering) has been around since 1995. And many games use it for oceans because it turns a O(n^2) using gerstner to a O(nlogn) using a custom spectra which is a huge performance gain. Subnautica also uses it and you can dotpeek their source code and see the iFFT which they made CPU bound which i would not recommend as it works super well on a GPU. The 1995 Tessendorf paper explains it all - its like the bible of ocean rendering. The nature of the algorithm is also deterministic making it seed-able so it can sync on a network very easily using a delta time.
@Futso Been playing for years, I have never seen a glitch, and my game has never crashed, the map is massive, with really good graphics. The game is heavily optimized and is not buggy nor unstable.
Rare actually killed the water effects in their game. I still wonder to this day how it doesn't clip through the boat. Like seriously....I have never seen such amazing water mechanics in a game that doesn't clip through something as simple as a dock, yet alone a moving player driven vehicle. It will without a doubt stand the test of time
Sick video, I never really appreciated the waves in this game until now for some reason. Also, just some unsolicited criticism: I found the chip tune sound effects to be a little too loud (and maybe shrill), but I might be in the minority there.
I would love to see some in-depth videos that dont have to be so fancy edited and short but are very informative. Because this topic for example only scratches the surface!
@@ultracapitalistutopia3550 catlike coding's tutorial only covers gertsner waves and how to stack a few of them, it's not a full on tessendorf sim like in Sea of Thieves
@@papermartin879 There are so many to unpack in the seawave effect. Catlike at least gives you an in-depth explanation of the implementation of Gerstner, unlike this video.
I'm french so i don't understand every "complicated" english word in the video, but i understand the important things, that's really good content and explication
I've been working with materials in UE for a while now and water in general was one of the hardest parts when talking about Environment Art. It's hard to make an optimized, good looking and modular water shader. You first have to make the opacity interactions between the shore, middle part and deep water, then work to make a good water foam (stylized or not), then there are the waves that may change depending on how you want to implement water in your game. The type of water also matter. If you are creating an ocean, a river or a lake, for example, you may want to change how the normal map behave, how the waves behave and all. On top of that there is also the connections between these types of water. If your river is going to end up in an ocean, it's tough to make it look smooth. Add shader complexity on this and you have a really tough shader to take care. And I'm not even talking about buoyancy and other things that a programmer would do. Water Shader was a challenge for me 6 months ago. My stylized water is still not perfect but I added some automatic interactions on that (like adding flowing foam when the water plane is bent to the ground like a waterfall). The problem is that the shader is só damn big that if I work on other shaders and need to come back to it again, I would take almost an entire day just to understand what's is happening there, even though I commented absolutely everything and divided the shader in material functions.
Repent and follow Jesus my friend! Repenting doesn't mean confessing your sins to others, but to stop doing them altogether. Belief in Messiah alone is not enough to get you into heaven - Matthew 7:21-23, John 3:3, John 3:36 (ESV is the best translation for John 3:36). Contemplate how the Roman empire fulfilled the role of the beast from the sea in Revelation 13. Revelation 17 confirms that it is in fact Rome. From this we can conclude that A) Jesus is the Son of God and can predict the future or make it happen, B) The world leaders/nations/governments etc have been conspiring together for the last 3000+ years to accomplish the religion of the Israelites C) History as we know it is fake. You don't really need to speculate though because you can start a relationship with God and have proof. Call on the name of Jesus and pray for Him to intervene in your life. - Revelation 3:20 Revelation has been unfolding since Jesus died. The Popes have claimed to be equal to God and set themselves in Jesus' place (antichrist(s)). Vatican City (Which is its own nation BTW) have risen up to fulfill the role of the false prophet Regarding the man of lawlessness or antichrist, 2 Thessalonians 2:4 says “Who opposes and exalts himself above all that is called God, or that is worshipped; so that he as God sits in the temple of God, showing himself that he is God.” The restrainer that the Apostle Paul was referring to in 2 Thessalonians was the Western Roman Emperor, who held back the Popes from taking power. Once the last Western Roman Emperor was removed from power in 476 AD, the Pope was given civil and ecclesiastic authority over Rome; healing the deadly head wound of the beast in Revelation 13, as they took the Emperors title of Pontifex Maximus, leader of the church and state. “We may according to the fullness of our power, dispose of the law and dispense above the law. Those whom the Pope of Rome doth separate, it is not a man that separates them but God. For the Pope holdeth place on earth, not simply of a man but of the true God.” (Source: “Decretals of Gregory IX,” Book 1, chapter 3.) Pope Pius V blasphemed, “The Pope and God are the same, so he has all power in Heaven and earth.” (Source: Pope Pius V, quoted in Barclay, Cities Petrus Bertanous Chapter XXVII: 218.) Pope Leo XIII declared, “We hold upon this earth the place of God Almighty.” (Source: Pope Leo XIII Encyclical Letter, June 20, 1894) The antichrist sea beast of Revelation points to the office of the papacy, the Popes of Rome, who controlled the Roman beast for 1,260 years, from 538-1798 AD. Daniel 7:25 says “And he shall speak great words against the most High, and shall wear out the saints of the most High, and think to change times and laws: and they shall be given into his hand until a time and times and the dividing of time.” The Popes of Rome spoke against Elohim and proclaimed to be God. They reigned for 1,260 years, from 538-1798 AD. during which they caused tens of millions of saints to be killed. The Pope’s title is Vicar of Christ, which in Latin is ‘Vicarius Filii Dei’, and equates numerically to the number 666
Honestly I think the best feature of the waves is how the sun shines through the tall ones from one side, would love to see how that works as it looks so effective
the other big element here is that the ship is also responding to the waves, which has to happen completely independently from the shader. i’d be curious how it’s setup. they may use a simplified version of the same equation, running on the cpu, that drives physics interactions. And you would likely want that cpu function to manage some of what’s happening in the shader to keep it all in sync, and to avoid needing a very complex shader
Was kind of hoping you'd talk about implementing some of the coloring and foam details they have. The subsurface scattering (or what I assume to be -- the lighter, greener parts of the water) looks so good, but every time I've tried to implement it in UE4 it doesn't even come close to looking as good. I've also been trying to figure out how to get that shimmer effect on water for awhile.
Hey, your videos are good, but the sound effects are really annoying after a while. Especially because they are relatively loud in contrast to your voice. I just watch the video at 1 o'clock at night and scare me every time^^
That may be done through programming. Something along the lines of "This ship changes height and position based off vertexes of the waves" Its probably not a simulation as it is a blueprint or code based off the interactions of the ship and waves
As physics is calculated on the CPU then the exact calculations the GPU performs to displace vertices must be copied to CPU instructions. Basically the game knows how to displace the sea both in shader language for visuals and C++ for physics. Every ship or other buoyant object then implements buoyancy points that get sampled by the server with the CPU function to get the water height at those points only. With that, you can calculate buoyancy and let the physics simulation run. Clients predict this outcome since the formula is deterministic, once they know the server's time, then their "waves state" will match perfectly without sending any more data. It still sounds easy but in reality it's quite the technical achievement to have that sea in a multiplayer game. It's way more complicated than your usual FPS game, most of them don't even run any physics through the network.
If I'm not mistaken, the buoyancy simulation works hand-in-hand with the waves system in Unreal Engine. It just takes some tweaking to get a floating object to look like it's actually floating. :)
This is not basic gerstner waves, these are generated with FFT. Called FFT Waves. It is better than typical gerstner waves because it sample from an ocean spectrum and generate alot of gerstner waves
While I think Sea of Thieves has the prettiest looking waves in a video game, currently, another title that has beautiful dynamic water is Valheim. I was blown away by the water in Valheim the first time I sailed out with the Karve, and sailing through storms with the longship is probably one of the coolest seafaring moments I've had in any game to date. Entire islands will become submerged during storms, and sometimes the tide will be really low, letting you see some terrain along the coast that's normally obscured. It makes for a really cool, and moody display, along with the dynamic lightning effects the game boasts. And I think it's even more impressive than Sea of Thieves' water, because the world is entirely randomly generated. Lagoons further inland can still be effected by oceans they're connected to, But they're usually much calmer So, I wonder how the tech functions in regards to connected bodies of water?
The waves in Sea of Thieves all travel from NW towards the SE. So even with all the fine detail, the overall shape isn't fancy but rather a simple wave that goes across the map. Just shoot up out of a cannon and you'll see what I mean.
premake a flat circular mesh that's a few kilometers (or maybe even more! depends on draw distance) across and is very dense in the middle and very sparse as you get closer to the edge with a gradual falloff, have this mesh's horizontal position always be centered on the camera, but have every other aspect be controlled by your wave function, and have said wave function operate in world space rather than in object space. any textures you apply should also use world space rather than UVs other possibilities: rather than circular, have it be a wedge which only barely extends beyond your camera's FoV, and have it rotate itself to always match the Yaw of the camera. this version may break down if the camera's altitude is too high and pointed down, the amount of mesh which exists "behind" the camera must be sufficient to cover this possibility
This was more about how and why Sea of thieves water looks so good not really how it works like ships reacting to the waves, how it syncs with other players etc.
also what amazes me about sea of theives is how the water doesnt phase through the ship when you are in the lower decks, never understood how the did it
This is often achieved by depth masking. Essentially the hull of the boat/ship model is used as a mask and the camera sees through that hull and ignore specific draws within the hull.
I haven't seen ANY one talk about stone pavements and roof shader in Genshin Impact yet. Can you please talk about it? It look so good and convincing. They made it just right no one noticed or felt off about it.
Getting the height of a Gerstner wave at a precise location is not mathematically possible because whatever height you get from sampling that wave is the height at a *shifted* location in X and Y, and not the location we asked for! You can approximate the result using an iterative approach: first iteration, sample the height at the asked location. Second iteration, sample the height at the asked location MINUS the X & Y location offset you got from the previous iteration and rinse & repeat. Each time you'll get a smaller and smaller X & Y location offset and you'll get closer and closer to a height that is exactly the height at the asked location.
Awesome video. If I may say, I think you should either boost the volume 3 to 5 dB for your voice, or turn down 3 to 5 dB the bright sharp retro sound effects that you put in. I love the extra details and design you put in, but the balance in the mix is unpleasant. The retro samples being audible behind you would be a good touch and still complement your material. Your effort to make these videos is very apparent so I just wanted to make this suggestion, especially when you have a quality speaking voice and mic. edit: OH Wow the outro is so loud! Turn your voice up 9 dB or so and you're set. Keep the sound effects behind you, and please don't jump scare our ear drums!
it's funny because Cryengine 2 from 2005 have exactly this kind of shaders, and the ocean shaders working exactly the same as sea of thieves ( waves affected by wind etc ) but ..more than 15 years earlier
There's a brief GDC talk on the subject if you're interested th-cam.com/video/KxnFr5ugAHs/w-d-xo.html They're standard meshes that get rendered to a texture and then that texture gets warped with noise to make the clouds look "fluffy". Then some postprocessing gets applied like blurring the ones that are closer and adding proper lighting. Basically shader magic, as usual.
Probably where the majority of early SoT development went which explains the really poor amount of content when it first released. Gotta love the 9 island castaway chest voyage which could take 3 hours if you’re solo slopping
The best and most organic AI is usually made of very simple but very flexible AI's mashed together, because real life is not predictable, it's a bunch of small things being chaotic towards each other Rain World is another piece of evidence for this
Thank you a lot!!! I was supposing so much how they did this! So dynamic collision is not generated at all, right? They just predicting height of the wave by calculating distance to it and correct models to that height, right?
can you explain why we get sucked into rocks while sailing close to them? My presumption was that the particles have no where to go when the waves are near the rocks, so they go down as that's that only space for them to go there for dragging stuff on the water toward the rocks, kind of like pulling a table cloth down off the edge of the table and everything on the table gets dragged with it, but I'm probably wrong.
There's no particles in this version of the water. The pulling towards the rocks is likely a light pull done separately towards the rock when entering its perimeter. Just some basic force field.
I am interested in how all of the players sync waves. When fighting another player, both players see the same wave. That seems like way to much data for a server to constantly be sending to the players (a rapidly changing height map!)
The algorithm used to generate the waves is deterministic which means it can be generated with a seed and be the same every time. All the game has to do is give every player the same seed and boom same waves.
Nice video! But Rare did not use Gertsner waves. Instead they used a dif formula called Tessendorf's formula which produces more complex wave crests and shapes. The principles are the same as Gertsner but the formula is different.
this is interesting, but how does a shader affect the physics of the game? the waves affect the motion of the boats, so describing it as a simple shader doesn't quite work
I have never personally played sea of thieves but one thing I do understand a little bit about water in video games in particular physics based sort of "build your vehicle from scratch" games is the underwater physics the one I will talk about in this comment is airtight spaces where under the waters surface a space that shouldn't have water does sea of thieves doesn't have this issue and in fact is one of the only games I know has a working airtight space on a 3d plane the reason I mention "3d" is because in games like barotrauma and we need to go deeper have a working airtight space system mostly because of their 2d atmosphere that make it easier we need to go deeper is a different case because if I'm not mistaken the submarine is just on a background you can only see through camera's on the outside making it possible to render the water as a background as the physics is never applied to the characters unless you are at a cave in which the physics are not needed so much barotrauma is in a different category because *you can* go into the water while the sub is moving you can swim in flooded rooms, and it even has a floating number that determine if the water pressure can kill you even have ballasts which have water in them depending on your depth, but the key factor is you can exit your sub and it works kind of like an airlock in space games you close a door and open the other to the outside if others inside the sub are using the sonar or guns, they can see you swimming I admit I don't have a super good understanding of programming, but I do understand that is hard, but it only gets harder in a 3d space because you can't just determine it using different layers of backgrounds and applying physics for some of those important details sea of thieves did somehow and if you or somebody who comments knows the secret tell me I'm interested.
they are flat if you go below rare quality. i have everything on common except water textures are legendary lol 4k is where its at the water looks so good
This game has such good mechanics, unfortunately it's one of those cases where the content is lacking. I know lots of fans will probably argue what do you mean! There's so much to do, but not really. Honestly it's a big grind. But I love just going in a storm and sailing around. So cool
Ok but how do they make it interact with the boats and stuff? And how do they make it so the water doesn't clip through the bottom levels of the boats?
Resistance is futile: patreon.com/stylizedstation
wait... does this mean ur bad at literature
i bet Saitama in the thumbnail was one of the reasons that this got so many views 🤣
Why you have the square space logo
for the record sea of thieves doesn't just use a bunch of stacked gertsner waves, it uses a tessendorf simulation, which is capable among other things of generating a full spectrum of waves (in the hundreds)
There's a talk called "the technical art of sea of thieves" which mentions tessendorf simulation, and also goes over the extra steps they took to make it stylized, and a video called "Ocean waves simulation with fast fourier transform" by Jump Trajectory, which talks about a Unity implementation
Thats really great information thank you!
Why bother properly researching the sole focus of your video when you can just assume and present some general solutions.
This.
Where can I learn more about understanding the math behind a tessendorf simulation?
@@syaoranli7869 The unity implementation I mentionned is a pretty good place to start, and it has a bunch of link to various papers on the subject in its description, including the original one by jerry tessendorf
man your videos are good but those outros kill the ears
Wdym?
@@alessiokepeshchuk664 The sound is much louder than the rest of the video
I know it. Watching it late at night when I couldn't sleep and boy that outro jolted me up real fast. Along with my husband.
Very jarring
Yup tone down your outro man
It’s not that loud chill out
You skipped over the actually challenging part of this system: making the waves have physics(cpu) that match their displaced vertices(gpu).
they dont match, and it create a lot of problems on the game, problems that they said they're unable to fix.
@@CharlieToof part of the reason players sometimes go towards the top of the water, and then get shot down to the bottom. Or why you can't grab water from the bow of a scoon, even if it's touching the wave. It still registers as a single plane, it just looks different with the player, and environment.
@@caseym6272 As a player, they cant deal with shooting in the sea and with stability, a lot of wrong hitreg and really strange position bugs (not just sometimes.. EVERYTIMES), this tecnics it is not well optimized and rare is not able to make it work for an action adventure game.
mesh deformation.
If you're talking about buoyancy, it's simpler than you would think. The CPU side has a collection of points in worldspace and it just queries the GPU for the ocean height and flow direction at all these points. Then the CPU can decide how to act on this. (for example by pushing the object upwards with a certain amount of force if point is below water).
sea of thieves water does even more than what you've talked about here. As far as I am aware, it is the most technically involved water in a game even to this day. There are a lot of videos on sea of thieves break downs for their tech art and it's astounding all the things they were able to pull off with unreal engine 4.8.
It's not the most technically involved. It uses an iFFT algorithm with a Philips ocean spectrum model, but there are better ones out there now like JONSWAP with more real world analysis. Other games have used this, Assassins Creed many years ago for example. Sea of Thieves is better looking due to all the added visual effects and the advantage of modern lighting/rendering features that A.C did not have but the waves themselves both use the same algorithm. The algorithm (for ocean rendering) has been around since 1995. And many games use it for oceans because it turns a O(n^2) using gerstner to a O(nlogn) using a custom spectra which is a huge performance gain. Subnautica also uses it and you can dotpeek their source code and see the iFFT which they made CPU bound which i would not recommend as it works super well on a GPU. The 1995 Tessendorf paper explains it all - its like the bible of ocean rendering.
The nature of the algorithm is also deterministic making it seed-able so it can sync on a network very easily using a delta time.
@Futso Unstable can run rare/epic graphics with an incredibly smooth experience. The game is heavily optmised.
@Futso Been playing for years, I have never seen a glitch, and my game has never crashed, the map is massive, with really good graphics. The game is heavily optimized and is not buggy nor unstable.
@Florida Man we acting like any other game never had a glitch happen
@Futso it's not a buggy mess bruh
I absolutely love the water in sea of thieves, Sometimes I login just to chill on the boat while studying. The colors and the movement is stunning.
Rare actually killed the water effects in their game. I still wonder to this day how it doesn't clip through the boat. Like seriously....I have never seen such amazing water mechanics in a game that doesn't clip through something as simple as a dock, yet alone a moving player driven vehicle. It will without a doubt stand the test of time
That's not even hard to do lol they just mask out the water with an image with a shape on it, the shape of the boat's edge loop at the water line.
Sick video, I never really appreciated the waves in this game until now for some reason.
Also, just some unsolicited criticism: I found the chip tune sound effects to be a little too loud (and maybe shrill), but I might be in the minority there.
You're not in the minority
I agree, please relax the sound effects a little bit! But very good video
Agreed about the sound effects and outro music, both are way too loud and the sound effects could be changed altogether tbh. They are shrill
Strange, they sound normal in my K240R. Is that because of the equipment?
@@lycoriserom7213 i had no problems at all with the tunes in my normal headset. Didnt even think about them tbh.
I would love to see some in-depth videos that dont have to be so fancy edited and short but are very informative. Because this topic for example only scratches the surface!
Nice pun lol
yes, it doesn't even mention tessendorf simulations, which is what Sea of Thieves *actually* uses
Search catlike waves
@@ultracapitalistutopia3550 catlike coding's tutorial only covers gertsner waves and how to stack a few of them, it's not a full on tessendorf sim like in Sea of Thieves
@@papermartin879 There are so many to unpack in the seawave effect. Catlike at least gives you an in-depth explanation of the implementation of Gerstner, unlike this video.
I'm french so i don't understand every "complicated" english word in the video, but i understand the important things, that's really good content and explication
I've been working with materials in UE for a while now and water in general was one of the hardest parts when talking about Environment Art. It's hard to make an optimized, good looking and modular water shader. You first have to make the opacity interactions between the shore, middle part and deep water, then work to make a good water foam (stylized or not), then there are the waves that may change depending on how you want to implement water in your game. The type of water also matter. If you are creating an ocean, a river or a lake, for example, you may want to change how the normal map behave, how the waves behave and all. On top of that there is also the connections between these types of water. If your river is going to end up in an ocean, it's tough to make it look smooth. Add shader complexity on this and you have a really tough shader to take care. And I'm not even talking about buoyancy and other things that a programmer would do.
Water Shader was a challenge for me 6 months ago. My stylized water is still not perfect but I added some automatic interactions on that (like adding flowing foam when the water plane is bent to the ground like a waterfall). The problem is that the shader is só damn big that if I work on other shaders and need to come back to it again, I would take almost an entire day just to understand what's is happening there, even though I commented absolutely everything and divided the shader in material functions.
Ahhh yesss the curse of navigating several thousand lines of code lmao
Repent and follow Jesus my friend! Repenting doesn't mean confessing your sins to others, but to stop doing them altogether. Belief in Messiah alone is not enough to get you into heaven - Matthew 7:21-23, John 3:3, John 3:36 (ESV is the best translation for John 3:36). Contemplate how the Roman empire fulfilled the role of the beast from the sea in Revelation 13. Revelation 17 confirms that it is in fact Rome. From this we can conclude that A) Jesus is the Son of God and can predict the future or make it happen, B) The world leaders/nations/governments etc have been conspiring together for the last 3000+ years to accomplish the religion of the Israelites C) History as we know it is fake. You don't really need to speculate though because you can start a relationship with God and have proof. Call on the name of Jesus and pray for Him to intervene in your life. - Revelation 3:20
Revelation has been unfolding since Jesus died. The Popes have claimed to be equal to God and set themselves in Jesus' place (antichrist(s)). Vatican City (Which is its own nation BTW) have risen up to fulfill the role of the false prophet
Regarding the man of lawlessness or antichrist, 2 Thessalonians 2:4 says “Who opposes and exalts himself above all that is called God, or that is worshipped; so that he as God sits in the temple of God, showing himself that he is God.” The restrainer that the Apostle Paul was referring to in 2 Thessalonians was the Western Roman Emperor, who held back the Popes from taking power. Once the last Western Roman Emperor was removed from power in 476 AD, the Pope was given civil and ecclesiastic authority over Rome; healing the deadly head wound of the beast in Revelation 13, as they took the Emperors title of Pontifex Maximus, leader of the church and state.
“We may according to the fullness of our power, dispose of the law and dispense above the law. Those whom the Pope of Rome doth separate, it is not a man that separates them but God. For the Pope holdeth place on earth, not simply of a man but of the true God.” (Source: “Decretals of Gregory IX,” Book 1, chapter 3.)
Pope Pius V blasphemed, “The Pope and God are the same, so he has all power in Heaven and earth.” (Source: Pope Pius V, quoted in Barclay, Cities Petrus Bertanous Chapter XXVII: 218.)
Pope Leo XIII declared, “We hold upon this earth the place of God Almighty.” (Source: Pope Leo XIII Encyclical Letter, June 20, 1894)
The antichrist sea beast of Revelation points to the office of the papacy, the Popes of Rome, who controlled the Roman beast for 1,260 years, from 538-1798 AD.
Daniel 7:25 says “And he shall speak great words against the most High, and shall wear out the saints of the most High, and think to change times and laws: and they shall be given into his hand until a time and times and the dividing of time.” The Popes of Rome spoke against Elohim and proclaimed to be God. They reigned for 1,260 years, from 538-1798 AD. during which they caused tens of millions of saints to be killed.
The Pope’s title is Vicar of Christ, which in Latin is ‘Vicarius Filii Dei’, and equates numerically to the number 666
Honestly I think the best feature of the waves is how the sun shines through the tall ones from one side, would love to see how that works as it looks so effective
Sea of Thieves has the best looking water hands down, its one of the things that really amazed me when I first played.
the other big element here is that the ship is also responding to the waves, which has to happen completely independently from the shader.
i’d be curious how it’s setup.
they may use a simplified version of the same equation, running on the cpu, that drives physics interactions. And you would likely want that cpu function to manage some of what’s happening in the shader to keep it all in sync, and to avoid needing a very complex shader
And not only your ship but the entire server. So it needs to be network synced also
The water in sea of thieves looks so tasty when it's sunny
Was kind of hoping you'd talk about implementing some of the coloring and foam details they have. The subsurface scattering (or what I assume to be -- the lighter, greener parts of the water) looks so good, but every time I've tried to implement it in UE4 it doesn't even come close to looking as good. I've also been trying to figure out how to get that shimmer effect on water for awhile.
Hey, your videos are good, but the sound effects are really annoying after a while. Especially because they are relatively loud in contrast to your voice. I just watch the video at 1 o'clock at night and scare me every time^^
agreed
Literally the reason I came to the comments. The sound effects actually hurt
yeah terribly annoying, couldnt finish watching it
I don’t agree
yes, and yes. after watching the vid, with relative chill voice, my ears are getting raped by retro game sounds
It's absolutely mind blowing what they've done in this game with water. I really hope games in the future take from their techniques.
The really impressive thing with the water in that game is that it's all physically enabled and the lighting (color/translucency/reflection)
Just letting you know that your sfx are really loud compared to your voice and bckrnd music, love the channel !
It's not just the water the whole game looks amazing
SOT still has the best looking water in any game ever. Im always in awe of it when i go back and play it.
u should check assassin's creed origins or valhalla's water physics
@@marcm.official I’m very familiar with both. They’re no where near as good as SOT though.
But how is the buoyancy simulation for the ship kept in sync with the waves?
That may be done through programming. Something along the lines of "This ship changes height and position based off vertexes of the waves" Its probably not a simulation as it is a blueprint or code based off the interactions of the ship and waves
Probably the waves affect in some way the root bones of the ship making an animation to rotate y the large axis and going up and down
As physics is calculated on the CPU then the exact calculations the GPU performs to displace vertices must be copied to CPU instructions. Basically the game knows how to displace the sea both in shader language for visuals and C++ for physics. Every ship or other buoyant object then implements buoyancy points that get sampled by the server with the CPU function to get the water height at those points only. With that, you can calculate buoyancy and let the physics simulation run. Clients predict this outcome since the formula is deterministic, once they know the server's time, then their "waves state" will match perfectly without sending any more data. It still sounds easy but in reality it's quite the technical achievement to have that sea in a multiplayer game. It's way more complicated than your usual FPS game, most of them don't even run any physics through the network.
If I'm not mistaken, the buoyancy simulation works hand-in-hand with the waves system in Unreal Engine.
It just takes some tweaking to get a floating object to look like it's actually floating. :)
Please make a series of short videos like this explaining game rendering and design tech. And group them in a playlist. I would watch all of it.
This is not basic gerstner waves, these are generated with FFT. Called FFT Waves. It is better than typical gerstner waves because it sample from an ocean spectrum and generate alot of gerstner waves
While I think Sea of Thieves has the prettiest looking waves in a video game, currently, another title that has beautiful dynamic water is Valheim. I was blown away by the water in Valheim the first time I sailed out with the Karve, and sailing through storms with the longship is probably one of the coolest seafaring moments I've had in any game to date.
Entire islands will become submerged during storms, and sometimes the tide will be really low, letting you see some terrain along the coast that's normally obscured. It makes for a really cool, and moody display, along with the dynamic lightning effects the game boasts. And I think it's even more impressive than Sea of Thieves' water, because the world is entirely randomly generated. Lagoons further inland can still be effected by oceans they're connected to, But they're usually much calmer So, I wonder how the tech functions in regards to connected bodies of water?
Knowledge!
Who needs a book a day when you have this!
Because of good art direction, this game will still look good for years to come.
The waves in Sea of Thieves all travel from NW towards the SE. So even with all the fine detail, the overall shape isn't fancy but rather a simple wave that goes across the map. Just shoot up out of a cannon and you'll see what I mean.
yeah i have seen it
Necessary evil in order to sync all clients for hitreg.
@@Rileyy1057 it would. Except the wind isn't always going SE from the NW in Sea of Thieves
Fun fact: The waves in Sea of Thieves always barrel the same way, from North West to South East.
Actually in Sea of Thieves the waves aren't effected by the wind direction they always go south east.
FINNALLY SOMEONE IS SMART ENOUGH TO DIVE DEEP INTO THIS
Here because of Ryan's recommendation, cool video and great explanation.
premake a flat circular mesh that's a few kilometers (or maybe even more! depends on draw distance) across and is very dense in the middle and very sparse as you get closer to the edge with a gradual falloff, have this mesh's horizontal position always be centered on the camera, but have every other aspect be controlled by your wave function, and have said wave function operate in world space rather than in object space. any textures you apply should also use world space rather than UVs
other possibilities: rather than circular, have it be a wedge which only barely extends beyond your camera's FoV, and have it rotate itself to always match the Yaw of the camera.
this version may break down if the camera's altitude is too high and pointed down, the amount of mesh which exists "behind" the camera must be sufficient to cover this possibility
Amazing that some of this tech was in Battlefield 4: Paracel Storm. Amazing for it's time.
Finally someone who just delivers the data to us instead of making us wait
Hey dude well done with the video, you summarized this complicated thing in 3 minutes. Impressive
Why did this just remind me of the End of the world mod for GTA IV with those 300m waves
This was more about how and why Sea of thieves water looks so good not really how it works like ships reacting to the waves, how it syncs with other players etc.
As a computer science student with interests into game development, this was extremely cool to watch.
also what amazes me about sea of theives is how the water doesnt phase through the ship when you are in the lower decks, never understood how the did it
This is often achieved by depth masking. Essentially the hull of the boat/ship model is used as a mask and the camera sees through that hull and ignore specific draws within the hull.
I understand everything. Thank you for sharing so much information on this topic that I so completely understand!
I didn't understand a single word of what you just said, but this was pretty cool
I haven't seen ANY one talk about stone pavements and roof shader in Genshin Impact yet.
Can you please talk about it? It look so good and convincing.
They made it just right no one noticed or felt off about it.
That's because they achieve this result using good physical sky simulation or goof light for short the shared is basic the sun is advanced.
Fascinating! It's super cool to see this can be done in UE like this.
I hoped you would cover how collision works with the waves and ships, another time maybe?
Probs takes the same info from the wave functions to alter the ship's position and rotation
Getting the height of a Gerstner wave at a precise location is not mathematically possible because whatever height you get from sampling that wave is the height at a *shifted* location in X and Y, and not the location we asked for! You can approximate the result using an iterative approach: first iteration, sample the height at the asked location. Second iteration, sample the height at the asked location MINUS the X & Y location offset you got from the previous iteration and rinse & repeat. Each time you'll get a smaller and smaller X & Y location offset and you'll get closer and closer to a height that is exactly the height at the asked location.
im shocked how people are this talented, ilke how????
Id love to see Subnautica with big crashing waves, thunder and rain etc. Itd add a lot of ambience when you surface
I would make a water shader in Unity, but this vid opens up to some more ideas to make water better in games
YES this it why i subscribed great videos!
I'd always wondered about those insane Arkham Knight waves!
wow, this video was extremely good
Stormworks looks pretty good aswell
The whole game looks good especially the water
Incredible production quality
the fact that nobody releases their source makes these videos obsolete by their vary nature
Looking forward to the "other video" alluded to towards the end there :)
They need to add rouge waves.
Love the video, very informative, but the beeps and boops are a little too much louder than the voices for my tastes.
is it possible for a full tutorial both in unity and unreal? love your channel
Like the short info style video. Its Good.
I like your funny words, magic man
Awesome video. If I may say, I think you should either boost the volume 3 to 5 dB for your voice, or turn down 3 to 5 dB the bright sharp retro sound effects that you put in. I love the extra details and design you put in, but the balance in the mix is unpleasant. The retro samples being audible behind you would be a good touch and still complement your material. Your effort to make these videos is very apparent so I just wanted to make this suggestion, especially when you have a quality speaking voice and mic.
edit: OH Wow the outro is so loud! Turn your voice up 9 dB or so and you're set. Keep the sound effects behind you, and please don't jump scare our ear drums!
Titanfall had the best water known to man. Very little of it, but it looked so so so nice.
Great stuff, I was actually curious about this topic as I'm a fan of the game. Thanks for the explanation!
it's funny because Cryengine 2 from 2005 have exactly this kind of shaders, and the ocean shaders working exactly the same as sea of thieves ( waves affected by wind etc ) but ..more than 15 years earlier
oh god i was just tryna watch something cool about aves and then saw fourier series
all i want is a way to add the waves from sea of thieves to other games tbh. but i understand this topic is very complex and isnt as easy as that.
One of the BEST channels.. glad to follow you
taking fluid dynamics did not prepare me for this, but I'm happy that I didn't have to see any partial DE signs at all
I have no idea how to use unreal engine, but feel secure in that if i ever learn, i can make waves.
as a batman fan i screamed when he wrote “arkham city” when it was showing arkham knight gameplay
cool! never heard about that gerstner formula before
god i want a mod of this in subnautica. for having a massive moon orbiting it, there should be wacky water physics
Make a video about how clouds are made in Sea of Thieves 🧐 Please 🥺
There's a brief GDC talk on the subject if you're interested th-cam.com/video/KxnFr5ugAHs/w-d-xo.html
They're standard meshes that get rendered to a texture and then that texture gets warped with noise to make the clouds look "fluffy". Then some postprocessing gets applied like blurring the ones that are closer and adding proper lighting. Basically shader magic, as usual.
Probably where the majority of early SoT development went which explains the really poor amount of content when it first released.
Gotta love the 9 island castaway chest voyage which could take 3 hours if you’re solo slopping
The best and most organic AI is usually made of very simple but very flexible AI's mashed together, because real life is not predictable, it's a bunch of small things being chaotic towards each other
Rain World is another piece of evidence for this
Thank you a lot!!! I was supposing so much how they did this!
So dynamic collision is not generated at all, right? They just predicting height of the wave by calculating distance to it and correct models to that height, right?
@3:00 You forgot 1 simple trick: Everything outside of camera view is not being rendered at all
Yes, LODs vs Distance help a lot
THANK YOU! Been wanting this vid
I like your words magic man
can you explain why we get sucked into rocks while sailing close to them?
My presumption was that the particles have no where to go when the waves are near the rocks, so they go down as that's that only space for them to go there for dragging stuff on the water toward the rocks, kind of like pulling a table cloth down off the edge of the table and everything on the table gets dragged with it, but I'm probably wrong.
There's no particles in this version of the water. The pulling towards the rocks is likely a light pull done separately towards the rock when entering its perimeter. Just some basic force field.
I am interested in how all of the players sync waves. When fighting another player, both players see the same wave. That seems like way to much data for a server to constantly be sending to the players (a rapidly changing height map!)
The algorithm used to generate the waves is deterministic which means it can be generated with a seed and be the same every time. All the game has to do is give every player the same seed and boom same waves.
Dude that outro hurt so bad
It's funny that the 3 big games that do waves the best are 2 pirate games and then batman, a game where you can't swim or use any boats at all
I never really thought about how good the water looks in sea of thieves. But I agree, it does look extra juicy 👌
damn the editing is great 1:52
Nice video! But Rare did not use Gertsner waves. Instead they used a dif formula called Tessendorf's formula which produces more complex wave crests and shapes. The principles are the same as Gertsner but the formula is different.
this is interesting, but how does a shader affect the physics of the game? the waves affect the motion of the boats, so describing it as a simple shader doesn't quite work
I have never personally played sea of thieves
but one thing I do understand a little bit about water in video games in particular physics based sort of "build your vehicle from scratch" games
is the underwater physics
the one I will talk about in this comment is airtight spaces where under the waters surface a space that shouldn't have water does
sea of thieves doesn't have this issue and in fact is one of the only games I know has a working airtight space on a 3d plane
the reason I mention "3d" is because in games like barotrauma and we need to go deeper have a working airtight space system mostly because of their 2d atmosphere that make it easier
we need to go deeper is a different case because if I'm not mistaken the submarine is just on a background you can only see through camera's on the outside making it possible to render the water as a background as the physics is never applied to the characters unless you are at a cave in which the physics are not needed so much
barotrauma is in a different category because *you can* go into the water while the sub is moving you can swim in flooded rooms, and it even has a floating number that determine if the water pressure can kill you even have ballasts which have water in them depending on your depth, but the key factor is you can exit your sub and it works kind of like an airlock in space games
you close a door and open the other to the outside if others inside the sub are using the sonar or guns, they can see you swimming
I admit I don't have a super good understanding of programming, but I do understand that is hard, but it only gets harder in a 3d space because you can't just determine it using different layers of backgrounds and applying physics for some of those important details
sea of thieves did somehow and if you or somebody who comments knows the secret tell me I'm interested.
I'd be worried if in a game where you spend most of your time in the sea if the waves were flat
they are flat if you go below rare quality. i have everything on common except water textures are legendary lol 4k is where its at the water looks so good
yay!!! didnt watch yet or even see the channel before but god damn that thumbnail has no business bein that thikkkk
This game has such good mechanics, unfortunately it's one of those cases where the content is lacking. I know lots of fans will probably argue what do you mean! There's so much to do, but not really. Honestly it's a big grind.
But I love just going in a storm and sailing around. So cool
Ok but how do they make it interact with the boats and stuff? And how do they make it so the water doesn't clip through the bottom levels of the boats?
maybe GTA VI's water & wavework will using another advacing from Gerstner Wave
would love to see a short tutorial on how to achieve such waves
in assassin's Creed 4 black flag too looks good 💙😁
The waves in Valheim are also pretty decent
"Wave function" always gives me ptsd. Sincerely, someone who didn't finish studying chemistry