Nvidia WaveWorks into UE4. Any future plans?

Hello there!

This is my first post in the new forum! I’m loving it already. Every day I find something new and exciting here!
I have been going completely crazy since UE4 was announced :eek: Honestly, I was expecting UE4 to come out at 2015 or so :rolleyes: especially since UDK version 03-2014 was released only about 20 days before the UE4 release.

Anyways… I would like to bring to your attention Nvidia WaveWorks, a technology that I personally have been dreaming of since I got my hands into ue2 back in the ut 2003 days when I pretty much started getting into game developing.

I believe it was originally announced about a year ago during the GTC 2013 Keynotes.

(Watch about 8 mins in.)
You can probably imagine my reaction when I first saw that!

A few weeks ago nvidia uploaded this video which explains things in more detail.

Now the question I want to ask is: are there any future plans of integrating something like this into UE4?
IMHO it is such a wasted opportunity, there is literally like only one game that has something close to this, ACIV Black Flag (and we all know that game is awesome). I’m surprised that WaveWorks doesn’t seem to get that much attention.

What are your thoughts on this?
I’m curious, would you use something like this if it was available or is an ocean shader with perhaps some clever animations enough for your needs? (assuming you need an ocean in your game).

I think it’s 100% guaranteed Epic Games will add Nvidia’s WaveWorks support to Unreal Engine 4. I mean Epic Games is partnered with Nvidia and has Nvidia’s PhysX physics engine supported in Unreal Engine 4 just like in Unreal Engine 3. I hope FLEX support will get added as well as FlameWorks, HairWorks, etc. Everything from Nvidia to get supported in Unreal Engine 4 from Epic Games will be amazing.

Don’t count on it guys, this is running realtime on a GTX Titan, and is also the ONLY thing being rendered in that world. It’s not a game-ready technology, it’s just a demonstration of what they CAN do.

The most interesting thing here is the ship physics simulation. Ocean surface is just a compilation of their earlier works (Tessendorf, FFT, Phillips spectrum, energy-based foam, etc.) and can be done in UE4 even now (only reflections will be different).

Well I’m not necessarily saying that this exact technology should be what UE4 implements.
Although to be fair we don’t truly know how optimized WaveWorks is, just because it was running on a Titan a year ago it doesn’t mean it can’t be simplified and tuned down (by loosing some unnecessary accuracy perhaps? you don’t need to simulate thousands of contact points at the hull of the ship to make it behave realistically for example…).

What I’m trying to say is that we need some kind of ocean system! The simulation of the ocean is definitely something that can be done extremely cheaply (just take a look AC III and IV) so it’s not like we don’t have enough horsepower or anything.
The main reason I ever considered CryEngine is because it has an ocean system (although nothing as advanced).

At least we had a fluid surface actor in UDK… what happened to that? :stuck_out_tongue: not that it could be used to simulate buoyancy or anything but at least you could interact with water.

…and this system is not suitable for game about ships :slight_smile:

I definitely sure that it will be in UE4 sooner or later. Maybe from Epics, maybe from community. Chin up, it’s the beginning :wink:

We hadn’t discussed WaveWorks specifically but I’ll ask James tomorrow to see where it is. It might be something we can collaborate on the community with if there are folks interested in working on a plugin for it together.

I believe WaveWorks is currently only licensed out to studios and not individuals. I think Epic is on their own with this one unless they work something out with Nvidia to get it into our hands.

Absolutly yes! Hope that NVidia can give us access to WaveWorks.

I think that a realistic Water simulation is and always has been Unreal Engine’s weak point so this would be a great and very welcome addition to the engine.

Most of new gameworks stuff is now only for companies. Unless epic can persuade nvidia to release it for UE4 community integration, Epic will be on it’s own for now.

From small things I would love to have ShadowWorks integrated. It’s pretty small and the actual dynamic shadows improvement is huge.

Hi Ray! I’m not much of a programmer but I’d love to participate in something like this! :smiley: If you need any VFX/testing help, please let me know.

NVidia Flex is a must have for me. This engine would be perfect with that implemented.

Does Waveworks make uses of compute shaders or does it use cuda? It probably wouldn’t be very nice if only users with nvidia gpus can play your game.

Every NVidia tech can be turned off if the hardware can’t support it. Won’t stop the game from running, you just don’t get the desired effects.

Yes I know but usually the tech is not gameplay relevant while this one probably is. It seems to be a complete ocean simulator.

Well maybe it depends on the game that you are making.

I’m pretty sure EPIC is already working on some sort of Ocean system (shaders, physics, etc) like the one featured in CryEngine.

What makes you so sure? I doubt it.

But anyways I’m sure someone will eventually release a good ocean system in the marketplace (whenever that is ready :p) so I’m not too worried.

Hopefully though we get some answer from Epic, it would be nice to know that an ocean system is in the “to-do” list ;).

It would be great to have an integration guide in the future for using any of the GameWorks libraries with the engine. It always sucks working with little to no documentation on those types of tasks.
But it would be fantastic if Epic could somehow distribute and license GameWorks with the engine, maybe as a “PRO” version like with Unity. I think a few extra dollars a month or an addition to the royalty would be a price developers would pay to have the tech integrated and ready to go. We are looking into hair and curve rendering solutions now, HairWorks could be just the ticket, and maybe cheaper than putting a small dev team on the task.


I’ve posted a fork of UE4, where WaveWorks is integrated on a branch.

There is only a simple example so far, no real content, no ships, etc., but that is in the works too.