let it leave me like a long breath

let it dissipate or fade in the background

(no subject)

Profile

xax: purple-orange {11/3 knotwork star, pointed down (Default)
howling howling howling

Nav

  • Recent Entries
  • Archive
  • Reading
  • Tags
  • Memories
  • Profile

Tags

  • art - 2 uses
  • asteroid garden - 4 uses
  • code - 19 uses
  • demos - 1 use
  • dreams - 5 uses
  • ff7 fangame - 23 uses
  • fic prompts - 13 uses
  • gamedev challenge - 82 uses
  • hell game - 76 uses
  • nanowrimo - 11 uses
  • plants - 9 uses
  • process - 52 uses
  • programming - 51 uses
  • screenshots - 5 uses
  • writing log - 83 uses

May 2025

S M T W T F S
    123
45678 910
1112131415 1617
18192021222324
25262728293031
  • Nov. 27th, 2017
  • xax: purple-orange {11/3 knotwork star, pointed down (Default)
    [personal profile] xax
    posted @ 01:24 pm

    i've been working on a bunch of ~procedural generation~ stuff recently, so let's go ahead and talk about why procedural content generation is bad and boring. i think even the lay person has an understanding of the repetitiveness of most procedural algorithms -- everybody got their hopes up for no man's sky, etc -- but it's possible to be at least a little more precise as to the reasons.

    procedural content generation is all about reuse. you make some assets (models, text, world geometry, etc) and then you permute them in different combinations to get a really big set of options, and then you go "check out how many combinations this has; that's so much content." the problem is, different combinations aren't necessarily meaningfully distinct, and frequently none of the combinations are meaningfully distinct.

    like, using my procedural recombination generator, you have text snippets like... he's a <brawny | lean | fat> <green | red | black | blue> <orc | troll | goblin | ogre | imp>, with <lots of scars | lots of tattoos | one eye> and a <knife | sword | bow | staff>., which you could use for random monsters or npcs or whatever. there are, if you do the math, a total of 720 different combinations -- it's 3 * 4 * 5 * 3 * 4, since those are the numbers of each option -- except, since each individual option only has five choices, it's possible to see each individual option with a set of five (a brawny green orc, a lean red troll, a fat black goblin, etc). the 'uniqueness factor' there is 5/720, or 0.694% -- after you've seen around half a percent of the total domain, you've seen every option, and all that's left is seeing new permutations of stuff you've already seen.

    the thing is, adding more options literally makes that number go down -- the number of combinations goes up faster than the number of component parts. so the only way you can make that percentage higher is by making things less procedural. if you have twenty handcrafted designs, each really unique and distinct, then you only start seeing repetitions at 20/20, or 100% of the way through. procedural generation is fundamentally about asset reuse.

    now of course this is a very simple example, and there are games with complex enough systems that turn that repetition into a virtue. ultima ratio regum does things like "every town in this civilization will have the same style of decoration", and so you can do things like figure out who controls a given town by looking at the flagstones and fences, even if you don't know the language. this is basically saying, "okay you're going to be seeing a lot of flagstones, and they're going to all look more-or-less the same, but even if they look the same, you can learn things about the world by understanding what you're looking at."

    the other thing is, humans are kind of pattern-recognizing engines. it's what we do. and once somebody's seen "he's a fat green orc with lots of scars and a knife" and "he's a brawny blue imp with one eye and a bow", they'll probably have a pretty good sense for how the descriptions vary, even if they haven't seen all the other combinations. each individual item hasn't been seen, but the overall structure of the generator has been, and so you more-or-less instantly run out of things that are new and novel.

    (there's a reason why some of the most successful games that use procedural generation use it to provide a generic corpus for the player to operate on: the dungeons in the diablo games aren't interesting in themselves, but they're sufficiently non-repetitive to make dungeon crawling interesting; the landscape in minecraft is extremely repetitive on the large scale, but they mostly exist to provide raw materials for the player to build things; the map in dwarf fortress is also mostly just a set of raw materials and horrible monsters to provide fun for the player.)

    but the ultimate point here, is that things like "procedural quest generation" or "procedural storyline" are... not 'doomed to failure', but much more complex than just slapping a few character archetypes into a plotline structure. part of what makes human storytelling interesting is unique flourishes, and a simple recombinatory generator (like what i'm using) is literally incapable of generating uniqueness.

    there's always this dream of the forever game -- the thing people thought no man's sky was going to be, and the thing fable was originally pitched as: a complex, complete fantasy world, where you can go everywhere and do everything. that seems to be the dream people have for procedural generation. and the thing is, when people do try to make it, it's very rapidly clear that simplistic procedural generation runs out of steam.

    blah blah blah

    anyway while writing this post i discovered that the anti net-neutrality comments all over the fcc's rfc exactly fit the template of my generation engine (which is to say, a really simple and dumb combinatorics generator) so it's like, okay this isn't sufficiently useful for creative purposes but it IS enough to astroturf so giant corporate/governmental industries can justify their horrible actions. isn't that how it always goes.

    • Previous Entry
    • Add Memory
    • Share This Entry
    • Next Entry
    • 5 comments
    • Reply
  • Flat | Top-Level Comments Only
    • snao: (Default)
      [personal profile] snao
      posted @ 02:14 am (UTC)

      no subject

      I read it! Even though it's not all that special, I almost feel like having procgen quests come from a prescribed point of view would help it approach a more lifelike feel.
      Like traits attached to people or places the same way they usually set up trade route systems and cause them to fluctuate, but also by introducing other player-like actions into it, like how the player can completely mess up a market.. have other NPCs do that and be discovered and spoken to.

      Or things like Fallout4's ~radiant~ quests be more affected by.. say... settlers' preferred needs, drug use, levels of comfort/fear, that would then alter their demands and stuff.

      • Link
      • Reply
      • Thread
      • Hide 4 comments
      • Show 4 comments
    • xax: purple-orange {11/3 knotwork star, pointed down (Default)
      [personal profile] xax
      posted @ 03:21 am (UTC)

      no subject

      i think the thing that people kind of forget about is... that procedural generation doesn't get mechanics for free? like if you want there to be procedurally-generated trading interactions, trade routes, etc, the content of those things can be randomly generated, but the framework has to be made by hand. so you can add procedural economics to a game, and then use that as a system, but economics aren't just going to spring fully-formed from some basic procedural framework.

      (spoiler part of why i made this post was that i saw somebody on the coc forums posting like 'i am an ideas guy and i want people to make a game for me':

      I want to create a game, but I only have a vague idea of where to start. I know for a fact hat I'll need people willing to volunteer their time to help, the simple fact is that I have no practical skills that I can contribute.

      The game itself will be a sandbox no real goal just do what you want. The setting is going to be in a persistant world, with a large variety of biomes to explore, villages, towns and cites to visit. I'm thinking of a random quest generator, so that you can always have something to do and every npc could potentially have a quest. I'm thinking of doing the game in a similar aesthetic style to dwarf fortress, and I really like the idea of a random world generator. I want a genetics system in place, so any child born in game will be a mixture of it's parents. I want a time system, so that it feels like time passes, from days to months, to years, to centuries, and the world around will change accordingly. I want a political system in place, with random kingdoms, races, and cultures, for instance your character is a wolf morph born in a kingdom with modest values, but decides to travel to another kingdom, only to find out that the new kingdom is highly sexualized, with different laws and punishments. I want a generational system in place, kind of like phantasy star 3 where you can take on the role of your child and play through their life if you wish. I want a random event system similar to rimworld in which the game will give you random problems that can be solved in any number of ways. You can travel the roads, the mountains, the forests, and meet a number of randomly generated NPCs, from simple travelers to marauding bandits. I want every action you as a player make to be able to influence the world around you. You could become a dark wizard and raise an army of monsters to take over the world, you could be a peasant and seduce a member of royalty and either live happily ever after, or manipulate your way to the top and take over the kingdom, and change the face of politics the world over. Really anything you want to do you theoretically could.

      These are just the basic ideas that I have but like I said before I have none of the skills necessary to even start it, so really volunteers with the appropriate skills would be helpful.


      which is like, actually the thing is any one thing on that list isn't that difficult to do? it's just that it would be garbage. and the thing with 'every action would influence the world' is that that doesn't come for free. you want pcs to be able to burn down a forest accidentally, well, okay you need fire physics system and you need to have the world system acknowledge fires as things that get simulated on some higher level even when the pc isn't there, and you'll have to code in some systemic awareness that biomes can shift in the world due to factors, etc etc etc. basically that you can get procedural content fairly easily, but categories of procedural content have to be made by hand and interlinked manually, and that can be really tough.)

      • Link
      • Reply
      • Thread from start
      • Parent
      • Thread
      • Hide 3 comments
      • Show 3 comments
    • snao: (Default)
      [personal profile] snao
      posted @ 03:28 am (UTC)

      no subject

      Right, I didnt think of it on a very granular level. Like, creating an AI system that interacts with the world in the absence of the player was the thing I underestimated too much.
      Since, normally these systems (like economics) just slowly rubberband back to their normal range after the player breaks the supply-demand along a particular route...

      Also lol @ the endless game guy quote there.

      • Link
      • Reply
      • Thread from start
      • Parent
      • Thread
      • Hide 2 comments
      • Show 2 comments
    • xax: purple-orange {11/3 knotwork star, pointed down (Default)
      [personal profile] xax
      posted @ 07:45 pm (UTC)

      no subject

      well, it's not so much rubberbanding back to defaults, it's like...

      okay so let's say you have a fairly robust economic sim tied into your world, and you can have trade caravans and move stuff around, and there are a bunch of AI trade caravans that also move stuff around, and all that determines what goods are available where and what their cost is.

      but if you want that to touch any other aspect of the game, you need other systems: if, say, there's a glut of formerly-rare silks and jewels, and their cost goes way down, maybe you should see more people wearing clothes and jewelery made from them. but then you need to make a procedural clothing/fashion system, and hook it up to various trade materials, so clothes of x type show up in relation to how cheap trade good y is. if raw magic crystals become really cheap, maybe that would make enchanting services really expensive? but then you have to pull categories of enchantment into the economic simulation, and also make 'enchanted clothes' a thing people wear. if an entire town's market collapses, maybe that should add to unrest? but then you need to be simulating social unrest too. and so forth and so on -- having an economic simulation lets you do a lot of things, but it's just an economic simulation, and there's all sorts of stuff that escapes its scope.

      • Link
      • Reply
      • Thread from start
      • Parent
      • Thread
      • Hide 1 comment
      • Show 1 comment
    • snao: (Default)
      [personal profile] snao
      posted @ 12:03 am (UTC)

      no subject

      Yeah, I was only thinking in terms of like.. the typical boring stock market sim thing.

      Extending it out into the world in terms of decor sounds amazing though. I'd never considered it as a dynamic option. Since yeah, that's left to art or whatever usually. "miners have mines" already

      • Link
      • Reply
      • Thread from start
      • Parent
    • Previous Entry
    • Add Memory
    • Share This Entry
    • Next Entry
    Flat | Top-Level Comments Only
Page generated Jun. 8th, 2025 10:02 am
Powered by Dreamwidth Studios

Style Credit

  • Style: (No Theme) for vertical