1110
VOLUME 17 NUMBER 10
D E PA R T M E N T S
15 FULL REACTIVE EYES ENTERTAINMENT 42 DESIGN OF THE TIMES By Soren Johnson [DESIGN]
Are the now-ubiquitous Quick Time Events in games a lazy way to Stop Making Sense
keep players mashing buttons? Or, are they broadening the range of
expression for game designers? Using examples from the past and 44 GOOD JOB! [CAREER]
present, this article looks to the future of QTEs. Bradley Johnson Q&A, who went where, and new studios.
By Tim Rogers
45 EYE ON GDC [GDC]
22 ELECTRIC EYE Independent Games Festival news and IGF China finalists.
Kinect and Move have arrived, and with them comes a growing interest
in augmented reality. In this article, César Botana guides you step by 46 EDUCATED PLAY By Jeffrey Fleming [EDUC ATION]
step through the basics of the OpenCV library, an essential tool for pat- David Arenou’s IMMERSIVE RAIL SHOOTER.
tern recognition in augmented reality games. Also covered is placement
of 3D objects in game worlds based on these patterns' orientations. 48 ARRESTED DEVELOPMENT By Matthew Wasteland [HUMOR]
By César Botana Our Last, Best Hope
WWW.GDMAG.COM 1
GAME PLAN // BRANDON SHEFFIELD www.gdmag.com
Think Services, 600 Harrison St., 6th Fl.,
San Francisco, CA 94107
t: 415.947.6000 f: 415.947.6090
ghostwriter
going to be hidden to the user. It’ll
just look like a typewriter sitting on
a desk, that happens to be able to
type by itself,” he said.
While the Automatypewriter is
currently set up to run Zork, other
possibilities exist and Guberman
/// The next time you find yourself When the computer running Zork board, which sends the key press is collaborating with Jim Munroe
lost in a maze of twisty passages, sends out a signal for the typewriter information to the computer. (EvErybody diEs) to create unique
follow the sound of clacking to type a line of text, a connected Guberman wrote a Python script interactive fiction for the machine.
typewriter keys. Interactive text Arduino board uses IC-based shift to handle serial communication to “I’m planning to write it with Inform
adventures are moving off the registers to assign the key presses and from the Arduino board and 7, probably as a z machine file as is
computer screen and into the real to the appropriate solenoid switches. Zork runs in a slightly modified common for text adventures. We’re
world of ink and paper thanks to the When a given solenoid fires, it pulls version of the Rezrov (http:// going to test various approaches
hacking skills of Toronto resident against the fishing line connected edmonson.paunix.org/rezrov) extensively on the platform itself
Jonathan Guberman. Currently to a key, resulting in a letter being Infocom game interpreter. rather than assume we know what
in prototype phase, Guberman’s typed. A bit of timing correction on An important design will work,” Munroe said.
Automatypewriter uses a modified the computer side ensures that goal on the project has been To see the Automatypewriter in
electric typewriter to output text the automatic typing follows a Guberman’s desire to implement action visit Jonathan Guberman’s
from Zork in real time, as well as natural, human-like rhythm. the Automatypewriter’s controls blog at http://upnotnorth.net/
pass typed commands from the Because the Automatypewriter without significantly altering the projects/typewriter. Also check
user back to the program. is designed for playing Zork in real host typewriter’s mechanics—a out Site 3 coLaboratory (http://
Working as a kind of electro- time, resistors positioned under constraint that will allow him to site3.ca) and Hacklab.TO (http://
mechanical puppet, each of each key of the typewriter can use a variety of antique typewriter hacklab.to) to see what interesting
the electric typewriter’s keys is detect commands typed in by the models. “Now that I have it working new projects Toronto’s vibrant
connected via a network of fishing user. Signals are passed through successfully, I’ve invested in maker community is brewing up.
line to banks of solenoid switches. shift registers back to the Arduino an Oliver No. 9 typewriter that —Jeffrey Fleming
cOrrectiOn: In last month's "Game Developer 50" we incorrectly attributed the art direction for Volition's reD FactioN Guerrilla.
Jasen Whiteside is in fact the art director for the game and we deeply regret the error.
www.gdmag.com 5
We're proud to announce the finalists for the 13th annual Game Developer Front Line awards—the essential awards
for tools and software that make the world's leading games possible—in the following categories: Art, Audio, Engines,
Middleware, Networking, and Programming/Production. In determining the winners of the 2010 awards we went
through a multistep process. Open nominations were held in October for software that had been released or had been
updated between September 2009 and August 2010. From that list we consulted with our advisory board to narrow
the results down to five entries in each category. We then handed the nominees to over to you, the readers of Game
Developer, via an online survey in November, so that you could have a voice in picking the recipients of the Front
Line Awards. As this issue goes to press, we’re compiling the results, and in our January 2011 issue we’ll reveal the
winners. We’ll also be inducting one special game development tool into the Hall of Fame that has been of enduring
importance to the development community. Because the editors of Game Developer decide the Hall of Fame winner, it
is not eligible in the regular categories.
Art a node-based authoring concept to production for digital audio workstations Game Engine
environment to quickly within ZBrush itself. with a range of options
generate complex texture that allow users to easily
Photoshop CS5 files. The resulting textures Audio manipulate complex audio CryEngine 3
ADOBE SYSTEMS are resolution independent via touch screen. CRYTEK
www.adobe.com and can be dynamically http://mycryengine.com
/// With its broad feature altered at any point in the FMOD Designer 4.32 ProTools 8.0.4 Crytek’s CryEngine 3 will
set and overall flexibility, art pipeline including at FIRELIGHT TECHNOLOGIES AVID TECHNOLOGY power the studio’s upcoming
Adobe Photoshop CS5 runtime with the addition www.fmod.org www.avid.com CRYSIS 2, and is available to
improves upon the of Substance Air. /// FMOD Designer offers /// The ProTools music and license not only for game
established Photoshop a suite of options to help audio production software development, but also for
suite by adding features Autodesk Softimage create high quality game has become practically interactive simulation and
that include the content- 2011 audio. The software is fully an industry standard for education software. The
aware fill, HDR imaging, AUTODESK integrated into several recording and editing audio. multiplatform engine allows
and puppet warp to supply http://usa.autodesk.com popular game engines, It features a complete for real time editing of
artists with even more /// Softimage 2011 helps including Unreal Engine suite of production tools, game environments with its
image manipulation tools. 3D artists create texture 3, Unity, and Scaleform, including automatic delay Sandbox technology.
maps, and features and allows bulk editing of compensation, and allows
Autodesk 3ds Max a texture sequencer multiple sound files at once. users to open projects Gamebryo Lightspeed
2011 that allows users to created in other video or 3.1.1
AUTODESK manipulate bitmaps, vector Miles Sound System 8 audio editing software, EMERGENT GAME
http://usa.autodesk.com graphics, and procedural RAD GAME TOOLS offering high flexibility. TECHNOLOGIES
/// The popular 3ds MAX elements to create more www.radgametools.com www.emergent.net
modeling, animation, complex textures. /// The Miles Sound System Wwise 2010.1.2 /// The Gamebryo Lightspeed
and rendering software 8 middleware provides AUDIOKINETIC engine emphasizes rapid
provides a variety of tools ZBrush 4.0 a versatile package that www.audiokinetic.com prototyping, iteration, and
for artists, with the latest PIXOLOGIC supports many types /// Audiokinetic’s Wwise real time updates, enabling
version adding a node- www.pixologic.com of audio files and runs audio pipeline allows developers to quickly put
based material editor, HDR- /// ZBrush is a digital on nearly all available sound designers and audio together playable content
capable compositing tools, sculpting and painting platforms. RAD game programmers to prototype so teams can build upon
and other features to help program that features an tools prides itself on the projects quickly, and is their own work throughout
accelerate modeling and interface that is more akin software’s stability and integrated into many the development cycle.
texturing tasks. to sculpting than other 3D speed across all types of current game engines. Its
modeling software, allowing hardware. latest version includes Unity 3
Substance Designer 1 artists to create assets side-chaining for automatic UNITY TECHNOLOGIES
ALLEGORITHMIC without getting bogged ProRemote 2.0.1 volume adjustment and http://unity3d.com
www.allegorithmic.com down by menus and obtuse FAR OUT LABS convolution reverb to /// Unity Technologies’ Unity
/// Allegorithmic’s options. The latest release www.folabs.com simulate the way sound 3 game engine has been
Substance Designer is aims to provide more /// Available for iOS devices, reverberates in an enclosed engineered from the ground
a procedural texture features that allow artists ProRemote provides 32 space, along with a host of up to provide an integrated
creation tool that uses to bring their models from channels of remote control new effects and options. development framework
WWW.GDMAG.COM 7
ADVERTISEMENT
BYMark Rein
Epic Games, Inc.
NINJA THEORY USES Ninja Theory also wanted to improve on the total length
of gameplay with Enslaved, which is where Unreal Kismet
finishing moves to really show the emotional impact
combat has on Monkey, the main character. It’s more of
UNREAL ENGINE 3 came into play. Ninja Theory’s designers used Kismet’s a cinematic twist on combat mechanics.”
visual scripting tools to build much larger play
TO DOUBLE DOWN environments for players to explore. Kismet also enabled Along the way, the Ninja Theory team was able to connect
with other Unreal licensees through the Unreal Developer
the team to create a wider variety of gameplay across the
ON CREATIVITY greater game length, which Ball said is ultimately the key Network. In fact, Ball says that the extensive community
to keeping the player attached to the story. support has been a strong point of working with UE3.
Coming off the success of their critically acclaimed Other developers were always happy to help with tough
PlayStation 3 action game, Heavenly Sword, the Ninja Theory has built a reputation for creating beauti- questions, and Ball recalls lots of occasions where a techni-
developers at Ninja Theory had a slightly different ful environments – an ability that would be put to the cal query was answered by a studio on the other side of
plan in mind for their next adventure. “With Heavenly test with Enslaved. Enslaved is based on a 400-year-old the world before anyone else even touched it.
Sword, we had developed the engine and toolset Chinese novel called Journey to the West, which is itself
entirely ourselves,” says Mike Ball, co-founder and based on much older folklore. Enslaved brings this The result? One of the freshest, most beautiful games
chief technical officer. “That required a large amount ancient story to a future New York City. To do justice of 2010, boasting longer, more intense gameplay than
of resources, and it would take just as much effort to to this rich source material while bringing it to life in any of Ninja Theory’s previous games. The game was
update the technology, improve the toolset and add a hyper-modern environment, the Ninja Theory team launched in October to wide acclaim.
the new features we needed for our next game.” knew it needed to push its graphics capabilities as far Thanks to Ninja Theory for talking with freelance
as they could go.
Once Ninja Theory decided to go multi-platform with the reporter John Gaudiosi for this story.
new game, Enslaved: Odyssey to the West, they made the Ball says that UE3 gave the artists much more control,
move to Unreal Engine 3. This time around, Ninja Theory and with its advanced production tools the team
had 80 people on hand for the production period, and was able to pack more detail into the environment. Canadian-born Mark
would be able to use all that talent to focus on creativity “This was really important for the portrayal of the Rein is vice president and
rather than engine technology. “Unreal Engine 3 allowed New York we wanted to build,” says Ball. “Through co-founder of Epic Games
us to start iterating on the gameplay much more quickly,” elements of the environment, we wanted the player based in Cary, North
Ball says. “We needed to maximize our production time to experience the story of people in the past, caught in Carolina. Epic’s Unreal
by making sure the team’s workflow was effective, and destruction and trying desperately to escape. Giving Engine 3 has won Game
UE3 was the right choice to do that.” the art team control over shaders and post-processing Developer magazine’s
chains allowed us to set up some beautiful scenes that Best Engine Front Line
Using UE3, the Ninja Theory team was able to improve contrasted well with the scenes of destruction.” Award four times along
on many of the lessons they learned with their previous with entry into the Hall
game. “We wanted an engine that was truly focused Ninja Theory also built on top of UE3’s advanced of Fame. UE3 has won three consecutive Develop
on getting the most out of designers and artists,” ex- combat capabilities. “We did a lot of experimenting Industry Excellence Awards. Epic is the creator
of mega-hit “Unreal” series of games and the
plains Ball. “Despite the awesome results we achieved with the camera to make every hit feel like it counts
blockbuster “Gears of War” franchise.
with Heavenly Sword, that was really the weak point of and draw you into the drama of combat,” said Tameem Follow @MarkRein on Twitter.
our own engine. It just didn’t scale.” Antoniades, Ninja Theory co-founder and chief design
officer. “We used close-up shots during takedowns and
W W W. E P I CGA M ES.CO M
UPCOMING Montreal International Game Summit
Montreal, Canada - Nov. 8-9, 2010
DICE Summit
Las Vegas - Feb. 9-11, 2011
© 2010, Epic Games, Inc. Epic, the Epic Games logo, Gears of War, the Powered by Unreal Technology logo, Unreal, Unreal Engine, Unreal Kismet and Unreal Matinee are trademarks or registered trademarks of Epic Game Games, Inc. in the United States and
elsewhere. All other trademarks are the property of their respective owners. All rights reserved.
procedural
generation of
fragmented
meshes
R o b e R t P e R R y a n d P e t e R W i l k i n s
Everyone likes explosions in games. Good explosions are big, noisy, and throw rubble everywhere.
Explosions can be a powerful way to communicate excitement, risk, drama, and scale to the player.
Games are filled with explosions both big and small that emphasize story moments and draw the player’s
attention. For example, rocks tumble from cliffs, barrels explode, pipes burst, bridges collapse, and bombs
detonate. Unfortunately, game explosions can draw a player’s attention for the wrong reasons. Barrels
and crates, in particular, tend to break in exactly the same pattern. Overly repetitive explosions can be a
distraction that damages player immersion and game appeal.
Watching or causing explosions is fun. Creating lots of fragmented pieces for an explosion is not fun.
Splitting meshes with binary operations or cutting tools is time consuming, labor intensive, and tediously
repetitive. Many simple tools can be created to accelerate the process, but generally fragmenting meshes
www.gdmag.com 9
In order to avoid most of the “pop,” the Another benefit of the Voronoi graph
resulting fragments need to fit together tightly. is that it allows for the creation of entirely
Even if lots of smoke and dust particle effects interior fragments. This is a great feature for
are involved, the fragments need to at least making rubble more realistic and interesting.
maintain the original object’s profile when Unfortunately, Voronoi graphs have some
assembled. Ideally, the fragments would fit specific limitations. Voronoi cells are always
together seamlessly. The exterior faces should convex and always have planar faces. The
have UV coordinates and materials that match result is that Voronoi-generated fragments
the original. This makes for a fragmented tend to be blocky and uniform, much like
mesh that’s nearly indistinguishable from the breaking salt. This works well if the original
original before being blown apart. material is granite or safety glass, but does
figure 1 shows a two-dimensional Voronoi For an explosion to fit in context, the not work as well if the object is wood or plastic.
graph.
resulting fragments should reflect the material Games are rarely full of objects made out of
of the original object. Glass, stone, wood, granite, so it would be convenient to be able
remains an arduous task that no one wants metal, plastic, and other materials make up to automate the generation of appropriate
assigned to them. the objects that surround the player in a game fragments for other materials. Figure 1 shows
Cost and schedule constraints often limit world. If the fragments are only on the screen a two-dimensional Voronoi Graph.
the number of iterations possible for a given briefly, their shape may not be important, as
object as well as the number of unique objects they can be considered a large particle effect. MoVing Beyond Voronoi
that can be prepped for destruction. As the However, if rubble stays persistent in the world
complexity of the original geometry increases, after an explosion, then shapes that are true In order to create fragments with more complex
so does the cost of creating the destructible to the material of the original object become shapes, a different mathematical approach
content that goes with it. more important. Since many of these meshes is required. Fortunately, an alternative that
will only be visible for a few seconds at a time, is fundamentally very similar can be used.
The Makings of a good it’s hard to justify the time and cost required Electrical potential fields provide all of the
explosion for detailed modeling. The whole process begs functionality of a Voronoi graph, and allow for
for automation. new possibilities as well. Electrical potential
Explosions are often implemented with fields can create complex and concave
a model swap where the mesh for the enTer Voronoi geometry with a simple input set similar to
undamaged object is hidden, and meshes what would be used to generate a Voronoi
for the broken fragments are made visible 3D Voronoi graphs provide an easy way to graph. This can be accomplished by adding
in a single frame. Almost inevitably, there automate much of the mesh fragmentation a small amount of additional data to the very
is a visible “pop” as the new pieces come process. Particle systems can be used to place same input set that would be used to generate
into view. This is caused by the fact that the points in a model that are then used as seeds a Voronoi graph. The additional data is easily
fragmented pieces don’t perfectly match the for the Voronoi graph. A graph is generated generated and takes little or no work on the
original profile of the object being destroyed. and used to subdivide the model. The graph is part of an artist. For quick review, the electrical
In some cases, they don’t really match at generated by identifying the region of space potential at a point in space is:
all. For example, several wooden shacks where a given point has an influence greater
of different size and proportion may use than any other. The result is a collection of
identical fragments when they collapse. convex cells with planar faces that looks
Some of the discrepancy can be hidden from somewhat like a honeycomb. A series of cuts
the player by adding particle effects to cover can be made on the planar faces of each cell Where q is a point charge, E0 is the electric
things up. This can easily end up being a in the graph. This can be implemented easily constant (permittivity of free space), and r
balancing act between covering the “pop” and using binary operations on the original mesh. is the distance to the point charge. If there
obscuring the fragments altogether. The resulting fragments fit together tightly. are multiple point charges in the field, they
2a 2b 3a 3b
figures 2a and 2b show the effects of varying the charge of a point charge in two dimensions.
figures 3a and 3b show the effects of polarity on a two-dimensional electric field.
www.gdmag.com 11
of the original mesh and the potential field.
lIstIng 1 The resolution is intentionally limited, and this
float Destruction::TransferUV::FaceDotDist(const Vector3& v1, const Vector3& v2, limitation contributes to the blockiness of the
const Vector3& v3, const Vector3& point, const Vector3& normal) result. For the purposes of rubble, it works well.
{
Vector3 edge1 = v2 - v1; UV mappIng
Vector3 edge2 = v3 - v1;
Automated UV mapping is a crucial feature
Vector3 faceCentroid = v1 + v2 + v3; for the automated fragmentation of meshes.
faceCentroid /= 3.0f; UV mapping can be terribly time consuming.
Also, it can be highly obvious if the mapping
Vector3 faceNormal = edge1.Cross( edge2 ); on the fragments was rushed and doesn’t
match the original. If the meshes are very
return (faceCentroid-point).Length()/fabs(normal.Dot(faceNormal)); similar, the mapping can be copied from one
} mesh to the other. If the meshes are dissimilar,
an interpolation scheme is required. Here is
lIstIng 2 a simple method that works well with some
struct UV{ limitations. In the described implementation,
float u,v; it’s assumed that meshes contain only
}; triangles and the vertices are unique to each
struct ST{ face. The concepts can be extended to handle
float s,t; quads and other polygons as well as triangles.
}; Vertices in the new mesh are iterated over
void Destruction::TransferUV::TriangleST_ToMeshUV( const UV& v1, const UV& v2, const by face. Faces in the original mesh are ranked
UV& v3, const ST& st, UV& o_uv ) against vertices in the new mesh using values
{ produced by a routine called FaceDotDist().
Vector2 edge1 = v2 - v1;
FaceDotDist() compares the distance from
Vector2 edge2 = v3 - v1;
the vertex in the new mesh to the centroid of
the face in the original mesh, and the normals
o_uv = v1 + st.s*edge1 + st.t*edge2;
} of the faces in both meshes. The face with
the lowest returned value is used for the
interpolation. See listing 1.
geometries. A spline is sampled along its length the splines afterwards, reprocessing until a Once a face in the original mesh is selected
to produce a group of point charges. The number satisfactory result is achieved. to interpolate from, the UV values at each of its
of point charges used to represent the spline vertices are used to perform the interpolation.
is a function of the desired resolution. Figure ImplementatIon The vertex from the new mesh is parametrized in
4 shows a cube fragmented using four splines, the space of the face of the old mesh as a linear
including interior detail on one of the fragments. The implementation shown here is generally combination of two of the edges. See below:
Splines make the automated generation used as a rubble generator, and as such,
of smooth organic shapes easy and fast. They produces rough and blocky seams. This is not a p = se1 + te2
can also be authored by hand quickly, allowing mathematical limitation of the electric field, but
artists control over the resulting shapes a practical limitation of the mesher that is used Where p is the vertex from the new mesh, and e1
without spending time on details. They also to create the rubble. Still, it provides a means to and e2 are edges in the triangle from the original
provide fast and easy iteration. An artist can visualize the results. In this implementation, an mesh, s and t are parameters along e1 and e2 .
author splines to fragment a mesh and edit entirely new mesh is generated using the union This parametrization is commonly used in ray-
triangle intersection tests and can also be used
to verify that the vertex being parametrized
is inside the triangle from the original. This
verification is usually not necessary. While
interpolation works best when the vertex falls
inside the triangle, extrapolations a short
distance outside the triangle are generally
well behaved. The final UV value assignment
is handled by the following function. Note that
v1, v2, and v3 are UV values and not geometry
vertices. See Listing 2.
This is an effective method for automatically
transferring UV mappings between meshes. The
primary limitation is that it cannot properly
handle a face in the new mesh if it crosses
a seam in the original mesh. In this case, it
FIgUre 5 shows a fractured crate with interpolated UV mapping.
Freedom to destroy
www.gdmag.com 13
iLLUsTRATioN BY jUAN RAmiRez
www.gdmag.com 15
FULL REACTIVE EYES
E N T E RTA IN M E N T
More complicated QTEs to press onscreen.” He said by an analog stick and a the length of a human arm. contains a series of precise
might involve threat after the game seemed “really couple of buttons. The arm acts as a whip; button-press prompts. If the
threat raining upon the half-assed, because it’s It’s perhaps interesting the wrist rotates; the mind player fails at inputting a
player. In this case, the asking you to do all these to note that, despite their manipulates the blade to button press, the antagonist
player must press numerous button-timing sequences,” vocal stance on the virtue clash with the opponent’s in kills the protagonist, and
buttons in sequence. and the player is not “getting of QTEs, Ninja Theory’s next defense, to feint, or to make it’s game over. The knife
Missing a button-press much payoff from it.” game, ENSLAVED: ODYSSEY TO a desperate stab. You really fight QTE is the most-
results in instant failure HEAVENLY SWORD director THE WEST (2010) employs can’t express this one-to- hailed example of both the
and possibly death. Some Kyle Shubel, in his game’s not a single QTE, not even one in a video game using positives and negatives of
games, like NINJA BLADE defense, replied that “the the kind where you hammer only buttons and analog the form. The suspense of
(From Software, 2008), intent of the hero sequences a button to open a heavy sticks. The fight is long and the unraveling dialogue and
will allow the player to is to empower the player door. What happened? elaborate—some critics story revelations place extra
immediately restart the to experience events that might say too long, and pressure on the antagonist’s
QTE upon failing once. Other would be nearly impossible to CUTSCENE WITH A fantastically elaborate. coming knife-lashes; the
games, such as SHENMUE play in a natural platforming KNIFE The RESIDENT EVIL 4 knife potential for quick death
(Sega, 1999), the game state ... for example, making fight takes place during a means the player may be
whose director Yu Suzuki the player run down ropes, After hours of satisfying heated dialogue between the forced to repeat the QTE, the
coined the terms “Quick-Time leaping from rope to rope shooting at virus-infected protagonist and antagonist. cutscene, and the dialogue
Event” and “QTE,” are not so as they’re being cut from high-speed-sprinting The dialogue involves the again from the start.
forgiving. Failure at a QTE will underneath you, all while zombie-intelligence psycho- revelation of important story Other QTEs act to replace
result in player death and a dodging other objects—that freaks, RESIDENT EVIL 4 information—why who has or supplement cutscenes. In
game over condition. would be a frustrating (Capcom, 2003) climaxes been doing what to whom SHENMUE, QTEs often occur
Of Ninja Theory’s game experience to 99 percent of in an extended knife fight For All This Time, and what at the height of a dramatic
HEAVENLY SWORD (2007), in our users if we were to force between a hero and a he wants to convince him to cutscene. Unlike the knife
which QTEs are called “hero them to do that manually.” villain. The exact nuances stop. Effectively, it serves fight in RESIDENT EVIL 4, QTEs
events,” NINJA GAIDEN and This certainly seems of a military-grade knife a purpose of a cutscene. As in SHENMUE are all action.
DEAD OR ALIVE series director to be the trend. QTEs fight as seen in the climax a climactic moment in the In one scene, the hero (Ryo
Tomonobu Itagaki told replace actions that of cinematic masterpiece story, it’s a cutscene that Hazuki) is chasing a group
consumer magazine EGM would otherwise be more Under Siege were, for certain, players most likely wouldn’t of biker gang members out
that he had “never played complicated than any player, simply not expressible with want to skip. of a bar and down an alley.
a good game where the even the skilled ones, are then-modern video game Players that do want to The chase comes after a
developers put a big icon of able or willing to input with control inputs. Knives are skip the cutscene are unable small conversation in which
the button you’re supposed the basic methods allowed short blades, a fraction of to though. The sequence Ryo attempts to wrangle
information out of the gang prompt, and the hero is the player with a reason to the QTE has created many that, effectively, changed
members. The chase occurs punched in the face. That invest himself in the story critics’ impressions that the chapter being played. At
as a spectacular action doesn’t necessarily mean revelations of the cutscene. QTEs as a game-mechanic certain points in the action,
payoff. Unlike the knife fight game over. The player has Other games, such as are interaction on the fringe an arrow or on-screen object
in RESIDENT EVIL 4, the story plenty more opportunities METAL GEAR SOLID 4 (Kojima of passivity. flashes, either to the hero’s
revelations are over when to win the fight. The fight Productions, 2008), will left or right. The player has
this QTE begins. Also unlike grows long, the hero lands occasionally provide players FAILURE IS NOT AN to respond in a split second.
the knife fight, if you miss punches, misses punches, with an on-screen prompt, OPTION If we succeed, we see a
a prompt during this QTE, dodges punches, and takes which sometimes lasts no brief animation detailing our
you still have a chance to punches. The longer the more than a fraction of a The very first QTEs were, hero’s triumph. If we fail, we
win. The QTE branches: at QTE, the more interesting, if second. Press the action in fact, a replacement for see our hero’s demise. This
one point, the man you’re not impressive, the fight. Of button during one of these in-game action. The most game mechanic would be
chasing knocks over a box course, if you miss enough prompts to view an alternate obvious example is also offensively shallow if it were
of fruit; if you don’t dodge prompts, the hero goes angle of the cutscene, the genesis of the modern the core of any games today.
it, and instead trip, the QTE down, and it’s game over. or maybe view a piece of concept of the QTE: the But at the time, with graphics
is effectively lengthened as In both of these concept art of the character Laserdisc-based DRAGON’S so astounding, it worked. Part
you’re offered opportunities examples, the QTE is talking. In METAL GEAR SOLID: LAIR (Cinematronics, 1983). of DRAGON’S LAIR’s appeal was
in the form of more button “replacing” a cutscene—in PEACE WALKER, succeeding at In DRAGON’S LAIR, the player that the hero’s deaths—not
prompt situations. In the SHENMUE, it often replaces a one such on-screen prompt controls a knight on his quest just his triumphs—were
context of the story, this cutscene that would follow results in the player being to rescue a princess from a unique animations. Dying
means that the chase is another cutscene. The treated to a view of a female dragon. Though the story was is part of the game. Seeing
longer, and the hero doesn’t talking cutscene ends, and character’s underwear. In common fare for any type of each of the hero’s deaths
look as impressive as he the punching QTE begins. this case, QTEs are rewards adventure story, the graphics is as essential to earning
would had he captured the This type of cutscene- to the player for steadfastly were superbly unique encyclopedic knowledge of
character quickly. replacement QTE is primarily paying attention to the compared to other games at the game as seeing each of
Similarly, SHENMUE a means for developers game’s narrative. In this the time. DRAGON’S LAIR was his triumphs.
contains many QTE fight to impress players with way, perhaps QTE are used a lovingly hand-animated We don’t see games fully
scenes full of intricately dynamic action scenes. The to safeguard against the cartoon featuring the work made up of QTEs anymore.
detailed karate maneuvers— knife fight scene in RESIDENT common complaint that of renowned animator Don However, we occasionally
grabs, holds, throws, EVIL 4, on the other hand, games like METAL GEAR SOLID Bluth. DRAGON’S LAIR’s secret see games where the QTE
dodges—that would be is “enhancing” a cutscene. feature too many cinematic was that its data was stored becomes the main format of
difficult to map to specific In an “enhancement” QTE, sequences and not enough on a Laserdisc. Player control the game-action for an entire
controller inputs. Miss a the developer is providing game-playing. This use of inputs were limited to actions set piece.
WWW.GDMAG.COM 17
FULL REACTIVE EYES
E N T E RTA IN M E N T
that they offer developers ejection from the QTE: miss a
BAYONETTA.
the opportunity to show move during the hydra fight,
the player something really and Kratos plummets back
cool—and that’s why gamers to the deck of the ship. The
play games: to see really hydra recovers his strength.
cool things. Making a game You must now attack the
sequence entirely out of boss as before until he’s in a
QTEs means everything has vulnerable enough position
to be very cool, and it’s hard to initiate the QTE again.
to make everything cool. It’s
like writing a sentence using FINISH HIM!
only exclamation points.
People get tired of that after QTEs aren’t just for bosses.
a while. They can happen in the
The secret, then, is middle of typical underling
to use QTEs to enhance fights as well. GOD HAND
in-game action. (Capcom, 2006) employs
In GOD OF WAR (Sony, QTEs of the button-mashing
2005), a shining example of variety in the middle of
enhancing in-game action, standard fights. Sometimes,
QTEs most often arise in your hero will have an
the middle of climactic opportunity to get an enemy
battles—not the cutscenes in a headlock. Press the
before or after said battles. button displayed on-screen
In an early boss battle with the proper timing to
against a hydra, the player initiate the headlock. Now
must dodge the enemy’s pound that button as hard as
attacks while attacking its you can in the ensuing lock-
weak points. Hit the weak up to inflict damage on the
points enough times, and enemy. The faster you press
you induce a vulnerable the button while gripping the
state. The player has a few enemy, the faster the hero
moments to reach and pummels, the more your
NINJA BLADE. attack the hydra head during controller vibrates, the more
this induced vulnerability. damage you do, and the more
One infamous example tenement building devoid of floors of the building. This He must continue to dodge satisfied and inspired to
of such a QTE usage comes other life or sound. Arms held might be where you give up attacks while climbing the pump your fist you become.
in the game SHENMUE II out at his sides, putting one on the game, either because mast of a ship to reach the The crux of this kind of
(Sega, 2001)—the sequel foot in front of the other, he it’s too difficult or because hydra’s head. QTE is that it requires a timed
to the game that brought baby-steps forward across you’ve smashed your Once in place, the player button-press to initiate, and
the QTE abbreviation into the plank. Every few steps, at controller. If you succeed, presses a button to initiate that that button is always the
the mainstream. At one randomly staggered times, the other character is waiting a QTE during which the hero same button. In Japanese
point in the story, the hero he leans to one side or the for you at the top. The hero, lambastes the beast’s head, game development, all QTEs
and his buddy arrive at a other. An on-screen prompt confused, asks how he got swings around in an acrobatic are most often referred to as
dilapidated tenement building urges you to press either left up there. He explains that he arc, and ultimately pulls the “Action Button Events”—as
in Kowloon. The goal is to get or right on the control pad. took the elevator. head down with great force, in, you press a button, and
to the tenth floor, where they Soon, these prompts are The player has no option impaling it on a broken, spiked you get action. Meanwhile,
have an appointment to meet coming in relentlessly. Miss to take the elevator. wooden pole. Success at the in games like THE LEGEND
someone. The hero goes just one, and the hero falls QTE means destruction of one OF ZELDA: OCARINA OF TIME
ahead alone. Upon reaching to his death. Falling to your GOD OF BUT TONS of the parts of the boss. If this (NINTENDO, 1998), an all-
the second floor, he finds death means game over. You were a game on the Nintendo purpose, context-sensitive
that the floor is caved in, and reload the game, you endure SHENMUE II’s example of using Entertainment System, the button is called the “Action
the only way to get to the the journey from your save QTE to replace game action, boss’s life meter would be Button.” For the GOD HAND
other side is to walk across a point to the place of your in theory, is purely out of made up of four rectangular flavor of QTE, where the same
precariously positioned plank death, and you try again. DRAGON’S LAIR. In practice, segments: attacking the boss context-sensitive button is
of wood. Step onto the wood, Succeeding at this particular it offers no neat graphical outside of the QTE would not always used to enter these
and the action QTE begins. mission flawlessly takes payoffs. Even death is decrease his life meter, while pummeling scenarios, the
The camera is positioned 10 grueling, palm-sweaty unceremonious: the hero successfully completing the description “Action Button
just above the hero’s minutes of your life. Failing at is swallowed into the void. QTE would erase an entire Event” is more apt than it
shoulders as he stands on it might take a dozen hours. It’s a chore that must be segment. may be elsewhere.
a thigh-wide wooden plank You have to walk across completed to move forward The penalty for missing Compare the GOD HAND
spanning a black hole in a planks—sometimes two of in the game. QTEs are a a prompt in the GOD OF WAR example with the “torture
gray-floored, brown-aired them—on each of the ten powerful game mechanic in during-boss-fight QTE is attacks” in BAYONETTA (Sega,
WWW.GDMAG.COM 19
FULL REACTIVE EYES
E N T E RTA IN M E N T
mashing QTEs in a strategic the fights are fantastic, beginning of the corridor. With fall onto enemies. Objects right or left on the controller
context. One fantastic and even the simple act of a great performance, you that can be shot glint at at excruciatingly specific
example is in GEARS OF opening a door includes might only be 10 feet away. appropriate times. Shoot times. Your reward for
WAR 2 (Epic, 2008). Your unforgiving mini-games JOHN WOO’S STRANGLEHOLD them, and they’re bound to enough precise inputs is
characters are ambushed involving punching. It’s no (Midway, 2007), likewise, fall on an enemy position. The to watch an enemy car fly
while standing in the middle wonder scientists recently exclusively employs such “glint” is the game’s way of off the road, smack into a
of a circular elevator. The proclaimed GOD HAND the progressive QTEs. The most temporarily, instantaneously mountain wall, and explode
enemies are in the circular Best Game Ever. (Editor’s striking of them are the gifting the player with the in a ball of fire—or to watch
hall surrounding the elevator note: they didn’t actually.) standoff situations. A group hero character’s superhuman your own car drive up a ramp
shaft. In the center of the A pattern that emerges of enemies surround the skill of destruction-minded and fly over some impossible
elevator is a round wheel. Get in the analysis of game- hero. They point guns at him. creative perception. Shoot at ravine. A decade and a half
to this wheel and hammer enhancing, progressive QTEs They tell him to negotiate. the glint, and something will later, we have BURNOUT 3 and
the action button to raise is that they involve using He’s played by Chow Yun happen. Shooting the glint is BURNOUT PARADISE (EA, 2004
the elevator above the heads buttons on the controller Fat and wearing sunglasses accomplished by aiming and and 2008), games about
of the enemies. Now you for the same purpose that at night, so he is definitely shooting your hero’s gun in driving at criminally insane
have the high ground. The they’re used in regular play. not going to negotiate. The the same way as you’d aim speeds and performing
enemies, however, have In the GOD HAND example camera slides into a first- and shoot the gun in any ridiculous maneuvers, where
access to a crank handle above, the player uses the person view. Time slips into other context. the central play mechanic
all their own, and they can punch button to punch and super slow motion. Using the For the moment, let’s involves knocking cars off
pump it to lower your high the dodge button (actually an right analog stick, we perform ignore the way STRANGLEHOLD the road to their death. What
ground. Now we have to keep analog-stick swipe) to dodge. the usual right-analog-stick jumps the shark one- we’ve done in this modern
our eye on the enemies’ Another excellent motion of aiming the hero’s sixteenth of the way through age is perfectly recreate the
handle to pick off anyone example is the first boss in guns. We pull the right stage two, and say that it thrill of piloting a speeding
trying to kill our advantage NINJA BLADE, a game that trigger, and it does what the might just be the future of automobile, and married it
while also dealing with otherwise features bland right trigger always does: action games. STRANGLEHOLD seamlessly with the crazy
enemies around the circle. (if forgiving) cutscene- we fire our guns. In the first presents a genre where the action of sideswiping some
While dealing with those replacement QTEs. The first slow-motion microsecond, game world itself is a QTE. dude off the road and into a
other enemies, one of them boss is a massive spider the enemies begin to fire mountainside.
out of your sight range might monster at the end of a their guns. The first-person PRES S A TO DIE Unlike ROAD BLASTER,
get to the enemy crank and corridor. The player must camera snaps from attacker BURNOUT, using only its
start lowering your elevator. traverse that corridor, to attacker. The crosshair is So we’ve come full circle. vehicle native controls
It’s a fast, maddening, dodging left and right to avoid always a bit off of the deadly Game graphics today are and no on-screen button
excellent level design. the shock waves the boss is pressure point. You move incredibly impressive, even icons, lets us finely control
GOD HAND plays with the spitting. If a shock wave hits it manually, at just slower if the things we do with them the velocity of our car and
idea of opening a door with a the player, it hurts him, and than its usual speed, as you are something obtrusive and minutely consider the angle
QTE even while stopped at a knocks him back. The corridor savor the super slow motion weird. Eight-year-olds who and ferocity of our approach.
conflict-free dead end. It does is long and treacherous. reaction time of the enemy gawked at DRAGON’S LAIR in And when we succeed in our
this by turning the event into When the player successfully in front of you. You pull the 1983, if shown STRANGLEHOLD, favorite in-game action of
a mini-game. Locked doors reaches the end of the trigger. The camera follows would likely scream until they death-delivery, all kicks into
in GOD HAND often feature a corridor, he can now attack the bullet impact. The enemy spontaneously combusted. slow motion and the camera
large, smiley-faced button the spider’s face. He does flinches, deforms, crumples, The amazing thing, way swivels to bring the road
with a wide mustache made this by pounding the attack or explodes backward with back then, was that games behind us into view to show
of maces. As you pummel button. Eventually, the boss terrific physics calculated by could look this good while our soon-to-be-late rival
the button, it turns from doesn’t like this, so he emits the impact point of the bullet. simultaneously portraying slowly careening toward
green to red. You can see its a super-powered shock wave This is as exciting as QTEs complex, dynamic, cinematic some form of demise, the
facial expression quaking. that knocks the hero back can possibly get: the action action on the screen. physics of his flight perfectly
The face soon gets angry. with intensity. The camera fits story context, character We’ve evolved much since calculated uniquely, just for
This is your cue to tweak the zooms in to the hero’s face. context, and game control then. We’ve learned how to our current performance.
right analog stick to dodge: He’s holding up his sword- context, and the payoff is make graphics equally as Compare that to the game-
its mace-mustache is about edge against the shock wave. visceral and instant. Much impressive as those cartoons length QTE that is ROAD
to clap your ears, doing big This is your cue to press as games like GEARS OF WAR of the 1980s, and we’ve BLASTER. (Please ignore ROAD
damage. Dodging forward or the sword button rapidly to and HALF-LIFE phased out learned how to make games BLASTER’s killer soundtrack
backward offers a slimmer fight back the shock wave. the cutscene by making the so incredibly interesting to and wicked-sweet character
margin for error than dodging No matter how many times narrative “happen” in the play that we’re willing to get designs.) Which one is
left or right, though it is also you press the sword button, world as the player plays, online and play them with more exhilarating to play?
quicker, and buys you more you’re not going to conquer STRANGLEHOLD shows that profane 12-year-olds, if we Be honest. If QTEs are a
time to pummel the door- the shock wave. It’s going to QTEs can be part of a game have to. “problem,” we might be
button. (Any time you’re not knock you back. The question and not be sudden, intrusive, Consider ROAD BLASTER millimeters away from a
pummeling the button, its is how much it’s going to demanding situations. (Data East, 1985), which global solution.
color slowly fades from red knock you back. With a less- In STRANGLEHOLD, physics depicts high-velocity cartoon
to green.) Though the level than-stellar button mashing is the payoff. Everywhere car chases from a driver’s TIM ROGERS is a freelance writer
design may be no more than performance, you might you go, you’re shooting neon seat view. In ROAD BLASTER, and game designer. He recently
hollow boxes full of enemies, be all the way back at the signs and watching them your only input is pressing worked on NO MORE HEROES 2.
////////////////////// In sImple terms, augmented realIty Is the projectIon of an InteractIve graphIc over a
vIdeo feed of a real-world physIcal envIronment. recent tItles such as eyepet and eye of judgement for the
playstatIon 3, or InvIzImals for the psp are examples of games that use augmented realIty technIques as the
basIs for play.
An important key to these games is the process of pattern recognition. Using a camera, a pattern printed on a card can be
recognized by the game, and on the card some play elements can be superimposed, such as the pet from EyEPEt. Cards can be
used to place virtual characters, or used to define a playfield in which virtual elements from a game are kept oriented to the real
world surface they are projected over.
Here we’ll examine how to recognize a pattern on a card, and how to detect its position and orientation. To make this task
easier, we’ll make use of the OpenCV library. This library has many functions for solving problems related to computer vision, but
we will only use a small portion for our interests. OpenCV is written in C and includes the source code. Because OpenCV is BSD
licensed, it is free in principle to port to almost any platform, as well as for use in commercial projects.
As shown in Figure 1, the basic pattern card which we want the computer to recognize is a simple image on a white background
surrounded by a black border. The black border and white background is common to all pattern cards, and the image in the center
will be what differentiates one from another. Some considerations to take into account when creating a pattern card are:
» It must be a white square with a black border (the width must be equal to the height).
» The image in the center needs to be grayscale, and it’s preferable to use only the absolute
white and black. It’s possible to use shades of gray that are extremely close to these
values, but avoid middle tones, or use them in a very specific way (such as at the edges
of the image) to avoid aliasing.
» The interior image should not be too close to the edges. If the pattern card is moved,
the image may blur, making it impossible for the computer to differentiate between the
interior drawing and the pattern card’s black border.
Once we’ve created a pattern card, we need to define the pattern associated with it, so it can be recognized by the computer.
Begin by dividing the space within the black borders into NxN cells so that each cell can have its average color calculated.
To calculate the average color, add up the color values of all pixels inside a given cell, then divide by the number of pixels
within that cell. If the value is less than 127, we will call the cell black. An average equal to or higher than 127 will be considered
white. As shown in Figure 2, at the end of the process, we will have a pixilated image, in pure black and white, of the original image.
The maximum number of patterns that can be defined, and the ease with which we will be able to detect them depends on the
choice of N. If we choose a lower resolution N such as eight, which results in only sixty-four squares, we will have little variety when
it comes to defining, patterns and different images can look similar when pixilated. However, there is an advantage in averaging
www.gdmag.com 23
FIGUre 1 (top) shows the format for a basic pattern
card. FIGUre 2 (bottom left) shows the original FIGUre 3 shows the detection process starting with the camera image (top left), the binary image (top right), the
image and its binary representation (bottom right). rough contour (bottom left), and its converted "poly" contour (bottom right).
Once the black cells are compared, we will get a percentage of similarity Camera eye
(number of coincidences / number of black cells). Then, we check to see
if this percentage is greater than a certain threshold that we have defined Rays of light colliding with the objects around us form our view of the
(such as 90 percent) and if so, the pattern has been recognized. We always world. In such collisions, some light is absorbed and some is reflected. This
need to compare against a threshold, because in practice we are never going reflected light is collected by our retina and defines the color that we see
to obtain a 100 percent correspondence. When calculating the homography, reflected from an object.
the results will depend on variables such as size, orientation, lighting, and A camera functions very similar to the eye—light enters through the
the image on the pattern card. lens of the camera and is projected onto a plane that collects the image.
We can also employ a heuristic to decide which pose of the pattern to To project a 3D point from the world onto the 2D plane of a camera, two
compare first. We can start by checking against the pose the pattern had the matrixes are used to transform the origin coordinates.
last time it was recognized, and if the pattern is not found to be using that The first matrix is the camera matrix, or the intrinsic parameters matrix.
pose currently, it can be compared against the preceding and following poses. In it, the values for the focal length are defined—meaning the distance from
At this point, we will have detected the pattern in the frame of the camera. the point where the light enters the camera, and the plane where the image
In addition, we have its base pose that will be needed to properly calculate is recorded.
its orientation. We will only need to get the positions and orientation of the There is a focal length for x and another for y. This is normally because the
pattern in 3D coordinates. pixels of the camera plane where the image is recorded are rectangular rather
than square. The other two values that are used are the displacement of x and
y, from the center of the projection plane to the
center of the camera. Under perfect conditions
sample applications
To get more insight into pattern of the file with the image pattern, cube over the pattern that adjusts
both would be 0, but low-cost cameras rarely
have the millimetric accuracy needed to correctly
recognition, we’ve provided sample and the second parameter should to position and rotation. place the projection plane right in the center of
programs available at www.gdmag. be the name of the file where In Recognizer’s debug window, the focal point. These values are given in pixels,
com/resources/code.htm that use the pattern information will be you can see the steps that the so if we calculate the values for a resolution of
OpenCV for computer vision and stored once it’s processed. Visual application follows in order to detect 640x480, and we change the camera resolution
OpenGL for graphic representation. feedback in Creator shows how the a pattern. Press F1 with the focus to 1280x960, we need to multiply the values by 2
They are compiled using Visual program processes the image so on the recognition window, and you
Studio 2005 Express for use with you can see the original image, its can see how the binary image is for them to be valid.
Windows. The window initialization contours, and the four poses of the calculated, followed by the contours, The second matrix is a matrix of extrinsic
and the event management of the image converted to cells. the homography of the possible parameters that are the product of a rotation
application are set for Windows, The other sample program is contour, and finally the pattern in matrix and a translation matrix. These indicate
so you will need to make some called Recognizer. When running, the form of cells. In addition, at the the rotation and translation from the coordinate
changes in this regard if you want it will display a window that shows bottom, a percentage indicates the origin of an object in the real world toward the
to port to other platforms.The first what the camera is capturing. degree of similarity found between coordinate origin of the camera.
sample is a command line program By using the example pattern the pattern taken from the frame
called Creator. The first parameter that comes with the program, of the camera and the pattern read Initially, each camera has some intrinsic
introduced should be the name Recognizer will place a virtual from disk. parameters that differ from model to model.
To obtain these values, it is necessary to
calibrate the camera. Using a well-defined pattern such as a checkerboard, the size of the inner white square, it will give us the depth in units of the
images of the pattern in different positions and rotations are taken by the world where we would place a 3D model.
camera. Then by using the cvCalibrateCamera2 () function, we obtain the For now, we only have the depth of the 3D object. To calculate the remaining
intrinsic matrix. two coordinates, we pass the x and y position from the center of the pattern
on-screen (simply add the values of the four vertices and divide by four) to 3D,
C alCul ate Position and orientation in the and throw a ray according to the orientation of the camera to the depth we have
Pat tern’s 3d Coordinates calculated. With this operation we will have the three world coordinates.
The orientation is given in a 3x1 vector. The three values indicate an
In order to overlay 3D graphics onto the camera feed, we need to know the axis of rotation, and the magnitude of the vector represents the angle of
position and orientation of the pattern relative to the camera. This allows us rotation. To make these values easy to use, OpenCV provides a function to
to, for example, draw a 3D model on top of the card and have it look like it fits convert this rotation vector to a classic 3x3 rotation matrix. This function is
into the scene. cvRodrigues2 (RotationVector, RotationMatrix). If we are working with
The first thing to do is to build two lists of points in the same way we OpenGL, we should reverse the rotation in X before calling the function, and
did when calculating the homography matrix. The values of the points are after calling it, we will have to transpose the matrix.
the same as in the previous case; the only difference is the order in which These are the steps necessary to detect a pattern and obtain its position
we define the points of the pattern in the frame. When we calculated the and orientation in the 3D world.
homography matrix, the first point was always located at the top left of the Throughout this article, I used less than a dozen OpenCV functions. If you
contour, and the others were clockwise. want to continue working with augmented reality, it is worth investigating
The first point is given by the pose in which the pattern has been this fantastic library. For example, you could obtain the brightness of a
found. If the pose is 0 (original image without rotation), the order of the camera frame, and depending on the lightness or darkness, apply a shade
points is the same as when we calculated the homography matrix. If the to your 3D models so that they integrate better with the real world. Another
pose is 1 (image rotated 90 degrees), the first point on the list will be example could be tracking the user’s head movement in order to rotate our
the last point of pose 0. If the pose is 2 (image rotated 180 degrees), the models, as well as detecting hand movements and gestures. There is a
first point will be the last point of pose 1. For pose 3, which is the image world of possibilities within this library.
rotated 270 degrees, the first point will be last point of pose 2. For the
second list, we use the list of points that we built when calculating the C é s a r B o t a n a h a s b e e n w o r k i n g a s a g a m e p r o g r a m m e r s i n c e 2 0 01
homography matrix. in companies such as Pyro Studios and Zinkia Enter tainment. He
Once we have the two lists of points and a matrix of intrinsic values, i s n o w l e a d p r o g r a m m e r a t Te q u i l a W o r k s .
we call the function cvFindExtrinsic () and pass these values to it. It
will return rotation and translation vectors for the object we have been
analyzing that relates to the coordinate’s origin (the camera’s focal point).
The units in which these values are given are the same ones we used to
resources
indicate the coordinates in the second list of points. openCV http://opencv.willowgarage.com/wiki
Remember that we introduced the values in pixels, so the values we learning openCV: Computer Vision with the openCV library
obtain in return will also be expressed in pixels. In this way we can get the by Gary Bradski and Adrian Kaehler, O’Reilly Media, 2008
distance in depth between the camera and the pattern, and if we divide by
www.gdmag.com 25
B Y P A T R I C K R E D D I N G , A L E X P A R I Z E A U , A N D M A X I M E B E L A N D
After the fourth game in the series—SPLINTER CELL: DOUBLE AGENT (2006)—a new thematic direction
had been established. Grizzled intelligence operative Sam Fisher was on the run and at odds with his
former employers in the wake of a devastating loss. This reset offered both promise and peril for the
next production, which wound up becoming SPLINTER CELL: CONVICTION. The SPLINTER CELL team set out
to redefine the core gameplay away from traditional light and shadow stealth mechanics, and toward
disguise, crowd concealment, improvisation, and dynamic environmental action. When the results fell
short of the publisher’s standards for its flagship titles, it meant the binning of over two years worth of
work and the restructuring of the team.
This was the situation that confronted the title’s new producer and creative director at the start of
2008. Having previously worked together on TOM CLANCY’S RAINBOW SIX VEGAS, Alex Parizeau and Maxime
Beland understood the challenges of reinvigorating an established brand with extensive history and
fiercely passionate fans. They were also starting their involvement at a time when the clock had already
been run down by two years, representing a body of work that would be largely invisible to an end
consumer. This was on top of the quality expectations that would come with a second outing on the
current generation of consoles.
At the request of the company’s Paris HQ, Beland steered the game back to its roots, and at the same
time recalibrated the working model of shadow stealth to give the player faster movement, more visceral
WWW.GDMAG.COM 27
action, and explicit, presentation-layer cues for tweak the game’s systems in support of Sam’s story, and new characters that fit the SPLINTER
preying on AI enemies. Parizeau drew talent from predatory aspect. The result was a player fantasy CELL universe (providing some of the classic
Ubisoft’s entire operation to grow the team, which that lived as much in the depth of CONVICTION’s mission-based structure loved by fans of the
at its peak numbered 200 developers in Montreal, systems as it did in the fiction surrounding earlier games) while setting up background for
Bucharest, and Paris. Ramping up through an Sam’s work for Third Echelon. the solo campaign.
accelerated pre-production, they delivered a But that fiction also did its part to shift the Because key time constraints and the
vertical slice in November 2008, and pitched a game’s emotional center out of the geopolitical needed autonomy were established up front,
full game walkthrough that deviated from the spaghetti of most CLANCY titles, by focusing the co-op group could pick its battles judiciously.
shipped content by only a single scripted event. on the apparent death of Sam’s daughter in a Associate producer Sebastien Ebacher brought
Reaction to CONVICTION upon its release in drunk-driving incident. For a character that had on Patrick Redding as game director, and the
April 2010 reflected both the players’ hunger for previously been defined as a self-aware chess two of them collaborated closely to set quality
variety in the modern action-adventure milieu, piece, this made his concerns and anxieties benchmarks and dial the scope of content up or
and the relatively hardcore tastes of many immediately more relatable. down as needed.
bloggers and reviewers. SPLINTER CELL: CONVICTION The decision to ship CONVICTION as an Xbox The designers focused on the core
dropped as an Xbox 360/PC exclusive and was 360-exclusive title brought increased support mechanics of single-player that best scaled up
the best-selling console game in the U.S. for that from Microsoft. This working relationship proved to two players, and they avoided overextending
month, according to NPD. vital when submission schedules were shifted the design. Since they weren’t locked into
around late in production to allow for more polish using existing single-player map geometry or
WHAT WENT RIGHT time. Having been briefed on the overarching assets, designers were able to tailor the level
intentions for the title, Microsoft was in a better design blueprint to the unique needs of two-
1) CLEAR AND FOCUSED DIRECTION (ONCE THE position to offer flexibility. By the time the game person multiplayer. The artists had the freedom
VISION WAS SET). Beland established a standard was revealed on the Microsoft stage at E3 2009, to develop a unique visual aesthetic for the
language for describing the target experience, content for the single-player campaign had been campaign, and were given room in the production
and that message was applied consistently both precisely scoped. The demo itself showcased schedule to iterate on level art and assets.
internally within Ubisoft and externally during real systems and data. What was shown was The resulting work extended the overall
the marketing of the game. Sam would move and what shipped. replay value of the game, and drew substantial
behave like the proverbial “panther.” This was the praise from critics and players. Ubisoft leveraged
reference point in the character’s animations, and 2) THE COOPERATIVE MODE STOOD ON ITS OWN this through a DLC strategy that delivered new
for new game mechanics designed to empower MERITS. A late addition to the game’s official DENIABLE OPS maps for months after the game’s
the player with a credible approximation of planning, co-op became the focus of a dedicated initial release.
Fisher’s ruthless super-spy efficiency. team that was quickly assembled and given a
Clear player experience targets gave the mandate to deliver within less than a year. The 3) THE TEAM INCLUDED THE RIGHT MIX OF
team the confidence to make decisions and to result was several game modes, a two-player EXPERIENCE. At the time of the game’s shift
PUBLISHER
Ubisoft
DEVELOPER
Ubisoft Montreal
NUMBER OF
DEVELOPERS
200 at peak
RELEASE DATES
April 13th
(Worldwide Xbox
360), April 27th
(Worldwide PC),
2010
PLATFORM
Xbox 360, PC
WWW.GDMAG.COM 29
Even though the “panther” concept was Unfortunately there wasn’t time to rebuild streamlining much of the complexity from
envisioned and documented relatively quickly, everything. Analog movement speed was the original systems. Unfortunately, some
implementation could only be accelerated abandoned in favor of a simplified run-walk much-appreciated features—like the ability to
by so much. Many features that are a given system. The ability to pick up and hide dead move dead enemies, or use a knife for close-
in a S PLINTER C ELL game, such as dynamic bodies was never recreated, nor was lockpicking, quarters kills—fell by the wayside because
lighting, two-handed weapon firing, and gadget nor the full variety of door-entry mechanics. they were never included in the original design
management literally needed to be recoded requirements, and there wasn’t sufficient time
from scratch. Any new mechanics needed to 2) TARGETING ACCESSIBILITY PUT THE GAME IN left to reintegrate them and polish them to the
sit on top of these must-have features, putting CONTENTION WITH HARDCORE PLAYERS. Stealth standard of the earlier games.
further pressure on the timetable and creating games in general occupy a relatively narrow niche, Among other things, the compounding
considerable bug risk. and Ubisoft needed to expand the franchise’s development pressures left the team without
For example, the black and white filter appeal or risk it falling between the cracks, enough time to implement and polish a true
that tells the player they are hidden from pleasing no one. Earlier chapters in the SPLINTER “realistic-hardcore” difficulty setting that
nearby AI was functionally dependent on the CELL series had emphasized a fairly punishing would have better satisfied the desire of
restoration of the light and shadow system. It model of stealth play that required painstaking some players to tackle the game in a more
was impossible to make changes to ambient observation and concealment, and which traditional way.
lighting or the nuances of shadow gradation generally ended badly if the enemies’ suspicions
without impacting the logic of the black and were ever aroused to the point of violence. 3) CHANGING DESIGN, TEAM, AND TECH AT THE
white filter, which made it harder to debug and Opening the series up to new players SAME TIME CREATED SIGNIFICANT PRODUCTION
prevented us from giving the effect the degree who were wary of its reputation meant RISK. As experienced as the team was, most of
of visual polish we wanted. devising completely new mechanics and us were new to the franchise and needed a crash
WWW.GDMAG.COM 31
Learn. Network. Inspire.
R e v i e w B y T o m C a R R o l l
aUTOdesK
3ds max 2011
While 3ds Max has seen provided guidance on that color The first note is that it is possible pick a 3D object and paint into your
revisions on an almost yearly basis, scheme for the native viewports? to save assets back to the 2010 scene with your mouse. The controls
it’s important to say right up front Darth Vader? I can hear it now in the version of 3ds Max. This means that let you adjust scale and spacing on
that 3ds Max 2011 is a significant production meetings: teams that might have been skittish all three axes, and as objects are
update. So often software companies about upgrading to a new level can painted into the scene, they can
get into releasing new revisions Minion: “Lord Vader ... now do so without any qualms (if be adjusted on the fly to prevent
when they’re simply not worth the what colors should the they’re using 2010, that is). And them from being too uniform. You
time or the money, like buying a new interface be?” there are a lot of reasons teams can even paint with more than one
Lexus when really, only the trim and Vader: “Geev them any would want to do so. For example, object at a time. Painted objects
the taillights have changed. color as long as it’s 3ds Max 2011’s Object Paint tool and remain live (you can continue to
This isn’t the case with 3ds blaaack!” updated Viewport Canvas give game tweak them until your middle mouse
Max 2011. To continue with the Minion: “But Lord Vader ... developers Toyota hybrid economy button falls off) until you commit
automobile references (because black is ... well, black.” with Lamborghini styling. By them within the scene. Artists will
I can), the release ships with a Vader: “I find your lack of themselves, these two features will thank the 3D gods in the sky.
new user interface (UI) that is as confidence in dark color help game artists save a ton of time, Common environment tasks
intuitive as a cup holder, dynamic schemes ... disturbing. and that’s no lie. such as placing foliage, patches of
workflow streamlining, luxurious Make it charcoal gray Let’s see why ... grass, and various sizes of rocks,
additions to the modeling tools, then ... dark charcoal.” bricks, tombstones, fence posts,
a new and improved system for OBJeCT PainTinG bollards, etc., will not only become
building materials, integration While I can anticipate the avalanche » I find that Object Painting is one less repetitive, but may actually
of CAT (that’s Max’s Character of emails wondering if my own 2011 of the best new features in 3ds Max allow artists to get their art groove on.
Animation Toolkit, not videos of viewports have been redecorated to 2011. It's tops because it allows Object Painting also allows for
adorable felines playing with yarn), conform to Dora the Explorer or My you to do something you’ve always various kinds of object filling. For
and even a best of class 3D/2D Little Pony, let me just counter that if wanted to do, and it does it very, instance, let’s say you’re working
paint system. the worst negative you can find about very well. And that is to paint parts on some kind of killer steampunk
And about that UI ... 3ds Max 2011 is the viewport color of your scene with objects. zeppelin and you want to put low
Lest I begin the review sounding scheme, the rest of it must be pretty The Object Painting tab is on the poly rivets along the structural lines
like the curmudgeon I am not, who damned good. It is. Ribbon. To paint with objects, you on the outside of the covering. In the
past, you might have toiled away in
relative obscurity, eating cold pizza
and drinking Mountain Dew for a
day and a night while placing those
rivets by hand, or you might have
taken a shortcut by painting them
into a normal map, and then tried to
make them appear in the render.
With Object Painting in 3ds Max
2011, simply select an edge or a
loop on the zeppelin, turn the edge
into an editable object, then pick
a rivet object and use Object Fill
to place rivets along the edge. The
rivets adjust automatically, so the
amount you preselected via the
Ribbon will be spaced out nice and
even.
VieWPORT CanVas
» Viewpoint Canvas was a part of
3ds Max 2010, and it allowed you
to paint on the diffuse channel of
objects directly in the viewport.
The slate Material editor in 3ds Max 2011.
www.gdmag.com 33
TOOLBOX
product news
New Version of navigate crowded MMO available as a public beta The acceleration will bleeding, soft shadows,
NavPower environments, according to starting in the first half of rely on Directx 9 standards and other lighting-related
BABelFlux BabelFlux. 2011. on Windows, OpenGl eS effects in games.
www.babelflux.com The update also They will provide low- 1.3 on Macs, and OpenGl The company claims
/// Middleware developer optimizes the middleware’s level programmable shader- eS 2.0 on mobile platforms, that Beast streamlines
BabelFlux announced performance on the based engine features and potentially puts the lighting process in
a new version of its PlayStation 3, using the including z-buffering, Flash more directly into game development with
NavPower AI pathfinding system’s multiple cores stencil color buffering, competition with 3D-centric its liquidlight Global
software, which will be more efficiently to reduce fragment and vertex web game engines such Illumination engine
used in upcoming games memory consumption and shaders, and cube textures, as unity. and real-time lighting
improve response time, the all of which will use the visualizer eRnsT. The tool’s
company says. GPu “where possible” for Beast Lighting DistriBeast distribution
“significant performance Middleware engine can be used to
3D Flash Game gains.” AuTODeSk quickly distribute renders
Dungeon Siege iii.
Hardware Developers are told www.autodesk.com on multiple machines.
Acceleration to expect “hundreds of /// The Autodesk Beast Other key features of
such as eA’s DeaD Space ADOBe SYSTeMS thousands of z-buffered lighting middleware is Autodesk Beast include
2, DarkSpore, and Square www.adobe.com triangles to be rendered at now shipping and is the precomputed global
enix’s Dungeon Siege iii. /// Adobe announced a new HD resolution in full screen first release of the product illumination, the ability
Pathfinding algorithms set of APIs enabling large- at around 60 Hz” under under Autodesk since the to adjust overall scene
in the new version allow scale, hardware-based 3D the new APIs, compared company acquired Beast lighting without bounce
for AI-controlled characters acceleration on its popular to “thousands” of un-z- creator Illuminate labs in lights or ambient fills, and
to negotiate moving Flash and AIR platforms. buffered, 30Hz triangles July this year. an API that allows users to
platforms, fly over buildings Code named “Molehill,” the under the current Flash Autodesk Beast allows more easily integrate Beast
or through windows, and company’s new APIs will be Player 10.1. for light bouncing, color into a game engine.
Downloa
anD Pla D
the l ate y
stu Dentst
www.gdmag.com 35
pixel pusher // steve theodore
The Balkans
Living and working in a fragmented medium
www.gdmag.com 37
THE INNER PRODUCT // GIaCOmINO VElTRI
Game ConfiGuration
at Crystal lake
Loading and Processing configuration data with Json
Game configuration is a problem that is both ubiquitous and arbitrary. Every studio in our asset editor’s undo queue. We use JSON
needs to configure some aspects of its games, and the data used to configure each to send generic events in our event system.
aspect can come in various shapes and sizes. This can lead to customized solutions for We even use JSON from Perl scripts to help
loading and parsing different types of configuration data. The Excel JSON Exporter is automate a few processes in the new toolset.
meant to help simplify and unify how our configuration data is loaded and processed. Thus, it seemed only natural to use JSON as our
JavaScript Object Notation (JSON) is an open-standard text format for describing method for getting configuration data from Excel
objects. It’s basically text that defines a set of key-value pairs, where values can either into the game.
be scalars, arrays of values, or other objects. Because it is an open standard, a wide
range of tools are available for use with JSON. Our new toolset makes heavy use of JSON Json lives
for asset metadata, game object properties, and so on, which made JSON a natural fit » Writing an Excel add-in was not without its
for storing our game configuration data. The JSON Exporter is an add-in for Excel that (minor) challenges. The first thing to address
converts a specially-formatted spreadsheet into a JSON text file for use in our game. was the choice of language—a C/C++ plug-in
or a Visual Basic add-in. Although I’m far more
a new BeGinninG game. The use of JSON with the configuration familiar with C/C++ and generally prefer it over
» When determining the configuration data data stems from our use of JSON in other Visual Basic, the process for getting a C/C++
pipeline in our new tools and engine, one of the aspects of the codebase. At Insomniac, we’re plug-in into Excel is daunting, and involves
first decisions we needed to make was where the currently creating a new toolset in Flash to writing some sort of plug-in shim. In the past,
source data would come from. Would configuration provide our team with a richer user interface for we wrote an Excel plug-in for localization (and
data be stored in an internal format and edited development, and JSON provides a convenient its corresponding plug-in shim) using C/C++, but
using a proprietary tool, or would it be imported method for sending data from Flash/ActionScript it had its share of problems. It was complicated
from some third-party application? In our case, into our C/C++ code and back. To support this on to set up the environment, was difficult to debug
the answer was straightforward enough—our the C/C++ side, we created several utilities (the (the debug build of the plug-in would not load
current method for getting configuration data into main one is called Data Description Language, or on some systems), and every update required
the game was to use Excel as the source, convert DDL) that provide functionality to convert JSON the users to re-install the plug-in. After having
it to CSV, and then parse it in the game (with a both to and from an arbitrary C/C++ structure. to deal with those issues, I have been wary of
special binary version of the data used in final On the Flash/ActionScript side of the code, shimmying anything into anything else—it just
builds). Overall, designers like using Excel, and ActionScript objects can be converted both to sounds bad.
it’s available on all our machines, so using Excel and from JSON in JavaScript, and thus shared In contrast, writing the plug-in as a Visual
requires no additional installation process for us. with the C/C++ code. It is this data path from Basic add-in made the setup as simple as saving
While both writing a proprietary tool and using ActionScript to C/C++ and back that forms one the Excel file as an Excel Add-In (.xla/.xlam)
Excel have their pros and cons, a custom tool of the backbones of our new toolset. Because file. Updating the plug-in only required that we
that is basically a spreadsheet (which is the user JSON serialization is widely supported in our C/ replace the .xla/.xlam file (provided Excel is not
interface the designers want) would require more C++ code via the DDL utility, we adopted its use running at the time of update). However, I still
effort in the short term and take longer to mature for a variety of other tasks. For example, game had to deal with the occasional cryptic Visual
than writing an add-in for Excel, which has a well- object properties are specified in the level editor Basic error message, such as “Only User Defined
known interface with plenty of features. and parsed at runtime into our game object Types Defined In Public Object Modules Can Be
Once we decided on Excel as the source structure using JSON. Our level data structure is Coerced To Or From A Variant Or Passed To Late
of our configuration data, the next step was saved as JSON. We use JSON to store our asset Bound Functions.”
to determine how it would make it into the metadata on disk and to store asset changes It’s difficult to export an arbitrary Excel
spreadsheet to some sort of structured and
meaningful JSON, so to narrow the scope of this
problem, we placed certain rules on how the
Excel spreadsheet needs to be structured. The
spreadsheet structure was created to suit the
needs of our designers, and while it can change
from game to game, it usually does not. Most
of these rules already existed in the previous
fiGure 1 shows the configuration data for a Pistol weapon. system (which used Excel and exported to CSV)
www.gdmag.com 39
THE INNER PRODUCT // GIaCOmINO VElTRI
As subsequent lines are parsed, nodes are allowing the C/C++ structures to adhere to our
added accordingly to the tree in a similar fashion. coding conventions. lisTinG 1
This process can be seen in Figure 2. After all {
lines are parsed, the final tree is traversed and The Final ChapTer "Weapons" :
JSON text is output to a file specified by the user. » While it is still in its infancy, the Excel JSON
{
"SinglePlayer" :
The resulting JSON for the tree in Figure 2 can be Exporter plug-in has proven useful, and has a {
seen in Listing 1. This JSON is a representation few advantages over our previous CSV-based "Pistol" :
of how the Pistol weapon should be configured system. The previous system used the Excel {
for both the single player and competitive modes built-in CSV exporter. On rare occasions, Excel "damage" : "2",
"clip_size" : "10",
of the game. The value types “SinglePlayer” files would get filled with an unreasonably large
"xp" :
and “Competitive” are grouped in this manner amount of empty rows and columns, which made {
so that it is easy to switch between weapon the CSV files take excessively long to load. While "level" :
configuration sets during the game. the solution is simple enough (just get rid of the [
After the JSON text is exported, it must excess rows and columns), it’s annoying to have "100",
"200"
be loaded into the game. Fortunately, as to re-export the data and restart the game.
]
previously described, our C/C++ code provides The JSON Exporter deals with this problem in }
functionality for loading JSON data into two ways. First, it only parses a fixed number of }
structures (the main utility, which we call DDL, columns. The JSON Exporter knows how many },
is outside the scope of this article). The key to columns it needs to process based on the header "Competitive" :
{
loading JSON data into a C/C++ structure is to row. Secondly, it will stop processing rows after it
"Pistol" :
make sure the fields in the structure match up hits an arbitrary (but high enough) consecutive {
with the JSON data accordingly. The C/C++ code, number of blank rows. While this is not the "damage" : "1",
if desired, will use default values (specified by greatest solution ever (and may actually be the "clip_size" : "15",
a programmer) for any field that is not present most embarrassing), it does avoid the problem "xp" :
{
in the JSON data. Furthermore, fields present of Excel sometimes keeping around unused rows
"level" :
and columns. [
We use [JSON] for loading a variety of data Another advantage "150",
in our new toolset because it’s so simple and over the previous
system is that the
"300"
]
straightforward, so using JSON as our format CSV data needed to be
}
}
for game configuration data came naturally. loaded and parsed by
a special system at
}
}
in the JSON data—but not present in the C/C++ runtime that used Lua. While we are still parsing }
structure—are ignored. data in the new system, the system used to
Listing 2 shows the C/C++ structures parse JSON is generic and written in C/C++, so lisTinG 2
that can be used with the JSON in Listing 1. In the process of loading the configuration data struct XpData
practice, programmers usually create these becomes greatly simplified, and most likely faster {
int m_level[ 2 ];
structures first, and then tell designers which during day-to-day development since we are not
};
fields are available for configuration. Once running any Lua scripts in this process.
these structures are in place, programmers JSON is a widely supported open standard struct WeaponData
can use the C/C++ functionality to load JSON, text format. We use it for loading a variety of data {
and the member variables will be set (this in our new toolset because it’s so simple and int m_damage;
int m_clip_size;
is basically a function call on the structure). straightforward, that using JSON as our format
XpData m_xp;
In general, we have two ways of processing for game configuration data came naturally. };
the JSON data—initializing and updating. Our loading code for game configuration
When initializing a structure, any member data is greatly simplified by our C/C++ utility struct WeaponSet
variable that is not specified in the JSON data that matches fields from JSON data to C/C++ {
WeaponData m_Pistol;
will receive a default value specified by the structures, and the JSON Exporter for Excel
// Any other weapons, such as:
programmer. When updating a structure, any enables us to unify our configuration loading // WeaponData m_Shotgun;
variable that is not specified in the JSON data is code while allowing designers to work in the // WeaponData m_RocketLauncher;
simply not updated at all. This makes it simple environment they prefer. };
to pass changes to objects back and forth in
struct WeaponConfig
the tools and game as JSON containing a partial Excel files and sample data for JSON are available for
{
description of the object. One thing that stands download at http://www.gdmag.com/resources/code.htm. WeaponSet m_SinglePlayer;
out when comparing the structures and the A version of this technique was previously published as WeaponSet m_Competitive;
JSON data is that all structure member variables part of Insomniac's Nocturnal Initiative. };
are prefaced with “m_,” whereas in the exported
JSON data (and the Excel spreadsheet) they GiaComino VelTri is a programmer on the core team at struct Configs
{
are not. This is intentionally built into our C/C++ Insomniac Games. His recent work includes the animation WeaponConfig m_Weapons;
utility; it automatically appends “m_” to variable editor in the new toolset and prototyping gameplay in the // Other config data
names to keep the JSON data (and thus Excel new engine. Giac is also a graduate of UCLA—go Bruins! };
configuration data) more human-readable while [Editor’s note: go Trojans]
lisTinG 2 C/C++ structures that
correspond to the Json data in listing 1.
40 GamE DEVElOPER | DECEmbER 2010
jesse harlin // aural fixation
nOne Of The WOrldS In Uncharted 2, not only to explore the scene and Joseph Allen as he fights launcher can be nearly
that we deal with exist. Our is Nathan Drake the center treasure hunt, it becomes his way through the inaudible beside the chaos
artist colleagues carve of the game’s story, he’s also apparent that almost all war-ravaged streets of of the world around him.
dynamic spaces out of thin the focal point of nearly all of the sound comes solely Afghanistan. Although he is At its calmest, there
digital air. Our engineering the game’s sound. Listen from Drake’s actions. fighting in close quarters is no silence for Pvt. Allen.
brethren wrap those spaces to the way urban combat Footsteps and foley are with automatic weapons Instead, Pvt. Allen finds
in Newtonian physics and is handled in the Nepalese quite loud and take center just like Nathan Drake, himself awash in the sounds
breathe artificial life into an section of the game. As stage alongside the vocal Pvt. Allen’s world is one of a world fighting around
artificial populous. These Drake and Cloe attempt a exertions of exploration. If of complete chaos. Pvt. him and in spite of him. If
digital universes, rich with full-frontal assault on an Drake stands still, the world Allen is literally a faceless he takes part and adds to
puzzles, platforms, and occupied temple, there are goes quiet. There are short grunt, intentionally the sounds of combat, it
protagonists though they three primary elements to bursts of distant gunfire, indistinguishable from the barely affects the mix. Only
may be, are 100 percent the mix: weapons fire, music, but these are infrequent rest of his platoon. between levels is there a
silent without us. and dialogue, in descending and also quiet. There are When Allen stands sense of tense quiet in the
Silence is negative order of importance. occasional point source still, his world remains a form of secret backroom
space, and just as in fine Drake’s weapons cut emitters for effects like small constant buzz of weapons conversations, but even
art, negative space is an through everything with a fires, but these are very fire—both near and far—and then, Allen is merely a cog in
essential tool of contrast. Hollywood punch. There’s
In interactive audio, we never any doubt as to when
can divide sound into two the player is firing their
categories: sounds that weapon. Nor is there any
happen because of the player doubt as to when Drake is
and sounds that happen in being fired upon, as enemy
spite of the player. The way weapons have a similar bite.
sound designers handle the The music is interactive
balance between silence and kicks into action as
and these two categories Drake does. Accompanying
of sound can be a useful the gunfire and music is
tool in helping to establish the interweaving dialogue.
the weight of the player AI speech is focused on
character’s importance either taunting Drake or
within the game world. death utterances. For his
part, Drake has his own set
leSS iS MOre of utterances as well as
» Uncharted 2: among the intermittent requisite Call of Duty: MoDern Warfare 2.
thieves has become one snark. If Cloe speaks at
of those must-play games all, it’s to give the player quiet as well, even when ever-present radio chatter. the larger machinations of
in our industry, and with critical gameplay dialogue. beside them. It’s as if the Rocket-propelled grenades politicians and generals.
it, Nathan Drake has Everything on-screen is world waits for Nathan Drake, fire and explode. Jet aircraft Who controls the
arguably become one of this either happening to or and as such, all of this silent scream through the skies. silence controls their
generation of gaming’s most because of Nathan Drake. negative space isolates him Characters shout dialogue own destiny, and sound
iconic characters. Drake’s The moment combat as the single most important at each other from all sides, designers shouldn’t be
snarky banter is a well- stops, however, silence element of the game. occasionally including afraid to use silence—or
implemented counterpoint begins to intrude. Music orders for Allen. Platoon the lack thereof—as a
to the pop of his M4. Take drops out quickly without MOre iS leSS members engage the tool to help indicate a
another detailed listen threats to Drake. Some » For the sake of Afghani militia in a constant character’s importance
to the game, though, and initial dialogue points the comparison, listen to a hail of AK-47 rounds. The within their own world.
an interesting portrait player in the story’s next different take on urban player character’s own
emerges. Despite crumbling direction, but then Drake warfare. At the start of call actions are frequently j e S S e h a r l i n has been
buildings and dangling and Cloe spend large of dUty: modern Warfare lost within the din. Foley, composing music for games since
train cars, Drake’s world is sections without speaking. 2, the player steps into reload sounds, and even the 1999. He is currently the staff
actually very quiet. As the player is allowed the combat boots of Pvt. faloomp of Allen’s grenade composer for LucasArts.
www.gdmag.com 41
design of the times // soren Johnson
Some of our industry’s most beloved games make precious little sense. Why, for example, do players HeroeS only allows matches with
battle the trolls, goblins, and skeletons of puzzle QueSt by challenging them to a two-player version the Axis on one side and the Allies
of Bejeweled? Similarly, success in profeSSor layton’s world seems to revolve disproportionately on the other. Clearly, this decision
around one’s ability to solve classic logic and deduction puzzles, no matter the reason. makes sense thematically, but does
it make sense that players never get
Game stories have fared no A place exists for games which strategy battles often contain to pit identical sets of virtual army
better. Mario’s canonical plot do not allow respawning—Counter- nonsensical elements, such as men against each other?
sounds like nonsense from Lewis Strike being the most successful economic infrastructure and aSSaSSin’S Creed famously
Carroll: the plumber punches example—but the designer chooses research facilities, these elements went to great lengths to cover
bricks to find magic mushrooms this mechanic not in pursuit of each create important mechanics up as many standard game
that double his size, so that he realism, but to strike a different that increase strategic depth. conventions as possible. A frame
can battle an evil turtle who has tone. When characters stay dead, Creating infrastructure gives the story put the player in the shoes
kidnapped the kingdom’s princess. players feel more tension during the player an actual location on the map not of a 12th-century Middle
The less said about the Metal Gear match, which encourages them to to defend; without it, armies could Eastern assassin (as the game’s
Solid franchise’s various twists play more carefully and with greater roam freely across the map with advertisements featured) but of
and turns—including the infamous precision. Thus, games without no consequences for abandoning his 21st-century descendant who
possession of Revolver Ocelot’s respawns simply occupy a different a certain location. Discovering is somehow reliving the former’s
mind by Liquid Snake’s old arm— location on the play spectrum. technologies creates short-vs- life with advanced memory
the better. long-term trade-offs for the player reconstruction technology.
Still, games have their own Be True To The Game to balance—should resources be This conceit aims to explain
internal logic, which is much » Sometimes these imaginary invested in science for a long-term a number of typical design
more important than whether the design constructs are necessary for payoff of stronger units or spent on constructs. Discrete game levels
game’s story makes sense, or even the existence of entire genres. The new units to attack the enemy and are simply different memories,
whether the game’s mechanics hold classic real-time strategy design press an early advantage? while all character deaths must
together logically. The traditional pattern, with peons, base-building, These trade-offs make sense be false memories. The assassin’s
concepts of levels, lives, and and rush/turtle/boom dynamics, in a fundamental way—players movements are mapped to a physical
gamepad because he is actually
the puppet of a latter-day character
One great advantage of not worrying about a game trying to relive his memories.
making sense is that designers are free to use the Did these rationales broaden
the game’s appeal by explaining
theme which best matches the game’s mechanics. supposedly arbitrary gaming
cliches? Or did they unnecessarily
burden the game’s narrative with
respawns are ultimately constructs bears little resemblance to actual understand that location should a convoluted and unnecessary
that support a designer’s vision, warfare, even when ignoring the matter and that making long-term frame story that distanced
regardless of whether they have common fantastical themes. In what investments should succeed under players from the fantasy of being
any logical real-world parallel or type of war does each side construct the right circumstances. Therefore, a medieval assassin? Surely, the
thematic metaphor. army barracks to train troops—and the gameplay itself makes sense, average console owner would
Why, for example, should even research labs to discover even if the game’s world does not— not be surprised that the game
players respawn—come back to technologies—on the very field of workers planting farms within sight required controlling the character
life—after being killed in a team- battle? Indeed, why is every scientific of a pitched battle and all. with a gamepad.
based shooter? Shouldn’t players breakthrough forgotten between each Indeed, the early arcade
expect their dead character to stay scenario of a fictional campaign? Too much consisTency industry was a font of creativity
dead after being killed? The reason Ultimately, these questions » Indeed, designers who worry largely because the games were not
is that the respawn mechanic are subsumed by the genre’s too much about a consistent world expected to make any sense—think
matches the inviting tone the needs. Strategy games work can often hamstring their own of the dot-eating paC-Man, or the
game’s designer wishes to strike. By because players are forced to work. In StarCraft, the designers cube-jumping Q*Bert, or the ray-
softening the blow of death, gamers make tough choices between a had no qualms allowing Terran running teMpeSt. As graphics became
are free to play aggressively, number of options, each with its players to team up with the Zerg in more realistic, almost all arcade
which rewards risk and even own set of trade-offs. Although the multiplayer, even if fighting against cabinets were ghettoized into just
experimentation. environments of most real-time other Terrans. However, CoMpany of a few concrete categories —racing,
fighting, and shooting—because However, shiren does allow scatter those pieces around the existed which matched this set of
the higher-resolutions discouraged a very unusual type of progress world like junk? game mechanics.
bizarre, abstract games. Only now by letting the player stash loot— That the player discovers these In fact, one did, but the
that downloadable, mobile, and Web- including powerful weapons and scattered bits of audio in roughly designers just needed the
based gaming have brought back the armor—in various caches found linear order allows the designer confidence to pull it out of thin air.
use of lower resolutions is the old throughout the game that have to tell the story without relying What type of life-form can grow
eccentric energy returning. persistence between sessions. on stodgy cutscenes, but their but can’t move? Plants! What
Thus, although a character might placement in the world simply type shambles along slowly in
GO yOUR OwN wAy die an unlucky death, he still doesn’t make sense. This doesn’t a straight line without a brain?
» Sometimes, manipulating contributes to advancing the game mean that the designers made Zombies! Naturally, the answer
a game’s story to paper over by leaving a supply of potions for the wrong choice; perhaps a more was to pit these two groups against
unusual design concepts can work. the next character’s playthrough. elegant solution was possible, but each other.
Certainly, the Dagger of Time’s This strange mechanic, where better to allow a little inelegance With PlanTs vs. ZomBies,
ability to rewind time for a few most (but not all) of the world than to turn the player into a non- PopCap found the perfect theme
seconds in Prince of Persia: The resets on death, has few parallels interactive viewer who must be for a tower defense game. The fact
sands of Time was an elegant way either inside or outside of gaming, force-fed the story. that it completely defied common
to integrate a quick-save system and the story makes no attempt sense was beside the point. Why
into the game’s core functionality. to explain it. Truly, no explanation The PeRfecT Theme are players battling zombies with
In the recent TorchlighT, the is necessary because the game is » One great advantage of not mutant plants, after all? That
character’s pet can run back to being true to itself; the designers worrying about a game making doesn’t matter; the important
town to sell loot, nicely shortening wanted a game that combined the sense is that designers are free to thing is that even someone who is
a time-consuming element of most tense atmosphere of permadeath use the theme which best matches unfamiliar with the tower defense
action-RPGs while also staying with a touch of power progression the game’s mechanics. The tower genre would have an intuitive
within the game’s fiction. from a traditional RPG. defense genre emerged from user- understanding of what to expect
Still, designers should feel Bioshock is another game which created scenarios designed for real- simply from the game’s title, all
comfortable going their own way gave no explanation for an absurd time strategy games like sTarcrafT because the designer wasn’t afraid
if a mechanic makes sense for element—the audio diaries which and WarcrafT iii. to stop making sense.
the game they want to make. are littered about the underwater The limitations of these
shiren The Wanderer is a roguelike city of Rapture. These bits of platforms gave the genre a SOReN JOhNSON is a designer/
dungeon crawler, which means recorded speech from the game’s distinct set of conventions— programmer at EA2D, working on web-
that all character deaths are main characters provide important stationary defenses vs. mobile based gaming with strategystation.
permanent as progress cannot be backstory for this Objectivist “creeps”—which had little com and Dragon age LegenDs. He was the
saved. Roguelikes are meant to be dystopia. Still, what type of person narrative justification. Why must lead designer of CiviLization iv and the
played repeatedly, with the player would, after putting their personal all defenses be static? Why are co-designer of CiviLization iii. Read more
improving purely through increased thoughts onto tape, decide to break the creeps so slow and mindless? of his thoughts on game design at www.
knowledge of the game’s rules. up the tape into pieces and then If only a thematic environment designer-notes.com.
www.gdmag.com 43
Hiring news and interviews
who wentwhere
Game Developer: Did you already know what you wanted to make, or did you just know you
wanted to go indie?
BJ: Sort of not really! But it came together fast. About two weeks after I quit my job to go indie
I started working on a prototype for an iPhone game. This game involved a ninja and lots of Neonga, the free-to-play game company
jumping. After about two weeks of work my buddy sent me an formed by Frogster’s ex-CEO, has added
email with a link to a PSP ad and wrote, “We should make this another Frogster veteran, Stefan Hinz, to its
game.” In the ad they’re making fun of what looks like an iPhone. staff as chief marketing officer.
The guy in the ad is holding his phone with a game called laMe
castle on it. Once I saw that I wrote back and said, “Yes, we’re going Just after the launch of his latest project,
to make that game.” Vanquish, renowned Resident eVil creator
That PSP ad gathered a decent amount of exposure on the web Shinji Mikami became part of the ZeniMax
from various blog sites so I knew if we made the game we could Media family—the Bethesda Softworks
leverage that to our marketing advantage. I immediately squatted parent has acquired his new Tokyo-based
on the iphone app name and domain name. development house, Tango Gameworks.
We wanted to pump a game out quick so that people wouldn’t
forget about the ad, so we had to act fast. Since I already had a prototype for another game we Microsoft executive Scott Henson has
decided to use what was there and turn it into what’s become laMe castle. assumed the role of studio manager of
A week into development we had a pretty decent prototype. A week after that we found an Microsoft-owned UK developer Rare.
artist and a sound guy and started plugging everything in. A couple weeks after that we were in
the final stages of polish. It’s been a very quick development cycle, but it’s been quite smooth. Hoping to travel in Asia with his family, Take-
Two CEO Ben Feder has stepped down from
Game Developer: Any rough spots in moving from being part of a team to full development on his executive role at the GRand theft auto
your own? publisher, and the company’s chairman,
BJ: The best thing we did was to get it in peoples’ hands for playtesting. Watching people play Strauss Zelnick, will assume the chief
the game for the first time made us quickly realize we had several things in the game that people executive role.
just didn’t understand. One of them was a chicken leg pickup that gave you boost power. When
we first put it in we thought it would be funny to have a “MEAT-er” for your power meter. Get it? MeGa Man creator and 23-year Capcom veteran
But people just didn’t make the connection, so we turned the pickup into a lance with a little Keiji Inafune has left his position as head of
explosion on the tip, and now people get it. global production at the company, and has yet
Making iPhone games is quite a bit different than console games. If the audience can’t pick to announce his plans for the future.
up your game and figure out what’s going on in 30 seconds then you’ve probably already lost 95
percent of your audience. That’s why playtesting has been so important, so that we can recognize The Academy of Interactive Arts and
how people play the game and fix the problem areas. Sciences announced today that Joseph
Olin has stepped down as president of the
Game Developer: Any advice for those thinking of making the jump? organization, and taking his place is former
BJ: Looking back I can easily say I wish I had gone indie sooner. Sunleaf Studios CEO Martin Rae.
WWW.GDMAG.COM 45
STUDENT gAmE PROFILES
EducatEd Play!
Jeffrey Fleming: How you to create 3D real-time Virtools, half of the work these ideas were just a than virtual reality
quickly were you able applications. It’s easy to was already done! post proposal to my main because AR systems are
to go from concept to a get convincing results with concept. I considered them really light and efficient:
working prototype? it, so I naturally headed JF: What about the Wii during the design phase a camera and a good
David Arenou: It took me toward it to make the core remote? How is that of the project in order to algorithm are enough
almost four months from of my game. integrated? present a full experience to create the expected
the birth of ImmersIve DA: Thanks to Bluetooth that answers to both solo results. I’m not saying
raIl shooter to the end JF: Tell me about some of and the GlovePIE software, and multiplayer play, but in that you don’t need good
the technology driving I was able to connect my the end, I put them aside for ideas anymore, but from a
ImmersIve raIl shooter. Wiimote to my PC. the purpose of focusing on technology point of view,
Are you using any special Finally, I bought a the single-player prototype. you will rapidly have nice
cameras? cheap infrared sensor bar feedback with AR.
DA: As an interaction so I could use the remote JF: We used to hear a lot Furthermore, people
designer, I’m used to as a pointer. I could build it about virtual reality but like AR because they really
doing rapid prototyping myself, but it was cheaper most of that work was are in the center of the
of the programming. I and taking advantage and way faster to order it never really suited for application. They see their
wrote the concept basics of simple and already from Amazon! the masses. However, own environment and
for two months. Then, I working technologies. So Building ImmersIve raIl augmented reality can interact directly with
spent a month and a half I didn’t use any special shooter wasn’t a question seems to be much more any kind of virtual object.
in full-time to program cameras or algorithms of extremely complicated accessible. What do you It’s easy to understand,
the prototype. Let me written by myself. technologies, but more think is driving that? immersive, and fun!
add that before these two a matter of composing DA: Indeed, augmented —Jeffrey Fleming
phases, I had two other JF: How does the accessible stuff. reality is more accessible
months where I did a lot computer recognize the
of research and analysis marker cards that are JF: The possibilities in
ImmersIve raIl shooter
in order to position my placed in the play area? ImmersIve raIl shooter http://portfolio.davidarenou.com/video-game/immersive-
diploma proposal. DA: I used an existing for versus play against rail-shooter
library, ARToolKit, which another person seem 3DVIA Virtools
JF: What tools did you use detects and tracks the like a lot of fun. How far www.3dvia.com/products/3dvia-virtools
to create ImmersIve raIl position of special patterns along are you toward ARToolKit
shooter? that you print out and implementing that? www.hitl.washington.edu/artoolkit
DA: I’m used to working stick to objects in your DA: Versus and cooperation glovePIE
with 3DVIA Virtools, an environment. With a simple modes are pretty exciting http://sites.google.com/site/carlkenner/glovepie
environment that allows webcam, the library, and mods! Unfortunately,
fullsail.edu
© 2010 Full Sail, Inc.
Winter Park, FL
800.226.7625 • 3300 University Boulevard
Financial aid available to those who qualify • Career development assistance
Accredited University, ACCSC
ADVERTISER INDEX
COMPANY NAME PAGE
Epic Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
Full Sail Real World Education . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Havok. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C3
Natural Motion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Rad Game Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C4
Scaleform Corporation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C2
Transgaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
Game Developer (ISSN 1073-922X) is published monthly by United Business Media LLC, 600 Harrison St., 6th Fl., San Francisco, CA 94107, (415) 947-6000.
Please direct advertising and editorial inquiries to this address. Canadian Registered for GST as United Business Media LLC, GST No. R13288078, Customer No.
2116057, Agreement No. 40011901. SUBSCRIPTION RATES: Subscription rate for the U.S. is $49.95 for twelve issues. Countries outside the U.S. must be prepaid in
U.S. funds drawn on a U.S. bank or via credit card. Canada/Mexico: $69.95; all other countries: $99.95 (issues shipped via air delivery). Periodical postage paid
at San Francisco, CA and additional mailing offices. POSTMASTER: Send address changes to Game Developer, P.O. Box 1274, Skokie, IL 60076-8274. CUSTOMER
SERVICE: For subscription orders and changes of address, call toll-free in the U.S. (800) 250-2429 or fax (847) 647-5972. All other countries call (1) (847) 647-5928
or fax (1) (847) 647-5972. Send payments to Game Developer, P.O. Box 1274, Skokie, IL 60076-8274. Call toll-free in the U.S./Canada (800) 444-4881 or fax (785)
838-7566. All other countries call (1) (785) 841-1631 or fax (1) (785) 841-2624. Please remember to indicate Game Developer on any correspondence. All content,
copyright Game Developer magazine/United Business Media LLC, unless otherwise indicated. Don’t steal any of it.
WWW.GDMAG.COM 47
ARRESTED DEVELOPMENT // MATTHEW WASTELAND
Hi everyOne, and weLcOme tO tHe cOmpany meeting. yOu cOuLd caLL Here we go: World of Alien fArm Crime. As you probably already guessed
this the fun-size company meeting, I guess. But hey, look on the bright from the name, it’s a massively multiplayer, open-world farm simulator set
side: if we hadn’t had those layoffs last week, we wouldn’t all fit into this against the backdrop of a brutal alien invasion. Let me read from the pitch
conference room right now. document a bit: “You, along with hundreds of thousands of your friends, are
Rough crowd! Okay ... Well, let’s just get right down to brass tacks then, humanity’s last hope. Complete quests, commit crime sprees, grow crops,
shall we? I know a lot of you have questions on your mind, like, are we going and participate in a dynamic, constantly changing interstellar war!”
out of business, what’s going on, why did my paycheck bounce, and so on. I can see from the looks on your faces you’re already completely
I’ll take a brief moment to address those rumors: they aren’t true. We’re still amazed. But it gets better: “World of Alien fArm Crime will have the grand
going strong and charging ahead at full speed on our new project. I’ll get to scope of an MMO, the balanced competitive multiplayer of an FPS, and the
that in a moment. open-world freedom of, uh ... of an open-world game!" Hmm, should have
I know some of the recent turbulence might have given you a bad re-written that. "It has co-op, downloadable content, social networking,
feeling regarding our future. I won’t lie to you, we’re going through a a guitar peripheral, and motion control. The game boasts 19 distinct,
challenging period. But we’re not alone: it’s everyone. That’s right, the whole completely unique races, 43 character classes, and a dialogue script that is
game industry is suffering right now. Valve is laying off employees left and 3,000 times as long as the 1974 edition of the Encyclopedia Britannica.”
right. Blizzard is close to shutting down. And over at Zynga, they’re boiling Guys, you would not even believe how excited our publishing partners
grass and wood chips just to stay alive. That’s secret information, so don’t got for this pitch. I told them to imagine how much money HAlo has made,
tell anyone I said that. and then multiply that figure by how much money World of WArCrAft has
My point is that there’s nothing we could have done. Even if we had the made, and that’s how much money World of Alien fArm Crime will make.
best management team in the world, which, I dare say, we are pretty close to Then, to clinch the deal, I said we could make it for half the price and in half
having—right, Fred?—you can’t avoid layoffs once in a while. That’s just how the the time of our nearest competitor. Because I know we can.
system works! If it were up to me, I’d have given everyone a big raise. Honest! Needless to say, they signed us up on the spot. Fastest deal I’ve ever
On that note, it’s time to get to the exciting part of the meeting: the done, in fact. Now we’ll move on to—sorry, a question? Technology, you
new project. There’s been a lot of buzz building about it amongst the team say? Well ... tech is, you know, just one of those bridges that we’ll cross
members, and now we’re finally ready to reveal the full plan. Now, I don’t like when we get to it. You know? I’m sure the tech team here will work out all
to exaggerate, but this game is going to rocket us out of these tough times the details, because they’re a really talented, great group of guys. Actually,
and straight to the top of the heap. If you could get the lights, Fred? Some all of you are, everyone at this company. With your talent, your dedication,
d-bag made off with the projector—oughtta sue his ass—uh, so I’ll just turn your drive, anything is possible. I mean it.
my laptop around here, and if you could all sort of crowd in together? Let Where was I? Right. So the technology will sort itself out, but what about
me load up the presentation. the important stuff—the corporate philosophy that will guide us to victory
over the big boys? As it happens, I have an answer for you, and that’s right
here on the next slide. Pay attention, please.
e F F ic ie nc y
And there we go. “Efficiency” is the key concept that we’re going to be
focusing on from here on out. I’ve been thinking long and hard about this,
and I came to the realization that as long as we’re efficient, we can cut costs
without cutting corners. We can develop big, triple-A games at a fraction of
the cost and time spent by our soon-to-be dinosaur competitors.
With that in mind, starting today, I want each and every one of you to
think constantly about how we can improve efficiency across the company.
You’ll find that there’s efficiency to be gained everywhere. It could be
something as simple as moving the trash can nearer to your desk, so you
don’t lose time walking over to it. Or it could be developing a way to create
large, detailed, and optimized level environments with the touch of a button.
We’re already part of the way toward realizing the goal with our new
streamlined, refocused team size. So all we need to do now is batten down
those hatches, make World of Alien fArm Crime, and ship that sucker.
Questions? Concerns?
I didn’t think so. Let’s get to work!
mattHew wasteLand writes about games and game development at his blog, Magical
Wasteland (www.magicalwasteland.com).