|
We've made a lot of progress in the graphics department of our games
over the years. Shaders are more complex, textures are of higher
resolution, lighting solutions are unifying, characters and
environments are getting more detailed, and world size is increasing.
But graphics are a driving force; they are cause rather than effect.
Strip a game of all of its interactive components and the graphical
quality would remain intact, you would simply end up with a movie
instead of a game. This lack of direct interdependence with the rest of
the game is what has allowed us to push graphics so far without hitting
a major wall. It's the interdependent aspects that
aren't evolving as easily, because interdependencies implies shared
problems.
AI,
physics, graphics, animations, sound, and so on, have evolved
independently from one another, until they eventually created
interdependences. We have to understand where
each of them are heading to understand how they'll be
able to fit together in their future forms, otherwise we'll simply end up with a bunch of deep interdependencies where it will
be impossible to develop a component of the game without being limited by another one to the point where we'll either have to scale back on our scope, or delay the game, for unpredictable results.
Until recently, we have been standing between two worlds; one where
the game is still obviously just a game with all of its inconsistencies
such as dumb AI, bad graphics, and weird physics, and one where the
game is actually credible in what it represents as an experience, where
we can believe what we see in the sense that all facets of the game are
extremely well balanced, leading to heightened immersion. We can now
almost cross fully into the later world if we want to, but there are
some huge obstacles that won't be overcome in the short term. If we
don't want to waste our efforts on what could become a failed
experiment we have all the interest in the world to understand what
those obstacles imply, and how we can get around them so that we can
make the most out of the coming technological developments without
hitting a major wall during production.
What I call the Triangle of Death, the emerging interdependence
between physics, AI, and animations, is in my opinion the biggest
challenge we will face in the near future, and one I think a lot of
people are about to get involved in above their heads without realizing
it.
A quick and simple example: You walk through a city under
attack, and you find a dragon mount (a creature that can be used as a
transportation method). The whole city is under attack by
boulder-throwing catapults and the dragon is just sitting there as
buildings around it are falling apart. Since you have a high graphical
quality with life-like rendering quality, you would expect the mounts to
act like it's alive. So the programmers need to code AI for something
that used to require none, so that the mounts can react even when the
player is not riding them. Now if a giant boulder lands next to it, it
should react. Well that implies contextual animations. Already it's
getting a bit complex, and the part of the city you're in is quite
narrow, so animations must take the tight environment into
consideration. What happens if you shoot a flaming arrow next to the dragon's head? Does it attack you? Does it know what the arrow implies?
What if a player is riding the mount, and someone shoots an arrow in
its tail? Does the player lose control as the mount charges you or as
it runs away, or does it just play a "hurt" animation and sound effect while standing there?
Graphics are never a problem, we could have our sparse voxel octree
and all that jazz. We could hook up thousands of PCs together and we'd
have perfect graphical realism for all we know, but we still wouldn't
have believable characters. AI, animations and physics
cannot be simulated together in a non-interdependent manner while
allowing the immersion level to remain intact. We can't even do "performance capture" for pre-rendered movies without scaring children away from movie theaters, let alone have the game's AI do the job for us.
Physics are allowing us to create more dynamic environments, but
this dynamism adds a layer of complexity to the AI's perception, and
the AI must then move within this dynamic environment in a credible
manner. Even if your AI was as intelligent as a human, it would have to
be backed by an equally efficient animation system. It's just not gonna
happen, especially not in highly dynamic environments. I won't even get
into the implications of being able to destroy a wall of stone but not
being able to destroy a mere hay stack because the later is made out of
flat planes rather than volumetric geometry.
The interdependence between physics, AI, and animations will not be
overcome any time soon. That being said, all three have their places in
our games, but it's the link between each other that we have to remain
entirely aware of. A good development team will be able to establish
what their goals are to make a successful game, rationalize each of
their decisions under that perspective, and effectively reach their
goals by making sure that any challenges that do not contribute to
their vision will be avoided thanks to a clever game design.
In the case of Shadow of the Colossus, the team spent a lot
of time making high quality animations, and they made sure that the
environments wouldn't be excessively cluttered. This allowed the
character, and especially the horse, to have enough room to move as
well as they could without ending up in unnecessarily complex
environments that would decrease the desired quality or create useless
bottlenecks. Their highly ambitious goals of having an immersive game
with a life-like protagonist and his horse were achieved by writing
down their objectives, understanding the technical limitations they
would face, and making their game's design within those limitations so
that they could reach those established objectives. To the player, this
was entirely transparent, and it stands as a testimony to the
efficiency of their approach.
 - Wander and his horse Agro
