|
It's been about two weeks
since the Game Developers Conference Europe was held at the Earls Court
Conference Centre in London, and one word keeps echoing in my mind from
it: complexity. I attended numerous talks and saw dozens of booths and
product demos, only to realize that complexity is the next big thing (or
the current big thing) in the game industry.
GDCE shared Earls Court with
ECTS, a consumer-oriented trade show similar to E3 in America. ECTS was
held in a large hall occupying the ground floor, while GDCE was going
on in conference rooms in the above floors.
While smaller than its American counterpart, the GDCE is steadily growing,
and small size does not hurt quality, as talks are generally very informative
and interesting. This year's subjects ranged from character animation
to shaders or publisher-developer relationships and, to be honest, the
conference reached that critical point in which there is too much going
on in parallel, so you have to choose which session to attend. That's
indeed a very positive sign for the years to come.
Ken Perlin On Procedural Character Animation
To begin my summary of this year's highlights, let's talk about Ken Perlin,
who gave an interesting talk about procedural animation. Dr.Perlin has
been working at NYU for well over 10 years, first developing the well-known
Perlin noise function (used to create all the marble, fire and smoke you've
probably seen in CGI sequences), and later applying his procedural paradigm
to anything from texture creation to character animation. The lecture's
subject was procedural personality effects, and was an extension of similar
talks Dr. Perlin has delivered over the years at GDC and Siggraph. Dr.
Perlin's method essentially implements animation as weighted combination
of primitive movements on a skeletal model, so you can achieve smooth
transitions and blend movements from different body parts in a very efficient
and expressive manner. He also adds his own noise function to the mix,
to convey micro-movements and, by adding a certain degree of randomness,
help break the repetitive look of some canned animation cycles.
By using layers of noise-controlled
behaviours, Dr. Perlin demonstrated how both forward and inverse kinematics
can be implemented in character animation. Some postures were also demonstrated,
from simple gazes to hip movement and full-body rebalancing. As the method
is completely procedural; it can be modified on-the-fly so the character
can navigate on uneven terrain. The character's feet adapt to terrain
irregularities while the rest of the body keeps on with its normal animation.
The same principle can be applied to prop-based systems, positioning body
joints to grab or release an object realistically, and carrying objects
in a very convincing way.
It seems clear that today's
players expect better character animation, and want characters to properly
interact with their environment. Very soon, simple pre-canned cycles just
won't cut it anymore. Dr. Perlin's techniques showed the potential of
the procedural paradigm with regards to real-time, responsive character
animation.
Harvey Smith On Systemic Level Design
Another technique demonstrated
at GDCE was systemic level design, as explained by Harvey Smith from Ion
Storm's Deus Ex 2 team. Here we're not dealing with animation,
but with the behavior of the game level as a dynamic system. Instead of
hard-coding lots of features into the game as special, unrelated use-cases,
the systemic paradigm tries to create global patterns which provide emergent
gameplay, and the ability to create alternative strategies using the level's
resources. Somehow the idea can be implemented as an extension to rule-based
systems or finite-state machines, with many systems existing in parallel,
and feedback loops connecting them. In this way a player can come up with
new ideas to solve problems by combining items in ways that perhaps even
the level designers hadn't considered. This improves the sense of immersion
and freedom, while emphasizing player's self-expression capabilities through
the game. An example of a systemic game is GTA3, where each mission
can be solved in dozens of ways, as compared to old lock-and-key adventure
games, where player expression and alternative strategies were basically
non-existent. In a systemic game world, the player can use different methods
to solve a problem. In a non-systemic game world, you must guess how the
game designer wanted you to solve the problem, even if that way does not
feel very intuitive, nor fun.
Systemic design is, however,
restricted by the quality of the model of the world we choose to implement.
If the world's rule set is ambiguous or vague, undesired side effects
can arise. For example, Smith provided a real-world situation based on
his Deus Ex 1 coding experience. A certain type of mine in the
game could be attached to walls and exploded by the player. As mines were
part of the general object hierarchy, they had collision-detection attributes.
Mines could be arranged in such a way that, using the mines as a ladder,
the player could climb walls. Clearly, the rules for the mine were not
detailed enough, and cheating was made possible: level flow was broken,
and the game could potentially lose its appeal.
As a more positive example,
GTA3's open design was referenced. Some missions ask the player
to eliminate an enemy. The mission is designed so you are supposed to
use a gun to take care of the foe. Still, in some missions you can find
very creative ways to reach the victory conditions, such as crashing your
car into the enemy, trapping him so he can't escape, and so on. Interestingly,
some of these winning conditions were not expected by the design team,
but being coherent in the systemic design of GTA3's world, are
accepted by the game. As you can see, a systemic design allows alternative
solutions to surface. Thus, this kind of game can become a positive stimulus
for logical thinking and problem-solving abilities, even in younger players.
Ironically, a game like GTA3 (which has been widely criticized
because of its violence) can offer a significant educational value, and
that's encouraging.
After the talk on systemic
level design, Richard Evans from the Black and White 2 team at
Lionhead focused on social behavior simulation for computer games. His
talk began with an in-depth discussion of the philosophical foundations
of social activity. He explained how the work of philosophers like Wittgenstein
and Heidegger can be useful to establish the groundwork from which better
social simulations can be derived. Beginning with Heidegger's principle
that participation in complex social activities is one of the key differences
between humans and animals, Evans tried to characterize what we mean by
"social process," and the benefits of making computers understand
why they are important. To exemplify this, imagine two characters in a
game like Black and White involved in a social activity like talking
to each other, taking turns speaking. If one of them interrupts the conversation
abruptly to go to the restroom, that will simply look wrong: humans are
polite. Social games such as The Sims and Black and White
have proven how we need to find accurate ways of representing social conventions
and processes in order to create realistic, life-like simulations of the
real world.
After discussing theory, Evans
moved to the implementation details, which fundamentally involve being
able to prototype behaviors quickly within a stable environment. He suggested
creating social activities as text files, so they can be defined in a
language which can be learned by content creators. Then these text files
are compiled into C++ code, so you get efficient, easy-to-use code. Internally,
activities can be as simple as state machines, and can use message-passing
mechanisms to create communication channels between them.
As I'm familiar with the expo
at the GDC in America, I couldn't resist hanging around ECTS to examine
the new technologies present. Sadly, ECTS is more consumer-oriented than
GDC, so the focus was more on games and not so much on technology and
tools.
It was good, however, to see
the latest iteration of graphics hardware. Both Nvidia and ATI are really
going head-to-head in a graphics chip war that covers the full spectrum,
from mobile chips to value chips to high-end chips. Who's got the edge
in this battle clearly depends on who you ask, so the whole situation
is getting a bit like the old OpenGL vs. DirectX battle, or PC vs. Mac
situation. Yet the competition between the two companies is healthy from
the consumer's standpoint: graphics units are quite expensive and hard
to make, and having two players in the market is the best way to guarantee
to ensure low prices and good performance. A recent battle in this war
was the introduction of Cg (C for Graphics) language from Nvidia, a high-level
language much like C which allows easier coding of vertex and pixel shaders.
Shaders are the most important advance in graphics hardware in a very
long time (and will continue to be the driving force of innovation for
at least a couple of years). Thus, simplifying the process of coding them
is a blessing for developers, and Cg is really powerful and easy to learn.
Still, it is somehow a shame that Nvidia has chosen the path of a new,
proprietary standard (new and standard are used here with irony). Cg,
although open-sourced recently, is not really a standard the industry
agreed upon, nor does it really seem to be "open" in its conception.
Many existing technologies could have been recycled for the task. As an
example, the Renderman shading language could have been selected, with
the added benefit that the user base of that language is huge, as it's
the standard for film visual FX.
The second impression I got
at GDCE was that multiplayer gaming infrastructure is probably going to
be outsourced in the near future. A number of key decisions must be made
when developing a networked game infrastructure, and some of them are
non-intuitive and unrelated to the core business of a game developer.
For instance, should you purchase or renting servers? What hosting facilities
should you use? As games get more complex (especially in the massively-multiplayer
arena) and time-to-market skyrockets, different companies are stepping
up to provide everything from networked game APIs to hosting facilities,
to help game developers concentrate on building games and minimize risks.
A good example of this "cradle-to-grave"
kind of company in the multiplayer tools sector is Butterfly.net. Their
platform (dubbed the Butterfly Grid) includes client libraries for PCs,
consoles and mobile devices, and daemon controllers (through a Python
interface) for controlling anything from NPCs, game activities, and performance
monitoring. In the hardware arena, Butterfly's offering fundamentally
allows games to exist in a variable-sized server grid (hosting provided
by IBM), so the number of players can scale arbitrarily to create richer,
bigger and better game worlds.
Apart from these interesting
innovations, the overall impression was that ECTS seems to be trying to
decide which market segment to target. The GDC is openly a tools and middleware
expo. E3 is completely oriented towards the retail channel. ECTS, on the
other hand, doesn't seem to have a clear direction. Side-by-side with
companies such as Havok and many others there was the Sony Playstation
2 Experience, Sony's tour-de-force showcase of up-and-coming games. Let's
hope ECTS, assisted by the clear direction marked by GDCE, finds its market
niche in the trade show arena.
This year's visit to GDCE was
really an eye opener. At the GDC in March, we saw how the multimedia gaming
experience is on track to converge with the movie industry in a not-so-distant
future. Some of the newer hardware features (like better support for pixel
and vertex shaders), coupled with the usual gain in hardware performance,
are really making the game industry advance at an unprecedented speed.
Movies like Final Fantasy or Lord of the Rings are being
simulated on desktop in real-time, just months after their cinematic release.
So the main question going
through my head prior to the GDCE was "What will we do with the CPU?"
Don't get me wrong: at GDCE and ECTS, I saw some of the usual hardware
performance boosts from Nvidia, Intel and ATI. But for some time now I
have hoped that transferring most of CPU burden to the multimedia subsystems
would somehow result in better gameplay. Recently I've seen significant
advancements in the areas of AI and physics, but there must be something
more.
After the GDCE I realized that
physics and AI are just leaves of a large tree. What made GTA3
win the "Game of the Year" award at GDC wasn't its graphics,
physics nor AI. (And for the record, it wasn't the violence, either.)
When I ask people why they loved GTA3, I get answers like "for
its immersiveness", "for the freedom it gives the player",
and "for its non-linear missions". To anyone familiar with system
dynamics, all those qualities are nothing but aliases for a broader concept:
complexity. And "complexity" as used in this sense is not a
synonym for "difficulty". Rather, I'm talking about the mathematical,
almost fractal, quality of the real world that pertains to the way that
the world responds to our actions in rich and meaningful ways. Thus, the
CPU has become a "complexity simulator": from the pedestrians
in GTA3 fighting with each other, to the systemic level design
ideals, to simulating virtual societies, the CPU generates meaningful
(both in aesthetic and behavioural sense) environments, where we can take
a variety of courses to reach final success. And at GDCE we have seen
(and we will keep on seeing for months to come at other shows and from
various sources) new techniques to handle and generate that complexity,
from procedural animation and systemic level design, to social simulations
and huge game grids with millions of players.
There is a wonderful upshot
to all this phenomenon of growing game complexity. To some, complexity
might imply that future games will be harder to master, since offering
more options means a steeper learning curve. Yet Deus Ex, GTA3
and The Sims show us this doesn't have to be the case. We're immersed
in a complex game world 24x7: the real world. I bet we will feel more
at home in the complexity offered by this new breed of games than by trying
to break a lock-and-key puzzle in an old-school graphics adventure.
|