-
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: Droba 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.
-
Katy Perry: [Absolute nonsense]
-
Katy Perry: [Just complete gobbledegook]
-
Katy Perry: [I think I'm having a stroke]