• Sanctus@lemmy.world
    link
    fedilink
    English
    arrow-up
    40
    ·
    edit-2
    4 days ago

    I’ve read its hard to make one of quality, with all the interactions that have to happen between systems and entities.

    • mic_check_one_two@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      23
      ·
      edit-2
      3 days ago

      The way The Sims does it is actually pretty interesting. The individual sims have very little behavioral coding involved. They’re basically just monitoring their individual needs. The vast majority of the objects contain “advertisements” that they broadcast, and the sims can simply look for nearby advertisements to decide on what to do.

      Basically, you have a sim. They are simply listening to advertisements that are being broadcasted by the objects around them. Maybe the kitchen sink says “Clean +3” while the shower says “Clean +7”. If the sim’s cleanliness meter is low, they’ll check for local “clean” advertisements and choose one. As their needs get lower and lower, they’ll be more likely to pick stronger advertisements. So a slightly dirty sim will be likely to choose the sink, but a very dirty sim will choose the shower.

      Then once they get to the chosen object, the object basically goes “okay, here’s how to interact with me”. The sim simply pulls from that pool of interactions for the specific object. There may be flags for specific interactions based on certain conditions, or certain traits that make a sim more likely to choose one object over another. For instance, if your sim is a witch, they may have specific magical interactions available. Or if a sim has the Active trait, they may be more likely to choose fitness-based advertisements.

      This makes adding expansions very easy. You don’t need to do a ton of coding for individual sims, to “teach” them how to use new objects. You simply add new advertisements to the objects you’re adding to the game, and make sure your interactions are properly flagged for the various conditions that can exist. And now those objects can be dropped directly into existing save files without any fuss.

      Worth noting that this advertisement system is what caused the infamous “my sim is using the bathroom sink to wash dishes” complaint that plagued the series for so long; the bathroom sink was nicer than the kitchen sink, so it had a better advertisement. The sim wasn’t looking at advertisements based on why they needed a sink. They just knew they needed a sink to wash dishes, and picked the one with the strongest advertisement.

      • Sanctus@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        3 days ago

        Thats an extremely cool design for this system to be honest. But it still sounds wildly complex even with all of it shifted away from the Sim and into the advertising objects. That washing dishes in the bathroom issue seems like it could very easily become a common problem if you aren’t paying attention to assigned advertising values. Which I’d imagine if you’d just match the bathroom sink value with the kitchen it might fix some of it, but not the ones who happen to walk by the bathroom with a dirty plate. So I still see why they aren’t more common. Thats a lot harder than say a platformer or something that we see a dime a dozen nowadays.

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

            That’s actually exactly what they did to fix it. They now allow you to flag sinks as bathroom or kitchen sinks, which simply controls whether or not the dish washing function can be accessed.

          • Sanctus@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            3 days ago

            Its not dish washing, its “Clean +4” or something. So it sounds like you’d either have useless bathroom sinks or people washing dishes in them from time to time with the decided upon architecture.

            • lightnsfw@reddthat.com
              link
              fedilink
              English
              arrow-up
              3
              ·
              3 days ago

              There’s more to it then that. There’s a bunch of different “clean” activities. Washing dishes, showering, washing hands, etc. Different objects can do different things. For example you can’t wash a dish or take a bath in the shower which is a “clean” object. To wash a dish they have to have a dirty dish to do so, meaning it’s a separate activity from other things you might do with the bathroom sink.

              • Sanctus@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                ·
                3 days ago

                It may be that way now. But it still sounds like at first they didnt account for much differentiation between the kitchen and the bathroom sinks if that was an issue they had for a while. Admittedly I haven’t played since Sims 2. But it was a problem when I was all into Making Magic.

                • lightnsfw@reddthat.com
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  2 days ago

                  they didnt account for much differentiation between the kitchen and the bathroom sinks.

                  Right which Is why I said they needed to differentiate them. Someone else responded to say that’s what they ended up doing in later games.