Advertisement

The Value of Procedural Generation

Started by September 06, 2016 08:05 PM
27 comments, last by Brain 7 years, 11 months ago

One aspect being missed from the above is that procedural generation cuts costs. It makes things practical that were not otherwise practical for the same team. It is certainly possible that - replayability aside - 20 hand-designed levels could be more interesting than 20 procedurally-generated levels, given the same designers being involved in both cases. But it's not possible that, assuming a competent code team, the 20 hand-designed levels could be made in the same space of time.

Or, hire a hand full of designers and have them build about 40 maps, then let players choose a map to pick. Again, loads of *cheap* replay value.

I'm guessing from this statement that you have never hired a designer. :) They are cheaper than coders, for sure, but not so cheap that getting them to make 40 good maps is 'cheap' compared to procedurally generating them.

just hired a couple people to hand design 5 different planets in the same star system [...] It would have been the game everyone dreamed it would be.

I don't know who you've been speaking to, but I don't think there would have been even 10% of the same interest in this game if they'd said "you can explore 5 hand-crafted planets". As for factions and multiplayer... that was never what it was about. EVE Online exists for that sort of thing. If you want to understand No Man's Sky you need to understand the history of games like Elite. It doesn't gel well with the modern heavily guided theme-park experience, but that's a failure of marketing and the runaway hype machine more than anything else. I know people who really enjoy the NMS gameplay for what it is, like they enjoy other open-ended and exploration-focused games.

----------------------------------

Let me approach this from another direction. There's still a belief that procgen is somehow replacing designers when really it is about freeing them up to work on higher level aspects. Exactly the same thing happened with the art pipeline. Go back about 25 years, and artists had to place every pixel themselves. Later, they might model a character in 3D and render it out as sprites, so they would only edit pixels to clean up a render, perhaps add detail, that sort of thing - the rest was handled by the lighting and texturing algorithms. In 3D engines, it's gone even further - the artist might produce the model and the texture maps, but they don't get any control over the final pixels on-screen - they just have to trust the algorithms will render their data in a way that works for them. But freeing them from pixel tyranny means they can be more productive in other ways - changing one texture will improve multiple assets. One animation can animate multiple models. Altering a light value will affect the whole scene, environment, props, and characters. Artists gave up some fine control but can now deliver whole 3D experiences with far more content in them.

Procedural generation is the same thing for designers. Instead of designers hand-placing every wall or door, they should be able to tell the system how walls and doors should be placed, and the system does the work for them. If they build a room and want to fill it with props, they should be able to have the game auto-generate appropriate props based on the type of room. If they designate an area as a dangerous forest, the game should be able to populate it with outlaws and wolves without anyone needing to go and drop in spawn points or planned encounters. If the designer knows that orcs and elves hate each other, the system should be able to create quests based on this antagonism, without requiring a designer to manually place each scripted event and write every bit of dialogue. The tools can amplify the designer's ideas, not replace them.

Good points. I'm looking at this from the producer angle where you have to make a trade off between designer time and coder time for procedural vs. non-procedural game design. Creating a procedural level building system will cost programmer time, and the amount of programmer time it's going to cost is dependent on the design requirements of the procgen for the project. Some implementations can be relatively easy and straight forward. Others, like NMS would take a VERY considerable chunk of the project budget to correctly implement. The project resources are finite, so making a decision to spend a lot of time on a procgen system will have an opportunity cost on other aspects of the game. What is NOT being built, designed and refined because you're spending thousands of man hours building a sufficient procgen system?

