in this second Life photograph avatars alpha auer and mosmax hax explore a pose stand that allows users to program poses and run two
scripts. one script cycles through the poses, and the other one makes the pose stand invisible/visible.
have very little programming experience, but they have the best intuitions
for how the game should play. Thus,
studios want tools that allow designers, if not actually to program behavior, at least to fine-tune the parameters
behind it.
the Role of scripting Languages
second life PhotograPh courtesy of alPha auer and mosmax hax
Many game studios rely on scripting
languages to enable gameplay programmers and designers to program
parts of their games. These languages
allow developers to easily specify how
an object or character is supposed to
behave, without having to worry about
how to integrate this behavior into the
game itself. Scripting languages are
particularly important for massively
multiplayer games where any piece of
code must interact with multiple sub-systems, from the application layer to
the networking layer to the database.
User-created content is another
reason for games to support scripting.
Open-ended virtual worlds such as Second Life have made player scripting a
common topic of conversation. Even
before that, games had a long tradition of player-developed mods. Given
tools—either official or third party—to
modify the data files that came with the
game, players have been able to create
completely new experiences. Generally, modding has been seen as a way
to extend the lifespan of older games.
In some cases, however, it can create
completely new games: the commercially successful Counter-Strike was a
player modification of the game HalfLife and relied heavily on scripting features present in its parent game.
Scripting languages allow players to
modify game behavior without access
to the code base. Just as important,
they provide a sandbox that—unlike a
traditional programming language—
limits the types of behavior the player
can introduce. If the game has a multiplayer component, the game developers do not want players creating scripts
to give themselves an undue advantage.
Overly powerful scripting languages
have facilitated many of the bots—
automated players performing repetitive
tasks—that currently populate massively multiplayer games. Sandboxing
can even be useful in-house. By limiting the types of behaviors that their
designers can create, the studios can
reduce the number of bugs that they
can introduce—bugs that cost valuable
time to find and eliminate.
the need for Game-specific
scripting Languages
The foremost criterion for a scripting
language is that it should make gameplay development fast and efficient.
Often game objects—rocks, plants,
or even intelligent characters—share
many common attributes. Game script-