Large worlds?
by Jon C · in Torque Game Engine · 09/05/2005 (9:41 pm) · 87 replies
I'm considering Torque for a project, but wanted to know something first:
Does Torque allow for large worlds? In any way, whether it be linked 'missions' (Or whatever Torque calls it maps), or an entire object.
If not, does Torque's framework allow for such an edit, to the terrain engine? Its not that hard to change in general, but I'm mostly concerned about the mission editor.
Does Torque allow for large worlds? In any way, whether it be linked 'missions' (Or whatever Torque calls it maps), or an entire object.
If not, does Torque's framework allow for such an edit, to the terrain engine? Its not that hard to change in general, but I'm mostly concerned about the mission editor.
#2
Anyone mind commenting on changing Torque's engine itself, to support larger worlds using Octrees or something similar? Should I even bother?
Is there any foreseeable problem with adding support to the base engine for 100*100km worlds? Or does the mission editor / network engine only support 1km?
09/05/2005 (10:52 pm)
Well drats, I guess thats not much problem - as its not all that hard to add larger functionality.Anyone mind commenting on changing Torque's engine itself, to support larger worlds using Octrees or something similar? Should I even bother?
Is there any foreseeable problem with adding support to the base engine for 100*100km worlds? Or does the mission editor / network engine only support 1km?
#3
09/06/2005 (1:25 am)
I believe you can use portals for sending players to other game servers which could act as eq style 'zones'. Atlas within TSE also supports very very very very large terrains.
#4
09/06/2005 (2:46 am)
Quote:Torque Game engine allow 2048x2048 meter maps. You can link maps with a load screen and scripts. In Torque Shader Engine You can have Huge Terrains (I'm working on a project with a map of 524x524 Km).
Does Torque allow for large worlds?
#5
How do you link the maps with a load screen and scripts. Do you mean when they reach a point in the map you create a load screen and load a new map into the current game?
Cheers
Mal
09/06/2005 (6:31 am)
Heh Vincent,How do you link the maps with a load screen and scripts. Do you mean when they reach a point in the map you create a load screen and load a new map into the current game?
Cheers
Mal
#6
Mind explaining TSE, and how it can allow for larger terrains?
Can it be used on linux/mac, or is it DirectX systems only (Windows)
Can the extra features be turned off, but large terrains still remain - so it can run on geforce2+? (Cards without shaders)
09/06/2005 (7:18 am)
Loading multiple maps as sort of 'zones' just wouldn't work for my needs :(Mind explaining TSE, and how it can allow for larger terrains?
Can it be used on linux/mac, or is it DirectX systems only (Windows)
Can the extra features be turned off, but large terrains still remain - so it can run on geforce2+? (Cards without shaders)
#7
You'll have to place a trigger, and write a function
@Sykoii :
Large terrain is just an object you place in your mission file. (Terrain itself is contained in 2 files : 1 for heightmap, 1 for texture). Heightmap files are limited to disk space. It's Windows and directX Only, but some peoples pretends that Atlas terrain don't need DirectX... So you may implement Huge Terrains in Torque Game engine (after buying both of course), so it will be Linux and Mac compliant. (But at my knowledge, nobody has done that).
09/06/2005 (8:10 am)
@Malcolm :You'll have to place a trigger, and write a function
function DefaultTrigger::onEnterTrigger(%this,%trigger,%obj)In this function you'll need to put a code similar to function SM_SartMission() (in Client/scripts/ui/startMissionGui.gui)
@Sykoii :
Large terrain is just an object you place in your mission file. (Terrain itself is contained in 2 files : 1 for heightmap, 1 for texture). Heightmap files are limited to disk space. It's Windows and directX Only, but some peoples pretends that Atlas terrain don't need DirectX... So you may implement Huge Terrains in Torque Game engine (after buying both of course), so it will be Linux and Mac compliant. (But at my knowledge, nobody has done that).
#8
09/06/2005 (8:13 am)
Then what makes TSE able to handle larger worlds? Whats changed in it?
#9
09/06/2005 (8:16 am)
It's a totally new terrain engine.
#10
Does this new terrain engine implement any shader engine? If so, can you turn it off so it can run on systems that don't have shader support?
09/06/2005 (8:19 am)
Okay, sorry for posting so much, so quickly but I'm really concerned about system requirements.Does this new terrain engine implement any shader engine? If so, can you turn it off so it can run on systems that don't have shader support?
#11
09/06/2005 (8:23 am)
This terrain engine (Atlas) is included in Torque Shader Engine, So you'll need shaders. BUT some people said that you can port the code of Atlas into TGE (Without Shaders)... personnally, I think it's possible, but difficult (need important engine modifications)...
#12
09/06/2005 (9:08 am)
Actually, although you need shaders, you can use the older 1.1 shaders, which most graphics cards support. The TSE has a method for automatic fallback for older graphics cards. The terrain and the water have already been done this way, and you can do it for the rest of your shaders. I would suggest doing this instead of trying to back-port Atlas to TGE. There's really no need.
#13
09/06/2005 (9:10 am)
Geforce2+ supports 1.1 shaders? I didn't know it.
#14
So my question is, is there a fallback to no shaders at all?
Is TSE designed in such a way, that it would be easy to do this? I have a group of programmers working on a few other games that could easily do this, assuming its even possible; so its not a matter of experience, its just a matter of time and how the code is laid out.
09/06/2005 (9:11 am)
Well I'm moreso concerned for very low-end cards, such as GeForce2; I have a rule to make sure everything I'm responsible for making, runs on that card at the very least.So my question is, is there a fallback to no shaders at all?
Is TSE designed in such a way, that it would be easy to do this? I have a group of programmers working on a few other games that could easily do this, assuming its even possible; so its not a matter of experience, its just a matter of time and how the code is laid out.
#15
09/06/2005 (9:29 am)
Oops, I missed that part of the post about Geforce2+ cards... apologies.
#16
09/06/2005 (9:30 am)
So the solution is trying to back-port Atlas to TGE... ;)
#17
TGE:

