• “Now, I understand why so few companies have attempted to develop a life simulation game. The challenge isn’t just additive the more you try to build—it’s exponential. At a certain point, finding bugs in this vast world we’ve created feels like playing tag with invisible ghosts.”

    He’s not bragging; it’s honesty. I’m thankful he is sharing the experience. I know totally what he’s talking about. I remember trying to make a simulation of reality in the wc3 map editor in elementary school. Add the weather so the plants grow. Tie growth variables also in to deer eating them. wolves eat the deer. So everything needs hunger variables. But already we start having the ‘exponential growth’ he is talking about: because what about the Weather and the Deer? And the Weather and Wolves? Add aspect of the world for one type of object (weather for plants), and suddenly you have to figure out how or whether it relates to everything else you have (Deer and Wolves). Now let’s say we add villagers and Structures. Every time we add something, we have more nodes to consider the interrelations of.

    It’s easy when there are few systems and few types of things (like a cardgame of creatures with atk and def), but it escalates quick and does exactly what he’s saying the more systems you try to accurately include and farther toward ‘full life sim’.

    So im just a noob, but I see clearly this is what he is conveying to us. (probably cuz i tried a similar path in elementary school. if i remember correctly i ran in to this same issue, scale was too big too big project and i switched to something else. it exponentialed quick; just like he says)

    edit: i bet he wasnt brave as much as did not forsee the exponentialness aspect and wanting to aim high caused him to fall in to it

    • Echo Dot@feddit.uk
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 days ago

      I’ve read from a few people who’ve done similar sorts of things that the solution to this problem is to just have everything track everything to begin with. Hunger level, heart rate, mood, everything you can possibly think of to track, and then just have everything else inherit from that global class. A lot of the values will be zero for some objects, but that’s okay, after all a storage crate doesn’t need a mood, both at some point in the future maybe you want to add an emotional box, and your code will definitely handle it now. Otherwise you have to go back in and alter everything every time you make a slight change.

      • rhombus@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 days ago

        A more complicated but ultimately faster approach is using a structure like an Entity Component System. You build an entity (deer, person, plant) out of components that are just data (health, hunger, mood), and then each type of component has a corresponding system that updates all the components at once based on other values. It’s somewhat similar, but you save space on unnecessary components not being added, and it packs the data together in way that is faster for the computer to iterate through.

    • Kaldo@fedia.io
      link
      fedilink
      arrow-up
      1
      ·
      5 days ago

      Making a system like this one day is my dream. I’m not in game dev and I’m probably never going to make a playable game but I naively believe that if you organize this well enough in advance, the moment it starts clicking together would be amazing. If you define all the individual actors in a flexible enough way, eventually the simulation should just ‘click’ and start functioning on its own, right? :P

      For example, you dont need to code the specific wolves+rain interaction - you just need to code “if vulnerable/tired - find shelter” and have rain affect the living creatures in that way. It doesn’t matter if there are deer or sheep in the area, “if wolf hungry” logic should just say “find something with meat to eat nearby”.

      Then again I know enough about programming to know this is extremely naive and it’d probably be a million times more difficult if I ever got around to doing it. I don’t even know where I fall on the dunner-kruger graph yet, but it’s an interesting thing to think about for me.

      • Echo Dot@feddit.uk
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 days ago

        According to the dwarf fortress developer the hard part isn’t the code exactly it’s the graphics which is why he doesn’t bother with them.

        • Kaldo@fedia.io
          link
          fedilink
          arrow-up
          1
          ·
          5 days ago

          Oh I empathize with that. I tried unity/godot and code part would always be fun and easy, I love that… models, assets, animations break my brain however. I wish I could just not bother with them but it’s such an important part of the experience, arguably the most important one

    • Sonotsugipaa@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 days ago

      So everything needs hunger variables

      T̸h̶e̴ ̷f̵o̶g̴ ̷w̴a̷s̴ ̸h̸u̵n̵g̴r̸y̸,̸ ̶i̴t̷ ̵a̸t̶e̵ ̵t̷h̵e̶ ̸w̴o̸l̷v̷e̸s̴

      • Maestro@fedia.io
        link
        fedilink
        arrow-up
        1
        ·
        5 days ago

        Dwarf Fortress goes that deep. They once had to fix a problem where cats died from alcohol poisoning. Dwarfs in a bar would spill their drinks, the cats would walk through the puddles and subsequently lick their paws to clean themselves. It’s crazy!

          • Echo Dot@feddit.uk
            link
            fedilink
            English
            arrow-up
            1
            ·
            5 days ago

            Yes that was the bug. After all it makes sense that cats would clean their paws and get a bit of alcohol in their bodies. Kind of bizarre to think though that the system was sophisticated enough to track grooming behavior but not quantity.

            It really goes to show how stupid computers actually are. They just follow your instructions regardless of how insane they may be

              • Adalast@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                ·
                5 days ago

                Reminds me of Rimworld and the fact that, if there is no other accessible entities on the map with a nutrition stat, children and animals will b-line for booze that raiders drop and get hammered. I can’t count the number of Muffalo, dogs, and cats that I have had which end up with an alcohol tolerance hedif out of nowhere.

    • Tony Bark@pawb.socialOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 days ago

      Games are very difficult software to create. The only reason publishers like EA or Ubisoft can get away with pumping theirs out at an rapid (and unhealthy) pace is because they have a massive team

      • Cruxifux@feddit.nl
        link
        fedilink
        English
        arrow-up
        0
        ·
        5 days ago

        You have to understand that telling other people how brave and cool you are makes them think you’re an idiot though, right?

        • 3DMVR@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          5 days ago

          Hes not praising himself, I was recklessly brave going into the lions den, isnt prasiing yourself, its admonishing yourself, like you took on some insane challenge without thinking

      • Keeponstalin@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 days ago

        To be fair, at least No Man’s Sky followed thru with all the updates down the line. Should’ve launched like that, but at least they added it all for free after the terrible launch