Post

Then using openUSD as the source of truth, with its layering systems, allowing composition arcs (e.g. references), so you can quickly isolate a single assets in a character, such as a bag, a hat, and then edit that on its own or providing overrides. So the same hat can be used in multiple ways.

So don’t repeat work if you can: Make sure refinement doesn’t require reauthoring (eg. Changing hat lattice for one skin) Providing overrides through nodes and caches, so folks can easily reuse assets. Provide a shared space for tech and art to intertwine.

And this also then allows for batch changes. An example of The Finals, where they wanted to add new body types a few seasons after release. So all old items had to work on these new body types. They could easily do this, due to their procedural pipeline. It actually improved the old items.

And because they delay all their decision making until the final point, they can then make changes right before the content hits unreal, such as changing material presets for higher resolution textures. So their asset source of truth is actually outside of Unreal, rather than inside Unreal! Neat!

The next talk is by Tim from Vertigo Games, about VR games and PCG in Unreal. It’s moving a bit too fast for me to live post it, but I appreciate this slide of generated as well as manually placed camera visibility points for automatic triangle culling. (Memories of visgroup calculation in Hammer)

They are very happy with PCG because it’s built into Unreal, so all other systems easily work with it, and you have access to the source code which allows them to make any changes they need.

Then you use blueprint actors to place things like vegetation. But it can also be used for level geometry! So they started doing all level design and art with PCG, and then finish with manual set dressing.

And they’re happy that PCG auto-regenerates when a manual asset is placed. E.g. a rock is placed, and then grass automatically appears around it. Though they are able to interrupt this, so that when they place a skeleton (with specific tags on it to ID it), it does not grow grass around it.

But then they have to convert all these instances to actors 😱 Apparently this is due to HLOD generation reasons, and he says he knows this sounds nuts. (To be honest I don’t understand this too much. Maybe @joewintergreen.com has thoughts on this?)

I missed a talk inbetween about 64kb proceduralism, but had a great conversation about OpenUSD instead! It’s growing! Slowly, but, growing.

Coining a term: Layercaking. Generating each aspect separately, for easy toggling, editing, etc. (This lines up very well with the first talk.)

Then you put the functionality of that debug menu on an Elgato stream deck for ease of use. You can also allow anyone to customize their own setup on their stream deck. So they only see the options they need, and can instantly use them (cc @derek-lieu.com, because he does this too!)

But, the 1000 bowls of oatmeal problem comes up: Each bowl is technically arranged uniquely, but to a user it just looks like 1000 bowls of oatmeal. Just because it’s randomly generated, doesn’t mean players like it. You need some more uniqueness, by for example clamping values between sections.

And here is the summary and a QR code link for the slides! There are lots of great gifs and videos in this talk with many different ways to do generation that are directly applied to game development. Take a look!

Next talk is from some Houdini folks, showing a fully procedural rig and many other things that I only half understand because Houdini is a magic box that makes cool things appear if you know the right incantations. I understand the shown workflows, but have no idea which 200 nodes generate this.