-Josh Ritter
Prairie Games
09/06/2005 (9:53 am)
We have quite a huge world. This was accomplished by scaling the player down and increasing the square size to 16 (for some zones).TGE:

-Josh Ritter
Prairie Games
#18
In TSE I have a terrain of 65536x65536 with a scale factor of 8. That's all the difference between two terrain renderer.
09/06/2005 (10:10 am)
Remember that TGE can handle 256x256 Heightmap. This heightmap is scaled (in general by 8) this give you an aera of 2048x2048 m. you can increase this scale factor, but in first person mode, you should notice vertices. Scale factor = 16, so your terrain is 4096x4096. you can increase more the scale factor.In TSE I have a terrain of 65536x65536 with a scale factor of 8. That's all the difference between two terrain renderer.
#19
Flexibility - Data specified in Materials is used to procedurally create the shaders necessary to render the different materials. This is a very powerful system because it does not rely on programmers to create the shaders. It is an art/designer driven process. Because there are many different Material parameters, there are thousands of possible shader creation combinations. In addition, the shaders are generated specifically for the hardware that the engine is running on. Shaders automatically scale in power and render quality based on the platform. It will even multipass render a Material automatically if necessary. This adds up to massive time savings for developers; artists can get results without directly involving a programmer, and programmers dont need to write dozens of mundane shaders.
Shader Fallbacks - The materials system automatically adjusts shader output for the target hardware, so it will work on 1.1, 2.0, and soon 3.0 level shader support. It will even multipass materials on lower end hardware if necessary.
But yet when testing a demo on a GeForce2 system of mine, it doesn't seem to work (Requires Shader 1.0 support)
Am I understanding this wrong?
09/06/2005 (10:22 am)
I saw this on the feature list for TSE:Flexibility - Data specified in Materials is used to procedurally create the shaders necessary to render the different materials. This is a very powerful system because it does not rely on programmers to create the shaders. It is an art/designer driven process. Because there are many different Material parameters, there are thousands of possible shader creation combinations. In addition, the shaders are generated specifically for the hardware that the engine is running on. Shaders automatically scale in power and render quality based on the platform. It will even multipass render a Material automatically if necessary. This adds up to massive time savings for developers; artists can get results without directly involving a programmer, and programmers dont need to write dozens of mundane shaders.
Shader Fallbacks - The materials system automatically adjusts shader output for the target hardware, so it will work on 1.1, 2.0, and soon 3.0 level shader support. It will even multipass materials on lower end hardware if necessary.
But yet when testing a demo on a GeForce2 system of mine, it doesn't seem to work (Requires Shader 1.0 support)
Am I understanding this wrong?
#20
Several solutions exist, though... scale the TGE terrains, but you're stuck with a 256 x 256 height map (meaning lower detailed maps), use portals and triggers to spawn a different mission or hand-off to a different server and make your world larger that way, modify the existing terrain engine to support a larger heightmap, port Atlas to TGE, or make your own terrain engine. Each of these solutions become increasingly harder to implement.
I bought TGE a long time ago and wanted to create a game with huge terrains... I basically held off creating my game up until a month or so ago when Atlas was released. But, alas, you cannot use Atlas off-the-shelf unless you have a newer video card.
09/06/2005 (10:34 am)
No, my mistake... TSE requires at least 1.0 (1.1?) shaders, which the GeForce2 system does not have. Like I said before, I missed where you'd stated you wanted to support GeForce2 cards.Several solutions exist, though... scale the TGE terrains, but you're stuck with a 256 x 256 height map (meaning lower detailed maps), use portals and triggers to spawn a different mission or hand-off to a different server and make your world larger that way, modify the existing terrain engine to support a larger heightmap, port Atlas to TGE, or make your own terrain engine. Each of these solutions become increasingly harder to implement.
I bought TGE a long time ago and wanted to create a game with huge terrains... I basically held off creating my game up until a month or so ago when Atlas was released. But, alas, you cannot use Atlas off-the-shelf unless you have a newer video card.
Torque Owner Malcolm
Project Alpha
I'm interested in exactly the same thing as you. I want to be able to map a world.
The Terrain editor specs are the following;
The Default size for a terrain in Torque (when the squareSize property in a MIS mission file is set to 8) is 65,536 world units (WU), each
representing an inch.
With this in mind you can get about 1,609 meters out of the map, I haven't been able to increase this without lowering the resolution
(square size increase) which you really don't want to do.
I'm also considering allowing multiple links to other mis files however don't really know whether it can be done in Torque without changing
the C++ code.
The above figures are referenced fromt he 3D Game Programming All In One book which is a fantastic read.
Also the world editor in Torque allows you to repeat the same terrain over and over which doesn't really support what your after. Unless someone else has any ideas out there I think we will have to put the functionality into the engine.
I'm hoping someone has the answer, sorry if I'm no help to you.
Cheers
Mal