The pros, cons, and techniques of procedural asset creation (renamed)

Coders have been trying for decades to get procedural content working decently. Aside from generating clouds and random mazes they don't seem to have gotten very far with it, certainly no where near the ability to replace an artist. In the short term at best you could hope for human generated art perhaps tweaked procedurally, but having it all created from scratch by code and not having it look machine generated is a tall order.
 
Games need 1000x faster hardware, VR goggles and other stuff too - but just because we want them is not enough to turn them into reality.
Yes it is. It just takes time. Creating art is another challenge, but consider a game like Dragon Age 2 which had a lot of repeated and uninspired areas. I'm sure procedural generation could help in cases like this if there were tools for it..
 
Coders have been trying for decades to get procedural content working decently. Aside from generating clouds and random mazes they don't seem to have gotten very far with it, certainly no where near the ability to replace an artist. In the short term at best you could hope for human generated art perhaps tweaked procedurally, but having it all created from scratch by code and not having it look machine generated is a tall order.
I don't think anyone's saying to replace artists and have a machine create everything. Consider a restaurant that has a lot of antiques (or junk) on the walls. Artists could create objects and use tools to place them in rooms, thus saving time and allowing artists to focus on the more important aspects of a game.
 
Coders have been trying for decades to get procedural content working decently. Aside from generating clouds and random mazes they don't seem to have gotten very far with it, certainly no where near the ability to replace an artist. In the short term at best you could hope for human generated art perhaps tweaked procedurally, but having it all created from scratch by code and not having it look machine generated is a tall order.

Well I agree that having the art created from scratch is a bit unrealistic, but I don't see why it is so difficult to write programs that can decorates rooms, houses and other environments by creating varied configurations from a palette of artist generated content (eg. couches, doors, lights etc.)
 
Is it really that hard to understand my point? Just because we need high quality procedural content creation tools is not enough to overcome their inherent problems, the greatest of which is that a computer has no intelligence and artistic sense.
Computers don't need intelligence to run algorithms. Dumb computers can simulate intelligent systems like crowds or behavioural physics just fine. Artistic sense isn't needed in every single case. If I look through a living room window of some random house I pass in the street, the blue or pink or beige walls I see isn't part of any great artistic vision. A car passing me in the street that's red or green or black or blue isn't decided by some great artist in the sky making sure everything is colour coordinated! Likewise in a game, the choice of wall colour or car colour doesn't have to have artistic insight on the part of the computer if it's just background content - it just needs the artist who adjust the parameters to set the right rules so we don't get lime green living rooms or technicolour cars.

Coders have been trying for decades to get procedural content working decently. Aside from generating clouds and random mazes they don't seem to have gotten very far with it, certainly no where near the ability to replace an artist. In the short term at best you could hope for human generated art perhaps tweaked procedurally, but having it all created from scratch by code and not having it look machine generated is a tall order.
Firstly, this wasn't about creating whole assets from scratch, but adding variation to existing assets. Secondly, technology progresses, and just because for decades developers with limited programmable processing resources haven't been able to enable asset variation on the fly, doesn't make that impossible. Artists have used procedural content for years, from simple noise deformations to complex materials, hence the existence of programmable shader languages instead of fixed-function flat asset rendering. Laa-Yosh knows this and could explain better than anyone here how WETA's Massive enables convincing crowd scenes by generating content algorithmically without needing artists to model tens of thousands of characters. I'll even add procedural content has been used effectively in good games too, like Elite and Captive - it's hardly some impossible Holy Grail myth!

Procedural content in games just needs another step forwards to integrate variation code and object placement code into the game engines, so a character model you encounter five times in Infamous on a walk in the street isn't the same 'red top guy in jeans' but 'variously coloured top guy with different hairdos and either jeans or combat trousers'. Things like displacement shaders could allow subtle variations in faces too. It isn't going to create authentic human characters as well as an artist could, but this isn't about replacing artists. It's a request for an improvement in our artificial worlds to make them a little less artificial. The arguments against so far have been 'it's artistically poor' and 'we haven't managed it yet', neither of which convinces me it's a fool's errand.
 
