Home Technical Talk

Next Gen Poly Budgets

polycounter lvl 11
Offline / Send Message
Pope Adam polycounter lvl 11
I'm working on my senior project in school. I'm trying to use some 'next gen' techniques, and fleshing out my environment around something along the lines of a gears or UT3 set of restrictions.

My question:

What is the general rule for poly budgets for games of this caliber?


Hero props?
Tubes/Pipes (how many sides)?
Minor props (crates, computer terminals)

Just looking for an estimate, or guideline, so that I might keep these numbers in mind while creating my low poly models for my current project.

Thanks for your time Polycount
cheers!
ADM

Replies

  • Jesse Moody
    Options
    Offline / Send Message
    Jesse Moody polycounter lvl 17
    Next Gen? So you mean the next console cycle after the current generation of consoles. Because the Xbox 360 and PS3 have been around for 2-3 years and are the current generation of consoles.

    My suggestions would be to pick up a copy of UT3 or Gears for pc and look at the editor and look at the polys, textures, etc.

    Polycount changes from game to game, engine to engine.
  • Rob Galanakis
    Options
    Offline / Send Message
    Yeah... you have the source art to the games you speak of! Definitely fire up the editor and take a look for yourself, better to take a look at how the polys are used as well as how many.
  • Pope Adam
    Options
    Offline / Send Message
    Pope Adam polycounter lvl 11
    aye,,,,

    correction: current gen


    was thinking along the lines of the types of models that Kevin Johnstone makes. Like the badass goo tank and shit like that. He posts his high poly models but I haven't seen the low wire-frames yet.


    Ugh, formatted the drive last week, *starts searching for unreal3 disks*
  • vik
    Options
    Offline / Send Message
    vik polycounter lvl 13
    I was just wondering if UT3 is something to go by regarding budgets? For example a simple cardboard box, from memory, was something like 110 tris with 2048x2048(?!) diff/normal maps in UT3? Show me another game that can get away with specs like that :\
  • Pope Adam
    Options
    Offline / Send Message
    Pope Adam polycounter lvl 11
    lol yah, UT3 engine seems to be able to just smash away at polygons. What was Marcus Fenix? I've read somewhere between 10500 and 14000.

    I've built levels in Unreal 3 that have ASTRONOMICAL amounts of polygons and have yet to find a limit to waht it can handle.

    started this thread looking for a 'ballpark' idea, i'll be installing ut3 tomorrow to get that answer, unless someone else has an idea of what a really large UT3 object would be before then.

    o wells
  • vj_box
    Options
    Offline / Send Message
    Ut3 and gears use roughly same amt of poly and texture budgets for all the assets.Ut3 will be a bit optimized due to its multiplayer nature,as frame rates cannot be compromised in multiplayer games.
    The best thing of unreal engine is that it uses excellent compression techniques,which allows the usage of larger texture sizes.(like 2k).
    If you notice,a lot of assets use 2k,just like that.Then the engine will decide on the best mip map and things like that.

    Vj
  • commander_keen
    Options
    Offline / Send Message
    commander_keen polycounter lvl 18
    poly budgets are so 1997.

    you cant put a number on something like that anymore, the number could change by 5x depending on how your rendering them. for the most part poly counts havent changed in 6 years, the only difference has been shader complexity and render passes.
  • Daaark
    Options
    Offline / Send Message
    Daaark polycounter lvl 17
    Poly budget isn't something you can put a blanket number on anymore.

    The actual number doesn't matter until you go higher than what the rasterizing hardware you are running on can handle efficiently in batch. The programs that send this stuff to be drawn today are more worried about sorting states and batching than the number of polygons.

    Problems that used to eat up time and triangles don't exist anymore. The above poster mentioned 1997. In 1997 a game like Quake 2 in some cases had to draw the level geometry twice, because of the shadows being their own texture.

    The level would be rendered with the base texture.
    The level would then be rendered again with the lightmap textures.
    This doubled the amount of triangles. And required a texture state change in between.

    In this day in age, we have 'texture units', and each vertex can have unique UV coords for each texture unit, meaning that a level and it's lightmap can be drawn at the same time. We can go way beyond that, and assign a unique texture to each texture unit and tell the shader how to mix them achieving any effect you want, but only drawing the model once. The GPU doesn't really care if the model with the x number of textures had 600 or 6000 triangles, as long as you didn't overshoot the batch size. Especially since the GPU will operate on many vertices at once.

    Of course, some new real time lighting techniques require drawing the scene multiple times to make shadow buffers (sometimes once per light!) But this can be done with lower quality models, and no textures changes.

    Vertex data is also stored on the GPU most of the time these days. In the past all the vertices had to be sent form the PC to the GPU which was a bottleneck. We keep getting better, faster, ways to batch up stuff and store in in video memory.

    So the draw calls an engine makes to the GPU are instructions for it to get to work on a buffer of vertex data after it has gone done setting up the state (draw switches, textures loaded into the texture unit, etc...) Ideally, every state only has to be set once.

    As an artist, the best thing you can do is just make a world that is easily batched. If you have a wall that has a ton of posters on it. Make all those posters use the same texture map so that the engine can batch them together and send them to the GPU all as one block of data to work on. Your GPU would much rather render (big number here) polygons as part of the same state batch, then it would rendering two 500 polygon models that are 2 batches, because changing states is the bottleneck these days. It takes longer to set that state up, then it did to render the huge model, so drawing the 2 smaller models was actually slower.

    Also, watch out for shader complexity. I have read horror stories from people who have to go back and clean up / optimize all the shaders from artists who went crazy with a click and drag shader creation system. 3D graphics is about shader programs these days, and the more you can understand about how those work, the better. There was an article on Gamasutra about the horrors of letting artists create shaders like that for real time environments, but I can't find it right now, it should be required reading.

    Of course there will be a budget. Vertices still take up memory, and scene complexity comes into play. If you are working on an open / streaming world, you have to keep that data down into something that can be streamed and loaded instantly. You also have to pay attention to the target hardware.
  • Neox
    Options
    Offline / Send Message
    Neox godlike master sticky
    vj_box wrote: »
    The best thing of unreal engine is that it uses excellent compression techniques,which allows the usage of larger texture sizes.(like 2k).

    when textures are compressed that hard that a 2k map doesn't look better then a 1k map, than I wouldn't call it excellent. From what i see in the engine they're using DXT1-5 anyways, so thats no new stuff, importing dds files with more controll in PS over the compression, mipmaps and such things would be awesome.
  • Daaark
    Options
    Offline / Send Message
    Daaark polycounter lvl 17
    DXT Articles: 1, 2, 3

    DXT has great advantages, with a small trade off. Especially if you batch a few smaller textures into the 2k by 2k space, or use it as a texture atlas.
  • Pope Adam
    Options
    Offline / Send Message
    Pope Adam polycounter lvl 11
    this is great information guys,

    Daaark, thanks for taking the time to inform.
  • Ghostscape
    Options
    Offline / Send Message
    Ghostscape polycounter lvl 13
    The UE3 engine uses some sort of streaming system to make sure everything on the screen is at a fairly high texture resolution - this works for their games, but a 2kx2k cardboard box is not going to happen in every game. If you zoom around in GoW2 while dead you can watch the stream-in for high-rez textures, and it's frequently noticeable on Marcus/Dom at the beginning of a level, as well. I'm not sure why they stream out the game-rez version of Marcus and Dom and swap to their lowest-level versions in singleplayer/split-screen co-op, but they do.

    So while they're using 2kx2k maps for damn near everything, the in-game assets are not all using that, all the time. Outside of Gears/UT3 (it's a lot more noticeable in UT3, too) a lot of other UE3 games seem to have greater issues with texture streaming (especially Mass Effect.)

    Since you have access to the in-game assets in UT3/Gears for the PC, you would definitely get a good idea as to how they do everything by checking those out in the editor.

    Here's some more stats if you're interested:
    http://www.rsart.co.uk/2007/08/27/yes-but-how-many-polygons/
  • Mark Dygert
    Options
    Offline / Send Message
    5

    But in all seriousness its important to remember that most games including UE3 based games use Levels of Detail, so what you see on your screen is scaled and balanced for performance. Does the question include all LoD's or just the highest? It's a complex question and not one that can be given a simple answer, which is probably why its a paper instead of on a multiple choice test.

    It's important to understand that a simple box could be pretty high in both texture and poly count but probably won't be displayed at those settings at all times. So while a game like GoW2 might have some sky high budgets it also does a lot of trimming on the fly.

    The question actually raises more then it attempts to answer...
    What type of game?
    What type of engine?
    How close does the player get to it?
    Is this a constant distance or does it need to scale?
    How many will be on the screen at one time?
    Does this need to emote or speak?
    What is the range of animation this object must preform?
    Do we need to worry about seeing the object from all angles?
  • Pope Adam
    Options
    Offline / Send Message
    Pope Adam polycounter lvl 11
    Ghostscape wrote: »
    The UE3 engine uses some sort of streaming system to make sure everything on the screen is at a fairly high texture resolution - this works for their games, but a 2kx2k cardboard box is not going to happen in every game. If you zoom around in GoW2 while dead you can watch the stream-in for high-rez textures, and it's frequently noticeable on Marcus/Dom at the beginning of a level, as well. I'm not sure why they stream out the game-rez version of Marcus and Dom and swap to their lowest-level versions in singleplayer/split-screen co-op, but they do.

    So while they're using 2kx2k maps for damn near everything, the in-game assets are not all using that, all the time. Outside of Gears/UT3 (it's a lot more noticeable in UT3, too) a lot of other UE3 games seem to have greater issues with texture streaming (especially Mass Effect.)

    Since you have access to the in-game assets in UT3/Gears for the PC, you would definitely get a good idea as to how they do everything by checking those out in the editor.

    Here's some more stats if you're interested:
    http://www.rsart.co.uk/2007/08/27/yes-but-how-many-polygons/


    Thank you Ghostscape! This is the info I was looking for. Cheers!

    Thanks to Rick Stirling as well.

    Mr. Vig:

    The question actually raises more then it attempts to answer...
    What type of game? Portfolio piece, but shooting for a 'cinematic quality' gears-esque look.
    What type of engine? Unreal3
    How close does the player get to it? Inside of it, outside of it, close and far.
    Is this a constant distance or does it need to scale? don't really understand the question
    How many will be on the screen at one time? Several props will be instanced along the walls, others will be large hero props
    Does this need to emote or speak? No
    What is the range of animation this object must preform? Simple mechanical animation - not required for portfolio shots however.
    Do we need to worry about seeing the object from all angles? Yes


    I guess I'm having a hard time articulating my questions here, or maybe I am at a total lack of understanding for polygon budgets (from what I've read here and elsewhere).

    Here's a quick screen grab of one of the objects I'm working on. High poly version here, about 2 million poly.
    ARK01.jpg

    I've got the low poly half done and it's only at 2,000 polygons, I could probably get the entire thing down (with no sacrifice to silhouette) to about 4 or 5 thousand polys, 10k triangles. FOR SCALE this object is about 22 feet tall.

    If something like this were to go in to an unreal 3 level, and be the most important thing in the scene, is 10k triangles about right? Am I cutting out too much?

    I can post some screenies of the low poly wires WIP after I get home from work tonight.

    Thanks for all the help so far everybody. I've learned quite a bit.
  • arlrex
    Options
    Offline / Send Message
    The low poly you showed at school looked pretty good. Could definitely go into UT3 from what I have seen on the meshes there.

    Dont know much about pipes and such but for crates they are usually mostly normal maps doing most of the detail when closed and if they are open then each side has some depth to it but are usually low poly as well, at least in L4D.

    I can let you borrow my UT3 if you cant find your copy. I'll be at school on Tuesday at the lounge around 1 pm.

    Oh, and this is Jesus by the way. Will be by the arcade, hehe.
Sign In or Register to comment.