Home Technical Talk

Best Texel Density for AAA MMO?

node
Offline / Send Message
Echu node
Hey folks,

BACKGROUND INFO:

I've been working for a while with some mates to create an MMO, AAA quality focus. One of our references was Black Myth:Wukong in quality, but as an MMO. It's thought to be HUGE. We're focusing on a small demo for now but I want to set up the basis for all the tech stuff.- Already gone through modular system basis and naming conventions, folder arrangementes, etc. And we're beggining to texturize props.

WHAT:

At first I thought that for a huge MMO, in order to keep it "small" for the future download files, I thought 5,12px/cm (TD). But ever since we started, we had in mind to have best quality, so then a 10,24 started to pop on my mind.

I cannot plan on having different TD for close and long range items, because in MMOs, the thought of having background elements in less TD doesn't work as good as on a non-open world game.

If you have some ideas on this, I'd like to hear about them. 5,12? 10,24?

Replies

  • oglu
    Offline / Send Message
    oglu polycount lvl 666
    Im totaly confused. If thats a real question you arnt near for a AAA game.
    Do first a game that isnt out of scope.
  • Echu
    Offline / Send Message
    Echu node
    oglu said:
    Im totaly confused. If thats a real question you arnt near for a AAA game.
    Do first a game that isnt out of scope.

    Hey, first of all, you're being quite rude.

    Secondly, I'm only having this real issue because I want to push forward quality but want some opinions on pushing from 5,12 to 10,24 on a big MMO.

    And trust me, we got the skills. You don't know us. So please, before an answer like that one, stay on topic and try to be polite :D
  • Neox
    Online / Send Message
    Neox veteran polycounter
    i don't think this was impolite or rude, direct? yes absolutely

    that being said, thats something you will have to do the hard math on. how much memory can you allocate, do you guys use texture streaming etc? talk to your engine team. find out what your limitations are then you will know if you guys can handle X amount of 1024 or 512. i dont think there is a universal solution to this, that can be applied to any project.
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    Yes you are correct, you will need to hire around 10 to 24 technical directors in order to make a treeple-ay MMO.
  • Echu
    Offline / Send Message
    Echu node
    Neox said:
    i don't think this was impolite or rude, direct? yes absolutely

    that being said, thats something you will have to do the hard math on. how much memory can you allocate, do you guys use texture streaming etc? talk to your engine team. find out what your limitations are then you will know if you guys can handle X amount of 1024 or 512. i dont think there is a universal solution to this, that can be applied to any project.

    Many thanks for the advise! Will meet with our techs to find a solution then.
  • PolyHertz
    Offline / Send Message
    PolyHertz polycount lvl 666
    Took me a moment to realize you were talking about texture resolution. "TD" normaly refers to "technical director", but you seem to be using it for "texture dimensions" (or something like that) and are using commas in the middle of the numbers for some reason...

    Anyhow, if you're looking to keep file size down you could could try using various channel tricks to keep the number of textures to a minimum. One good example of that is this sci-fi scene that Snefer (Tor Frick) did back in 2011:
    https://polycount.com/discussion/89682/an-exercise-in-modular-textures-scifi-lab-udk/p1
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    I assumed texel density - which would be a sensible thing to settle on.

    working it out what you need is simple enough - its a function of screen resolution, camera FOV and view distance. 
  • Echu
    Offline / Send Message
    Echu node
    PolyHertz said:
    Took me a moment to realize you were talking about texture resolution. "TD" normaly refers to "technical director", but you seem to be using it for "texture dimensions" (or something like that) and are using commas in the middle of the numbers for some reason...

    Anyhow, if you're looking to keep file size down you could could try using various channel tricks to keep the number of textures to a minimum. One good example of that is this sci-fi scene that Snefer (Tor Frick) did back in 2011:
    https://polycount.com/discussion/89682/an-exercise-in-modular-textures-scifi-lab-udk/p1

    Texel Density :D Sorry for the misunderstanding. Just edited the header
  • Echu
    Offline / Send Message
    Echu node
    poopipe said:
    I assumed texel density - which would be a sensible thing to settle on.

    working it out what you need is simple enough - its a function of screen resolution, camera FOV and view distance. 

    Thanks :D
  • Eric Chadwick
    Glad to see you're getting good responses from experienced artists & coders!

    However there's no need to flag replies as Abuse. These aren't meant as tirades, rather they're direct critiques which are here to help you understand the way things work in game development. Or else they're simply joking in a good-natured way.

    Feel free to ask for clarification from people on what they mean by their replies. I hope this helps.
  • Echu
    Offline / Send Message
    Echu node
    Glad to see you're getting good responses from experienced artists & coders!

    However there's no need to flag replies as Abuse. These aren't meant as tirades, rather they're direct critiques which are here to help you understand the way things work in game development. Or else they're simply joking in a good-natured way.

    Feel free to ask for clarification from people on what they mean by their replies. I hope this helps.

    Well, thank you!

    But sill, telling me to quit that scope because he must have a magic ball on who's working with me, isn't a direct critique but something rude to be honest. But up to you how you interpret that ^^

    As for the other guy, well there's a slim line between trolling/joking and spam sometimes, I agree.

    I'll stay with the good responses here ^^
  • oglu
    Offline / Send Message
    oglu polycount lvl 666
    Not ment to be rude just realistic. AAA development is hard really hard. Its not just making beautiful images. 
    And if such basic issues are a problem for your team i dont see a way you manage to get a game with that scope done.
    I would be more that happy if you get your game ready. 

    I see you got the answer. All is fine.
  • Echu
    Offline / Send Message
    Echu node
    oglu said:
    Not ment to be rude just realistic. AAA development is hard really hard. Its not just making beautiful images. 
    And if such basic issues are a problem for your team i dont see a way you manage to get a game with that scope done.
    I would be more that happy if you get your game ready. 

    I see you got the answer. All is fine.

    We know how hard it is to do a game like this and we're committed. Still, this wasn't an "issue" per se, more like a doubt. We've been producing for a while in 512, but we had the doubt on whether to push a bit more, and I wanted to know some different opinions for a game like this.

    Thanks tho :D
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    Hey to be fair, a MMO with AAA graphics similar to Black Myth Wukong sounds pretty great to me. When do you plan to release ?
  • Echu
    Offline / Send Message
    Echu node
    pior said:
    Hey to be fair, a MMO with AAA graphics similar to Black Myth Wukong sounds pretty great to me. When do you plan to release ?

    We're working on demo for publishers. Might have a working public demo a year after getting investment, since we'll have to increase people and production. So far we're working for free. The only public thing we've got to show to the rest are the dino production basically :D We want to finish many things before showing off in public the rest
  • Alex_J
    Offline / Send Message
    Alex_J grand marshal polycounter
    This is a common question that pops up a lot, especially from beginner environment artist, and it always confuses me because it seems to suggest there is a big workflow problem that, as far as I am aware, doesn't actually exist? 

    For instance, lets say I make all of my environment pieces, and I just want them to look good so I make all the texture resolutions 2k. Later when I am trying to optimize the game, I can easily change the texture resolution of all of those models to whatever I want. So I just find that sweet spot where it looks acceptable but isn't more than it needs to be. 
    If I still need to reduce memory footprint I prioritize targets and make those things which are least priority look ugly first. 

    Am I missing something? Like, what does the actual texel density number really matter? This is all based on how something looks visually, so who cares if prop A has slightly different density than B? 

    Honestly, every time I see this question I wonder if it isn't a case of people misallocating attention? But there is a lot of discussion so maybe something I don't know?

    Caveat is that I only work alone, so I can see how havign a standard that a large team works from could reduce rogue artist from getting too crazy. For me though it's always just been find the minimum resolution needed and if i need to tweak a thing here or there that's not a big deal.
  • Echu
    Offline / Send Message
    Echu node
    Alex_J said:
    This is a common question that pops up a lot, especially from beginner environment artist, and it always confuses me because it seems to suggest there is a big workflow problem that, as far as I am aware, doesn't actually exist? 

    For instance, lets say I make all of my environment pieces, and I just want them to look good so I make all the texture resolutions 2k. Later when I am trying to optimize the game, I can easily change the texture resolution of all of those models to whatever I want. So I just find that sweet spot where it looks acceptable but isn't more than it needs to be. 
    If I still need to reduce memory footprint I prioritize targets and make those things which are least priority look ugly first. 

    Am I missing something? Like, what does the actual texel density number really matter? This is all based on how something looks visually, so who cares if prop A has slightly different density than B? 

    Honestly, every time I see this question I wonder if it isn't a case of people misallocating attention? But there is a lot of discussion so maybe something I don't know?

    Caveat is that I only work alone, so I can see how havign a standard that a large team works from could reduce rogue artist from getting too crazy. For me though it's always just been find the minimum resolution needed and if i need to tweak a thing here or there that's not a big deal.

    I see your point. Thing is that if you do 2k for every prop in a room, for a similar size, they do not have to have the same density. What we aim is for all artists to work on a same density. And if a particular object needs special attention, more detail, we can always push texture there individually.
  • Eric Chadwick
    I think the "TD" and unusual use of commas comes from Figuring out Texel Density by Leonardo Iezzi.
  • Echu
    Offline / Send Message
    Echu node
    I think the "TD" and unusual use of commas comes from Figuring out Texel Density by Leonardo Iezzi.

    Yeah. I thought it would be clearer this way. I always said 512 without comma
  • SeveredScion
    Offline / Send Message
    SeveredScion polycounter lvl 12
    Personally I don't think this is something that needs to be decided on ahead of time. In short, visual quality should be balanced with performance in engine, and ideal resolution can be adjusted as the game grows.

    Author textures at as high a resolution as possible without creating undue burden (file size too big, too much lag while texturing, etc.). Set the resolution of textures in engine. It's super easy in Unity and it offers different compression options; I can't remember offhand how Unreal handles texture res but I'm sure it has similar options.

    Have someone do in-engine performance testing. This is usually a Tech Artist type role. Check framerate, if shaders need to be optimized, what's taking the most draw calls / drive space / VRAM. It's their job to balance visual quality with technical performance. This is where the ideal texture resolution will be determined.

    Yes, I know you asked about texel density and not texture resolution. You can give large and small assets different resolutions initially and then halve each of them in engine if necessary. Alternatively just author textures as large as possible (again as long as it doesn't cause lag etc.) and have tech artist set the resolution in engine and they're basically the one who determines the final texel density - which assets need 512, which needs 1024, which need 2048, etc.

    One caveat here is if artists are authoring textures at a larger resolution than they're likely to be displayed in game, they may add too much detail that looks noisy or invisible in game. So it's important to have strong art direction so artists know how much detail to add, if they need to focus more on large shapes, etc. Having artists check their work at a lower res, or verify that it reads from a distance, etc. can help.

    Also with large environments and terrain you can tile overlay textures for greater variety, and you may want to tile the overlays different amounts on different assets, so there isn't really one definite final texel density anyway.

    I know this isn't the end-all-be-all answer you're looking for, but my point is it can vary a lot from game to game, and I think it's important to measure the pros and cons as game development progresses, and have an easy way of adjusting texel density if/when necessary. Rather than following a specific rule since there's no one right answer.

    Caveat: I haven't actually worked on an MMO. My info is based on general 3D art and gamedev experience.
  • Echu
    Offline / Send Message
    Echu node
    Personally I don't think this is something that needs to be decided on ahead of time. In short, visual quality should be balanced with performance in engine, and ideal resolution can be adjusted as the game grows.

    Author textures at as high a resolution as possible without creating undue burden (file size too big, too much lag while texturing, etc.). Set the resolution of textures in engine. It's super easy in Unity and it offers different compression options; I can't remember offhand how Unreal handles texture res but I'm sure it has similar options.

    Have someone do in-engine performance testing. This is usually a Tech Artist type role. Check framerate, if shaders need to be optimized, what's taking the most draw calls / drive space / VRAM. It's their job to balance visual quality with technical performance. This is where the ideal texture resolution will be determined.

    Yes, I know you asked about texel density and not texture resolution. You can give large and small assets different resolutions initially and then halve each of them in engine if necessary. Alternatively just author textures as large as possible (again as long as it doesn't cause lag etc.) and have tech artist set the resolution in engine and they're basically the one who determines the final texel density - which assets need 512, which needs 1024, which need 2048, etc.

    One caveat here is if artists are authoring textures at a larger resolution than they're likely to be displayed in game, they may add too much detail that looks noisy or invisible in game. So it's important to have strong art direction so artists know how much detail to add, if they need to focus more on large shapes, etc. Having artists check their work at a lower res, or verify that it reads from a distance, etc. can help.

    Also with large environments and terrain you can tile overlay textures for greater variety, and you may want to tile the overlays different amounts on different assets, so there isn't really one definite final texel density anyway.

    I know this isn't the end-all-be-all answer you're looking for, but my point is it can vary a lot from game to game, and I think it's important to measure the pros and cons as game development progresses, and have an easy way of adjusting texel density if/when necessary. Rather than following a specific rule since there's no one right answer.

    Caveat: I haven't actually worked on an MMO. My info is based on general 3D art and gamedev experience.

    In fact this is one hell of an answer, many thanks for your insight on this
  • SeveredScion
    Offline / Send Message
    SeveredScion polycounter lvl 12
    Cool, glad to help :)
  • gnoop
    Offline / Send Message
    gnoop polycounter
    Not sure about MMO bit in  our kind of  racing game   10 pixels per cm  would make your each 2048 texture  repeat in  every 2 m . So you would end up  in super   flat and even  looking   surface . Hi-passed  of any low frequency details  to its death.
        Maybe ok for an asphalt   but once you want to make something  of a  mother nature origin  or just same asphalt but with cracks  they would repeat to a scale  that would  provoke an epilepcy  seizure in your customers .
     And no sort of  multi layer  blending  , gazillion decals  or any other tricks would make it look realistic. 
    Those texture tiles would still cry out loudly:   not-real.    
       So even 5 pixels is too much  really , rather 3 maybe.    Or most probably you will end up with different texel size on different kind of materials and subjects .
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter

    That sort of approach doesn't work in a game where the player is free to explore or when you don't know how assets are going to be used. 
    It is absolutely the right way to look at things for a racing game or anything where the player is restricted to a semi linear environment. 


    For more open environments you need to focus on reuse, ease of authoring and consistency above peak efficiency on a given asset. It requires a more holistic approach.

    The best approach is to pick a texel density for the most common view distance and stick to it for almost everything you make.
    This allows any asset to sit next to another without obvious discrepancies in texel size and means you use the minimum texture size required to reach the level of fidelity you need(assuming they're unwrapped properly)

    For tileable/trim textures it is sensible to think of texture sizes in world space - eg 4 metres square. 
    This ensures that features are consistently scaled and means it is very simple to swap materials on objects. 

    The hard part is managing memory and material counts. I've no idea what unity does with streaming so memory management is a mystery to me. i know it has support for texture arrays and leveraging those will help greatly with material count

    Also. 
    You don't want to be completely dogmatic - cutscene assets, text on a page etc are likely to want higher density but these are special cases 


    And...
    You will run out of memory immediately if you throw 4k textures around all over the place so if you decide you need 1024pixels per metre texel density you need to start looking at shader tech that allows you to reach that fidelity without using native texture resolution (detail mapping, downsampling certain maps. etc ) 
  • Echu
    Offline / Send Message
    Echu node
    gnoop said:
    Not sure about MMO bit in  our kind of  racing game   10 pixels per cm  would make your each 2048 texture  repeat in  every 2 m . So you would end up  in super   flat and even  looking   surface . Hi-passed  of any low frequency details  to its death.
        Maybe ok for an asphalt   but once you want to make something  of a  mother nature origin  or just same asphalt but with cracks  they would repeat to a scale  that would  provoke an epilepcy  seizure in your customers .
     And no sort of  multi layer  blending  , gazillion decals  or any other tricks would make it look realistic. 
    Those texture tiles would still cry out loudly:   not-real.    
       So even 5 pixels is too much  really , rather 3 maybe.    Or most probably you will end up with different texel size on different kind of materials and subjects .

    Thank you for your insight, really appreciated :D
  • Echu
    Offline / Send Message
    Echu node
    poopipe said:

    That sort of approach doesn't work in a game where the player is free to explore or when you don't know how assets are going to be used. 
    It is absolutely the right way to look at things for a racing game or anything where the player is restricted to a semi linear environment. 


    For more open environments you need to focus on reuse, ease of authoring and consistency above peak efficiency on a given asset. It requires a more holistic approach.

    The best approach is to pick a texel density for the most common view distance and stick to it for almost everything you make.
    This allows any asset to sit next to another without obvious discrepancies in texel size and means you use the minimum texture size required to reach the level of fidelity you need(assuming they're unwrapped properly)

    For tileable/trim textures it is sensible to think of texture sizes in world space - eg 4 metres square. 
    This ensures that features are consistently scaled and means it is very simple to swap materials on objects. 

    The hard part is managing memory and material counts. I've no idea what unity does with streaming so memory management is a mystery to me. i know it has support for texture arrays and leveraging those will help greatly with material count

    Also. 
    You don't want to be completely dogmatic - cutscene assets, text on a page etc are likely to want higher density but these are special cases 


    And...
    You will run out of memory immediately if you throw 4k textures around all over the place so if you decide you need 1024pixels per metre texel density you need to start looking at shader tech that allows you to reach that fidelity without using native texture resolution (detail mapping, downsampling certain maps. etc ) 

    Lots of info, many thanks. I think I now have quite a clear idea on what to do, thanks again!
  • Echu
    Offline / Send Message
    Echu node
    I think the "TD" and unusual use of commas comes from Figuring out Texel Density by Leonardo Iezzi.

    Yeah, I thought it would be clearer. I always said 512 without comma
Sign In or Register to comment.