Game Development Community

How does Torque work?

by Jim Langston · in General Discussion · 12/25/2005 (10:24 am) · 16 replies

We are working on an RPG game called Abyssal. It is designed to be an RPG with FPS. So far we have gone with 2 engines. Genesis3D which we disgarded after it turned out that maps took forever to compile. Jolt3D we're using now but it has a number of serious bugs that aren't being fixed in a timely manner, so we're looking for a new engine.

We wasted a lot of time with Genesis3D and Jolt3D and don't want to waste time on another engine that isn't going to work for us for one way or another. By a lot of time I mean 7 months. About 3 months with Genesis3D and 4 months with Jolt3D.

So I want to know what the heck Torque can do for me before we go down yet another dead end road.

I'm also concerned about the licensing issues. So my questions become:

1. There will be 3 developers working on Abyssal. Me, the programmer. Another map editor. And a 3d modeler. We are making a free to play game. Do we have to buy 3 seperate licenses? That would be a bit much.
2. Do maps have to be compiled? I don't want to spend days compiling maps just so there is no lag.
3. Are there many bugs? Jolt3D has bugs where it just won't work on various computers. I dont mean because they're not fast enough or have enough memory, even on my 2.3ghz with 128mb video card and 1gb system memory it has graphic problems and network issues.
4. What is this I hear about TGE and TSE? Basically what I really want is a 3d engine so I don't have to code it myself because it takes a lot of time. Anything else it includes is fluff and we may or may not use it (probably will though if it has it). Do I need to get something besides the $100 version? Is that version too slow so you have to pay more for one without lag? What's with the versions? I could only find some info in the forums.
5. How much can I do in native C++ code? I see there is a scripting C style language, but how free am I to write my own code, including GUI?

Regards and Merry Christmas

About the author

Recent Threads


#1
12/25/2005 (10:59 am)
1. You and the map maker will need the license. I am not sure about the artist. Only if he / she uses the game to view models. Maybe they chould just use showtool pro or pray it exported properly. For the price it's very cheap. I don't think I would call it "A bit much". Remember you want to make a game not just a mod.

2. What do you mean by map's? Interior object map halflife files or mission / zone files?
Interior maps' are exported to DIF via various tools. Mission files are what define content via scripting
and they compile once when you make a change it's very quick.

3. Bug are fun? You don't like? ... On a serious note TGE 1.4 is very stable. Forget TSE Early Adopter program if you don't want to play with the buggies.

4. TGE is the base 3d engine. TSE is a product under development that is like TGE but has hardware GPU shader support.

5. You can change the source. Some of us add new things.. compasses maps etc in c++ as an example. There are a lot of code snippets and resources that you get access to as an SDK owner. Including access to the new TDN Wiki system
#2
12/25/2005 (11:19 am)
1. It doesn't seem quite nice to me to have to buy 2 copies just so my map editor can use the map editor which I will never be using. I mean, if I was the map editor I would only need one license, but because I have a seperate map editor (designer) I have to buy 2? That's what I mean by "a bit much".

2. Well, I'm not sure what I mean by maps because I'm not quite sure how Torqe works. If I knew how the maps in Torque worked I could tell you. Whatever the world consists of. In Gensis3D it consisted of Quake maps which took forever to compile. I'm talking about finally giving up on compiling one map after 36 hours and it was only 1/3 done. Jolt3D use .JWRL files which are maps with terrain and models.

3. Bugs I can live with. When the engine doesn't work on various machines and there is no work around and it's not fixed for months, that I can't live with.

4. Hmm.. okay.

5. So I would have to change the engine to add compasses and such? I know that in, for instance, Jolt3D to implement a compass I would only have to build the graphic in my program and have it rendered. Is Torque 3d more than an engine then but a complete program with it's own main?
#3
12/25/2005 (11:43 am)
Anyone who will be looking at or modifying the source code to the engine will need a license. If you are the only coder modifying the engine, you should be safe with just one license.
#4
12/25/2005 (11:43 am)
Nice? Dude you think GG staff want to pay bills and fill there cars up with air?