If you put on the producer hat, you have to start asking some hard questions about where the best places to allocate effort are, based on the resource and time constraints you have. I think in the case of NMS, they did a great job with the procedural world generation. It's state of the art, no doubt about that. But, the game play is currently very flat and uninteresting. So, if I was the producer and I could wave a magic wand in that game, I'd commit at least another two years of design and development to build out rich game play mechanics to give the game the proper depth it needs. My prior post was trying to imagine what some of those embellishments could be. I can imagine that the executive producers and investors funding the project probably didn't have much patience left with extending the development timeline further, so the dev team probably faced a lot of pressure to finish what they had and ship the game as is. No producer has a crystal ball and can foresee these kinds of project woes a few years in advance, especially when project requirements are ever changing, and timelines slip, so it's hard to make the correct project focus and adjustments early on. I think there's a sweet spot on just the right amount of procgen, and too much, and not enough. The question to ask is how and when to identify when there's too much procgen and the risk to the project production, scheduling, and opportunity costs. What's the leanest way to get the same effect of procgen with the most efficient staffing vs budget ratio? As you said, designers are cheaper than coders, so it might be cheaper to hire an extra pair of designers to tackle a project need than to assign a few coders to it, but that will also be a function of the scope of the project need. 18 million planets? Definitely want to procgen that stuff if that's what you finally commit to.. But, let's back up a bit and revisit the requirements. Why do we need 18 million planets?! What's the underlying requirement we're trying to satisfy? How many planets could we get away with and have the same design outcome? What's the dollar cost difference? How much time would this cost? What if we do procgen for 50% of the easy stuff, and leave a designer to fill in the other 50%? Or, what if we do a 75% procgen implementation and 25% designer implementation?

I'm not saying "Don't do proc gen at all", I'm saying "Be very careful when you think about the actual time and resource costs this will incur on your project, because your resources are limited and you may do this at a cost to other parts of the game, which ultimately ends in a launch failure like NMS." A producers job is to mitigate project risks, and this is an interesting, new risk to take mitigating steps towards :)

Absolute favorite game dev topic in the world! [WARNING: EXCESSIVE PONTIFICATION INCOMING]

Procgen is incredible not only for the potential multiplying power it gives to developers and the way that it allows offering previously impossible to convey experiences but for the way it makes us think about games. Even after a lot of study, game design is still an art, a bit like fine cooking, filled with recipes that work but for not quite clear reasons and which resist methodical systematization. But the act of decomposing design into code, getting formulas to replicate the designer's voodoo, DEMANDS that systematization. You have to pierce the veil, so to speak, of what makes a game good.

I think the core you have to understand is this: What are the governing systems, what are their interrelations, and what ultimate meaning do they all create for the player? For systems, like defense/damage or risk/compensation, a key question is how they function independently and in conjunction with one another. How can they break, as happens say when defense (like hit points) vastly outstrips damage or rewards pale to risks required? How do they vary (linear & predictable, chaotic, punctuated , exponential?) What expectations does the system create (should players ALWAYS be getting stronger, and if so, by how much?)

The interrelation of these systems is even trickier to get right: Does the defense/damage system negatively impact the risk/compensation system, such that one system runs the other down and causes risk averse play (seen in systems for example where defense is easily depleted and reward too low to reasonably offset the depletion)? Or maybe the opposite, where one system artificially inflates the other and causes careless play that borders on meaninglessness (players constantly spamming their most powerful abilities, for example)?

Meaning versus meaningless itself is I think one of the key non-technical challenges procgen exposes game developers to. The act of providing variety itself reduces the utility of any given thing in the game. It's not simply about how much of what, but how much SIGNIFICANT what the game can depict. Algorithms can easily produce sequences and patterns, but it is a delicate balancing act to generate sequences/progressions which are both useful, anticipated AND unexpected. A simple progression of +1, +2, +3... +999 sword is easy, but finding the +X sword that's just what you need at the right time, right when you need it and which defies previous experiences of getting swords yet is reassuringly (I would argue comfortingly) expected is not just an art but maybe an arcane, mysterious black art!

