Registration Date: 12-09-2002
Posts: 1192
Location: Austin, Texas USA
Thief's 3rd Person Camera
This presentation was originally given at Game Focus Germany 2008 in Hannover - it covers the 3rd person camera technology I wrote for Thief: Deadly Shadows during my stay at Ion Storm.
The presentation has almost two dozen movies of bad camera movement, tolerable camera movement, and great camera movement (if I do say so myself). Each section shows what happens to a camera if you dont handle a particular case of third person camera movement, such as linear movement, fast rotations, and negotiating geometry in the environment or the player.
Registration Date: 01-22-2006
Posts: 83
Location: UK & Sweden
It's always interesting to watch how different things are solved in AAA-games, thanks for that Mr. Mike!
That involved a lot more problems than I imagined, though I didn't think it would be easy. One thing I could not understand watching the slides, is how to make part of the geometry not blocking the camera.
Did you make some code for finding out which geometry that should not block the camera, or does that have to be defined in some game editor by level designers? Because I can't see any good way to solve that in code, that doesn't also add lots of bugs or include a lot of really ugly hard-coded stuff (or a combination of the two)...
__________________ "There are of course many problems connected with life, of which some of the most popular are: Why are people born? Why do they die? Why do they want to spend so much of the intervening time wearing digital watches?"
-Douglas Adams
Registration Date: 01-22-2006
Posts: 83
Location: UK & Sweden
Hehe, I see, the KISS principle is the way to go then.
__________________ "There are of course many problems connected with life, of which some of the most popular are: Why are people born? Why do they die? Why do they want to spend so much of the intervening time wearing digital watches?"
-Douglas Adams
Registration Date: 05-03-2005
Posts: 580
Location: San Francisco Bay Area
I refactored our whole camera system in Rat Race and I can tell you, it's hack city in there.... I'm going to pass on this presentation to one of my co-workers who's now in charge of implementing the 3rd person chase cam that will be used for most of the game.
The camera is one of the easiest things to implement, but one of the hardest to implement well.
Mike: Have you thought about giving more programming lectures at GDC?
Registration Date: 12-09-2002
Posts: 1192
Location: Austin, Texas USA
Heh - I submit programming stuff from time to time but my production stuff is what usually gets accepted. When you've got people like David Wu and Chris Hecker submitting sessions, I can't really compete!
Awesome... I stop visiting this forum for a while and I come back to find coolness like this.
Rock!
I'm definitely feeling the notion that a camera should not be a giant switch statement in an update tick but an actual state machine with bookended enter and exit methods for every behavior transition involved. Going one step further.. I believe that a camera should be thought of as an AI. Every science that applies to AIs can apply to a "cameraperson" AI. Naturally, going with something like Jeff Orkin's goal-weighted AI work might be cool, but it also might be overkill. But man... it sure would be nice to have a camera controller that fit right into the AI system.