• Sylvartas@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    16
    ·
    1 day ago

    I respect the hustle, but as a professional gameplay programmer : the fuck did you expect ? Piling systems upon systems does indeed increase the game logic’s complexity exponentially. Probably a big reason why there are so few (good) immersive sims even though it’s quite the popular genre.

  • “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
      17
      ·
      1 day 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
        9
        ·
        1 day 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.

    • Sonotsugipaa@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      24
      arrow-down
      2
      ·
      2 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
        28
        ·
        2 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
            12
            ·
            1 day 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
                2
                ·
                1 day 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.

      • AmosBurton_ThatGuy@lemmy.ca
        link
        fedilink
        English
        arrow-up
        6
        ·
        1 day ago

        I made a tower defense map in the Starcraft map editor when I was a kid , but it was based off of anti air rather than anti ground like the other TD maps at the time. I got it working pretty damn well (at least IMO) but I didn’t have internet at the time and that was on my dads work laptop so it sadly got lost.

        I don’t think I could recreate that now if I tried, crazy what you can do as a bored kid with too much time.

        • Paradachshund@lemmy.today
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 day ago

          That’s cool! I made tons of stuff but most of it never got finished or released cause I just kept starting the next thing. Probably the wildest thing I ever made was a prototype for a sidescrolling platformer in wc3. It had keyboard movement and ability usage, jumping, a heart counter in the top left, enemies, powerups… It was kind of janky but it worked surprisingly well considering what I built it in.

          • AmosBurton_ThatGuy@lemmy.ca
            link
            fedilink
            English
            arrow-up
            3
            ·
            24 hours ago

            God damn, that sounds awesome! Those map editors were seriously impressive for their time, so many cool things you could do with them. I also liked making “campaign” maps but with hero units and harder AI (SC base ai was too easy but you could set it to be harder through the map editor) or those “maze” maps where you have to keep the units you start out with alive through a bunch of different encounters.

            Ahh good times!

            • Paradachshund@lemmy.today
              link
              fedilink
              English
              arrow-up
              3
              ·
              23 hours ago

              For real. I had a project to make two full since player campaigns and it was waaaaaay too ambitious. I’ve always been hopelessly ambitious with game dev stuff and I still am honestly 😅

              So fun to hear everyone chiming about doing this back then.

          • o the memories lol.

            <3 both of u. I was Pixie_Tails on US east and west and in one of the big mapmaking guilds on east. I look back and think wc3 was the mentally healthiest part of my childhood. My most fun thing was a game like dota but with a huge natural map and a minute at the start for everyone to choose their castle locations. Like you could choose to be on a hill, along a river, etc. Then there were diff biomes to choose your hero from and the hero choices spawned like pkmn and there were rares. and choosing base unit types. then it became like dota where units spawned at castles and attackmoved to other castles. Was epic.

            My weakness was unit and ability balancing since it didnt interest me so i never did it.

            anyway, we thought up and made these as kids. i think that’s the coolest thing

            • Paradachshund@lemmy.today
              link
              fedilink
              English
              arrow-up
              2
              ·
              23 hours ago

              That’s so cool sounding too! I made so many half baked ideas honestly. Tower defenses, single player campaigns (way too ambitious ones), and so many more. It really taught me a lot about proper game dev honestly.

    • Kaldo@fedia.io
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      2 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
        4
        ·
        1 day 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
          4
          ·
          1 day 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

    • Tony Bark@pawb.socialOP
      link
      fedilink
      English
      arrow-up
      17
      arrow-down
      4
      ·
      2 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
        20
        arrow-down
        8
        ·
        2 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?

          • catloaf@lemm.ee
            link
            fedilink
            English
            arrow-up
            6
            arrow-down
            2
            ·
            1 day ago

            No, that’s how it was intended, and how most people read it.

            • Eyck_of_denesle@lemmy.zip
              link
              fedilink
              English
              arrow-up
              2
              arrow-down
              3
              ·
              1 day ago

              Some lemmy users really love getting mad xD. Can’t believe I thought I would say this but reddit gaming subs are not this bad. Idk if it’s just me but It doesn’t excite me to check the comments anymore.

        • 3DMVR@lemm.ee
          link
          fedilink
          English
          arrow-up
          21
          arrow-down
          4
          ·
          edit-2
          2 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

        • Tony Bark@pawb.socialOP
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          4
          ·
          2 days ago

          You have to have a certain amount of bravery and humility to program because failure is with you at every step of the way. I know. I do this shit as a hobby.

    • shalafi@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      2
      ·
      1 day ago

      Bravery is doing a thing that scares the hell out of you. The reckless part is being brave when it’s foolish. He’s saying he was foolhardy. Probably doesn’t know the word exists.