TGE uses missions and other scripts to define the content. There is no waiting for compilation.

Scripts are compiled only when changed and it's very fast.

As far as the C++ mods we are talking about. They keep TGE lean and mean.. if they put every C++
snippit into the engine not everyone would want it.

This way the community can add resources where are website and TDN wiki that have files and source
examples that you can compile.

Torque has it's own scripting language but the C++ defines what you can and can't do in the scripting. That's why sometimes you have to add code if you want extended features.

Edit: Here is an FAQ on the license issue..
www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=1903
#5
12/25/2005 (11:58 am)
Okay, I'll give it a shot with a combination of your first questions and your secondary ones for clarification. The first thing that you should do is download the demo and play with it. Some of your questions will be answered rather quickly.

Quote:1. There will be 3 developers working on Abyssal. Me, the programmer. Another map editor. And a 3d modeler. We are making a free to play game. Do we have to buy 3 seperate licenses? That would be a bit much. . .It doesn't seem quite nice to me to have to buy 2 copies just so my map editor can use the map editor which I will never be using. I mean, if I was the map editor I would only need one license, but because I have a seperate map editor (designer) I have to buy 2? That's what I mean by "a bit much".

Actually, the only one who has to have an engine license is the one who will be accessing the C++ code. If your programmer is the only one who will be doing anything in C++, then they are the only one who must have an engine license. He will have to compile any changes to the engine and then distribute it to the rest of the team.

Of course, the benefits of having full forum, TDN (Torque Developer Network), and resource access may justify a second license so that you programmer and you can hunt for solutions. Two eyes are better than one.

Quote:2. Do maps have to be compiled? I don't want to spend days compiling maps just so there is no lag. . .Well, I'm not sure what I mean by maps because I'm not quite sure how Torqe works. If I knew how the maps in Torque worked I could tell you. Whatever the world consists of. In Gensis3D it consisted of Quake maps which took forever to compile. I'm talking about finally giving up on compiling one map after 36 hours and it was only 1/3 done. Jolt3D use .JWRL files which are maps with terrain and models.

There are a couple of main objects that worlds consist of in TGE. These are interiors, which are compiled brush maps ala Quake/2/3. These are usually the major structures that are then decorated with detailed DTS meshes created in something like Milkshape, Blender, Lightwave, Maya, or Max. Then there are terrains and particles and atmospheric effects.

The map compile time will depend on the size and complexity of the map, just like any engine. I've found that semi-complex maps (say some Tim Aste's Castle Pack) compile faster than in engines such as 3D game studio or Quake. Of course, I believe that there are a few more steps with lightmapping and vis groups in those engines at compile time which is moved to runtime rendering in TGE. I'm hazy there on the process, though. It has been a while since I've looked at that part of the process more closely than using just using it.

Quote:3. Are there many bugs? Jolt3D has bugs where it just won't work on various computers. I dont mean because they're not fast enough or have enough memory, even on my 2.3ghz with 128mb video card and 1gb system memory it has graphic problems and network issues. . .Bugs I can live with. When the engine doesn't work on various machines and there is no work around and it's not fixed for months, that I can't live with.

TGE has been well-tested with a wide-variety of hardware, and many of the driver issues that I have seen come up have been attributed to the compatability mode drivers downloaded from Windows Updates or else using bleeding alpha or beta drivers. every now and again an issue will pop up with specific hardware, but a driver version is usually the issue. There are some interesting sound issues between platforms as well (TGE 1.4 runs out of the box on Windows and Mac, with Linux currently being at version 1.3 with 1.4 on the way).

Quote:4. What is this I hear about TGE and TSE? Basically what I really want is a 3d engine so I don't have to code it myself because it takes a lot of time. Anything else it includes is fluff and we may or may not use it (probably will though if it has it). Do I need to get something besides the $100 version? Is that version too slow so you have to pay more for one without lag? What's with the versions? I could only find some info in the forums.

