Possible game camera methods and optimisations *spawn

Discussion in 'Console Technology' started by Christer Ericson, Feb 14, 2010.

  1. ERP

    ERP
    Veteran

    Joined:
    Feb 11, 2002
    Messages:
    3,669
    Likes Received:
    49
    Location:
    Redmond, WA
    I'm going to go with Christer on this one the sorts of optimizations your talking about usually just aren't worth the effort.

    You might get something if you could precalculate object level occlusion, but practically more often that not it's just quicker throw the polygons at the GPU if you try and get too clever building the display list ends up taking longer than just rendering it.

    What you can do with more constrained cameras in not create the areas you never see, but if your designers are going to stick cameras in world after it's been built, you probbly don't even get that.
     
  2. MrFloopy

    Regular

    Joined:
    May 8, 2002
    Messages:
    300
    Likes Received:
    11
    Location:
    Adelaide, South Australia
    First off, awesome work. GOW is totally not my type of game, but loved the complete quality, loved the camera presentation, but so much more loved your memory management scheme: let the designers worry about it, brilliant! and don't even get me started with doors!!

    However, are you saying there were no performance/quality, scheduling or budgetary advantages to your camera system as opposed to a traditional third person camera?
     
    #22 MrFloopy, Feb 20, 2010
    Last edited by a moderator: Feb 20, 2010
  3. tha_con

    Banned

    Joined:
    May 15, 2007
    Messages:
    1,928
    Likes Received:
    0
    Location:
    Manhattan, KS
    Yes, that's what he's saying. I don't know why people think a fixed camera offers advantages over a free camera. It simply doesn't, at least, if you WERE to develop a game like that, it would take far far longer than simply keeping everything within the scope of what the GPU can render.

    I mean, think about it. It's a pretty big waste of time to "test" every area and angle to see what you can and cannot render. Those kind of optimizations are a huge waste of time and effort.
     
  4. idsn6

    Regular

    Joined:
    Apr 14, 2006
    Messages:
    509
    Likes Received:
    163
    You would be very hard-pressed to find a developer that thought finding a PVS was a "huge waste of time". That includes Sony Santa Monica and God of War.
    [​IMG]
     
  5. Neb

    Neb Iron "BEAST" Man
    Legend

    Joined:
    Mar 16, 2007
    Messages:
    8,391
    Likes Received:
    3
    Location:
    NGC2264
    Is that from the GOWIII tech presenation?
     
  6. idsn6

    Regular

    Joined:
    Apr 14, 2006
    Messages:
    509
    Likes Received:
    163
  7. zed

    zed
    Legend

    Joined:
    Dec 16, 2005
    Messages:
    6,415
    Likes Received:
    2,139
    having a fixed camera or a camera following a set path, offers quite a few advantages
    2 main ones
    A/ see what static objects are not visable, PVS in above parlance?
    B/ if the camera doesnt come to close to an object perhaps then u dont require such high quality texture

    this is usually done automatically during map creation phase
     
  8. MrFloopy

    Regular

    Joined:
    May 8, 2002
    Messages:
    300
    Likes Received:
    11
    Location:
    Adelaide, South Australia
    Notice I mentioned the Project Triangle. All project decisions will effect that triangle, it's just a matter in which way.

    You are just thinking performance benefits. If you know that while traversing a corridor or room you will only see three walls, you can spread your art budget between three rather than four (or more) walls.To me that is a much bigger win than any performance issues. Although you'll have to go a long way to convince me that there are no situations where a performance benefit would not also occur.
     
  9. Christer Ericson

    Newcomer

    Joined:
    May 27, 2008
    Messages:
    10
    Likes Received:
    0
    Location:
    Los Angeles, CA
    I'll repeat one more time: the camera can pan, tilt, and zoom depending on what the player does. For example, if the player does an instant kill, the combat designers often have the camera pull in really close for the kill effect. This happens near instantaneously, and certainly too fast to be able to stream in any textures. As you can lure an enemy to just about any location and kill it there, the camera can also zoom in on just about any texture. Those surfaces you cannot get close to, those are not easy (read non-practical) to deduce. In other words, everything you just said does not hold true for our game!

    You are still making assumptions without really paying attention to what goes on in a God of War game with respect to the camera. The camera -- and the game, affecting it -- does much more than you think it does. My point still stands: anyone who thinks the camera is "fixed" or that you can easily "optimize" things due to how our camera has been set up is naive about the system.

    I mentioned before that we (Phil) did a thorough description of the camera system at GDC (in 2008). You should do the research and read up on what the camera system does instead of making incorrect guesses. As a bonus, you'd know the answer to this question!

    I'm afraid this is crazy talk. We "could" also, for example, prerender every possible screenshot of the game based on every possible input, and just pick the appropriate image to display based on the input history. The game will ship on several million BluRays, but it "can" be done.

    There's a lot of things that fall into what you "can" do, but just aren't worth it in a real-world game development environment. Trying to deduce what can or cannot be rendered based on the setup of our camera system falls into that category.
     
  10. Phil Wilkins

    Newcomer

    Joined:
    Feb 25, 2010
    Messages:
    6
    Likes Received:
    0
    Hi, I wrote the camera system in question.

    All the rendering system knows about the camera is it's position and orientation. The constraints, curves, coefficients, and state used to generate the camera make it prohibitively complex to extract any useful information mechanically from them.

    For a start you'd have to sweep through all possible positions of the player. Then multiply that by all possible positions of every other active camera target. Then again by all previous states of the camera, and I'm not even sure that's actually possible.

    The best you can do, is what we do, which is to have the artists and camera designers talk to each other about what they're doing.

    So this is all entirely separate from the rendering engine. In fact, I regularly have to explain to new rendering guys why they can't derive much useful information from the camera system. Nor should they assume anything about it. If anything we're in a less predictable position than any given third or first person player controlled camera, because our designers can pull a mile out, just as the player triggers a move that folds the FoV down to frame the character.
     
  11. Phil Wilkins

    Newcomer

    Joined:
    Feb 25, 2010
    Messages:
    6
    Likes Received:
    0
    Funnily enough that actually is the control for the debug camera in the development version of the runtime.
     
  12. Danalys

    Regular

    Joined:
    Dec 8, 2005
    Messages:
    373
    Likes Received:
    1
    You could still stream small segments scaling in detail for distance they'd just be high enough res to stand up to scrutiny when zooming. There'd still be areas of a room you'd never see.
     
  13. Phil Wilkins

    Newcomer

    Joined:
    Feb 25, 2010
    Messages:
    6
    Likes Received:
    0
    We had a team of 4 camera designers on GoW3, and ~1/3 of a programmer. Every level requires a camera design stage that has potential cross-dependencies with every other department, well, other than concept art. That alone tips the scheduling and budgetary considerations seriously against us. This is not an easy road.

    The only performance benefits are that we can focus asset creation quality on what we want to look at. Sometimes this means that we don't need to build the back wall of a room. Or we can unload an area behind us that we can no longer see. Although often we'll just swap it for a lower detail version of the same area (think of the horse / chain section of GoW2).

    That's entirely in the domain of the artists and designers though.
     
  14. Phil Wilkins

    Newcomer

    Joined:
    Feb 25, 2010
    Messages:
    6
    Likes Received:
    0
    Amusingly that process is still entirely driven by the artists and designers. There is no mechanical discovery of PVS.
     
  15. Phil Wilkins

    Newcomer

    Joined:
    Feb 25, 2010
    Messages:
    6
    Likes Received:
    0
    *fixed*
     
  16. Danalys

    Regular

    Joined:
    Dec 8, 2005
    Messages:
    373
    Likes Received:
    1
    so we could say that God of War gives the artists more leeway to decide where they should have more detail because of the camera angles, once they know what they will be.
     
  17. patsu

    Legend

    Joined:
    Jun 25, 2005
    Messages:
    27,709
    Likes Received:
    145
    Based on Christer's post and example, it's decided by the artists/designers and the player (e.g., where Kratos happens to be at the killing moment).
     
  18. Danalys

    Regular

    Joined:
    Dec 8, 2005
    Messages:
    373
    Likes Received:
    1
    the players can make a moment that's zoomed in but they can't force a camera angle that shows stuff that the designers and artists have decided wont be seen.
     
  19. patsu

    Legend

    Joined:
    Jun 25, 2005
    Messages:
    27,709
    Likes Received:
    145
    I suspect so, but there are probably a wide range of possibilities once Kratos is set loose in a level, especially when they are fighting on a mobile Titan/level:

     
  20. Danalys

    Regular

    Joined:
    Dec 8, 2005
    Messages:
    373
    Likes Received:
    1
    If the cameras direction is generally fixed then theoretically you could have most of two walls never seen. It's been a while since I've played a God of War title but I think I remember it switching camera angles on you but only so you would see a different angle of where you had been in much less detail. I think the geometry it's pushing is really impressive even if it can take some clever steps to minimise what it neads to keep in memory at any one time.
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...