Dumb computers can simulate intelligent systems like crowds or behavioural physics just fine. Artistic sense isn't needed in every single case.
Yes, but a game is similar to movies in that it has to be a directed experience. Otherwise it gets boring and lifeless and elements won't fit together to create an overall impression. You'd be surprised how much has to be art directed, down to stuff you'd thought to be very simple.
Sometimes it's also more effort do develop even a simple tool for a task than to have someone do it manually.

And of course the things you keep mentioning - furnishing rooms, changing car colors - is just a very tiny bit of all the work. Solving two problematic tasks out of hundreds isn't going to be a big help. So I'd rather not stick to these certain elements as there's a billion other things that have to be done and have an effect on how the game content is built. Let's not try to oversimplify this complex problem please.

technology progresses, and just because for decades developers with limited programmable processing resources haven't been able to enable asset variation on the fly, doesn't make that impossible

You keep repeating this but it doesn't make it happen... Very clever people have been at this problem and failed, but you still think they've just been to stupid to find solutions or what?

Laa-Yosh knows this and could explain better than anyone here how WETA's Massive enables convincing crowd scenes by generating content algorithmically without needing artists to model tens of thousands of characters.

We have used Massive and it requires a lot of manually built content. The actual scale and proportion variation of the orc army was built by a separate tool by the way.
Weta also had a procedural city builder to create 1930's New York for Kong but it was an incredibly complex system that still relied on manually built content - all it really did was compiling together the assets required to render a shot, based on camera movement and perspective and such.

a character model you encounter five times in Infamous on a walk in the street isn't the same 'red top guy in jeans' but 'variously coloured top guy with different hairdos and either jeans or combat trousers'.

The problem is that the level of variation you describe still isn't enough to sell the guy as two different characters...

Things like displacement shaders could allow subtle variations in faces too.

Doesn't work - either it's too subtle and from 2 meters away everyone still looks the same, or it's too much and people stop looking like people, animation breaks down and so on. The artificial quality will stay... Again, we've been through a lot of these ideas that sound good on paper but fail completely in practice.
 
I think for characters you could use procedural generation techniques for body/build types and faces but it won't work for apparel...which needs to be designed by hand.
 
What might work is to manually build several distinct body types and then somehow morph between them by using intensities for limbs, torso, etc.

The problem is that morphing requires the bodies to have the same polygon structure and it can seriously limit the quality, and you'll also run into texture stretching if you push vertices around too much.

For example we've never even tried to use the same mesh for a male and a female. And even with a male, the results for building thin/average/overweight variations didn't really give us good results in practice.

Faces are even more complex. Sure there are some examples, like Oblivion (which looks horrible IMHO), Mass Effect (very hard to get good looking characters for Shepard and you can always see which NPCs were built with the tool and which by hand) and there's Eve Online's which uses stylized characters but seems to be the best so far (wonder how much effort it took though)
 
Yes, but a game is similar to movies in that it has to be a directed experience. Otherwise it gets boring and lifeless and elements won't fit together to create an overall impression. You'd be surprised how much has to be art directed, down to stuff you'd thought to be very simple.
I'll grant I haven't been on the front line of level design, so perhaps they are experiences that throw up unexpected problems, but there's definitely room for improvement.

And of course the things you keep mentioning - furnishing rooms, changing car colors - is just a very tiny bit of all the work.
Each tiny improvement is a step in the right direction. Or would you abandon any progress that isn't a giant leap forwards? If you were at Intel, would you have stopped research into MLAA because it was imperfect and could never offer a solution comparable to supersampling?

You keep repeating this but it doesn't make it happen... Very clever people have been at this problem and failed, but you still think they've just been to stupid to find solutions or what?
I never said nor implied they were too stupid. They had limited options and limited understanding. Just like modern post AA techniques - there's a massive flood of ideas that no-one was exploring 5+ years ago. That's not because everyone was too stupid back then, but because the advent of programmable graphics hardware and a bit or innovative thinking by Intel to solve a problem that the graphics IHVs weren't considering because they already had the MSAA solution opened the doors to new opportunities.

