More dynamic quark maps
by Paul Fassett · in Artist Corner · 05/25/2005 (10:13 am) · 15 replies
Now as I understand it, dif doesn't support bezzier patches or curved surfaces (same thing?) so the problem I am running into is that all my levels are very square and flat looking. I have been working on one particular map for a while now and there seems to be nothing I can do to get rid of the quake 2 square look.
So question is, what methods are you guys currently using to get around the square issue, and what tools availiable in quark, that dts support, could I possibly use to create more or fake curved surfaces?
Also any links to tutorials which you found helpful would be great as well. I've read through most of the quark docs and a lot of it's features aren't supported in DIF
I have also used the 3ds2map and max2map exporters and have run into problems that arent worth fighting using quark over.
So question is, what methods are you guys currently using to get around the square issue, and what tools availiable in quark, that dts support, could I possibly use to create more or fake curved surfaces?
Also any links to tutorials which you found helpful would be great as well. I've read through most of the quark docs and a lot of it's features aren't supported in DIF
I have also used the 3ds2map and max2map exporters and have run into problems that arent worth fighting using quark over.
#2
Really depends on the kind of game your making, but the way I'm used to working and many commercial devs do things is to create detailed scenery that's doesn't interact with gameplay and use invisible proxy collision geometry for the collisions. Typically I've found that you only need 1/30th the collision polys for a visually rich environment perhaps less depending on the kind of game.
I'm currently working with someone on an art path that aims to make this way of working more streamlined, particularly for 3dsmax users.
But right now, using currently available tools you could do it the following way. (THIS SEEMS A LOT MORE COMPLICATED THAN IT ACTUALLY IS)
Create a scale reference object in .map format using your favorite CSG editor, quark, hammer etc. I find a human scaled box you can texture with a human on and a simple unit reference box and perhaps a regular size car or something pretty useful.
Use map23ds to export to max, and use the scale object to build your level to a good scale. Model your level any way you want and then build your collisions. Collision can usually be made of primitive shapes like boxes and convex cylinder/gengon shapes. Anything more complicated is still pretty easy though. complex collision shapes that are somewhat organic can be split into shapes manually or using the planar and explode tools in the edit mesh modifier.
Use the new shell modifier to add thickness to your shapes, and export with the free max2map script that comes with the game level builder 2.2 (can get them at scriptspot.com).
if your uncertain about a particular shape you can use the STL check to make sure the object is closed and doesn't have any silly errors.
since your making invisible collisions make sure you apply a null material in max
(I'd recommend having your collisions in a seperate layer to your visuals, and using a flat colour thats very easy to see against your visual geometry.
then export with the max2map script, it will list any faulty collisions shapes in the maxscript listener.
load into quark and reexport in vavle220 format which map2dif can read the null texture from correctly, and you have collision for your complex scenery mesh.
(this is all a lot less complicated than it sounds, and if your an experienced max environment/level builder, will be a lot quicker than using a CSG editor and allow you to make complex scenery).
at the moment your stuck with DTS objects for your scenery, which have a few big disadvantages visually. In a couple of months or so, I'm hoping to have something available that allows for a lot more flexibility where materials are concerned, and a few other surprises specifically for max users but adaptable to other tools.
I spent all weekend working this stuff out for my art pipeline project, so if it helps anyone thats cool. I can list all the links to all the various tools I found that aren't easy to find on the GG site is anyone is interested?.
05/25/2005 (11:50 am)
Depending on the game, If you don't need perfect poly collision for every poly of your scene and can generalize with a reasonable amount of accuracy I'd recommend trying another way of building levels. Really depends on the kind of game your making, but the way I'm used to working and many commercial devs do things is to create detailed scenery that's doesn't interact with gameplay and use invisible proxy collision geometry for the collisions. Typically I've found that you only need 1/30th the collision polys for a visually rich environment perhaps less depending on the kind of game.
I'm currently working with someone on an art path that aims to make this way of working more streamlined, particularly for 3dsmax users.
But right now, using currently available tools you could do it the following way. (THIS SEEMS A LOT MORE COMPLICATED THAN IT ACTUALLY IS)
Create a scale reference object in .map format using your favorite CSG editor, quark, hammer etc. I find a human scaled box you can texture with a human on and a simple unit reference box and perhaps a regular size car or something pretty useful.
Use map23ds to export to max, and use the scale object to build your level to a good scale. Model your level any way you want and then build your collisions. Collision can usually be made of primitive shapes like boxes and convex cylinder/gengon shapes. Anything more complicated is still pretty easy though. complex collision shapes that are somewhat organic can be split into shapes manually or using the planar and explode tools in the edit mesh modifier.
Use the new shell modifier to add thickness to your shapes, and export with the free max2map script that comes with the game level builder 2.2 (can get them at scriptspot.com).
if your uncertain about a particular shape you can use the STL check to make sure the object is closed and doesn't have any silly errors.
since your making invisible collisions make sure you apply a null material in max
(I'd recommend having your collisions in a seperate layer to your visuals, and using a flat colour thats very easy to see against your visual geometry.
then export with the max2map script, it will list any faulty collisions shapes in the maxscript listener.
load into quark and reexport in vavle220 format which map2dif can read the null texture from correctly, and you have collision for your complex scenery mesh.
(this is all a lot less complicated than it sounds, and if your an experienced max environment/level builder, will be a lot quicker than using a CSG editor and allow you to make complex scenery).
at the moment your stuck with DTS objects for your scenery, which have a few big disadvantages visually. In a couple of months or so, I'm hoping to have something available that allows for a lot more flexibility where materials are concerned, and a few other surprises specifically for max users but adaptable to other tools.
I spent all weekend working this stuff out for my art pipeline project, so if it helps anyone thats cool. I can list all the links to all the various tools I found that aren't easy to find on the GG site is anyone is interested?.
#3
If you want to light your scenery, yor probably going to want to purchase the lighting pack, so you can light your DTS meshes nicely.
05/25/2005 (11:55 am)
Oh a quick way to make an organic shape into BSP friendly gometry is to use the explode tool with the lowest threshold number and expolde it into seperate faces which you can apply the sell modifier to. This way is a bit quick and dirty and I'd advise optimixing som eof the results manualy. You shouldn't need to do this too much though, unles you want to create terrains and things with good collisions. If you want to light your scenery, yor probably going to want to purchase the lighting pack, so you can light your DTS meshes nicely.
#4
WTF??
Since I'm using snap to grid at 8 in quark, I have no idea how that happened because it looks like the arch was built using no snap. Not to mention all the lightmap leaks...
Eh oh well, a whole week wasted. Back to Max. So that this thread was not a complete waste of time, what is the max collision poly that I should have for a scene weighing in at about 50k poly?
Also as I was saying before, max2map and 3ds2map has not been worth my hassle. I'm just going to fight torque untill my levels work when done in DTS, since I won't be doing any seriously crazy lighting or anything, plain old fxlight will do fine.
Thanks for the suggestions though. I would like to hear from some people who have successfully done a level in max for torque. I know it has to have been done before.
05/25/2005 (6:15 pm)
Man, this crap just isn't going to work. Now I remember why I always used max for levels before. When I export my geometry for lets say an archway, for some reason when I get it in game it looks like this.
WTF??Since I'm using snap to grid at 8 in quark, I have no idea how that happened because it looks like the arch was built using no snap. Not to mention all the lightmap leaks...
Eh oh well, a whole week wasted. Back to Max. So that this thread was not a complete waste of time, what is the max collision poly that I should have for a scene weighing in at about 50k poly?
Also as I was saying before, max2map and 3ds2map has not been worth my hassle. I'm just going to fight torque untill my levels work when done in DTS, since I won't be doing any seriously crazy lighting or anything, plain old fxlight will do fine.
Thanks for the suggestions though. I would like to hear from some people who have successfully done a level in max for torque. I know it has to have been done before.
#5
8 Max collision meshes * 30 polys max = 240 collision polys max
05/25/2005 (6:21 pm)
You are not exporting to floating point cords (buried deep in the Quark options).Quote:
what is the max collision poly that I should have for a scene weighing in at about 50k poly?
8 Max collision meshes * 30 polys max = 240 collision polys max
#6
05/25/2005 (6:24 pm)
So is 30 polys per collision all the exporter can handle, or all that is recommended?
#7
05/25/2005 (6:25 pm)
That is all the engine will realistically handle....more than that and the collision code will bring your game to a stop.
#8
05/25/2005 (6:27 pm)
Well then. Guess I'll have to find this floating point option. Thanks again.
#10
05/26/2005 (7:58 am)
I might write up a tutorial about how to easily make BSP friendly geometry in max using a variety of polygon and spline techniques (different to GLB's which I don't find that intuitive) and export it. My pet project I'm working on at the moment involves a lot of this stuff. It really is a lot easier to model this kind of geometry in Max 7 than it ever was before. You still need quark etc to export to a DIF friendly .MAP file and for texturing and lighting.
#11
05/26/2005 (1:28 pm)
Heres another crazy error someone might be able to answer. Whenever I completely enclose a level inside a hollow box, for some reason the interior will no longer render, just the exterior will render, but if I delete the roof or something exposing it to the outside, it will reder when I put it in game. Anyone know why that is?
#12
05/26/2005 (1:32 pm)
@Matt: Actually I know how to use quark quite well been using it for 6 years for mods, but all those buildings you linked me to however were done in the torque constructor which isn't availiable yet (which I am awaiting very patiently to be released.), but I am not at the level of design which Tim has Achieved, I am still working at it. But if these were in MAX then yes this would be a different world :P. It's really all in the tool not the format. Though I love quark, it does do some crazy off the wall crap sometimes. And yes those buildings are amazing.
#13
05/26/2005 (2:16 pm)
@Paul: put a portal in your hollow box, then your level will render. The portal basically tells Torque to render the inside of the interior. No portal ... Torque will only render the outside.
#14
05/26/2005 (4:38 pm)
Or use map2dif plus which allows fully enclosed interiors.
#15


05/30/2005 (9:27 am)
Thank you guys for all your help. Here are some screenshots from our game that I was working on. Everything is running like a well oiled machine. Thanks for all the help.

Torque Owner Alex Swanson