Well, TGE is a full game engine framework that also has a 3D visualization engine. TSE is an advanced engine which allows for massive terrain and water rendering as well as the shader bling that so many gamers have come to expect, especially in the FPS market. It is currently in early adopter release and is currently only available for Windows using DirectX 9c).

Quote:5. How much can I do in native C++ code? I see there is a scripting C style language, but how free am I to write my own code, including GUI? . . . So I would have to change the engine to add compasses and such? I know that in, for instance, Jolt3D to implement a compass I would only have to build the graphic in my program and have it rendered. Is Torque 3d more than an engine then but a complete program with it's own main?

Anyone who needs to have access to the C++ source must have a license. You get access to the full engine source code so that if you do not want to deal with TorqueScript, you can use the C++ source to make any necessary changes. Most often, you will make C++ changes to the engine, add in hooks for the scripting engine, and then utilize scripting to automate your tasks without recompiling the full engine. It also enhances the mod-ability of your title. There is a compass and mini-map resource. There are a number of resources (though some of them not updated as the engine has evolved) that are extremely helpful. The Advanced Camera resource and Melv's RenderObject resource are two my the most useful ones.

But download the demo and play with it. What you have right there is what you have in your example direcory once you compile it for your platform. That way you can see the out-the-box feature set, play with it, create interiors, DTS models, terrains, particle emitters, weather effects, etc.
#6
12/25/2005 (12:12 pm)
The other person is going to be making zones... Level builder sounds like.

I said that person "should" have a license. I didn't say must...

Should why?
1. Support GG and the product. 100 bucks is cheap.
2. Access to resources, private forums and identification as a SDK owner in profile.
3. It's the right thing to do. It's like kissing the ring of the mafia boss ya know... if not they are not going to
waste any time trying to help you etc. If they say "good luck on your game" that's like the final kiss of death.
lol. It's code for .. screw you tightwad you won't even spend 100 bucks I got better things to do.

This post is my opinion only and I am being Really silly cause it's christmas and I watched willy wonka last night. I do think I was wrong about maybe the 2nd guy needing it and provided that link above to the official FAQ about said subject. So apologies in advance. Jim I do hope you guys use torque I think it's a great product myself.

Have a nice day.
#7
12/25/2005 (12:35 pm)
Quote:
Quote:

--------------------------------------------------------------------------------
2. Do maps have to be compiled? I don't want to spend days compiling maps just so there is no lag. . .Well, I'm not sure what I mean by maps because I'm not quite sure how Torqe works. If I knew how the maps in Torque worked I could tell you. Whatever the world consists of. In Gensis3D it consisted of Quake maps which took forever to compile. I'm talking about finally giving up on compiling one map after 36 hours and it was only 1/3 done. Jolt3D use .JWRL files which are maps with terrain and models.
--------------------------------------------------------------------------------



There are a couple of main objects that worlds consist of in TGE. These are interiors, which are compiled brush maps ala Quake/2/3. These are usually the major structures that are then decorated with detailed DTS meshes created in something like Milkshape, Blender, Lightwave, Maya, or Max. Then there are terrains and particles and atmospheric effects.

The map compile time will depend on the size and complexity of the map, just like any engine. I've found that semi-complex maps (say some Tim Aste's Castle Pack) compile faster than in engines such as 3D game studio or Quake. Of course, I believe that there are a few more steps with lightmapping and vis groups in those engines at compile time which is moved to runtime rendering in TGE. I'm hazy there on the process, though. It has been a while since I've looked at that part of the process more closely than using just using it.

This concerns me. We had bad experiences in Gensis3D in compile quake maps, and you seem to be stating that Torque used Quake maps for interiors.

Jolt3D did not use any precompiled maps, but then again it tended to be slow.

What, in your experience, is the time involved to compile the maps, and does Torque itself compile them?