We have used Massive and it requires a lot of manually built content. The actual scale and proportion variation of the orc army was built by a separate tool by the way...
So you're saying it'd have been quicker, cheaper and easier to build all your models from scratch and animate them all from scratch? Or are you saying that Massive's procedural solutions help take some of the work off the artists and increase the variety of content producible for a given budget?

The problem is that the level of variation you describe still isn't enough to sell the guy as two different characters...
But it is enough to stop him looking like an identical clone! Again, I'm not expecting a perfect solution. Just an improvement. In the case of people also, it's hard to make things look varied as we're hard-wired to be very sensitive to perceiving people. That's the hardest possible application you're starting with! For other objects and characters we aren't so sensitive, so a goblin base character with a variety of displacements and costume pieces will look like different goblins and only require a few models to achieve more variation than currently having to model discrete characters.

Doesn't work - either it's too subtle and from 2 meters away everyone still looks the same, or it's too much and people stop looking like people, animation breaks down and so on. The artificial quality will stay... Again, we've been through a lot of these ideas that sound good on paper but fail completely in practice.
And again, it doesn't have to be perfect! ;)

What might work is to manually build several distinct body types and then somehow morph between them by using intensities for limbs, torso, etc...
Now you're starting to think about approaches and solutions, instead of just giving up. This is the beginnings of progress. :mrgreen:

Faces are even more complex. Sure there are some examples, like Oblivion (which looks horrible IMHO)..
Lots of games have lousy faces. Lousy faces are with us to stay. At least with advanced procedural content the lousy faces won't all look like the same person in various false beards and hats.

Stop looking for perfect solutions. ;) Creating perfect, artistic game content is your area, and you're damned good at it, and that's why we need artists. For a lot of stuff in games, made to a huge range of budgets, that are already filled with compromises due to budgets and techs, we can't hope for perfect worlds with perfectly realistic and varied people populating homes where every feature and object can be interpreted via Sherlock Homes to explain the occupants. All we gamers need next-gen is less repetition, and the developers need cheaper asset production to achieve that. Isn't procedurally assisted content the only real answer to that?
 
I'll grant I haven't been on the front line of level design, so perhaps they are experiences that throw up unexpected problems, but there's definitely room for improvement.

You think that no-one at any of the game studios has ever thought about this?
Everyone's aware of these problems, they're just incredibly complex and properly solving them is usually out of the budget of nearly everyone. Sometimes movies get enough money to solve it with VFX, but then a movie shot has fixed camera position and movement...

Each tiny improvement is a step in the right direction. Or would you abandon any progress that isn't a giant leap forwards? If you were at Intel, would you have stopped research into MLAA because it was imperfect and could never offer a solution comparable to supersampling?
I never said nor implied they were too stupid. They had limited options and limited understanding.

The content creation side has costs so massive associated with it that the research into tools and methods is several orders of magnitude bigger than post AA. You cannot compare these two classes of problems at all.
And I've always been critical of these clever blur filters anyway - I see the need for compromises regarding performance, but this is still too much for me.

Or are you saying that Massive's procedural solutions help take some of the work off the artists and increase the variety of content producible for a given budget?

I'm saying that your impression of Massive's procedural abilities is wrong and probably way beyond of what the tool can actually do. Besides, Massive is about making the characters themselves move, it can't do anything beyond that. The army variation tool (called Orc Builder) wasn't part of Massive, and again, the vast majority of the work wasn't the tool, but all the assets that the tool had to combine together.

But it is enough to stop him looking like an identical clone! Again, I'm not expecting a perfect solution. Just an improvement.

It will be just as artifical as if they were the same character slightly distorted - and in many cases even worse, as the forced variety ruins the otherwise good looking assets.
You also have no idea how complicated it is just to fit the same single piece of clothing onto different body proportions. I've been through such problems and it's always a lot more work than anyone would estimate. And games still haven't started cloth simulations yet!

For other objects and characters we aren't so sensitive, so a goblin base character with a variety of displacements and costume pieces will look like different goblins and only require a few models to achieve more variation than currently having to model discrete characters.