Epic's Gears of War was another game that was designed around the
idea of establishing a clear vision that would allow them to deliver a
high quality game without ending up in major bottlenecks that would
jeopardize the game's quality. Even the art direction was built around
the idea of instantiated geometry, normal maps, specular, glow, etc.
But once again, to the player this was entirely transparent; to him it
was simply an awesome game with a unique art direction.
Being
ambitious should not be an excuse for having poor planning skills,
being unable to anticipate challenges to their true extent, and failing
at designing a game with established limitations. Write down your
objectives, seek to anticipate problems and understand the different
interdependencies as well as the ones that may emerge during the later
development phase, rationalize your decisions in relation to your objectives,
and deliver.
[Originally posted at http://www.allegory-of-the-game.com/]
|
That one paragraph was worth the whole article. (I particularly like "Does it know what the arrow implies?") As a matter of fact you could probably delete most of the article except that paragraph, an intro, and a closer.
But your article don't actually produce common solutions to the problems you're highlighting. "Plan better!" isn't any more helpful than "these other guys planned well." What are the options for a programmer in the trenches, besides keeping the three systems utterly separate as in the old days? Where's it important to spend resources to correct for these new things, and when's it OK to let it slide? What are the usual technical tradeoffs?
You bring up a wonderful point about the increasing interdependency of a game's subsystems, but you leave us in a state much like that dragon: with an awareness of a problem but no responses for it.
About your comment on this one, I think I should have written another title for the piece. Basically, I am not offering a solution, because there are myriads of solutions and which ones the development team would go with would be entirely relative to factors such as team size, budgets, schedules, and established objectives the team have set for themselves, or that their client has set for them.
This is why I mention Ico and Gears of War as examples of games where the teams managed to establish objectives for themselves, and not go overboard, planning the game's structure and its development with a clear understanding of what challenges they would not spend time on, and which ones they would. With a new iteration of Unreal 3, it was possible to have destructible environments. Epic could have done this for Gears 1, but they didn't, and rightfully so considering the game's sales. That's why I mention better planning. They succeeded at figuring how far they needed to go to make a successful game without getting trapped in tech.
When I speak of the "triangle of death" or emerging interdependencies, I'm merely saying that what's important is to anticipate them, because as the game's realism or level of immersion rises more interdependencies will emerge and if we don't anticipate them then what happens (something I've experienced a few times) is that the team starts to develop features or tech independently from one another, overcoming huge challenges in their respective departments, only to realize halfway through that this was unnecessary, and that there's even more work ahead; it does not help the team reach the objectives they set for themselves to begin with.
For example, in the case of the dragon, it's very easy to justify a dragon that would not react to being shot at or at falling debris around him (in this world, dragons could be vicious creatures of incredible force, and the only way mankind has managed to harness their power is to brainwash them to the point where they become mere extensions of power of those who ride them, but who are otherwise lifeless as a puppet; there, problem solved;)), but if one of the objectives of the game is to have highly believable life-like mounts that you establish an emotional connection to, then you can't take this simpler alternative. At this point maybe the team needs to re-evaluate the value of this objective, or they go with it.
It's easy for different components of the team to seek to challenge themselves when they see new obstacles, especially in a context where tech allows them to do more than in the past. But by establishing your goals early on, by understanding who you are making the game for (if it's MMO players, or hardcore FPS gamers, maybe they don't care about emotional bonds to some creatures), you can filter out what won't help you reach your objectives, and you can establish limitations on other aspects of the game to focus your resources on tackling difficult challenges.
The reason I mention emerging interdependencies specifically is not to offer a solution to them, since there are countless potential solutions depending on context, but rather because I feel that as we approach next-gen game development, development teams will go too far too early before they realize that everything has become entangled in a way that didn't even contribute to their original objectives, and I want to remind them that understanding the consumer and establishing their objectives early on will allow them to focus on proper challenges, rather than overcome innumerable challenges like a code-cracking robot.
Maybe this wasn't very clear in the article. I tend to write each post as an accumulation of previous posts, if you read other articles I have on my blog (not many yet), you'll notice that in the end they are sort of all related, so sometimes certain aspects of them are unclear on their own.
I will probably take the time eventually to re-write this post on my blog:) But thank you very much for pointing this out for me! I really appreciate it, and I hope this reply sheds more light on my original intentions!
Again, an overly long reply!