Game Development Community

3DS .DTS to .DIF (and why? long thread)

by Jamie Gibson · in General Discussion · 06/18/2008 (12:03 pm) · 5 replies

Hello, I have a question about converting a standard 3D model into something usable as an interior.

I am still working with the basic TGEA demo here and have noticed some severe problems with using DTS objects. The main problem is that only one light will ever hit it at the same time. Which ever light is closest in relation to its radius takes over lighting the entire object. Disabling one light, turns others on and vice versa. No matter what datablock I've tried or what settings I alter in the lightblocks. Even one small radius light set in one corner of the room disables all others if it's closer to a surface than the others. It's somewhat infuriating, to be honest.

I'm not converting to an interior for performance reasons. The original is optimized as far as the form will allow. It performs like a champion in the engine already with perfect collision and no lag.

It is a house model that is going to be the whole map, with other objects inside of it. It's scaled up so you're tiny inside of it.

I have the house in 3DStudio at 3k polys. However, this was before I knew about interiors and their limitations, so it's not built properly. The outside is a hollowed out box shape with window and door frames cut-out. All of the walls are one solid piece, hollowed out and given holes to enter in-between them. I built them by extrusion and then shell. It's as anti-interior as it gets.

I'm aware of how .DIF handles convex geometries. I can remodel this using nothing but cubes, but in some places that is impossible, especially at the wall-holes, given that they're round cutouts. I would have to export a series of triangle shapes lined up? Doesn't doing that screw up smoothing groups since things are all detached now?

So instead of rebuilding the entire thing using cubes, I'm going to cut apart what I have and cap them into proper volumes. Does this seem a viable plan to tackle this? Would you do the same or would you bite a bullet and rebuild it from scratch?

How do you do the inside of a sphere with .dif?

Sorry for the long post, I'm a very dedicated individual and this is make-it or break-it for me.

I'm almost convinced I'm stuck with the .DTS format considering how interiors function. I can do the house itself as an interior, I've already determined that. But the props can't be done that way and the lights don't work on the props. End of story?

Am I just a retard and this is all due to me running all these tests on the free TGEA demo? In the end, am I basically looking at the wrong engine?

#1
06/19/2008 (8:11 am)
Hi Jamie,
DIFs do NOT handle curved shapes well. They have to be broken down into convex brushes, and the automated solutions in every tool I've tried will leave you with dropped faces, "light leaks", and so on. I've run into this time and again with arches, domes, flying buttresses, curved walkways... you name it.

For my game, which features a large, domed area, I used a DTS for the dome with DIFs for the architecture within. Due to the size and distance of the dome from the players, neither lighting nor distance were a concern.

Constructor has a great new feature that lets you import a DTS as a static mesh, and it will be incorporated into your DIF with lighting baked onto the mesh. That might be an ideal solution for you. Keep in mind that DIFs do not support transparency out of the box. If you have actual glass windows, that won't cut it.

However, some combination of these two techniques might be the answer. Most folks use a DIF for the basic architecture and DTS for embellishments and doodads. There's no reason why you can't model the angular portions of the house as DIF, and add DTS windows, arches, domes, etc. to that interior.

Good luck! Let us know how it goes. =)
#2
06/20/2008 (11:31 am)
Thank you for the response, I believe it at least gives me hope. I'm pretty sure that I'm actually experiencing a bug, rather than a general limitation of the entire file format. I say this because I get the exact same results (errors; editor hangs) with trying to export just a simple cube with one texture. However, I have cut my model up into convex brushes, but it still finds countless objects that are not convex. I did it by hand and to prove my human error; it went from 1 to 196 separate objects and my error list contains 27 objects with holes in them (where I forgot to close it or weld) and 139 not convex objects, some of which now consist literally of the same elements of a cube, but a corner may be stretched one way or the other. Since I can't arbitrarily shift those vertices to convex without breaking them away from my main model, what can I do?

