Monday, November 27, 2017

Procedural Future is Now

I’m really excited to be pursuing new opportunities. For a while now one of my passions has been procedural content creation. For some people this is a holy grail, for others it sounds like a fool’s quest. I admit there are a lot more examples of failed procedural content systems than successes. I think there are a couple of things that are fundamental game changers.

One is available compute power. The amount of easily accessible compute is huge these days. Via AWS or Azure you have access to a tremendous amount of compute at a reasonable price and with a lot better control and support than the bad old days of pulling together a VM or worse a pile of last year's computers to build your farm.

The other is the conceptual shift I see in a lot of examples ranging from Frogware’s Sinking City,  Esri’s CityEngine, and my experience with the canceled World of Darkness MMO from CCP Games. What I see in all of these, even if it isn’t explicitly stated is that, rather than totally delegating the process to a black box system, these are white box people accelerators. In all of these the rules for population aren’t trapped as an intrinsic property of the generation system. The rules are tools given to people to allow them to guide, drive, and control the generation process.

Frogware’s tech demo was interesting to me because of how similar some of the techniques are to what we used:
  • Different rulesets at different detail level, e.g. floor, building, block, district
  • Population along a spline based on selection heuristics
  • Population for a building face based on selection heuristics and adjacency info
I even think they are doing area and volume based population based on some of the clutter and court yard populations you can see in the video. This is something we had plans for, but didn’t see completed.

You can also see similarities between the street layout tools from the Frogware demo and the CityEngine examples. City engine goes a bit further with what they can do for elevation variations, but you can see where people are converging on similar ideas.

One of the things that you can see in the building populations from Frogware (and where I think we probably got a little bit further) is the quality of the result. Because the system is artist driven (not programmer driven) you have a really good quality result. You don’t look at the building and think “a machine did this procedurally”. And the quality is so scalable based on how much content you feed it.

There are certainly still lots of challenges in a system like this. Performance, lighting, asset management are all real problems. But you can see that this is a problem whose time has come. We’re going to start seeing good quality tools for building environments with computer assist. And once people have these tools in place, we can use the same tools for more than just environments and expand into “environmental storytelling”.

It is such an exciting time.