Home Technical Talk

[Question] BIG monsters with BIG textures.

polycounter lvl 18
Offline / Send Message
Jhotun polycounter lvl 18
Hi people

Here at the studio we are working on a really big monster for our game (a finger is more or less the size of a character). The problem we face is that we want the character to get really close to it and of course we want to put very good textures on it.
We have had a small brainstorm and we think that no less than ten 2048 textures are needed, but honestly, we do not know if that would kill the machine when playing ingame.

What are your approaches and thoughts about this?

Thanks!

Replies

  • killingpeople
    Offline / Send Message
    killingpeople polycounter lvl 18
    sounds like a question you'd have to ask your engine programmer.
  • Xenobond
    Offline / Send Message
    Xenobond polycounter lvl 18
    Have you tried treating the big monster like you would a building? If you have the tech to use multiple materials, and some blending, you can get enough detail for what you are looking for.
  • Jhotun
    Offline / Send Message
    Jhotun polycounter lvl 18
    Well, I´d like to hear comments of artists. This is not a question I´m asking to get a specific answer, i just would like to know how artists handle that kind of things in the more clever way possible.

    I´m amazed on how in Resident Evil 4 they put those incredible and big monsters on screen and even with their low res textures they look damn good in a close view.

    Edit: Xenobond, tiling is something i would like use as the last resource. The big guy has a lot of parts and stuff that needs tons of custom detail. I was thinking on using tiles and over it all some kind of decal work to add details, but i really would like to treat it as a character. I know the limits of the machine and our engine, but i still think that there must be a way to make it without having to get trought the programmers pipe :P

    Later
  • Xenobond
    Offline / Send Message
    Xenobond polycounter lvl 18
    Then, it looks like you have already made up your mind on the whole thing. If you don't want to discuss things with a programmer, then you're only really leaving one option for yourself.
  • Mongrelman
    Offline / Send Message
    Mongrelman polycounter lvl 18
    I would think a large texture with as much sharing of uvs as you can might be the way to go.
  • Jhotun
    Offline / Send Message
    Jhotun polycounter lvl 18
    Xenobond: Sorry, my english level is not very high and i´m really having difficulties to explain my thoughs.
    I´m trying to approach the big guy with the art in mind over the technical things. I know that at the end what programmers say is what goes (do not take me wrong, i talk with programmers everyday), but i believe in art over technical things, and that is what i want to have.

    Sorry, i do not have time to write more, i´ll try to put the ideas more clear later. I hope someone can understand this topic smile.gif

    Thanks!
  • kat
    Offline / Send Message
    kat polycounter lvl 17
    Why not break the textures down into smaller units and just use more of them? Doesn't help 'batching' from what I understand, but it may be a compromise that has to be made.

    You could always set up a 'detail' system that changed depending on what sort of texture you were looking at, loads in a detail texture for cloth, leather, metal and so on (gawd knows how you'd do that).
  • Eric Chadwick
    Detail texture is actually pretty good at hiding the blurries. Just multiply a super-tiled grayscale emissive texture on top of the whole shader. When you get closeup, this one appears, giving you micro detail, and as you back away its mipping will fade it out, leaving you with just the big overall textures.

    There's also the possible trick of having alpha-test hair- or fur-planes grow in height as the surfaces get near to the viewer. This way the hair geometry seems to fade in as you get close, and fades out nicely as it recedes. Battlefield 2 did this with its grass, works fairly well, and you only really notice it when you're specifically looking for it.
  • Mongrelman
    Offline / Send Message
    Mongrelman polycounter lvl 18
    Hmm, could you use a LOD system for different parts of the mesh?

    If the character is enormous and standing infront of you, use the highest LOD foot texture (since it's in your face) and low for the head since it's far away. If he reaches to pick you up, use the highest hand LOD etc.

    Is that possible?
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Just my 0.02$:

    1) Use texture tiling ( aka texture wrapping UVs )
    2) Use procedural textures ( noise, wood, skin shaders ) and composited layers.
    3) Use texture compression ( DXT1 for color maps + 3Dc/A8L8 for normalmaps )
    4) Detail mapping ( detail=signed grayscale texture tiled )
    5) Fur fins to hide the base texture
    6) Use JC's "megatexture approach" ( basically divide a 32kx32k texture into 1k chunks and repeat it... but only good for terrains ) but requires constant AGP/PCI bus speed transfers so bad performance.

    And forget the ten 2048x2048 textures... that cannot be stored inside any midrange graphics card without wiping the FPS. Better make a 2048x2048 atlas for all the monster ( but quality will suffer ).... and remember... the PS2 has only 768Kb for textures ( in case you wanna port your game )
  • Black_Dog
    Offline / Send Message
    Black_Dog polycounter lvl 17
    [ QUOTE ]
    If the character is enormous and standing infront of you, use the highest LOD foot texture (since it's in your face) and low for the head since it's far away. If he reaches to pick you up, use the highest hand LOD etc.

    [/ QUOTE ]

    Mipmapping already does some of this, although the full mipmap chain will stay in graphics memory. If it didn't, there would be awful things happening to performance every time the card needed to load mipmap 0 of a 2048^2 map.

    I'm gonna go with "as many 2048's as you can reliably fit in memory, plus detail texturing". Worked for painkiller. wink.gif
  • Toomas
    Offline / Send Message
    Toomas polycounter lvl 18
    [ QUOTE ]
    Hmm, could you use a LOD system for different parts of the mesh?

    If the character is enormous and standing infront of you, use the highest LOD foot texture (since it's in your face) and low for the head since it's far away. If he reaches to pick you up, use the highest hand LOD etc.

    Is that possible?

    [/ QUOTE ]

    You can do it with levels because they are pretty much static and you can pre-cache the textures depending on which direction the player travels in.
    But the monster moves around and player moves around thus you cant predict what you need to pre-cache.

    BTW the Might and Magic fps has some huge monsters, there should be one in the demo too, so just dl it and figure out how they did it wink.gif
  • Mongrelman
    Offline / Send Message
    Mongrelman polycounter lvl 18
    I suppose another alternative is to use very little lighting so you won't be able to see the textures hehe.
  • Ninjas
    Offline / Send Message
    Ninjas polycounter lvl 18
    Detail texture seems like the way to go. That said, I thought of some other thinsg that could work.

    Has anybody made a shader that blurs and refilters the texture (like the filter options on emulators "super eagle" etc. )? Maybe add a map that adjusts the level of refiltering?

    You can just redesign the critter. In Shadow of the Colossus they put hair on everything and it looked great.
  • EmAr
    Offline / Send Message
    EmAr polycounter lvl 18
    Although I didn't read the whole article I thought it may be useful: http://edusworld.org/ew/ficheros/2006/paginasWeb/making_of_sotc.html
    In case you don't know the game(Shadow of the Colossus), it's a game in which you kill monsters of great sizes.
    Other than that, I think using detail textures is the way to go too. I don't know about your game but if it's a really big monster, probably the player won't be able to see all of its body on the screen all the time, so you may have one(or many) repeating detail textures.
  • Malus
    Offline / Send Message
    Malus polycounter lvl 17
    It could also be worth looking at the design for the creature.

    If your hardware limits the use of so many textures and you can't/won't go down the tiling workflow it may mean the original design was way off track.

    Revisit the original concept, carve it back to what you wanted this actor to represent in terms of gameplay visuals and emotion and see how you can adjust it too suit your constraints without destroying the feel of the character.

    Ask yourself wether all the detail is needed, can you simplify aspects to re use parts of the texture helping to reduce your load on the hardware.
  • Vailias
    Offline / Send Message
    Vailias polycounter lvl 18
    As has been mentioned. detail textures are a great help

    Secondly, determine which parts of the monster will be seen up close. Give those more texture space than the parts that will never be seen up close.
    That way you can minimize your texture memory usage, and still keep good detail.

    Also from an art standpoint, paint it well. A well done texture will beat a higher rez texture any time.
  • EarthQuake
    Detail textures can only do so much when you're using normals, if you have a huge guy with a blurry normal map all the multiplied detail textures in the world on your diffuse wont help you much. Unless of course you're going to blend in detail normals as well, but i've been told this is pretty expensive to do. Atleast much more expensive than a simple detail texture.
  • hawken
    Offline / Send Message
    hawken polycounter lvl 19
    hard to give any sort of advice without seeing the concept or model. For example, if he's anything like the titans in Colossus, you can get away with lots of fur textures etc, which take up very little texture space.
  • Jhotun
    Offline / Send Message
    Jhotun polycounter lvl 18
    Woah, lots of answers laugh.gif Thanks guys. I have read all the messages and I´m trying to extract all the info i can smile.gif

    The thing about the hair seems to be a good trick. I know the giants from Shadow of the Colossus and yes, they look great smile.gif The problem is that this monster is flesh, metal and stone. I would love to show you some concept art, but for sure someone would kill me :P

    Using lods for different parts of the mesh is a very good idea. Since the monster is not accessible in the top part, that would be a good trick to save a hell of geometry and texture there. Something new to talk with buddies :P

    Precaching depending on where the monster is gonna go and what is gonna do is a good idea. The problem is that if you want to re-use it later, you would end up facing the same problem but with less time to do it :P

    I personally think that the lighting is going to play a very important role in this baby. In Resident Evil 4 that is something that catches my eye in some monsters. Despite they look great with their lighting, I would have go for a more dramatic
    way in some of them.

    I would like to thank you for your time writting your ideas and experiences with this topic. I´m very new to this kind of character and I would love to do a great job. I have always believed that technology is the weapon of the art, and art must prevail over all the technical things.

    Later
  • Eric Chadwick
    [ QUOTE ]
    I have always believed that technology is the weapon of the art, and art must prevail over all the technical things.

    [/ QUOTE ] Wrong way to look at it, IMHO. If you stick to this idea, you're always going to be at odds with the other half of your team (the coders). If you work _with_ them instead, you'll find a lot more doors open in your direction. You'll end up with better art tech too. Make peace with the beast!
  • Malus
    Offline / Send Message
    Malus polycounter lvl 17
    Eric's exactly right.

    While I'm an artist and totally believe in artistic integrity and story being the motivating factor thas driving development you should never feel like the coders are there for the artists whims.

    As I said previously, you may need to look at the original concept again with an honest crtical eye, design needs to work with code not feel superior, coders will shut you down if they feel you are belittling them, fair enough too.

    If the art and code depts. discuss openly and honestly the pros and cons of what the original design was and you still find its not doable its the artists who need to look at wether they went way off scope.

    A good artist needs to be able to understand the constraints they are working under.
  • Mark Dygert
    I couldn't agree more with Eric. I know the current mindset in games is to "buck the system" "think outside the box", "hype the eye candy and destory the FPS" "art is king, law and country!" bla bla bla. But I always work better knowing where the edge is and how far I can push it. Give me a sand box to keep my play area nice and tidy instead of dumping a load of sand in the parking lot and expecting me spend most of my day keeping it from scattering all over the place.

    When you don't know the boundries you are working in its a dangerous and unstable, unstatifying place to be. You always end up having to dumb down your creation, rework it, or just plain axe it for something simpler.
Sign In or Register to comment.