Trust me on this one, please. Doing crowds that look neither completely identical nor totally stupid is incredibly hard and will require a lot of actual asset variation. Mixing them together is the smallest and easiest part, even I could write scripts to do that. But it takes many many man-months to build everything that you want to mix together.
And just changing colors and sizes won't matter, such differences don't make the results register as unique characters at all.

Now you're starting to think about approaches and solutions, instead of just giving up. This is the beginnings of progress. :mrgreen:

Again - we've done a lot of this stuff and I know just how hard it is from experience. I've had a lot of nice theories and expectations before we actually started production, too...

All we gamers need next-gen is less repetition, and the developers need cheaper asset production to achieve that. Isn't procedurally assisted content the only real answer to that?

This is an assumption that's wrong. People do have an instinctive sense for this stuff and good art direction is almost always appreciated and provides an advantage. Developers of COD-type games won't scale back on quality just for the sake of more variation because variation on its own is far less important for the audience. Most people playing their game wouldn't ever notice it.

When it is an important element then they will spend enough to realize it. Eve Online, and Brink as well, has a lot of these variations, but even there the characters are ultimately very, very similar because of cost issues. Just as you can't be a fat Shepard in ME either.


Please try to understand that your thinking isn't ahead of the curve at all, everyone involved in such tasks has faced such challenges and spent considerable effort on finding solutions for many years now. But the problem is very complex, and sometimes it's either too expensive to solve it (compared to the gains), or there isn't any solution at all. It's not that we're against tools to help us in our work and give us time to focus on the more important and exciting parts...
 
Let's just say there are reasons for jobs like set decorator, home/interior designer and such; and even clutter requires a lot of work to become realistic.
Lots of games get away with relatively mundane surroundings ... I'll ask again, Witcher 2 huts (ie. the vast majority of buildings) ... doable by procedural generation or not?
 
Here's a couple of examples of simple improvements that I hope are fixed next-gen. This YouTube clip shows Dungeon Siege 3. At the very beginning you can see the stone steps of Stonebridge.


These are carefully textured by an artist, but only two steps. These steps are then repeated for the whole stairway, making it look a bit stupid. An automated system could take a few textures and mix them up a bit, so the steps aren't uniform. That could be accomplished on a very simple level with various layers of normal, specular, and colour maps each offset and rotated according to a seed per step. I once wrote a plank-creating shader in Renderman script that took a surface, split its UV coords into tiles and assigned a random offset and displacement for a single texture. When applied with a wood texture the result was a pretty convincing planked floor without regular tiling as you'd get with a conventional tiled texture.

Then skip ahead to 4 minutes into the YouTube vid and you'll see inside the Chapterhouse. It's been ravaged by rioters, hence there are books strewn upon the floor. But these books are actually a pattern of strewn books repeated over and over again. Some artist created that pattern and then another pasted that pattern over the floor. The result doesn't make sense. The books on the floor don't match any particular source, and they shouldn't all have landed in the same arrangement! But it doesn't matter. It's just a bit of background scenery to give a vague impression. An algorithm could easily place books on the fly in more randomised patterns than this. That makes a lot more sense than having an artist place individual books which clearly wasn't considered a useful use of the artist's time, hence them pasting a bunch at once.

Automated spot art/decos like greebles/nurnies are a great opportunity for next-gen hardware IMO.
 
Shifty, this is clearly caused by a lack of budget or laziness, you don't need any special tools to correct these issues. But if you don't have an extra man-hour then you certainly don't have the budget to develop or buy all the various procedural tools that could try to do something with them, either.

Automatically generated stuff sucks. Dirt and such need to be painted into places where they
- make sense to appear
- look good

Otherwise we get what's called 'programmer art'...
 
Shifty, this is clearly caused by a lack of budget or laziness, you don't need any special tools to correct these issues.
In an ideal solution, yes. But because of cost constraints (and technical limits with storage and bandwidth), we need to find ways to shift the workload. Wouldn't it be great for game developers if UE4 had various inbuilt texture generation systems to add variety without needing to add cost?

Automatically generated stuff sucks. Dirt and such need to be painted into places where they
- make sense to appear
- look good