That's a question to answer for maybe some future newbies to that format that pursue torque as their engine. I, however, have chosen against this avenue and have decided to pursue the LawMaker engine. I ask open and honestly if anybody has a legitimate reason for choosing Torque over LawMaker.
#3
06/20/2008 (11:50 am)
I would also like to point out that I somewhat solved my .DTS objects only getting one light at a time. However, it's more of a hack and and doesn't answer a damn thing. I merely downloaded the Forge demo and played with my objects in there. At first, I was getting the same behaviors out of the lights, but that was me making new ones. When I copied a light from the demo, they worked. I checked the datablock and the 2 used were deepredforge and sggoodatablockforge or something. Both ended in forge. So I went and found out those blocks weren't in the list to edit with the light editor and then I searched the folders for the word forge. Found those two lightblocks in a separate folder. Copied them to my old TGEA demo and used those lights and it worked there too. Oddly enough, some (not all) of the other lights miraculously work aswell, as long as the forge lights are enabled. If I disable a forge light, all the other blocks revert to one light per .DTS again. There are also a few old lightblocks that continue to not work, even alongside the magical forge lights. It's still extremely strange and doesn't help the fact that .DTS lacks ability to shadow.

I'm sorry, but the .DTS format needs to incorporate some kind of shadows. If not dynamic, then baked in.

To be honest, I've seen this in games for what feels like too long for it to be so weird for people to think systems can handle it. I honestly believe that our target audience (PC Gamers) mostly have systems that handle it. Besides, there's always the option of turning it off, right? Isn't it really just that simple? I find the community's stance on system performance and the things that an average computer can handle to be oddly skewed. It's like you all assume everybody's still on the Apple2E. Most eveybody has a 3D card, even the mongrols of the planet that bang the keyboard with femurs and accomplish nothing more than sending and receiving emails have GeForce cards in their systems. Those are the same primates that haven't played a single game once, ever and they're almost up to par. Your audience is more capable than you give credit. Either that, or it's just a really good excuse for why something sucks. NO way do I buy that dynamic shadows are too intense for any reason. As time goes on, my argument will strengthen and strengthen and strengthen.

There really is the phenomenon that people see crappy graphics that they assume something's old and it makes them feel less proud to buy into it. Most people want to experience what's new to the world, much more than they care about what is new to them. They'll automatically discount something that feels dated. To be honest, I don't recognize a single game from the torque lineup and I hate to say this, but all I have to do is check out screenshots of them to see pretty clearly why. While there's literally zero examples of the LawMaker engine, it's new and it's capable...so far in appearance. I'm just trying to be honest. Torque feels like it's going to lead me to zero response to my project idea.

You know there's a new rule to game development and some of you have got it backwards. The notion that good graphics don't make a good game are not what you interpret. It doesn't mean that you can have great gameplay and bad graphics and it will still appeall. It really doesn't mean that because bad graphics do NOT appeall. It means that good graphics are a MUST. It's not the selling point anymore and good graphics are NOT ENOUGH. It doens't mean you don't have to have them. In fact, it means exactly the oppossite of that.

As far as I'm concerned, I haven't seen anything from torque that even remotely competes. It feels like the low-end sector for low-end users with low-end turnouts. I'm sorry, but that's just how I feel. While Torque was looking like my final platform, I nearly moped around every single day. After reading about the LawMaker engine, I haven't been able to sleep with excitement. There's no way that feeling can be ignored.

Good luck Torque devs. I'm still looking for a bad word about LawMaker. So far, the worst part is that I can't get my hands on it because they're not responding and they don't offer a public demo.
#4
06/20/2008 (1:34 pm)
I cannot speak much about LM because most of what I know is bound by the NDA with DRS. I can provide general information, though. The lack of a reliable fixed-function renderer also killed it for the project I was working on.

If you are interested in shadow technology in gaming, I would recommend reading up on the various techniques available, their requirements, and the severity of issues with each. They all have benefits and drawbacks. For me, the main drawback is that I hate staring at advanced math algorithms that seem to multiply willy-nilly in the whitepapers. But that's my "run from math" bias!

