Game Development Community

Large Complex Interiors

by Scott Doerrfeld · in Torque Game Engine · 04/11/2006 (3:50 pm) · 10 replies

As a programmer, I'm a big fan of Torque for its many integrated features and its powerful scripting capabilities. However, my art team is extremely adament about using 3D Studio Max for ALL of our content creation, and thus we have been struggling with the .dif and .dts file formats. We want to create large, complex, lightmapped interior spaces. Since we use 3D Studio Max, that pretty much rules out the .dif format. With the Max2Dts Exporter, we are having difficulty exporting high-polygon (10k +) models, and the options for multi-texturing are fairly limited (can't do separate uv coordinates for lightmaps).

Does anyone have any advice?
Is it worth it to start looking into creating our own file format for importing models?
Has anyone had success with modifying the Max2Dts Exporter to achieve more versatility with the .dts format?
Will future versions of Torque allow for high-poly, lightmapped .dts models?

Any advice would be greatly appreciated.

Thanks!

#1
04/11/2006 (4:50 pm)
I recall reading that large DTS models are not recommended because the whole model is culled for visibility when its centre is offscreen, or something to that effect..
#2
04/11/2006 (5:18 pm)
You can use the TLK to get light mapped .dts models I believe. And there is a variable you can set to keep objects from culling. But making 10k+ poly MAX environments just isn't how it works. There is no way you can get any proper collision out of that unless you are going to write your own collision method using polysoup. Which has been said is not actually too difficult, but I wouldn't know.

The .dif format exists for a reason, which is to have optomized rendering and collision. You're going to have to do a lot of code rewriting to get that out of 10k MAX meshes. A better idea is to build the simple solid aspects of your environments as .difs, and populate it with static meshes exported from MAX. Or at least in general be splitting your level up into pieces instead of one giant mesh. With the Lighting Kit this can actually look decent now.

So if you are truly insistent on going with your current method, yes youl'd be best off writing your own object type and methods for it to work with the rest of the engine.
#3
04/11/2006 (5:27 pm)
There was also a max to dif exporter at one time if I'm not mistaken.
Best bet though would be to understand you are working with 2 different concepts.
Modelers should be working in max.
World Builders should be using Radiant or something of the sort, you need people who are experienced in making nice tight levels, that are properly portalized and whatnot.
Trying to use .dts for interiors will end up being a HUGE design mistake and cost you alot more than just telling your modelers to get bent and learn Radiant or possibly just bringing someone in who has experience making buildings, like Fruit Bat in Shades or Moria, who both do excellent work.
Also I think Arteria Gaming does custom interior work as well, I can personally vouch for any of these people and their high quality standards.

Regards,
Dreamer
#4
04/11/2006 (5:49 pm)
You can always do the basic interior as a bsp, then do the details with dts.
Easy solution and could work in your favour quite well.
#5
04/11/2006 (6:24 pm)
Collision for DTS interiors isn't as great as DIF either. For example, if your game has vehicles they will actually punch through a DTS collision box at high speeds whereas they won't with DIF's. Also, you can't get the kind of dark shadows with DTS lightmaps that you can with DIF interiors, unless the lighting pack has really cleaned up DTS lighting.

Your best bet is to have your artists bite the bullet and learn DIF building.
#6
04/11/2006 (6:53 pm)
www.maple3d.com/MainFrameGLB3Page.htm
GLB3 is a plugin for max that exports to .map and then you can convert it with map2dif.
Its cost like $40.
I have it but havent used it, but Ive heard a few people say it works.
They are coming out with GLB4 cant remember the new features, but he is going to sell it for $1200(ouch)
Here is the forum for it that I think explains the new features plus other things.
www.maple3d.com/forum/
#7
04/11/2006 (11:00 pm)
I must be going senile, but I thought I answered this exact post several months ago!

Long story short: DIFs (converted from .map files, made by brush based, otherwise known as CSG editors) are highly optimized for 2 very important things: rendering and collision. To achieve these optimizations, a special restriction is made on the models created: they must be convex.

Poly based editors such as Max, Maya and the like do not enforce this restriction, and in fact brush based model creation is fundamentally different in both theory and technique. If your artists are so strongly behind only using poly based editors of whatever brand, then they will almost certainly not be willing to manually enforce the convex only requirement that successful conversion to DIF based models will require, so going down that path can be even more frustrating than learning a new editor.

As a project lead (assuming that you are), it's your job to explain to the entire team the benefits and performance advantages/disadvantages of each model type, and when necessary enforce a paradigm change if your project requires one...for example, if you plan on having a LOT of shapes (and in your first post, you mention three things: large, complex, and lightmapped--all of which are HIGHLY performance sensitive), then you will need to be able to explain to the team the benefits to the project as a whole for using brush based editing.

It's hard sometimes to get the point across, but one analogy you may use is something like "would you use watercolors to do a photorealistic portrait?". For most artists I would assume that the answer would be an unqualified "NO!"...and using poly based editing for large, complex, lightmapped models similarily is a NO! as well.
#8
04/11/2006 (11:12 pm)
As I mentioned some time ago these type of questions and the answers should go into the FAQ, as for other questions, too: 'Do I have to use a script language', 'Can I start a game from scratch' etc. I can easily come up with dozens of these (valid!) question that are not yet aggregated at one specific place AFAIK.
#9
04/12/2006 (5:21 pm)
FAQ: What is the difference between .dif and .dts shapes? - written 4/6/2005

FAQ: Do I have to use script? Can I code completely in C++ in Torque? - written 9/27/2005

Some other FAQ entries I am working on in my free time (hah!):

What is the maximum polycount for Torque?
What is the difference between convex and concave?
What is the difference between TGE and TSE?
What is a datablock?
How many players does TGE support?
What is TNL and do I need it?
Can I use ODE?
What is the difference between .dso and .cs?
How do I start my game from scratch?
How do I ship my game without the editors?

Of course...you just proved that no one is really reading the FAQs...
#10
04/12/2006 (10:57 pm)
While I am guilty of not reading the FAQs anymore, my recommendation to the staff is to answer these questions like you did above - with a reference to the FAQ. This way the searches are channeled into the FAQ, making a lot of these threads obsolete.

[EDIT] removed plug :-)
[EDIT2] these other entries you are working on are exactly the ones that are needed - great!