practice
Doi: 10.1145/1467247.1467262
developed in coordination with, the
film industry. Unlike film, however,
games need to be interactive. Player
actions require visual feedback; game
characters should react to player choices. Adding interactive features typically
requires some form of programming.
These features are also a form of artistic content, and game studios would
prefer they be created by designers—
Better scripts,
developers who understand how the
player will interact with the game, and
what makes it fun—rather than software engineers.
Better Games The idea of game software as artistic content has led many game studios
to split their software developers into
two groups. Software engineers work
on technical aspects of the game that
will be reused over multiple titles. They
work on core technology such as animation, networking, or motion planning,
and they build the tools that make up
the content-creation pipeline.
Gameplay programmers, on the other hand,
create the behavior specific to a single
game. Part designer, part programmer,
they implement and tune the interactive features that challenge and reward
the player.
The gameplay programmer should
produce fun, not complex, algorithms.
Game studios design their programming workflow to relieve gameplay
programmers of any technical burdens
that keep them from producing fun.
Often this involves an iterative process
between the gameplay programmers
and the engineers. The gameplay programmers develop feature prototypes
to play-test before adding them to the
game. The software engineers then use
these feature prototypes to design support libraries, which are used to build
another round of prototypes. This is an
effective workflow, but game companies
are always looking for ways to speed up
or even automate this process.
In addition to supporting the interaction between gameplay programmers and software engineers, the
studios are always looking for ways to
integrate the designers into the programming process. Designers often
Smarter, more powerful scripting languages
will improve game performance while making
gameplay development more efficient.
BY WaLKeR White, chRistoPh Koch,
Johannes GehRKe, anD aLan DemeRs
The video game industry earned $8.85 billion in
revenue in 2007, almost as much as movies made at
the box office. Much of this revenue was generated by
blockbuster titles created by large groups of people.
Though large development teams are not unheard of in
the software industry, game studios tend to have unique
collections of developers. Software engineers make
up a relatively small portion of the game development
team, while the majority of the team consists of content
creators such as artists, musicians, and designers.
Since content creation is such a major part of
game development, game studios spend many resources developing tools to integrate content into
their software. For example, entry-level programmers
typically make tools to allow artists to manage assets
or to allow designers to place challenges and rewards
in the game. These tools export information in a
format usable by the software engineers, either as auto-generated code or as standardized data files.
This content-creation pipeline is not very well
understood, and each studio has its own philosophy
and set of tools. Many tools are taken from, or