Lawmaker was an interesting engine. It is too bad that the developers have completely stopped responding to anyone about the current rev of the engine and are heads-down in development for LM2. I used to recommend DRS based upon their support alone (plus a pretty easy-to-use engine with some major bumps in the road since they didn't expose everything to the LUA interface). But right now I can't recommend them. That'll probably change with the release of LM2, though, as the dev's (especially Evan) were great at supporting their clients back in the day. The community tutorial projects were pretty cool, though. But it's been a ghost town for over six months to a year around there, usually with only a "hello...is this place still active" post here and there every couple of weeks. I definitely would not recommend purchasing a license to the current engine. Perhaps the next one when the dev's are back to actively working with the community (those few who have not moved on to other engines because of a complete lack of response not only from the dev's but from the community).

If you are concerned about graphical quality at the expense of user hardware, then you can look at the Leadwerks engine. You use and ramp up C4 or make use of Ogre's advanced renderer additions for bleeding edge shader tech. If Torque's not right for you, don't use it. If you need Pixel Shader 3.0 tech to push out the next Crysis, then by all means use a different engine. You could reinvent the renderer in TGEA, but if you're going to do that, you might do just as well with advancing the OGRE renderer. If you see the biggest limitation with using Torque with your project being visual issues and another engine does what you need, use it. We know that there are limitations with lighting on DTS's, and we are trying to find a consistently working, scalable solution. But we don't have one yet.

But I cannot recommend Lawmaker in its current iteration. Between the pieces of the engine that are not exposed (and oft documented on their forums, though many may be in the licensee area) and the scarcity of any contact with the dev team in a long time among the forum members, I can't in good faith recommend the current version of the engine.

And if you're looking at LM, you're most likely not going to care about the engine source, so I didn't think it necessary to do more than mention that you do not get the source to LM; you use LUA to access what the dev's expose to you. I have heard rumors that the next iteration will be more open in exposure (hopefully similar to Unity or A7 or GameCore's functionality), learning from the users of the current engine and their requests. Also, the game example leaves a lot to be desired, though the best way to learn the engine is through going through the example scripts. If you're not into reading lots of LUA code to learn how to interface with the engine, it's probably not the engine for you. It's documentation is quite sketchy (though, as I said, the community tutorials are nice).

There are literally a ton of engines out there from Sauerbraten, Nebula, Irrlicht, Quake/2/3, Unity, GameCore, Lawmaker, Leadwerks, Cipher, C4, etc, etc, etc. If Torque is not a match for you and your project, then that's okay. It is a match for a number of projects that are most likely targeting a different gamespace that you are targeting (RealArcade, for example). It makes sense why you don't recognize the games made with Torque if that's the case. I don't expect everyone to get excited about Zorro on the Wii or Penny Arcade Adventures on the PS3 or 360, especially if they are trying to hit a very different target or do not have the money to go through the certification process to get something on a console. But then, I also don't expect other people who do not have a large art budget to get excited about things like Gears of Torque or art demos from other engines (Leadwerks and Unity have some cool stuff that people have been doing with them). I love the engine crippling art projects going on for the Make Something Unreal contest. Beautiful work that will eat the hardiest system alive!

Great feedback on Torque, though. I just thought I'd throw a couple of cents into the discussion.
#5
06/21/2008 (9:49 am)
Thanks for that open and honest response. It's been over a week with no response to my requests for a LM demo to try out. I'm glad I didn't buy the $99 license yet. I'm still interested in it, but as you say there appears to be no activity. However, if they're working hard on a newer version, that gives me good hope because the version I've seen already is good enough for what I'm after. Fortunately, me and the team have been developing independantly of any engine. While it keeps us moving foward with the assets, it's really not doing my stomach any settling while still unsure of our final platform. It keeps me uneasy, so we're purposely halting after UV mapping a single texture layer on the main visible mesh. It wasn't until we came to torque that we realized we got one channel...we came from dealing with 4.

LOD's, COL's and any shader techniques will have to wait until we see where we end up. While I don't like that practice because we're stopping at the 30% mark, I feel it is a lot better than stopping progress altogether to spend large chunks of time tinkering around trying to get the simplest, most basic functions to work. For instance, since we headed towards torque, we haven't built anything new. We've been spending the past 3 weeks trying to see an object from the front while also lighting the other side. Since that's proven to be so ridiculously complicated, we've gone right back to building the next wave of core assets....which will scale for any engine in the end.

I do hope very much right now that we land on a final platform sometime soon and actually get the ball rolling instead of juggling it around so much right now. I really appreciate your response, was honest and truthful. You're dead right about LM not having any action going on. My first red flag was seeing no demo and no samples of games and also seeing forums posts dated 2007 with a total of 92 topics. I emailed them weeks ago and no reply. I don't think we're going to end up on LawMaker, but I'm also pretty certain at this point that we're not going to end up on Torque.

It's a good engine that handles the polygons, it's just there's some kind of mystical leap that I'm missing between what I know it can do and what I'm seeing it do and perhaps it's because I can't see jack squat about anything because every avenue towards anything that seems like it's going to be helpful gets met with my cheap ass being too cheap to shell out for something until I know what I'm dealing with. I am a research freaking HOUND about everything I buy and do. Would anybody argue that our experience with torque will be different should we pay the palsy licensing fees?