Gaming discussions
-
Hi there guys
I am just wondering somthing when i was playing a xbox game and stopped and looked for a second, woow, how is this done.
I am just curious how this is done. The thing i was looking at was just how fantastically quick game can handle a lot of information so easily, work with displacements and bumps, real time reflections ect. And the amount of textures and info it can process, amazing.
Now i know a lot of gaming platforms have say an unreal engine rendering this for them, but how does this work? Why dont normal 3d applications do not use this type of technology even for the simple things? How come something simple in 3d applications, no matter what program are using sometimes struggle when exceeding 1000 000 poly count, surely they have a lot more than that in a scene of a game? I am so facinated about this and still struggle to think how this is possible. If one would say but yea, ok we aure using normal maps a lot to make detail pop, but im still blown away. If someone want to talk about this, id love to read it. I kinda think it has to do with not realy rendering environments in a game, but sort of have it as a raw model that just looks awesome. Kinda seems logical. I was looking at thomb raider underworld. -
i think a lot of it is down to optimisation more than anything. If you look at the models used in games they will always be pared down as much as possible, as will the textures.
Another example of this is foliage. The vast majority of foliage is clipmaps, it is only really large trees that are modelled.
However you look at it, it is still very impressive though. the sheer amount of data that needs to be processed is pretty amazing.
edit: just remembered another oft used trick: limiting the draw distance. Basically this means that stuff a long way of isnt rendered meaning more power is left to be devoted to rendering stuff closer to the gamer.
-
I have looked at a rock and it was just mindblowing. I would understand if a nicely detailed thing is nice and would be used all over the game, but it is unique, every single thing. Ok so if you would say someone would uv map a unique mountain piece where your game happens, with unique textures blending into each other, then it will end up using one huuuuge texture to work on the scene. and not to loose any detail on that specific texture, it need to be even bigger. I play my game and constant moan saying this is soooo unfair, why cant i do this. It seems soooo effortless and easy. Thats why i got so facinated how the mechanics behind this works. i just started wondering..how can it be done. Is there maybe a way to build a model, without the need of rendering it?
-
For large textures like rock faces i imagine they use shaders rather than large image textures. Would help to keep the textures variable over large areas.
Similarly id guess there is a degree of randomness built in to the tools used for sculpting rocky stuff, would certainly help cut down on modelling time.
-
Think that the people on here: http://forum.thegamecreators.com/?m=forum might be useful to chat with.
-
personally, I've been wondering the exact same things.
http://unity3d.com/gallery/live-demos/avert-fate <-Here's a small 3D game (mac and windows), made with a commercial videogame making program (mac only) called Unity 3D. Great graphics for something made with a do-it-youself program.
Imports meshes, animation and bones among other things from many different modeling programs (blender including)I might get the 200$ version, but have to do some research to find out how above-my-head it is to use.
I'd also check out the online examples on the bottom of the linked page, the water and lighting effects are great
-
One of the things that revolutionized the graphics in the gaming industry were the normal maps. With the Normal Maps the game developers were abre to use low poly models that really looked like a super high poly model. One of the best examples is the Halo 2 game fox xbox where the characteres had fewer polygons than in Halo 1 but looked that had much more polygons and much better overall. The bad thing when you model with normal maps in mind you first have to model a very high poly model to make the normal maps and then start lowering to a 1/10 the number of polygons and then aply the normal map of the high poly model into to the low poly, so it's a lot of work.
But the secret i think it's still having a good gaming engine like the cryengine2 or the unreal engine3.5, it's unbelivible how much they cost...
I also really liked the world in GTA 4 in xbox 360 but it's a pity that doesn't run as smoth on PC it's one of my favorites to-stress-out-game.
-
Games take a lot of upfront work to get the final product to work smoothly. I am not entirely sure about some of the new games, as new technology is always coming online.
With some games a few years ago, there were none or very few realtime shadows. You would first make the map, place all the buildings and trees and then when it was made, the map creator would pre-render all building and tree shadows onto the terrain image maps to give the appearance of shadows. This rendereing process for the terrain would take 30minutes to a couple of hours (on my old slow computer).
Each each model (tanks, body, building, tree) has about 4 different meshes (models) associated with it. One model was fairly high poly. This is the one that would be seen. Then another sort of basic model that would work as a damage mesh. So it knows what part of the vehicle/body gets hit. This way you can set it so that a human will take small damage from a bullet taken to the foot as opposed to a bullet to the head. The collision mesh knows how much damage should be assigned to what part of the model. There is also another mesh for real time shadow casting. This is also a simplified mesh because the shadow can be approximate. Then another mesh that acts as the collision detection system. it can also be a simple mesh - just a few boxes.
So from this, you can see that each model gets built a few times. The model with the highest poly count has no game engine interaction. It only gets rendered. The super simplified meshes are what the game engine actually handles. I tihnk there might other standard meshes too, like a simple box that the game manipulates for positioning of the model.
So its not exactly fair to say that an engine handles millions of poly, because most of those polys are not being detected for collision, damage, or shadow casting.
And like Dacad said, normal mapping changed a lot by allowing real detail to be simplified down to an image map that is mapped onto a simplified model and the renderer handles it. Thats why graphics cards are so expensive because they are taking on a lot of responsibility for rendering so many maps, because they are easier to handle than actual geometry.
Also mentioned was that things only get modeled if they are close. That is called the Level of Detail or LoD. A game will have up to 10 different LoD's for a single model. And also the images mapped to the model are mipmaps, meaning that there are levels of detail to them too. So when you look super close at the rock, it shows full detail. If you are 1 meter/yard away, it already dumbs it down to the next lower LoD and mipmap. Stuff way off in the distance is barely modeled at all. just a box with a tiny 16x16 pixel image mapped on to it that can pass as a tank or tree or person at a long distance. And a fog is generally placed at a the distance at which stuff is no longer modeled. So it appears to disappear into the distance. Oh and terrain maps are also made with mipmaps, so even terrain images are simplified over distance.
There is a lot of visual trickery involved with game making and it is incredibly time intensive (though I bet people get fast at it when they do it lots).
Anyhow, that is what I can think of for now. I also found an image of a mipmap and one of LoD for a model.
http://www.tomshardware.com/reviews/ati,819-2.html
Chris
-
Hey, I finally was able to find the tutorial that explains how all these meshes work for the game battlefield 1942, which was most advacned game when it came out in 2003? This shows the standard mesh, collision mesh1, collision mesh 2, shadow mesh, all the LOD's, and talks about how and why they work the way they do. Its very interesting reading if your interested in gaming engines,
Chris
http://mdt.planetbattlefield.gamespy.com/Tutorials/StandardMeshAnatomy/index.shtm
-
I was playing NFSUC. and if you look at those "movies" they accually are real, too good for CGI/CGA.
-
silver_shadow you might want to give a look to this plug in for sketchup:
http://www.sketchucation.com/forums/scf/viewtopic.php?f=57&t=3070
or the youtube video
http://br.youtube.com/watch?v=KANx9iUqiWM
the site
is this what you had in mind?
-
Not entirely relevant, but theres a very good example of lod modelling here: http://blenderartists.org/forum/showthread.php?t=117868
Also shows use of normal maps to get a very high amount of detail in to a low poly model.
Advertisement