Game Design

(Elliott) #1

career so you can get more stuff. It seems pretty materialistic.


Yeah, that was actually the intent. That’s what most people interpret when they see the
game, and even when they play it for a while they think it’s very materialistic. It’s only
the people that play it a long time that start realizing the downside. Just about every
object has some built-in failure state or maintenance requirement. If you keep buying
stuff, it will eventually go bad or die or need to be cleaned or whatever. So in some
sense it’s like you’re filling up your house with all these potential timebombs. And so at
some point you end up spending so much time fixing these things and doing this, that,
and the other, that these objects you originally bought to save you time end up sucking
up all your time. And this is pretty long into the gameplay that you start realizing this.
But it was very definitely engineered that way. So in some sense it’s the people who
first start playing the game who say, “God, I can’t believe how materialistic this game
is.” But then it’s the hard-core players that say, “God, I’m not going to buy that much
crap next time I play.”


I guess it’s open-ended enough that players can try to concentrate on the social
aspects instead of object acquisition.


In some sense the social side has the same dynamic, where you make these friends, but
the friendships decay over time. And your friends, once they decay to a certain point,
will actually call you up and say, “Hey, you better invite me over, I haven’t seen you in a
while.” So once you make about twenty friends, you’ll start noticing that every day
they’re clamoring to come over, and that they’re sucking up your time in a different way.


What can you tell me about the scripting language Edith?


Well, that was the thing that Jamie and I were working on for the longest time. It’s a pro-
gramming scripting language, it’s visual, and we actually developed our own editor and
debugger, all integrated with the game. So, in fact, you run this from within the game
and you can program and debug and step through objects while you’re playing.


So you can use it to add new objects to the world?


In fact, almost all the behavior in the game is in these objects, including the social inter-
actions of the people, and it’s all programmed in this language. The primitives of this
language all sit atop C level code routines. The C level code routines are things like
routing primitives, variable peeks and pokes, and things like that. But the language
itself is very clean, and there are about thirty or forty primitives that it’s all built out of.
The main thing, though, is that it’s all machine-independent tokenized code that travels
with the object. Which means that you can drop a new object into the game and instantly
the people know when to use it, when it’s appropriate to use it, and how to use it. And
the animations, sound effects, code, and everything is all contained within the object
that you download.


So you created the language to make it easy to add new objects.


Yeah, that was the original specification of the language. We wanted to have a language
we could write all the behavior in that was totally expandable, at the object level. That
way the behavior of the people within the house is totally a function of the stuff in their


Chapter 22: Interview: Will Wright 433

Free download pdf