Otherwise we get what's called 'programmer art'...
That's a pretty blinkered response IMO. All automatically generated stuff sucks, yet your industry already has examples of auto-generated and algorithmically-assisted systems. Greebles and shaders are often generated by computer. Seriously, all computer generated stuff sucks? LOTR crowd scenes didn't suck. Backbreaker's Naturalmotion animation didn't suck. Captive's and Elite's procedural universes didn't suck. If the work the automated systems did in these products didn't exist, we'd have either had much smaller games/experiences, or far more expensive to produce products.

Some auto-generated stuff will suck. Maybe even the vast majority of auto-generated stuff sucks. To deny the possibilties out of hand is just plain short-sighted though. You aren't offering any alternative for next-gen content creation or ways to improve the current level of art content in games that doesn't require massive investment in artists and storage and hardware resources.
 
Firstly, this wasn't about creating whole assets from scratch, but adding variation to existing assets.

Right, but that has been attempted for quite some time now. Think about it from a purely business sense, if it was possible to do things procedurally be it making assets, modifying assets, modding levels, etc, in a convincing manner then any company would jump on that as it would save them money by not needing to hire additional manpower. In other words if it was possible to do this today companies would be all over it if only to save money. It's not as if this is being presented on a forum as a new and novel idea, the ability to acomplish it in a convincing manner simply isn't there yet.
 
Shifty, there's a difference between a tool that generates stuff on its own - and a tool that can help an artist by taking over the tasks that can be automated, but it still relies on a lot of human input.

LOTR crowd scenes and a lot of other stuff is based on vast amounts of manual work. Massive works with character models, skeletons, motion capture animation and such to create crowd scenes, it does not generate the walk cycles, attack animations, textures or anything.

You can generate dirt maps similar to how ambient occlusion works, but a good artist will also move in and paint over this mask and then add variety to the dirt layer to create a pleasing result. The procedural dirtmap on its own will remain to look artificial.

Or see this one:
http://www.cgarchitect.com/upclose/article1_CW.asp

After the guide geo map was built, the CityBot software would begin constructing each building. The Bot would take the low-resolution geometry from the guide geo, along with its statistical data, and begin building a hi-resolution building. To do this, special rule sets were written that aided the software in the construction of each building type. For example, there would be rules sets written for office buildings, brownstones, stores, etc. For the actual geometry of the building, the CityBot would use the rules to pick from a library of existing “cells” to construct the building. The cells were basic elements that where categorized by type and architectural style. They could be windows, doors, fire escapes, water towers, etc.


There's a LOT of manual work involved in here, building elements, guide maps and such. The effort to design, coordinate and create everything must have been a vast undertaking involving lots of people, time (two years!), and money.

So it's not like, hey, we have a procedural city generator that we can buy in the software store, or we can write it from scratch ourselves... And the same goes for everything else that's procedural in some extent. These tools almost always need man-made content to start from, and a lot of it, they're no replacement for a giant budget, but rather an enhancement that will allow more efficient utilization but only beyond a certain scale.
 
Another example is something simple - T-shirts in a crowd.

You'd think it's as easy as swapping textures, right? But if you go out to a city street today, you'll practically be unable to find two T-shirts with the same cutting and that registers in our brain as much as the color. If you only build a single T-shirt mesh and fit it somehow to all your possible body types, it's still going to look the same, no matter what you do with the texture. And if you only model 2-3 T-shirts, it'll be pretty evident at the first look that they're repeated all over the crowd, so you'll need even more variation just in the geometry to build a convincingly varied crowd.

Then you have to repeat this for all pieces of clothing... Pants, shoes, skirts, whatever.
 
I don't think anyone's saying to replace artists and have a machine create everything. Consider a restaurant that has a lot of antiques (or junk) on the walls. Artists could create objects and use tools to place them in rooms, thus saving time and allowing artists to focus on the more important aspects of a game.

Yeah, computer assisted art. What is the definition of procedural art ?

Is Uncharted's animation blending considered procedural ? The artists create the basic parts. The computer weave them together in real-time.

In BF3, they build occlusion culling and other tech because it's not feasible for the artists to hand create destruction for every buildings.

If we continue to have bigger and more complex environment, automation may be a necessary evil.
 
Back
Top