Our Properties: Gamasutra GameCareerGuide IndieGames Indie Royale GDC IGF Game Developer Magazine GAO
My Message close
Latest News
spacer View All spacer
 
February 10, 2012
 
DICE 2012: Activision's Hirshberg believes creative people should lead companies
 
GDC 2012 reveals Super Mario 3D Land, Resident Evil Revelations postmortems
 
What drives the developers of Unity?
spacer
Latest Features
spacer View All spacer
 
February 10, 2012
 
arrow Virtual Goods - An Excerpt from Social Game Design: Monetization Methods and Mechanics [1]
 
arrow Principles of an Indie Game Bottom Feeder [21]
 
arrow Postmortem: CyberConnect 2's Solatorobo: Red the Hunter [1]
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
February 10, 2012
 
Retro Studios
RETRO - CONTRACT AI Engineer
 
Adhesive Games
UI Technical Artist
 
Adhesive Games
Technical Artist
 
Adhesive Games
Senior Network Engineer
 
Adhesive Games
Senior Engine Programmer
 
Adhesive Games
General Engineer
spacer
Blogs

  Avoiding the Triangle of Death - Anticipating emerging interdepencies
by Phil RA on 05/31/09 07:46:00 pm   Expert Blogs   Featured Blogs
2 comments Share on Twitter Share on Facebook RSS
 
 
  Posted 05/31/09 07:46:00 pm
 

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.

Shadow of the Colossus
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/]

 
 
Comments

Ron Newcomb
profile image
"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?"

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.


Philippe Ringuette-Angrignon
profile image
Hi Ron! Thanks for the comments! I don't write a whole lot, and English isn't my first language so the structure of what I write might sometimes be a bit confusing, and overly long, that's why I often re-write certain parts of my blog posts on my site (something I can't really do here), and often try to shorten them.

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!


none
 
Comment:
 




 
UBM Techweb
Game Network
Game Developers Conference | GDC Europe | GDC Online | GDC China | Gamasutra | Game Developer Magazine | Game Advertising Online
Game Career Guide | Independent Games Festival | Indie Royale | IndieGames

Other UBM TechWeb Networks
Business Technology | Business Technology Events | Telecommunications & Communications Providers

Privacy Policy | Terms of Service | Contact Us | Copyright © UBM TechWeb, All Rights Reserved.