Home Technical Talk

Red Dead Redemption Techs

1
polycounter lvl 14
Offline / Send Message
NAIMA polycounter lvl 14
Hi I am playing on xbox R.D.R. and I am in total awe , this world is so full , large , rich and dense of texture details that I am really happy looking around , now I am wondering how that was possible hows that I can see tons of textures go seamlessly one into another , all in an almoust continous world and how is possible all this detail without loose in performaces? hows that engine working is there anywhere I can see some tech details behind all this magnificence?

Replies

  • Ott
    Options
    Offline / Send Message
    Ott polycounter lvl 13
    I'm probably revealing the world's best kept secret, but I imagine their technical blueprint and engine code works something like this:

    ohhair.jpg

    You should also note the varying levels of elevation in the game which can be used as occlusion blockers. The ONLY stuff that is happening (AI, animals, side missions, local audio) is happening within your detection ranges.

    It's a trick to make the world look "alive", but realistically it's only alive near where you are. This is why objects and people and shadows and textures can be seen popping into existence as you get closer to them.
  • A-N-P
    Options
    Offline / Send Message
    A-N-P polycounter lvl 6
    Nice, I learned something today :) Thanks man.
  • mortalhuman
    Options
    Offline / Send Message
    that is hilarious, and so true. some friends and i are hopeful in developing grit game engine already doing this. :D
  • moof
    Options
    Offline / Send Message
    moof polycounter lvl 7
    now I am wondering how that was possible hows that I can see tons of textures go seamlessly one into another , all in an almoust continous world and how is possible all this detail without loose in performaces? hows that engine working is there anywhere I can see some tech details behind all this magnificence?

    http://en.wikipedia.org/wiki/Mipmap

    This is kinda academic. Anyone working in games should know and learn these things, 'cause most games rely on the sort of things Ott desribes above, like mip mapping.
  • Eric Chadwick
    Options
    Offline / Send Message
    Ott, awesome!

    Mipmapping isn't a memory reducer, it's a way to prevent distant surfaces from shimmering like crazy. Mips actually cost a bit more memory than no mips, but the benefit far outweighs the cost.

    Anyhow, a term you could research is "Level Of Detail", or LOD for short. There are loads of whitepapers on it.
  • Xoliul
    Options
    Offline / Send Message
    Xoliul polycounter lvl 14
    Ott, awesome!

    Mipmapping isn't a memory reducer, it's a way to prevent distant surfaces from shimmering like crazy. Mips actually cost a bit more memory than no mips, but the benefit far outweighs the cost.

    I'm not all that sure if mipmaps are always great. Frequently things can get so undefined and blurry because of them. Turning mips off results in a lot of texture noise, but can look better than with mips. Especially with vegetation I've noticed this.
  • mayaterror
    Options
    Offline / Send Message
    Xoliul, I totally respect you and your awesome shader, but I'd have to go with Eric on the mipmapping thing, until I started using mip maps I didn't really know why my textures weren't looking so great but it's a night/day difference for real-time. The key to combating the bluriness is to use the right combination of format and sharpening settings with the NV .dds writer. After several weeks of research and experimenting with sharpening types and settings, I found for foliage DXT1a with Catrom&SharpenSmooth to be great for my needs. Just be sure your alpha is perfect & only black/white, or you will become enraged by black pixels... However, for tileables, I found SharpenSoft to be a sufficient preset. It almost depends on the texture...Sometimes you even have to examine individual mip levels (nightmare scenario) although I PS Automate>Batch all my mips whenever possible.

    And if dds/DXT isn't an option, well, it's up to your programmer or your GPU. Unless anyone knows of a format besides dds that has native mip support?
  • NAIMA
    Options
    Offline / Send Message
    NAIMA polycounter lvl 14
    I am mostly impressed by the details in the terrain , looks like it is handwroked all around , I see cliffs with proper texures placed , bumps in the sides , extruded surfaces with right texturing , it seems tha a lot of the features aren't made by procedural work , plus a lot of the terrain features extrude and intrude in the xy directions and is not only z , in crysis u make this with voxels but if u notice well u can notice where and where star6ts what plus in the editor u have only 16 textures usable while in this game I see thousands if I am not wrong and totally intermixxed so well to look always natural , I cant believe it's all procedural ....

    Also I see that they do not use a nly texturee that by far gets mipmapped , they seems to use tons of textures mixed around and as distance increases you do not notice any tile or the like and I am really wondering how they did this...

    ven the very big details of the rocks by distance when you get close they do not look blurred and undetailed but still very detailed and also wondering here how to do that?
  • Xoliul
    Options
    Offline / Send Message
    Xoliul polycounter lvl 14
    mayaterror wrote: »
    Xoliul, I totally respect you and your awesome shader, but I'd have to go with Eric on the mipmapping thing, until I started using mip maps I didn't really know why my textures weren't looking so great but it's a night/day difference for real-time. The key to combating the bluriness is to use the right combination of format and sharpening settings with the NV .dds writer. After several weeks of research and experimenting with sharpening types and settings, I found for foliage DXT1a with Catrom&SharpenSmooth to be great for my needs. Just be sure your alpha is perfect & only black/white, or you will become enraged by black pixels... However, for tileables, I found SharpenSoft to be a sufficient preset. It almost depends on the texture...Sometimes you even have to examine individual mip levels (nightmare scenario) although I PS Automate>Batch all my mips whenever possible.

    And if dds/DXT isn't an option, well, it's up to your programmer or your GPU. Unless anyone knows of a format besides dds that has native mip support?

    Yeah I see what you mean, but can't say I think something looks "bad" without mips. I personally prefer the noise over a blurry undefined goop.
    The sharpening is a good point, though I never export as DDS manually, I just use UDK. There's some sharpening options there, but it still looks worse than just no mips. It might be the LODbias, but me and that setting, we don't seem to get along. It never does anything...
  • Snipergen
    Options
    Offline / Send Message
    Something different...

    Did you look at the horses? The muscles are amazing. You think they adjust the normal map "strongness" with some rotations of the bones? The area between the front legs when the horses run is simply brilliant.
  • cryrid
    Options
    Offline / Send Message
    cryrid interpolator
    You think they adjust the normal map "strongness" with some rotations of the bones? The area between the front legs when the horses run is simply brilliant.
    I was thinking they blend between maps, similar to what some games do with faces and wrinkles. I thought I saw an area on the 'Lucy' horse where the normals were inverted around a seam though (I've since paid close attention to other horses but couldn't see the same effect).
  • BradMyers82
    Options
    Offline / Send Message
    BradMyers82 interpolator
    Yeah, I'm pretty sure that's what they do cryrid. It's the only way I can imagine it being done at least.
    Example: (see wrinkle maps) http://doc.crymod.com/AssetCreation/frames.html?frmname=topic&frmfile=WrinkleMapCreation.html

    It's actually not all that hard to do btw. essentially it all gets handled in your normals and all you have to do is sculpt a high poly horse relaxed, and one flexing, then bake out both normals. Currently I'm working on another angry version of the shepherd on my website. So I'm sculpting him growling, too bad the game engine he's going into can't handle normal map blending. :(
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    BTW, bit of a tangent, but since Xoliul and EricChadwick both mentioned mip-mapping and the various pros/cons of it, isn't that the point of "anisotropic filtering", to allow mip-maps to be used but still retain the crispness when viewed at sharp angles instead of over distance (since traditionally mip-mapping at sharp angles will result in the "blurriness" that Xoliul mentions).
  • CrazyButcher
    Options
    Offline / Send Message
    CrazyButcher polycounter lvl 18
    I second Mop, mip-mapping is also quite important for performance.
  • Eric Chadwick
    Options
    Offline / Send Message
    Yep, agreed. As I understand it mipping speeds up rendering by reducing the fillrate, and aniso filtering is an improvement but maybe at the expense of some framerate?

    wikipedia shot...
    Anisotropic_compare.png
  • Electro
    Options
    Offline / Send Message
    Electro polycounter lvl 18
    That's right, don't just go disabling mipmapping on everything. Think of it as lodding for textures. Otherwise all the pixel shaders are going to be paying for all the same instructions far away, as up close. The same number of texels even though you're not actually seeing them... besides a heap of noise.
  • Harry
    Options
    Offline / Send Message
    Harry polycounter lvl 13
    Xoliul wrote: »
    I'm not all that sure if mipmaps are always great. Frequently things can get so undefined and blurry because of them. Turning mips off results in a lot of texture noise, but can look better than with mips. Especially with vegetation I've noticed this.

    non mipmapped vegetation turns to tv static tbh. But mipmapped veg doesnt look that great either. The best solution is mipmaps tweaked by hand for foliage
  • pixeldamage
    Options
    Offline / Send Message
    pixeldamage polycounter lvl 14
    I'll second that i'd love to know what tricks they used to pull off such amazing lighting. It's incredible. Stunning and amazing.
  • BHJ
    Options
    Offline / Send Message
    BHJ
    Harry wrote: »
    non mipmapped vegetation turns to tv static tbh. But mipmapped veg doesnt look that great either. The best solution is mipmaps tweaked by hand for foliage

    On the money here. Producing good mipping results for this type of veg requires quite a bit of editing by hand; along with the right settings in the .dds writer.
  • Justin Meisse
    Options
    Offline / Send Message
    Justin Meisse polycounter lvl 18
    you can do some cool stuff with editing mipmaps, for some of the magic barriers in WAR we edited the mip levels so : full rez was red, the next step was blue and after that it was clear. This made magic barriers that were invisible at long range, blue when you approached them and red when you got right up next to them.
  • Disco Stu
    Options
    Offline / Send Message
    The circle around the player was so obvious in rdr really funny.
    I sit on my horse in the desert relaxing in the sunset and hell breaks loose.
  • SHEPEIRO
    Options
    Offline / Send Message
    SHEPEIRO polycounter lvl 17
    mip maps on veg...depending on engine (that ole caveat)...its very important usually to get a good and consistent texel density to start with that and having the code LOD the mips at the correct distance/ angles

    anistropic solve so many of these issues i miss it... :-(
  • NAIMA
    Options
    Offline / Send Message
    NAIMA polycounter lvl 14
    Ok have you noticed all the cliffs? They aren't meshes modeled and placed ingame with lods etc ,they look like are parts of the same terrain , with the same textures adapted to the shape or viceversa? I see extrusions in the terrain in xy directions , the textures match the shape of the cliffs and they aren't added meshes but are continuous terrain , how was done that?
  • Eric Chadwick
    Options
    Offline / Send Message
    Looks like vertex blending to me.
    red-dead-redemption-20090528104436835.jpg
  • ParoXum
    Options
    Offline / Send Message
    ParoXum polycounter lvl 9
    If they worked like previous GTAs (even IV) they modelled a big big terrain and split it into parts, placed ingame at the right place later.

    Next everything get streamed in/out depending on distance around player like Ott marvelous picture says. =)
  • NAIMA
    Options
    Offline / Send Message
    NAIMA polycounter lvl 14
    so the terrain is handcrafted? and how about the textures ? I hardly notice any repetition on them its really good .....
  • ParoXum
    Options
    Offline / Send Message
    ParoXum polycounter lvl 9
    b40c39f876ecc6a59dd14fcde97b4.jpg

    I guess thanks to the foliage meshes all over the terrain they can easily hide the pattern, but it's there.
  • commander_keen
    Options
    Offline / Send Message
    commander_keen polycounter lvl 18
    They also probably use vertex color overlay to breakup tiling. Im doing a somewhat wild west environment now and a color overlay on the terrain mesh makes all the difference (although im using bitmap).
  • NAIMA
    Options
    Offline / Send Message
    NAIMA polycounter lvl 14
    I do not mean the plain ground I mean the cliffs have you noticed how most fo the cliffs are extruding ? they are very well done I wonder how are made in terms of textures if just painted in ethe edior or modeled singularly etc....
  • malcolm
    Options
    Offline / Send Message
    malcolm polycount sponsor
    Hey Eric, yeah anisotropic filtering slows down rendering. Typically on xbox 360 we assign anisotropic shaders to the ground geo only for racing games since they are the ones you see at the worst glancing angle compared to buildings and other objects which are seen straight on. Mips do cost extra memory but for objects that never see anything else than their top mips there is no point to wasting the memory. Ie for our lightmaps we don't mip to save on memory as they are stretched way past any fill rate savings.
  • NAIMA
    Options
    Offline / Send Message
    NAIMA polycounter lvl 14
    I also see a lot of physics about ropes , harness, clothes and hanging garments flapping , I remember this stuff to be extremely heavy in game like oblivion but I haven't tested in the cryengine or if even is possible , hows not the tec about it?
  • Eric Chadwick
    Options
    Offline / Send Message
    malcolm, thanks for this.

    NAIMA, not sure exactly how RDR does it but usually these are handled with ragdoll physics, which can be fairly fast. You skin the rope/harness/cloth to a hierarchy of bones, each with its own simple collision proxy mesh. For the proxies you generally use spheres, capsules, or boxes; these shapes are in order by their increasing physics cost... sphere is one test, capsule is two, box is six. Box is slowest.
  • 00Zero
    Options
    Offline / Send Message
    euphoria for the physics, right?
  • Rick Stirling
    Options
    Offline / Send Message
    Rick Stirling polycounter lvl 18
    00Zero wrote: »
    euphoria for the physics, right?

    Euphoria is a runtime biometric solved ragdoll with animation blending and runtime animation construction with lots of rules.

    If I was in pose A and wanted to go to pose G and impact P happened, what animation sequence would be required that didn't break my body and used energy conservation?

    It's also really good for shooting people in the ankles.
  • Kessler
    Options
    Offline / Send Message
    Kessler polycounter lvl 17
    I want to play cowboy game!
  • pixeldamage
    Options
    Offline / Send Message
    pixeldamage polycounter lvl 14
    Its also worth mentioning that Endorphin (one of Euphoria's cousins) is great for doing this stuff prior to runtime and using it as a basis for keyframed animations for those of us not using high-end 3d engines. It's super easy to use and can be exported to max / maya. It's really fun to use but you'll still need to work with it afterwards to get the look you need. Still no details on lighting here.. is it all just hdri, bloom, z-depth dof, motion blur, ambient occlussion and tone mapping that makes everything look so awesome? I've used hdri a little but this game's mind blowing and studying the folliage textures makes you realise that the texturing in many of the assets is super basic. I mean of course a lot of the textures are incredible but the majority of the grasses, cacti, trees etc are really low res and easy to make but its the light that brings it all alive. Just look at all the cloud shadows casting dark patches on large open expanses and the self-shadowing going on on every bush. There's a whole weather system. Man I wish Rage would release a public engine ala UDK. Lets pray for a making of soon or CGsociety feature...
  • pixeldamage
    Options
    Offline / Send Message
    pixeldamage polycounter lvl 14
    Nice Time-Lapse video by Digital Foundry showcasing the amazing ligthing/environments:

    http://www.eurogamer.net/articles/digitalfoundry-red-dead-redemption-time-lapse

    - article mentions that the sky probably uses something like 3 layers (2 revolving 3d cloud layers and a fixed back skydome). Guess that's for a parallax effect of clouds moving over each other and the background is maybe something like an HDR for lighting the scene (perhaps done beforehand a baked to animated lightmaps)?

    If anyone has any knowledge or theories i'd love to hear them.
  • NAIMA
    Options
    Offline / Send Message
    NAIMA polycounter lvl 14
    I am still wondering if the landscape we se all around is all handcrafted becaus eI see a lot of extrusions , cliffs and even small ridges , the terrain is extremely detailed and seems that an army of level designers went maniacally on each square of the land to shape it .... so is this a 3d world generated by heightmaps and then refined in may be with some voxels? As cold be in cryengine editor , but this woudln't explain how those extrusion are connected with the rest of the flat terrain , also how many textures are used on terrain on the whole game area ? I can't count them all , I see that in the cryengine I can use max 16 on the terrain then I am bound with it no matter what's the size of the land I make ....
  • Eric Chadwick
    Options
    Offline / Send Message
    It's probably large meshes, divided up along grid lines. Just regular polygons, modeled and textured in Max or Maya or XSI or whatever. Probably two UV sets... one from the top for most of the terrain, and another projected sideways for cliffs (probably a hand-tweaked projection for each ribbon of cliff, spline UVs).

    I bet they only blend four textures at a time on the polygons, to keep the shader instructions low and therefore fast to render. It's pretty simple really... to blend to a different texture set you assign a "transition" set of textures to a strip of terrain, and use a couple textures common to both sides. ABCD in one region, then CDEF in the transition area, then EFGH in the next region.

    Total number of textures depends on video memory, but it looks like they stream them in and out of memory as needed, because you can keep riding a long unbroken distance, no loading zones.

    Anyone see the river to the North of the MacFarlane Ranch? They use a really cool technique for bending the UVs for the water, so it flows into an eddy and swirls around. Probably a normal map bending the UVs. Looks simply awesome.
  • Noors
    Options
    Offline / Send Message
    Noors greentooth
    btw, does the anisotropic filtering require a mipmaped texture or it does the sampling on the fly ?
    Not very clear to me :s
    http://en.wikipedia.org/wiki/Anisotropic_filtering
  • NAIMA
    Options
    Offline / Send Message
    NAIMA polycounter lvl 14
    It's probably large meshes, divided up along grid lines. Just regular polygons, modeled and textured in Max or Maya or XSI or whatever. Probably two UV sets... one from the top for most of the terrain, and another projected sideways for cliffs (probably a hand-tweaked projection for each ribbon of cliff, spline UVs).

    I bet they only blend four textures at a time on the polygons, to keep the shader instructions low and therefore fast to render. It's pretty simple really... to blend to a different texture set you assign a "transition" set of textures to a strip of terrain, and use a couple textures common to both sides. ABCD in one region, then CDEF in the transition area, then EFGH in the next region.

    Total number of textures depends on video memory, but it looks like they stream them in and out of memory as needed, because you can keep riding a long unbroken distance, no loading zones.

    Anyone see the river to the North of the MacFarlane Ranch? They use a really cool technique for bending the UVs for the water, so it flows into an eddy and swirls around. Probably a normal map bending the UVs. Looks simply awesome.
    So you think that they didn't generate the terrain in an editor lik eCryengine , bethesda editor or UDK or other editors , but they actually built them like in 3dsmax then export and side one to the other? like large blocks puzzle? blending 4 textures at times technique can be used with a gain also in crytek editor? can u explain bette rhow it shoudl work this transition texture set I didn't really understood the ABCS samples ...
  • pixeldamage
    Options
    Offline / Send Message
    pixeldamage polycounter lvl 14
    I've seen chuncks of mountainside by one of the environment artists at R*SD in their RAGE editor and inside zbrush. It looks as if they hand modeled chunks in max /zbrush. I'm not sure how it was all put together though, but early shots look like a lot of hands on work to give it such a great organic feel.

    I spent ages and ages hunting down portfolios of these guys. I can't find the one with the individual zbrush sculpts I spoke of but here's another enviro guy who still has his stuff online. Its awesome, enjoy: http://members.cox.net/ahernandez33/?detectflash=false&
  • mortalhuman
    Options
    Offline / Send Message
    If they didn't make them by hand from the start, they definitely worked on a lot of it by hand, splitting up chunks and exporting them, like GTA. It could be a terrain engine, but I highly doubt it, I can't remember any rockstar title which uses terrain.

    You make roads/trails first so they are correct, you then bridge land between the gaps, you export pieces in streamer friendly slices. This bypasses a major headache in production, you will know the one if you ever tried to make land THEN roads, instead of road THEN land, if that makes it clear enough.

    It would be cool if some Rockstar head would elaborate, it's not like it's some trade secret after all, it's just art techniques.

    I hate terrain. With passion. I hate the way it looks. I hate the limitations. I bet it probably smells bad, too. All meshes plz <3

    If Rockstar generated this stuff, it was in an advanced editor which allowed overhang etc. It is more likely that this is all created manually, using tricks to make it quicker.
  • NAIMA
    Options
    Offline / Send Message
    NAIMA polycounter lvl 14
    In cryengine u can make roads after automatically ...
  • Andreas
    Options
    Offline / Send Message
    Andreas polycounter lvl 11
    NAIMA wrote: »
    Hi I am playing on xbox R.D.R. and I am in total awe , this world is so full , large , rich and dense of texture details

    Seriously? Maybe you were playing it on a 360, cause I saw a lot of it being played on a PS3, and there were blurry noise textures EVERYWHERE, particularly when playing cards...
  • Eric Chadwick
    Options
    Offline / Send Message
    Noors wrote: »
    btw, does the anisotropic filtering require a mipmaped texture or it does the sampling on the fly ?
    Not very clear to me :s
    http://en.wikipedia.org/wiki/Anisotropic_filtering

    Both, as I understand it. It uses the mips in the texture, but it samples them differently than the traditional trilinear mip filtering. Instead of sampling each screen pixel with a square shape, and thus retrieving a lower mip... aniso uses a rectangular shape that is closer to the camera perspective distortion (instead of just a square), so each screen pixel can retrieve a more accurate mip level. I'm not a graphics programmer tho. :)
  • Eric Chadwick
    Options
    Offline / Send Message
    If Rockstar generated this stuff, it was in an advanced editor which allowed overhang etc.

    I didn't see any overhang, except where they had vertical cliffs, which look like custom meshes. The vast majority looks like heightmapped terrain. Looks to me like they started with that, then split and edited by hand.

    But yeah, would love to hear a breakdown from the source.
  • pixeldamage
    Options
    Offline / Send Message
    pixeldamage polycounter lvl 14
  • NAIMA
    Options
    Offline / Send Message
    NAIMA polycounter lvl 14
    Awwww U did those???

    One thing I loved of this game are the rocks , are those using tiled texture reused on all or each rock has its own texture?
  • pixeldamage
    Options
    Offline / Send Message
    pixeldamage polycounter lvl 14
    NAIMA: no, unfortunately I cant find the source site anymore so I can't credit the artist. I'd say its tiled stone texture on the small rocks with some kind of vertex painted dirt on individual basis (just a guess though).
1
Sign In or Register to comment.