A little while ago Todd said that TESVI would use procedural generation.
The media has mostly read this to mean that it will be big, while many fans have interpreted it as “world is gonna be boring,” so I’m here to tell you what procedural generation can really mean for TESVI.
Disclaimer: I have zero knowledge of the tech behind TESVI. Instead, I’m going to be speaking about what other games have done, as well as the general capabilities of software like SideFX Houdini when paired with game engines.
What is Procedural Generation?
Yes, procedural generation is great for making big worlds. But it’s not just about making a giant landmass and placing a bunch of rocks and trees. Instead, it builds a landmass and erodes it intelligently, and then places those rocks, trees, and plants according to real world geological principles. Procgen knows to place cliffs along steep terrain, to thin out trees as you increase altitude, to add cattails where water meets shoreline.
Once you’ve got that, you can use those same systems to generate realistic patterns for water, weather, wind, fog, and just about anything else. Procedural systems can create blankets of fog that roll over the landscape, like they do in San Francisco, but to only do so when the weather is right. Procedural systems can know that when strong wind is blowing from the south-east, the sand from your dunes, the embers from your torch, and the sparkles from your spell should all blow in the same direction.
Just because procedural systems are based on realistic principles doesn’t mean they are incapable of creating fantastical landscapes. Check out these pieces by Adrien Lambert on ArtStation for an example of entirely procedural landscapes that are highly unique and magical.
Best of all, procedural systems allow us to iterate endlessly and have everything realistically adapt for the cost of some render time. If you’ve worked with the Elder Scrolls toolsets, you’ll be familiar with the pain of trying to raise/lower landscape and then having to adjust hundreds of individual little rocks, trees, and plants with it. Imagine if you could change the landscape as much as you’d like and all those things just moved with it.
Procedural Generation in Modern Games
I would bet money that every modern open world game uses procgen for terrain. Here’s a good video on Farcry 5’s systems, which illustrates just how easy and vital procgen systems are for iteration:
And another from Horizon Zero Dawn, focusing on rivers and roads:
Even Assassin’s Creed, which that interview with Todd called out as a hand crafted game, relies heavily on procedural generation for its biomes! Here’s an example from Christian Marzy on Artstation.
Procedural generation is not only great for placing assets, it’s also fantastic for creating them, saving your artists months (or years) worth of work.
Rocks and cliffs are an ideal candidate. Instead of having a dozen unique rocks retextured for each biome (as the last TES games did), procedural generation allows you to create endless unique rocks with ease, creating more unique looking biomes.
Here are a few nice rocks by David Garrett on Artstation:
Trees are already entirely procedural thanks to SpeedTree. But you can extend SpeedTree, or build custom tools, that can generate all sorts of less real-world-y trees, such as the Telvanni mushroom houses from Morrowind, or whatever this ridiculous tree/vine spell effect is by YankeeVFX on ArtStation:
With a good tech artist, nothing is out of reach. Instead of spending months handcrafting 10 unique houses for a small city, you can generate endless houses, for huge cities.
Spline tools are another big win. Draw a line, have procgen tools create roads, walls, power lines, pipes, fences, bridges, ivy, vines, spider webs, or even entire cave systems along it. Goodbye, blocky, gridded tilesets! No more needing to stick to 90/45 degree angles or create endless small joiner blocks.
Check out this procedural pipe tool. Imagine these are Dwemer ruins.
Each of these tools is powerful alone, but becomes even more powerful together. Imagine Solitude. You can generate realistic terrain and landscape assets for the exterior of the city, then generate dozens and dozens of houses to fill the city with. Paint the exterior walls via splines, letting it place towers at appropriate angles. Paint splines for roads and sidewalks, which turn into stairs where it senses that the angle is too steep. The tools then fill the in between areas up with entirely unique houses. You’re no longer limited to a city of a dozen houses, but can create one of hundreds with a few button clicks.
This is an extreme example, and, unless gigantic cities are a cornerstone of your game, probably not worth it. But it does illustrate just how much the tools can accomplish.
How This Helps Development
No matter what level of procedural generation is used in your pipeline, it frees up your 3D artists to focus their skills on creating unique content and bringing things to the next level, rather than drudge work. You don’t have to hire a small army to make rocks and 20 fence variants for each angle of terrain, and can instead focus them on creating the items and decorating the terrain that will be unique and memorable to the players.
Procedural generation isn’t just good for environments and environment assets. It can be used to create realistic fur and hair on characters, and to simulate its movement. It can be used to simulate realistic cloth deformation and animation, or create wear and damage on assets. Shaders based on vertex painting aren’t traditionally seen as procedural generation, but they can be generated procedurally, and use procedural methods even when hand applied. Here’s Kurt Kupser demonstrating a custom shader that lets you paint discoloration and taters onto banners. In Skyrim and ESO, each of these banners would be its own asset, and you’d notice when they repeat. With solutions like this, they’d never, ever repeat.
This same method can be used to strategically apply mud when characters walk through or fall into puddles (as was done in Red Dead Redemption 2), or make sure that snow falls in appropriate places, or that moss only grows on the north sides of trees. You can make them interact with your procedural systems (snow actually builds up on buildings, can be burned away by your torch), as well as be built through them.
Procedural systems are also ridiculously useful in creating alternative versions of assets, such as multiple lower resolution versions of a mesh for performance, or for use in menus (like Skyrim’s and FarCry 5’s 3D world maps). And because they’re procedural, any change made to the main asset can propagate instantly and cheaply to its alternates.
Procedural generation can also be used to create materials (textures), retarget and adjust animations, generate names, create visual effects, adjust voices, and much more. Conversation systems are often procedural (looking at the written word and spoken phonemes, alongside mood tags, to generate both the motion and the lip flap on characters), and this can be extended further to dynamically generate cameras, NPC placement, body movements, and more, either at runtime, or for the artists to choose from.
Procedural Generation: A Technically Unique Mixed Bag
And, yes, procedural generation can also do quests and NPCs. Watchdogs Legion is built almost entirely on procedural systems, and while I wouldn’t want TESVI to go that far, it does prove that you can create memorable emergent storytelling and interesting NPCs if the systems are given enough time and attention. While Legion does get repetitive if played for a long time, it still manages to have tons of great moments along the way, and I got instantly attached to many of its completely random characters in a way that I did not for characters in “hand crafted” games. In a way, because they’re random they’re entirely yours. (RIP Raunchy, you were the best of us)
Skyrim was the first modern game from Bethesda to use procedural quest systems, and I’d guess that Bethesda simply did not have enough time to make them good. Just because many quests boiled down to “find object in random dungeon” doesn’t mean that’s all they can be. Intelligently stringing together a variety of objectives and obstacles, alongside variables for location, playstyle, character background, and more can result in quests that are easy for players to build their own narrative around.
In summary: procedural generation is everywhere in modern games, and is perhaps the greatest tool currently available to developers of giant titles like TESVI. The systems are of course only as good as the folks who create and use them, but they are never of themselves bad, and always free up valuable art and design resources to focus on the unique, hand crafted assets that are vital to a game’s success.
This article was written by Lady Nerevar, Full Time TIL Librarian, Part Time UESP.