Thief's 3rd Person Camera

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • 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.
      Files
      Mr.Mike
      Author, Programmer, Brewer, Patriot
    • 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
    • The non-blocking thing was just a property that was set on object archetypes by the designer. Butt-ass simple.
      Mr.Mike
      Author, Programmer, Brewer, Patriot
    • 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?

      -Rez
    • 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!
      Mr.Mike
      Author, Programmer, Brewer, Patriot
    • 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.