I think one of the most seductive aspects of procgen is sheer scope/scale. Space games, which have as their subject matter the immeasurable heavens, can very easily fall prey to this. Why 18 billion worlds? Why (as in the original Elite) 8 galaxies each with billions of locations? Because that's what's there and the SF geek knows it, same as the fantasy geek knows that gorgeous, medieval worlds have lush forests filled with countless rocks and bushes and trees. (Anyone remember the days when we couldn't afford forests? Or how Daggerfall's sprite trees gave way to Solstheim's CPU crushing, spartan forests to what we have today? It was quite a struggle for games to catch up to the breathtaking vistas we saw in Lord of the Rings).

Of course as others have pointed out the scope/scale doesn't matter if the core gameplay loop isn't right. Too often scope is seen as a marketing bullet point, a glorified ">" Brand X signifier pushed by folks that don't seem to understand that the "more" has to be meaningful more. Sure the Guinness Book of World Records may laud you for having 17.75 million guns but so what if players really only care about the golden ones? Sure they may praise you for having 5,560 square miles of terrain to drive on, but who cares if its locked behind boring challenges and achievement walls?

All of this gets to the ultimate meaning of the entire experience itself. Who am I supposed to be? Where am I supposed to be going within this sea of content? Why is it all here? What is the ultimate goal, and how do the intermediary goals serve that goal? Scratch the surface of procedural deep enough and you expose the core of what we expect to get out of any given game / genre entirely. Is it supposed to be an asymptotic curve of rising progression? Training for a penultimate fight? A skinner box playing on endless surprise and expectation? An exploration of variation itself, meant only to be witnessed and catalogued?

You might not expect game development to run smack dab into philosophy but allow me to make what at a glance might seem an absurd connection but in reality may be the heart of the matter: Procedural generation, which you could argue is the mathematical simulation of seemingly infinite abundance, in its full expression (not just as a tool to cut costs in a curated experience) confronts players with existential meaninglessness. It exposes them to the semblance of infinity. The sheer totality of the world procgen can introduce players to can be one which cannot be experienced in a single lifetime. There is no conquering it all. There is no inhabiting it all-- as in owning the map or running the entire board.

Give a person wealth beyond measure and nothing to spend it on and see what happens. Maybe they live to acquire more in blind, ritualistic fashion. Maybe they satisfy every possible appetite and wait to die. Either way, existential meaningless haunts the infinite abundance. You can hear it in the question when players ask, "What's the point to all this? What's it all for?"

The underlying ontological representation of procgen can render the player's actions an ink drop in an ocean. What choices REALLY matter? What can possibly matter when any change is swamped by the immensity of it all? How can any tree or patch of ground or even NPC's life matter when there is just so much? Players can only be saved by the almighty designer's validation in the form of some end condition that reassures them that they have 'won.' And even still, that may not be enough. How many have gotten to the center of No Man's Sky? What does it mean to gain the Amulet of Yendor and become immortal in an endless world?

Pushed into more speculative territory, I can imagine procgen 10 or 20 years from now if trends hold. More devs with access to jaw droppingly powerful tools creating more worlds in ever more weirder derivations and variations. All of it creating more corners of unexplored space no human eye will ever see. Universes upon universes visible only to the system itself. The "lost in VR" tropes popular in SF decades ago, simulations filled with a dizzying array of mathematical variation saturating the amygdala over and over maybe don't seem so far fetched now.

--------------------Just waiting for the mothership...
Advertisement

I think, by the way, that roguelikes work because the fail state hovers over everything. Choices become exceedingly significant when any one choice can be your last. The ever-present possibility of imminent discontinuity acts to hold back meaninglessness because survival-- one more step, one more room, one more encounter-- is a never ending fight that seems to embody meaning itself.

--------------------Just waiting for the mothership...

Pushed into more speculative territory, I can imagine procgen 10 or 20 years from now if trends hold. More devs with access to jaw droppingly powerful tools creating more worlds in ever more weirder derivations and variations. All of it creating more corners of unexplored space no human eye will ever see. Universes upon universes visible only to the system itself. The "lost in VR" tropes popular in SF decades ago, simulations filled with a dizzying array of mathematical variation saturating the amygdala over and over maybe don't seem so far fetched now.

If a tree falls and nobody is there to witness it, does it make a sound?

In other words, what is the point of so many permutations if nobody lives long enough to see even 0.001% of all the permutations? You REALLY think that millions of people seeing different permutations is such a big thing in a world where "social" online too often just means "forcing information about what happens in my life on others without caring about theirs"?

How about using all that compute power for more important things? Like making the things the player actually DOES expierience better?

I know this is currently a hot topic, especially with the Indie and hobbyist devs it seems that hope their AAA grade dream games will finally get into their reach thanks to excessive amounts of procgens. Some even dream of the magic button that will generate their game for them.

I say don't hold your breath, but who am I to tell anyone what to expect in 10 or 20 years given the uncertainity of technologcial advancement. All I know is technology will make quite some strides in 10 years, given not another stupid financial crisis and some breakthroughs happening to re-instate Moores law.

But I digress. I think people are again expecting to much and overhyping something, only to be dissapointed in the end. If you just try to bruteforce things with ProcGen, you will get "garbage out"...

The Input still has to be good... well thought out systems that work around the many weaknesses of non-handcrafted levels, items and whatnot.

A clear goal as to how far to take ProcGen... there is no point in 18 billion worlds, or 18 billion different weapons. You should rather keep the numbers down so that EVERY world players travel to feels fresh, and every weapon they get access to feels really different. Not the 1 in 100 chance that you actually get something that is not a rehash of what you have seen or already own, with a tiny spin that is different.

At some point you have to stop and start dissecting that huge mess that is currently all thrown into this ProcGen bucket. If we are talking about ProcGen as a tool to improve a certain gaming expierience that relies heavely on replayability, ProcGen is key in even making this kind of expierience possible. As we see with the roguelikes.

On the other hand, if the valuable part of your game is exploration (see NMS), or Item hoarding (see Borderlands), there are a ton of pitfalls that come with ProcGen. ProcGen could probably cut some development time there, given the system is not taking longer to develop than a meaningful amount of worlds/places or items.

On the other hand, ProcGen can overload the system with so many different, yet in the end meaningless combinations that the result looks like LESS possible options because 99% of them look sameish, or there are huge variances, but in the very tiny amount of examples you will ever get to see, you always end up rolling sameish examples, which isn't an uncommon result at all.

A smaller amount of more distinct examples might leave the player with the impression of a far vaster pool of potential examples, than 18 billion of almost-the-same-but-different. The "18 billion distinct world" sounds impressive to our primitive monkey brain in the ads.... as soon as the human brain starts to think about it, we start to guess what will come out, and how "distinct" these worlds will be.

On the other hand I have seen devs destroy completly not broken systems by overly limiting the resulting combinations.

Like the Borderlands 1 weapons system which was broken from a balance standpoint MAYBE, but come on... it was fun as hell to find a launcher that fired nukes or fired all ammunition in a single shot of ultimate mayhem, even though it rendered the weapon suboptimal. Its a F*cking single player and co-op game, not an MMO or PvP centric game!

Now (in Borderlands 2) we get that retarted boring system in which weapons from a single manufacturer are extremly sameish, save the insane power creep as we go up rarity levels, whole manufacturers being unusable because of their special effects (who though SLOW BULLETS was not a good special effect?), and no cool hidden special effects found in non-oranges.

Clearly gearbox wanted to make the system more predictable, and more transparent. At the same time they wanted to make sure the rarer weapons are always more powerful than the whites and greens, and you do have to work hard for the cool weapons.

Result for me is that I no longer have to test weapons. I don't even have to look at the stats anymore, after some 10's of hours of playtime, you KNOW the stats from looking at manufacturer, weapon type and rarity level. The only real variances are potential elemental effects that are not bound to a manufacturer, and then these only appear for about half of the manufacturers at all.

I no longer equip a weapon and waste ammunition on testfiring it. There are no hidden effects outside of oranges I have to find out. No normal rocket launcher that turns out to fire nukes. No hidden ammo waster that plasters the screen with all my remaining rockets explosions fired in a single shot.

The whole excitement is gone from the system because they tried to balance it too much, for... what exactly? Its still no MMO, its PvP still feels like an afterthought with still glaring imbalances, and the fun in co-op is actually lessened because everyone is just using the optimal build weapon, without any cool hidden special effect mixing things up.

But I again digressed.

If your game can use ProcGen to improve player expierience with a suitably large pool of meaningful permutations of something, great! It will certainly improve the game further.

Just don't:

- make the whole expierience hinge around the 18 billions of <insert name>. If your game sucks duringn the first playthrough, its will suck on the 18 billionth even more.

- advertise the 18 billion <insert name> as if it would add anything to your game. Currently ProcGen is the fad of the day. If you can claim to be the first game with 18 billion "distinct" weapons, or the first game with 18 billion "distinct" worlds, people are all excited for it. They will no longer be if the trend continues, and people find out that behind the ads and the shiny facade, there is not all that much content to find because most games cannot give the ProcGen system a large enough space of variance to make 18 billions really distinct, meaningful permutations of something.

- Try to make ProcGen create anything resembling the "18 billion distinct <insert name>" number in a space where balance is more important than variance. If you cannot let the ProcGen run wild and come up with whacky, and sometimes broken results, you should really think about what ProcGen is really adding to your game in this specific place. Do your really need more permutations than you could probably do by hand (leaving away potential time savings for the dev)? Is your system that had to be limited this much still coming up with enough distinct results? Or could you cut it, replace it with a fixed version, and it would be the same (as all the other generated versions were not that different to start with)? Is it actually making the end result better because you can now properly balance it (instead of having to hack-balance a moving target, like gearbox did with the insane power creep of the higher rarity levels)?

In the end, just as today, ProcGen will shine in certain circumstances, and completly fail, or even unbalance others. No matter how much compute power you throw at this problem. As long as the computer generating this stuff cannot replace the game designer completly and make educated decisions about it (thus yes, at some point you might have thrown enough compute power at it), no algorithm will ever produce a set of "18 billion <insert name>" without the system coming with severe pitfalls.

I feel procedural generation should be broader than just applying to the design of levels. I plan to use procedural generation to generate enemies with different combinations of stats and abilities to an extent. Makes it so you're constantly fighting unique battles. But I don't know if that is called procedural generation or something else.

Mend and Defend

I feel procedural generation should be broader than just applying to the design of levels. I plan to use procedural generation to generate enemies with different combinations of stats and abilities to an extent. Makes it so you're constantly fighting unique battles. But I don't know if that is called procedural generation or something else.

I hope you have a good plan for "procedural balancing"?

Either the deviation you allow the system to do from the average enemy is so small as to render the whole system kinda pointless (meaning player will not even know there is such a system at work without you telling them, and thinking that the system is not working if you do)...

Or you will need one hell of a "balancing system" that makes sure your procedural enemies, most probably arranged into random spawn grouping at random places, are not creating unfair situations for players. Too much of those, intermixed with the other extreme outcomes where you get a group of weak enemies spawn into a location favouring the player (like close combat enemies spawning in a shooting gallery location, separated from the player by a ditch), and players might not see this "RNGJesus" enemy generator as a good thing.

Of course there are countermeasures, and they might be fairly easy to implement. Still, something to keep in mind, and at the end of the day you should ask yourself "with all the hard work done here to keep the random enemies balanced... shouldn't I have gone with fixed enemies, and used the additional time spent on ProcGen Systems on more of those? Or on something else altogether?"

Remember, some people cannot take even a +- 25% on hit rolls and stuff like that without complaining that the game becomes a digital casino because of that.

Advertisement

What are the governing systems, what are their interrelations, and what ultimate meaning do they all create for the player?

What is interesting is that these factors are potentially just as important in games where all the content is hand-made - it's just that there's nowhere to hide if you have chosen to use procedural generation instead of humanly-tweaking all the aesthetics and narrative. I think a lot of designers have known that inventing new game systems is hard, so they tend to reskin old ones with new art, new stories, new content.

So I think that while understanding systems is super-important and is definitely something we need to do more of, it's only tangentially related to procedural generation, as I see it.

Just found this interesting article on procedural generation on Slate - seemed appropriate to this discussion.
http://www.slate.com/articles/technology/future_tense/2016/10/the_paradox_of_procedurally_generated_video_games.html

-- Tom Sloper -- sloperama.com

I think we overlooked a great example of a popular AAA game where procedural generation worked very well, and that was diabolo 2.

The game generated each map using procgen and tied it to a predefined dialogue and set of missions. E.g. Each instance of the first act must have a field where the boss is, a cave where the first serious encounter was, but it was open ended from an appearance standpoint.

Every play through was different in appearance and new to try and beat although the plot was the same.

I for one loved that about the game...

This topic is closed to new replies.

Advertisement