Torque, Friend or Foe?

Torque is a multi-platform video game engine that won engine of the year last year in 2008. I admit I have seen some pretty nifty things be created in it. The Penny Arcade game can be listed among the most famous. There is plenty enough evidence to support the fact that quality professional games can be produced in the Torque engine, so the question is… why does it suck?

I am currently enrolled in a video game production class that was just put together this semester. The class was divided into two teams and given the task to produce a professional quality game by the end of the semester. I shall begin this rant by sinking my verbal teeth into The Game Programmer’s Guide to Torque.

This guide, which has the gall to call itself “official” Is one of the most poorly written text books I have ever had the misfortune to be forced to read. Upon first beginning, one notices that the author takes a personal kind of feel. This in and of itself isn’t a bad thing. I don’t mind reading a text book and having it sound like someone having a conversation with me, but I do mind when he decides to go off on tangents and begins offering information in a highly informal way. An example of which could be when he mentioned offhandedly that he had been messing around and by accident discovered a great key combination to re-size objects. Anything that has the word “official” on the cover probably shouldn’t talk about how the author found a useful feature by just messing around. This brings me to my first negative point about the engine itself.

There is no REAL official documentation. There is no book where the creators got together with a technical writer and banged out from top to bottom how their engine works. The aforementioned book seems to be the most complete collection of teaching available, which becomes a major issue when it constantly sounds like the author is writing in reverse. Paraphrasing: “Here is concept A… of course you won’t understand a lick of what I just said about concept A till we talk about concept B. Here is concept B… but you won’t really get anything about that either till we talk about concept C. OK so that’s concept C… now your probably completely confused. Now here is the basic concept of D. See it all makes sense now!”

The other resource we were given in this class were the garage game forums. These forums seem to be pleasantly active and have a wealth of information in them, but its not really a learning tool and I have found that it is mostly used as a place for people to advertise what cool thing they did in Torque, without any sort of ‘how I did it’ section.

My next major gripe regards the file section. A good program should have a Main class. That’s all well and good and Torque provides. Actually Torque over provides. There are at least 3-4 Main classes, all held at various points in the file structure. If you are following an example, or a tutorial, they may mention editing something in the Main.cs file, but often they forget to describe WHICH Main.cs file. Do they mean the main Main.cs? Or the client Main.cs, or the server Main.cs or some other Main.cs? In the provided example, the file structure for various in game objects is so convoluted one might get lost and never come back out. One of these days, between the static objects, and the dynamic objects, and the items and their referenced .dts files and their referenced datablocks I expect to find a minotaur with whom I will have to best in epic combat in order to learn the file path of the third person camera initialization.

I should talk about the tutorial/example game that comes with the engine, staring our plucky villain Cork. If the words of the TorqueScript actually governed the game in all the ways it seems to imply that it does, it might be a reasonable example. Again, however, it seems to have been developed by somebody who was only a little more experienced in the engine than we in the class were. The script was filled with comments indicating files that would have to be put in later, lines of code and functionality that were commented it because they didn’t work yet, or the author didn’t know why they didn’t work, and naming conventions that would make Dr. Seuss cry. Furthermore there are variables upon variables that say they govern specific elements in the game, but then fail to do anything at all, especially concerning the water datablock. There are at least 4 variables that can be declared including things like viscosity, water type, buoyancy of objects, and other variables concerning how objects can move through the water. They do nothing. Absolutely nothing. They are recorded and documented in the forums as existing… and recorded and documented in the forums as serving no purpose whatsoever. It seems to me that everyone who knows the engine backwards and forwards enough to use it professionally, is busy doing that instead of writing a useful book and full game example for the rest of us.

With that, I close my rant on Torque. There are other issues that bother me, like the inane process that must be used to create the .dts files that Torque accepts exclusively, and that there is no guide to where simple things can be found in the labyrinth that is the file structure, but I feel you may have gotten the idea. Torque had capacity, and potential, and it has been utilized to create fun and professional games, but for right now, I feel that the engine, and more importantly the community is a kind of Frankenstein monster. Too many professional people going too many directions all sewn together hastily and taught how to walk and occasionally moan by people who don’t know enough about it’s brain to give it justice.

One Response to “Torque, Friend or Foe?”

  1. Shaun Greiner Says:

    tldr; Torque sucks.

Leave a Reply