"compile faster..." in what time frame? Half an hour? I can deal with that. 2 hours? I can even deal with that. 2 days? That I can't deal with.
#8
12/25/2005 (12:58 pm)
TGE take the .map file and compiles it out to a .DIF file. The DIF compilation is quite fast. You will need to make sure to zone out your maps for quick in-engine response for large maps. I haven't had anything compile for over a half an hour, but then I haven't created huge interiors, either. TGE is definiitely quicker than the Quake and Half-Life compilers, though. There were more than a couple of maps included with Q2/3 that took days to compile. They were rather huge, though.

But the general way that I create levels is to create the base geometry in Quark or 3D World Studio (lately). I then decorate it with DTS objects. For example, I have a level that I've been working on for a little while now. It is a large cathedral with a huge demonic face on the wall. The face is a large DTS. The eyes are also DTS objects. I have added in scripts to make them follow the player around the room. I haven't worked on any detail, but the large DIF takes seconds to compile. It took me longer to make the face in Modo, transfer it into Lightwave and export it to DTS than to make and compile the DIF. It took me even longer to get the constraints on the eyes correct so that it didn't look unnaturally to the right, left, up or down depending on your character's location.

Now, if you have a huge interior, it is going to take longer to compile. I'm not sure how long because that it dependent on the map. The best thing to do would be to download the map2dif alpha from the Artists page and run one of your huge maps through it and time it. Then if it errors out, do a search for the error and see if there are any solutions or if it has something such as bezier patches.
#9
12/26/2005 (1:19 pm)
Okay, what about networking? Is that built into the engine, or is that seperate? I saw something in the war demo saying networking was $395? I can't find that in the developer store though. Although if it is $395 I'll just do my own network code.

Also, is there a size limit on maps? Since we're doing an RPG outdoor maps should be as large as we can make them. What is the practical limit?
#10
12/26/2005 (1:38 pm)
Torque does come with Networking. The Torque Network Lib (a standalone lib for those not using Torque, but want to use its award winning network code.

To quote Torque Game Engine (Indie Game License) Features section

Quote:
NETWORKING

* Award-winning client/server architecture
* Uses UDP and TCP
* Packet stream manager
* Object ghost manager with partial object updates
* Uses optimal Notified Delivery Protocol

Might I suggest downloading the engine demo and you can step through the features, hit F11 and see the editor, etc. That will give you a better idea of how the engine works.
#11
12/26/2005 (3:34 pm)
For large map sizes, TGE does not include terrain paging. You would either have to program it yourself (if seemless worlds are required) or pick up TSE, which has huge paged terrains--though the paging is a bit different than chunking map zones.
#12
12/26/2005 (4:20 pm)
Well, we wouldn't have huge maps ala Everquest or Wow, but more l like zones I think. So I don't think we need to deal with paging although I could probably do that if needed. I was just wondering the size limitations.

Well, I'll have my other 2 developers take a look at torque, run the demos and make sure they work on their computers and see if we want to go with it.

I've looked at a lot of engines the last couple days and Torque seems the best.

The best thing is that we have the source code. So if something doesn't work I can get it to work.

One of my concerns, however, has to do with versions. What happens if I make a lot of changes to the engine to do things the way we want to do them in Abyssal, then a new version comes out. I would have to re-implement all my changes in the new engine again. This is always a pain to do.
#13
12/26/2005 (4:57 pm)
A new Version of Torque qont be out for a while, it JUST got to 1.4
As for zones, when the player reaches the end of the mission area, you just load a new map, but that could get annoying.
#14
12/27/2005 (7:24 am)
It would only be annoying if you didn't design your maps correctly. In fact, it would be like 99% of all console games with large worlds, whether platformer or RPG. Creating a path between hills or some visible shift between missions would alleviate annoyance. Of course, if you have a big, wide-open area and can move between arbitrary mission areas on accident (joggling back and forth along some invisible line which makes the missions load and reload), it would get annoying. But I would consider that bad mission design first, and an engine limitation second.
#15
01/12/2006 (12:52 am)
I would like to talk with you about your RPG Jim.
Please contact me via email at Ingot@kc.rr.com.
#16
01/14/2006 (12:08 pm)
E-Mail sent Richard.