TSE Scene/Terrain Questions
by Patrick Bohnet · in Torque Game Engine Advanced · 11/11/2004 (3:08 pm) · 34 replies
I have some questions about the TSE. I have read though the forums and what information I can, so hopefully these won't be to many duplications.
The terrain engine in TSE is supossed to be huge when compared to TGE. How flexible is it. I know, with some major tinkering with code, you can make the TGE scene manager seamless, what about TSE... does it come out of the box as seamless, or would that also require tinkering? OR is it so huge that making it seamless would not matter?
Can maps be generated on the fly? I would assume no, unless the "seamless" feature worked, and you could then generate a map on the fly by simply picking the different parts and stichign them togethor. (think of a deungon crawl... where each room is pre built... but how they connect togethor is randomized)
Can the map be deformed during play? lets say a holy hand grenade goes off, and I want to symulate a huge crator? I could think that this might be done... if the map was actually flat and what the users saw as the map was actually all entities...
And this is totally for me... how well would the new TSE "landscape" engine handle a dense cityscape? think venice dense, but with skyscrapers? I know that TGE was originaly designed for outdoors... but would this still count as outdoors?
The terrain engine in TSE is supossed to be huge when compared to TGE. How flexible is it. I know, with some major tinkering with code, you can make the TGE scene manager seamless, what about TSE... does it come out of the box as seamless, or would that also require tinkering? OR is it so huge that making it seamless would not matter?
Can maps be generated on the fly? I would assume no, unless the "seamless" feature worked, and you could then generate a map on the fly by simply picking the different parts and stichign them togethor. (think of a deungon crawl... where each room is pre built... but how they connect togethor is randomized)
Can the map be deformed during play? lets say a holy hand grenade goes off, and I want to symulate a huge crator? I could think that this might be done... if the map was actually flat and what the users saw as the map was actually all entities...
And this is totally for me... how well would the new TSE "landscape" engine handle a dense cityscape? think venice dense, but with skyscrapers? I know that TGE was originaly designed for outdoors... but would this still count as outdoors?
About the author
#2
this way as long as the grid is stored on disc... it could be theorietcally infinate in size
11/12/2004 (11:18 am)
What I mean by seamless I guess would be the streaming of information off disk. For instance you devide the world into a huge grid... then load into memory... the "square" that the user is in... plus the nine squares around him... as he travels and moves into another square, you load the scene data for the three new squares (letting the old three that are now out of range be marked for removal...)this way as long as the grid is stored on disc... it could be theorietcally infinate in size
#3
11/12/2004 (11:24 am)
One of the key problems with seamless terrains is simple load-balancing. While a desert may have only a couple of models on it at given oasis or camp points, a city with people, paths, vehicles, etc will have a lot more information to stream, which means that you'll have to sacrifice something along the way or come up with an implementation specific way of handling it (most likely both). Balancing is strongly dependent on the specific implementation for a chosen game.
#4
David also points out another problem.
There are definitely ways to solve this problem, but none of them I'm comfortable having as part of core Torque. :-/
11/13/2004 (3:23 am)
That's one way of doing a seamless world. The problem then is that since Torque purports to support multiplayer out of the box, you have to deal with the case where you have sixty people running around in a big world, all in different parts... suddenly the server has to have the whole world in memory just to deal with collision queries and the like! And that makes the artists have to know about that, and all the subtleties therein or else they'll easily overload the server with hundreds of thousands of complex objects...David also points out another problem.
There are definitely ways to solve this problem, but none of them I'm comfortable having as part of core Torque. :-/
#5
i am wondering [hoping / praying] that the new engine will make it possible to paint different detail textures within a given Mission area, rather than only having just one. [if i am using incorrect terminology i apologize; i refer here to the fine-grain alpha-masked gravel and grit over a roughly colored terrain, and not the roughly colored terrain itself.]
to see the best implementation i know of, of this fine-tuned ability to mix detail textures, i'll point to a few screenshots i have of some Myth III maps i have converted / created / detailed. for whatever reason, that game seemed to get an amazing treatment when it came to the ability to finely detail.
http://www.dreaming-seed.com/m3detail/m3-detailtextures01.png
in this first sample, there are 3 main detail textures active [there is a 4th embedded int he darker rocks, but it is harder to point out]. gravel at the transition between the rock and the sand can be seen in the south-central where the explosion is; to the left edge, where the 3 units are running about, a 'traces and tracks' texture can be seen. in the north-top, where the dwarf and the green units are standing, one can see a dunes texture. all of these are alpha-masked detail textures over coarse color terrain, much as in Torque. all of these were painted in using alpha channels to mask the detail texture, but they are obviously mixed in one map. my gutt says that, if this is already possible in Torque with the coarser color terrain, it should in theory be possible with detail textures.
http://www.dreaming-seed.com/m3detail/m3-detailtextures02.png
in sample 2, there are again 3 main ones used, though the bulk of the snow uses a 4th more subtle one. in the north-central slope under the pikes, one can see the familiar gravel seen in the desert map. in the southeast corner by the water one can see snowy ice breaking away. between this pool and the pool off of the left edge of the screen one can see a veined cracked ice. again, all of these are detail textures over a coarse colormap.
sorry for belaboring with the illustrations, but i wanted to make sure my question was clear. is this something that the new Terrain Engine is indeed implementing? if not, is it too late for it to become so? :)
thanks for humoring a new Torque-enthusiast [though i've lurked on GarageGames for some time],
- aqaraza
11/27/2004 (8:40 pm)
Hello. i too have a question about the new Terrain Engine, having to do with the Detail Texture implementation. bear with me because i am new to Torque.i am wondering [hoping / praying] that the new engine will make it possible to paint different detail textures within a given Mission area, rather than only having just one. [if i am using incorrect terminology i apologize; i refer here to the fine-grain alpha-masked gravel and grit over a roughly colored terrain, and not the roughly colored terrain itself.]
to see the best implementation i know of, of this fine-tuned ability to mix detail textures, i'll point to a few screenshots i have of some Myth III maps i have converted / created / detailed. for whatever reason, that game seemed to get an amazing treatment when it came to the ability to finely detail.
http://www.dreaming-seed.com/m3detail/m3-detailtextures01.png
in this first sample, there are 3 main detail textures active [there is a 4th embedded int he darker rocks, but it is harder to point out]. gravel at the transition between the rock and the sand can be seen in the south-central where the explosion is; to the left edge, where the 3 units are running about, a 'traces and tracks' texture can be seen. in the north-top, where the dwarf and the green units are standing, one can see a dunes texture. all of these are alpha-masked detail textures over coarse color terrain, much as in Torque. all of these were painted in using alpha channels to mask the detail texture, but they are obviously mixed in one map. my gutt says that, if this is already possible in Torque with the coarser color terrain, it should in theory be possible with detail textures.
http://www.dreaming-seed.com/m3detail/m3-detailtextures02.png
in sample 2, there are again 3 main ones used, though the bulk of the snow uses a 4th more subtle one. in the north-central slope under the pikes, one can see the familiar gravel seen in the desert map. in the southeast corner by the water one can see snowy ice breaking away. between this pool and the pool off of the left edge of the screen one can see a veined cracked ice. again, all of these are detail textures over a coarse colormap.
sorry for belaboring with the illustrations, but i wanted to make sure my question was clear. is this something that the new Terrain Engine is indeed implementing? if not, is it too late for it to become so? :)
thanks for humoring a new Torque-enthusiast [though i've lurked on GarageGames for some time],
- aqaraza
#6
Detail textures was a "cheap" method to make a surface look like it had more detail than it really had. Like a fake-bumpmap.
TSE natively supports normalmapping and shaders which can be applied to any texture you like, so you could have the same "detail" texture troughout the area if you like, or one unique "detail" texture on each of the textures that exist.
Normalmaps are higher quality than detailmaps too, since they are affected by light in a different way..
There's really much more flexibility in TSE.
Edit: Rephrased.
11/28/2004 (3:18 am)
TSE won't have any detail texture capabilities, Heath.Detail textures was a "cheap" method to make a surface look like it had more detail than it really had. Like a fake-bumpmap.
TSE natively supports normalmapping and shaders which can be applied to any texture you like, so you could have the same "detail" texture troughout the area if you like, or one unique "detail" texture on each of the textures that exist.
Normalmaps are higher quality than detailmaps too, since they are affected by light in a different way..
There's really much more flexibility in TSE.
Edit: Rephrased.
#7
if so, this sounds like a perfect solution. i don't suppose there's any way to see a close-up screenshot of this in action? :)
either way, thanks for the clarification.
- aqaraza
11/28/2004 (6:52 am)
Stefan; thanks for the reply. so, if i read this right, the kind of effect i am hoping for should be achievable [and better] using normalmapping. each given terrain color texture would have its own devoted normalmap, and the normalmap itself could simulate a gravelly texture or a strandy, grassy texture. correct?if so, this sounds like a perfect solution. i don't suppose there's any way to see a close-up screenshot of this in action? :)
either way, thanks for the clarification.
- aqaraza
#8
this may not be the place for it, but this subject brings up for me a larger question. perhaps there's enough interest in the issue here, and perhaps it's early enough in the new engine development for this pondering to be taken into consideration.
i think perhaps that the ways normalmapping is being used so far are sometimes steps backwards when it comes to actual perception of texture. you point out that detail textures present detail that is not really there; well, *none* of it is really there... and all of these are tricks to cause the eye to sense a 3d space from a 2d representation. the question then becomes not [imho] 'how can we most closely simulate reality', but 'how can we most closely cause the perception of reality'. the two are not the same.
when i played Halo 2, i was stunned to find that everything seemed as though it was carved out of shiny multicolored chunks of silly putty. i understood what normalmapping was meant to accomplish with, say, a criss-cross divot metal floor, but to my eye, i saw much less texture in the normalmapped textures than if a highly detailed overlay had been transposed. to this day i prefer Halo 1, to the point that i think relying so heavily on normalmaps for Halo 2 made it a significant step backwards, *perceptually*.
this stands to reason: in reality, the size of a bump on a floor may be a few 8ths of an inch; i imagine that, to cause the eye to notice a detail on the screen with a normalmap one may have to represent an exaggerated amount of details or 'puffiness'. how, then, is that less deceptive or even more realistic than an alpha channel simulating grit? the 2d detail texture is much closer in *size* [1/8th of an inch thick] to the reality of grit on the floor than the normalmapped bumps.
my hunch, especially after looking at the screenshots for UnrealEngine3, is that one will simply need to mix techniques. extremely detailed color textures were, for whatever reason, *not* used in Halo 2, and instead normalmapped texture was substituted for them. perhaps the cpu load of the two combined was too much and they chose to go with the newer technology. if so, it was at the expense of actual percieved realism, imho.
what i would / will probably choose to do is to use normalmapping for a rough texture and bumpiness *not* necessarily matched one-for-one to the actual color texture, [much like the classic faux 'bumpy orange' in bryce] over the top of a *very* detailed color texture. the normalmap will then serve to add texture by breaking up regularities in the underlying color texture, but will not need to be relied upon to cause the eye to perceive grit. i very much doubt that the level of perceived grit seen in the above screenshots could have been caused in a player's perception through the use of normalmapping alone.
ideally, then, future engines [Torque included] will allow for technical experiments mixing and blending techniques until innovative solutions are found. perhams normalmaps can contain an additional [and even independent] alphachannel of good old fashioned texturemap. alphachannel texturemaps seem to me like one of the great little 'chewing gum and elbow grease' improvisations of the last few years, and imho we've discarded them prematurely in the race for normalmapping... i think they both shld perhaps be used. or else color textures will need to get a *whole* lot more detailed.
i need to go re-read Demers' 'Digital Texturing & Painting ' again and ponder textures all over again starting from scratch, in light of new technologies...
thanks for humoring a talkative newbie,
- aqaraza
11/28/2004 (12:27 pm)
Pondering further; perhaps to spark some healthy debate...this may not be the place for it, but this subject brings up for me a larger question. perhaps there's enough interest in the issue here, and perhaps it's early enough in the new engine development for this pondering to be taken into consideration.
i think perhaps that the ways normalmapping is being used so far are sometimes steps backwards when it comes to actual perception of texture. you point out that detail textures present detail that is not really there; well, *none* of it is really there... and all of these are tricks to cause the eye to sense a 3d space from a 2d representation. the question then becomes not [imho] 'how can we most closely simulate reality', but 'how can we most closely cause the perception of reality'. the two are not the same.
when i played Halo 2, i was stunned to find that everything seemed as though it was carved out of shiny multicolored chunks of silly putty. i understood what normalmapping was meant to accomplish with, say, a criss-cross divot metal floor, but to my eye, i saw much less texture in the normalmapped textures than if a highly detailed overlay had been transposed. to this day i prefer Halo 1, to the point that i think relying so heavily on normalmaps for Halo 2 made it a significant step backwards, *perceptually*.
this stands to reason: in reality, the size of a bump on a floor may be a few 8ths of an inch; i imagine that, to cause the eye to notice a detail on the screen with a normalmap one may have to represent an exaggerated amount of details or 'puffiness'. how, then, is that less deceptive or even more realistic than an alpha channel simulating grit? the 2d detail texture is much closer in *size* [1/8th of an inch thick] to the reality of grit on the floor than the normalmapped bumps.
my hunch, especially after looking at the screenshots for UnrealEngine3, is that one will simply need to mix techniques. extremely detailed color textures were, for whatever reason, *not* used in Halo 2, and instead normalmapped texture was substituted for them. perhaps the cpu load of the two combined was too much and they chose to go with the newer technology. if so, it was at the expense of actual percieved realism, imho.
what i would / will probably choose to do is to use normalmapping for a rough texture and bumpiness *not* necessarily matched one-for-one to the actual color texture, [much like the classic faux 'bumpy orange' in bryce] over the top of a *very* detailed color texture. the normalmap will then serve to add texture by breaking up regularities in the underlying color texture, but will not need to be relied upon to cause the eye to perceive grit. i very much doubt that the level of perceived grit seen in the above screenshots could have been caused in a player's perception through the use of normalmapping alone.
ideally, then, future engines [Torque included] will allow for technical experiments mixing and blending techniques until innovative solutions are found. perhams normalmaps can contain an additional [and even independent] alphachannel of good old fashioned texturemap. alphachannel texturemaps seem to me like one of the great little 'chewing gum and elbow grease' improvisations of the last few years, and imho we've discarded them prematurely in the race for normalmapping... i think they both shld perhaps be used. or else color textures will need to get a *whole* lot more detailed.
i need to go re-read Demers' 'Digital Texturing & Painting ' again and ponder textures all over again starting from scratch, in light of new technologies...
thanks for humoring a talkative newbie,
- aqaraza
#9
that said, i still think hand-assembled grunge or detail textures are important, and that they shld be supported. it'd be as easy as allowing the inclusion of a tileable, photographic grunge texture with any given detail map, before it was handed to the shader. in some cases, one wld want the hand-drawn grunge texture to supercede and replace procedural shader work for that element.
i come at this from the perspective of an artist rather than that of a programmer; yet i'd like to think that GarageGames, being a bastion of independence , would be able to buck the trend enough to allow for techniques that are falling out of favor, yet that can result in more organically realistic detail.
- aqaraza
11/28/2004 (6:20 pm)
After some more research, it seems plain to me that what i will need to be prepared to do is put as much effort and fine detail as possible into the art behind texture maps, so that shaders and normalmaps applied to them can augment them, rather than trying to get shaders and normalmaps to do the work of the color / texture map for it.that said, i still think hand-assembled grunge or detail textures are important, and that they shld be supported. it'd be as easy as allowing the inclusion of a tileable, photographic grunge texture with any given detail map, before it was handed to the shader. in some cases, one wld want the hand-drawn grunge texture to supercede and replace procedural shader work for that element.
i come at this from the perspective of an artist rather than that of a programmer; yet i'd like to think that GarageGames, being a bastion of independence , would be able to buck the trend enough to allow for techniques that are falling out of favor, yet that can result in more organically realistic detail.
- aqaraza
#10
11/28/2004 (6:55 pm)
Just to clear up normal mapping as it relates to terrain textures, it is actually not possible to assign a normal map (or any other shader, for that matter) to a terrain texture in the standard material mapping TSE way. To do this it is required that you modify the special custom shaders written to handle the terrain to include your normal mapping code and modify the terrain-related engine code to properly pass your normal map textures to the terrain shaders. It is definitely not as straight-forward as other material mapping shader assignments under TSE, but it can be done with a bit of work. That said I would like to see TSE changed to support normal mapping of terrain textures out of the box and integrate the selection of normal map texture in the terrain texture painter just like the selection of diffuse terrain textures. I can't really see anyone wanting to use flat textured terrain with no detail or bump maps in a game of visual quality equal to that provided by TSE in other areas. Perhaps this is already coming, if so then feel free to disregard, but if not I'd say it's definitely worth looking in to. I've started working on this for my own game, but if GG is interested I could probably work it up as a general solution suitable for inclusion in TSE.
#11
11/28/2004 (7:13 pm)
This is already done/on its way Kyle :p
#12
with this in mind, i wld *strongly* recommend, at the very least, a return to the use of [multiple] grunge/detail textures in the TSE for Terrain. especially of normalmapping & shading is for some reason too prohibitive / costly to implement. there is absolutely no reason why multiple grunge/detail textures should not be implemented for terrain, always seen from a ways overhead anyway, as low-impact as this technique seems to be.
i am also very much willing to describe to anyone interested the way in which the Myth III engine implements grunge/detail textures, since it seems like a generic but flexible approach that might be very implementable. i don't want to geek out on this too much w/o a request, though. but if such texturing is not yet feature-frozen, then consider me someone with strong opinions ready & willing to give 'em. ;) [i am also a Mac developer, so i can't check out the TSE firsthand; which is why i starve for screenshots.] even though there are fine-grain details int he 2 screenshots i provided above, the masks for these detail layers were created by essentially *keying a given grunge/detail texture to a given color-range*. i had to do very little decision-making to end up with consistent results, and this seems very similar to some of the rules-based texturing that the current engine does.
- aqaraza
11/28/2004 (7:18 pm)
Well heck, then. thanks for the update form the front lines of TSE testing. i've put a pointer to this thread over on the Torque member Terrain forum, since we're all terrain geeks.with this in mind, i wld *strongly* recommend, at the very least, a return to the use of [multiple] grunge/detail textures in the TSE for Terrain. especially of normalmapping & shading is for some reason too prohibitive / costly to implement. there is absolutely no reason why multiple grunge/detail textures should not be implemented for terrain, always seen from a ways overhead anyway, as low-impact as this technique seems to be.
i am also very much willing to describe to anyone interested the way in which the Myth III engine implements grunge/detail textures, since it seems like a generic but flexible approach that might be very implementable. i don't want to geek out on this too much w/o a request, though. but if such texturing is not yet feature-frozen, then consider me someone with strong opinions ready & willing to give 'em. ;) [i am also a Mac developer, so i can't check out the TSE firsthand; which is why i starve for screenshots.] even though there are fine-grain details int he 2 screenshots i provided above, the masks for these detail layers were created by essentially *keying a given grunge/detail texture to a given color-range*. i had to do very little decision-making to end up with consistent results, and this seems very similar to some of the rules-based texturing that the current engine does.
- aqaraza
#13
11/28/2004 (7:23 pm)
Only GG employees have access to the new terrain atm.
#14
12/03/2004 (9:50 am)
Great, good to hear the folks working on TSE are thinking along the same lines I am, I eagerly anticipate being able to play with the new terrain code and will stop devoting my own efforts to doing that stuff. Thanks for the info, now you wouldn't happen to know how far off this is from inclusion in CVS would you? ;)
#15
12/05/2004 (5:23 pm)
Hmm.. Honestly myself i think adding detail textures would be rather pointless.. In my opinion those things were pretty lame, at times it almost made things worse IMHO. Normal mapping is by far better, it all just depends on how you use it though. Some people have a way for making their normal maps way too high-scaled. This gives the exagerated size and depth as well as a harsh ugly blackness that looks awful. If you do it right though you can achienve a very realistic and smooth look that detail textures could never offer. Its all a matter of practice but normal maps are defiantly superior to detail textures in every aspect pretty much.
#16
anyway, do post links to some screenshots! it's a great place to discuss this subject, i think.
12/05/2004 (6:52 pm)
Since this is definitely of interest to me, i'd love to see screenshots [from anywhere! not just TSE] of examples you've seen that show this proper use of normalmaps. i have to admit that to me the jury's definitely still out... though i am also used to having more than 1 testure/grunge map allowed; that, certainly, isn't bound to result in a realistic look.anyway, do post links to some screenshots! it's a great place to discuss this subject, i think.
#17
i realize the trend towards leaning on shaders and normalmapping is inevitable... i'm just trying to play devil's advocate here, and make sure we don't stop seeing the artistic application of texture for the genuine beauty that it can be.. and that a combination of techniques is still possible in future engines. all techniques are best when used in combination. blah blah blah etc.
12/05/2004 (10:08 pm)
[a notable reference point at the moment is to read some of the reviews of HalfLife2 right now, especially when comparisons of it to Doom3 come up. it's being hailed for its texture and realism, but draws much of that from lighting and actual real-world sampled textures. to quote one review which puts its finger on the worrisome trend i see HalfLife2 bucking: "To me the graphics in HL2 are more realistic than those of Doom3, which I feel look fake and plasticy. Don't get me wrong the graphics of Doom3 are phenomenal, but HL2 has more realistic looking visuals and it runs so much better on mid- to low-end computers." - from the GamersHell review.]i realize the trend towards leaning on shaders and normalmapping is inevitable... i'm just trying to play devil's advocate here, and make sure we don't stop seeing the artistic application of texture for the genuine beauty that it can be.. and that a combination of techniques is still possible in future engines. all techniques are best when used in combination. blah blah blah etc.
#18
12/06/2004 (1:26 am)
For good normal maps i'd pretty much say doom 3 and half-life 2, more of half-life 2. While i don't have HL2, I can tell the texture work is very well done indeed. And with doom 3 i felt the normal maps were very well done too, nothing too heavy but enough to add detail.
#19
12/06/2004 (3:20 am)
Ya, Half-Life 2 is really beautiful. Google for some screenshots if you don't have the PS 1.3 hardware. Doom3 looks cool too, but seems more focused on the shaders rather than the textures.
#20
I guess this thread is officially hijacked.
12/06/2004 (12:49 pm)
It's interesting that HL2 and Doom3 both have great lighting, but took different paths to it. Doom3 is all about real-time lighting and shadow volumes and HL2 is radiosity with shadow volumes for some limited dynamic objects. IMO HL2 is visually more impressive even though they took what some consider a low-tech approach to lighting.I guess this thread is officially hijacked.
Associate Kyle Carter
On the fly generation and deformation are things you could do but that I'm probably not going to fully implement. They're finicky things and they can take a LOT of work to get right. If you're willing to sacrifice things like accurate lighting they're a lot simpler.
TSE would handle that sort of scene about as well as TGE right now.