The Genius AI Behind The Sims

1.03M views3501 WordsCopy TextShare
Game Maker's Toolkit
🔴 Get bonus content by supporting Game Maker’s Toolkit - https://gamemakerstoolkit.com/support/ 🔴 ...
Video Transcript:
The Sims is a digital dollhouse,  filled with little computer people. And it's your job to keep  them alive, keep them happy, and keep their house furnished  with ever more expensive trinkets. But micromanaging the needs and desires of  an entire family can get pretty tedious.
So the developers at Maxis soon realised that they'd need to give these guys  a certain amount of autonomy. Free will. The power to think for themselves, if  the player stops giving direct commands.
Which is actually. . .
a pretty complicated task! These characters  need to read as believable humans. And they need to be able to adapt to any  possible house you build around them, or any social situation they find themselves in.
And - crucially - they can't be so smart that  the player can just sit back and do nothing. So how do you make a video game  AI that can do all of that? Well, that's what I want to explore in this video.
I'm going to break down the clever ways that Maxis  designed autonomy in this four-game franchise - though with a focus on the original game, and - let's be honest - the  best one, which is The Sims 3. It's not going to get too technical, but there is a metric buttload of resources  in the description if you want to dive deeper. With that out of the way, I'm Mark Brown, this is Game Maker's Toolkit,  and here's how The Sims.
. . think.
Okay - decision making in The Sims  is all driven by a set of mental and physical needs - dubbed "motives", by Maxis. In The Sims 1 that's hunger,  hygiene, fun, energy, bladder, social, comfort, and room, or tidiness. They all go from negative 100 to positive 100, and if you combine them all, you get  the Sim's overall level of happiness.
These meters are constantly ticking down -  each decaying at slightly different rates, and faster if the Sim is  performing a related action. The bladder meter drops more quickly  when the Sim is eating, for instance. Maxis carefully tuned all of these  rates to hopefully match a normal human schedule - like needing eight  hours of sleep, and three meals a day.
So. If the player doesn't give the Sim  a command, it will decide what to do by itself - and that decision is driven  by a desire to fulfil these motives. Now you might assume that a Sim  knows how to meet its own needs: that a toilet will solve bladder,  that fridges and stoves solve hunger, and books, TVs, and pinball tables solve fun.
But it doesn't work like that -  it's actually, the other way around. Instead, all of the objects in  the Sim's house contain this data, and will broadcast what they can offer. A bed will say "sleep on me to get 10 energy", a toilet offers plus 20 to bladder if you  use it, or plus 5 to room if you clean it.
And other Sims will offer themselves  as a way to top up social points. Maxis calls these "advertisements". So.
Whenever the Sim decides what to do, it quickly makes a list of every object  in the house - and what they can offer. The Sim can then take that advertised number  and weigh it based on its current needs. It does this by applying a  multiplier to the promised score, based on the Sim's current motive levels.
For example, if the Sim is well-rested,  the bed's energy-boosting score is damped down - but if the Sim is knackered, then  that same score is boosted dramatically. Now, the Sim can take the list of interactions,  and their weighted scores, and rank them. At the top of the list is the interaction that  will give the most benefit to the Sim right now.
. . and so the digital dude should do just that.
This clever system was actually inspired by one  of designer Will Wright's previous games: SimAnt - a virtual ant colony where the critters would  be tempted to move by attractive pheromones. It's basically the same idea  - but instead of pheromones, its TVs, fridges, pinball machines, and bath tubs. However - people aren't ants.
And so if this was implemented  exactly as I just described, it would lead to weird behaviours that make  Sims seem either robotic or irrational. So, many careful tweaks are  needed to make it work properly. For instance, not all needs are equal.
If a Sim is both starving  to death and utterly bored, they should probably eat a  sandwich rather than binge Netflix. But if the fridge and TV are  both offering the same reward. .
. which should The Sim pick? Well, more rational behaviour can be achieved  by defining unique curves for each motive.
For hunger, we want a curve like this:  now, the fridge's score will be reduced to almost zero when the Sim is full, but will  be extremely high when the Sim is starving - making that more important than any other motive. Similar, smaller curves are used for the  other physiological needs like bladder, hygiene, and energy. However, less important needs like fun, social, and comfort actually increase  as the Sim becomes more happy.
This was inspired by Maslow's hierarchy  of needs, which says humans will focus on cognitive and social tasks only when their  more basic lizard-brain needs are met. Plus - while peeing will satiate your  bladder, you can never have too much fun. We can also weigh the scores  based on other factors, too.
For instance, each Sim has its own  personality - based on their score in areas like niceness, neatness, and playfulness. So while a pinball machine and a bookcase  might advertise the same boost to fun, a Sim will weigh this based  on their level of playfulness. Therefore, a more serious Sim  will choose to pick up a book.
Plus, we can weigh the interaction based on its distance from the Sim - which will  make nearby objects more tempting. Finally, some interactions can override everything  - like a telephone call or a school bus. And other interactions can  be locked entirely - so, certain objects won't advertise themselves  to kids, or adults, or a visiting guest.
All of these factors combined  give us a much more useful score, which has been adjusted to the different  needs, personality, and proximity of the Sim. And it's from these scores that  the Sim's next move is picked. But - perhaps most importantly of all - the Sim doesn't actually choose  the best option every time.
Instead - the Sim picks one of the  top scoring interactions. . .
at random. This stops the Sims from feeling  robotic and overly predictable, and it also means they're not able  to fulfil all their needs perfectly. Which, you know, actually gives  the player something to do.
What I've just described is a special type  of AI called utility AI, or needs-based AI. This is a system where a character  has a predefined set of needs, then looks around at its current options, and  picks the one that will fulfil its needs best - the one with the most utility. And in The Sims, it means a little person can be dropped into any house and will  then act in a lifelike manner: carefully attending to its  hunger and energy when necessary, but socialising and having fun when not.
Plus, by putting the information  on the objects, instead of the Sim, it's really easy for Maxis to add  hundreds of objects to the game - or make endless expansion packs -  without touching the rest of the code. And so for these reasons, this basic system has  been used in all four games in the franchise. But, Maxis wanted to take things even further when  making the ambitious third game in the series.
Okay, so, in The Sims 1, we saw how  each Sim's personality - like their neatness and playfulness - would  impact their decision making. This would make each Sim feel somewhat distinct. But for The Sims 3 this idea  was expanded dramatically by swapping the personality meters with traits.
Things like neat, neurotic, heavy  sleeper, and commitment issues. With five trait slots, and 60-odd  traits in the base game alone, that's about 5 million possible Sims -  effectively making every character unique. Now these traits have many impacts on  the Sim - like, how a clumsy Sim will trip themselves up while walking, and  a slob will fart and burp while idle.
Sims also get bonus moodlets  for acting to their traits - and there are certain interactions that are  exclusive to Sims with certain traits: like how a computer whizz can  make cash through hacking. But these traits also impact  on the Sim's decision making. This time, however, instead of weighing  the scores against the Sim's personality, the Sims 3 actually just adds  more motives to the pile.
So, in the code, every Sim has their  usual basic needs, like hunger, energy, and bladder - but also five more  motives related to their traits. Therefore a couch potato needs  to sit on the sofa and watch TV, just like how they need to pee, eat, and sleep. And then, in the same way that a fridge  advertises itself as a fix for hunger, objects can advertise themselves as a  fix for the Sim's trait-related motives.
For instance, interactions like scare a Sim,  steal candy from a child, smash a dollhouse, and write a trolling comment on the computer  are all advertised to Sims with the evil trait. This means that Sims are encouraged  to enact their unique personalities autonomously - while also juggling  their standard, everyday needs. Now this idea - of adding additional motives to a Sim - can also be used to  simulate social situations.
For instance, if a Sim enters a gym they  will temporarily be given the additional motive "be in gym" - which is satisfied by  objects like a workout bench or treadmill. When they leave, the motive is removed. Back at home, a Sim will be motivated to act as a hospitable host for as long  as they have guests around - meanwhile, the guests will be motivated to  act in an way that's socially acceptable.
And in The Sims Medieval, a Sim  is given work-related motives while they're on the clock, and  then loses them during breaks. However: these motives can  also be affected by traits. For example, if a Sim sits down to have a picnic, then the Sim's friends and family are motivated  to join them - while strangers are discouraged.
But a Sim with the "inappropriate"  trait will override this - and they will in fact be motivated to  sit with people they don't know. Just to make them feel uncomfortable. All of this means that Sims will act naturally and  believably in whatever location they end up in - but with a few Sims standing out as acting  unusually, because of their unique personality.
And this is all done by simply tweaking the Sim's motivations - rather than hand-scripting a  bunch of specific rules and interactions. Though, that being said, sometimes  you do need more hard-coded rules. Take that house visit I mentioned.
A visiting sim is indeed motivated  to act in an appropriate way. But what happens if they stay for too long? Or if the player steps in and makes  the Sim act inappropriately?
Well, to make this work, the house visit is overseen by a set  of rules that dictate social norms. So if a Sim sleeps in the host's  bed or uses their computer, the ruleset will instruct the host to warn the Sim, and  then kick them out if they go even further. Likewise, conversations need  more hands-on authoring to reflect extremely specific pair-ups of  people, or super distinct social cues.
For example, how should a Sim respond to  a joke if they are steaming mad at the joke teller? Or if the other Sim has  said the same joke 5 times in a row? This is done through a series of rules - with  an input, a set of conditions, and the output.
So for that joke I just mentioned. . .
if the listener has the 'good sense  of humour' trait, they'll laugh. If their long-term relationship  is sour, they'll be insulted. And if the Sim repeatedly tells  jokes, the listener will be bored.
These so-called "production rules" are ranked in  order of specificity, as defined by the designer, and the top-scoring outcome  is used to pick the response. Maxis ended up writing 1000s of hand-crafted rules to determine the outcome of 100s  of possible conversation topics. But, because the rules just go in a big  stack and the most specific one is picked, they can't clash, break the game, cause an  infinite loop, or lead to any other issue.
Just like with the objects, designers can  simply keep adding more and more to the pile. So far, I've been talking about individual Sims, or small social situations  like a conversation or a party. But what about simulating an entire  town's worth of little people?
You see, in The Sims 3, your house  exists in an open world neighbourhood with dozens of other Sims, and features  homes, restaurants, a park, and so on. Maxis needed to invent new tools to  make all of this work - but, in truth, the neighbourhood actually operates in  a similar way to the Sims themselves. That's because the town  also has a bunch of motives, and will make choices that  will help it fulfil its needs.
For instance - it ideally wants to  maintain a 50/50 gender balance. So when a new Sim is added to the neighbourhood, the probability of it being male or female  is weighted by the current needs of the city. It also has a desired employment  rate of about 80% - so it can force background Sims to get hired or fired as seen fit.
Basically - once a day, at midnight, the  town will check its own happiness level, and take a few actions in  order to satisfy its needs. The individual lots have  motives too - for instance, the restaurant may wish to have roughly 8 people  eating outside, during lunch and dinner hours. To achieve this, the lot will temporarily give the "eat outside" motive to a bunch of  Sims to tempt them to the restaurant.
It can even narrow the focus to  Sims with certain traits - like culinary - and discourage those  with other traits - like frugal. Now, these Sims that appear at the restaurant  seem like fully autonomous characters. They have needs, they have families, they may even have had a baby and  changed job since you last saw them.
So are they are actually living out their  own little simulated lives, just off camera? Well, not quite. The background Sims are actually  simulated at a very low level of detail.
Each day, the system looks at each Sim, and scores possible big life  changes that could happen to them - like getting a job, falling in love  with someone, or getting married. These are, of course, weighted using things like  traits, existing relationships, and career paths. Also, the designers created  charts for what a Sim's needs will likely look like throughout the day.
If it's just after lunch, for instance,  they're probably not going to be very hungry. And so when a background Sim is  promoted into being a foreground Sim, because they're in proximity to the player, the system checks the time of day and  snaps all their motives to the chart. Clever stuff.
So we've got tools to simulate characters, conversations, house visits,  restaurants and entire towns. And when you have such clever tech, it's  tempting to simulate, well, everything. Take, for instance, the urinal rule.
If you pee while standing up, you know the  deal: when picking a place to take a leak, you should always try to maintain a  one urinal buffer from other people. It's like an unwritten social rule. So Maxis added this rule to the game, as well.
. . but, before the game launched, they took it out.
That's because when the Sim followed that  rule it was just kind of predictable and dull. But if Sims picked toilets at random, it would often lead to funny and memorable  moments of Sims acting awkwardly. You see, while The Sims might  have started life as a rather nerdy simulation game - essentially  SimCity, but at a much smaller scale - it quickly grew into something very different.
In playtests for the original  game, Will Wright was surprised that players would tell elaborate  stories about their Sim families - embellishing details, reading into their  decisions, and playing up random moments. "It was fascinating to me how readily people  would build a story around this," Wright says. To support this, Maxis added a  last-minute feature to the game: the ability to take a screenshot, write a caption, and create a simple comic book which could  be uploaded to EA's website with a click.
The feature was extremely popular,  proving that for many people. . .
The Sims was an avenue for storytelling. And that's still true today - just search  YouTube for The Sims to see what I mean. But supporting storytelling is a delicate  balance: the game needs to be specific enough to create stories, but not so specific that  there's no room for the player's imagination.
So the final piece of this AI puzzle. . .
is knowing when to hold back. Knowing what NOT to simulate. Knowing when to make urinal choice  random, rather than scripted.
One way to do this is to  carefully employ ambiguity. Basically, to leave some things unsaid, so players can make assumptions, and project  their own head-canon on the events on screen. A good example of this is the Sim's  iconic babbling dialect, known as Simlish.
In early design documents we can see  that Maxis experimented with having the Sims speak real world languages like  English, Navajo, Estonian, and Ukranian - but due to technical and logistical reasons, they ended up hiring two improv comics  to just make up absolute nonsense. Sim: Drba droba droba. Seeka neeba huh.
But this actually works wonders - when the  Sims babble gobbledygook at each other, the player can assume, fill in gaps, project their own imagination on the  Sims, and make the game their own. "If we used actual language, the game  would flatten and shrink, and everyone would be having the same experience",  says EA's Matt Brown - no relation. Ambiguity can also make Sims feels smarter than they actually are, and hide cases where  the simulation is doing something wrong.
Another avenue is to always follow  the player's lead - and never use autonomy to go against the story  the player is trying to tell. That's why Sims will use free will to  relieve their bladder and fill their stomach, but won't autonomously quit their  job or try romancing a random Sim. Just like with the Nemesis  System in Shadow of War, Maxis took inspiration from the concept  "yes, and", from improvisational comedy - so the Sims try to build on the player's  actions, and try not to negate them.
For instance, if a player makes two  Sims fall in love - the autonomous system shouldn't make them break up again. Likewise, user-created Sims enter  the world with no sexual preference. But if you instruct a male Sim  to, say, flirt with other dudes, you're suggesting that he should be bi  or gay and the game will run with that.
The game should always try to maintain  the consistency of the player's story. So, The Sims has a fascinating AI system -  which allows for realistic human simulations, and creative player-led storytelling. And most of it is driven by a very simple concept.
Characters, locations, and entire  neighbourhoods are given a bunch of needs - and then try to make choices  that will best fulfil those needs. With a little clever tuning, this leads to  characters who feel believable, social situations where Sims act appropriately, and entire  neighbourhoods that stay consistent and balanced. But this is not just useful for  running quirky goal-free life simulations - and we can see utility AI  being used in other types of games, too.
For instance, in XCOM, an enemy unit will consider  every tile it can move to and score them based on factors like distance, flanking opportunities,  angle, cover bonus, visibility, and proximity - before moving to the tile with the best score. It can also be used in procedural generation, to  build worlds that fit predetermined requirements. Utility AI is a fantastic addition  to a game maker's toolkit, and its implementation in The Sims should serve as  wonderful inspiration to game designers.
And now, just to melt your brain,  here's Katy Perry singing in Simlish.
Copyright © 2024. Made with ♥ in London by YTScribe.com