Torque Engine

Discussion in 'Game Development (Technical)' started by unreason, Jan 25, 2005.

  1. unreason

    Original Member

    Joined:
    Jul 31, 2004
    Messages:
    30
    Likes Received:
    0
    I saw on a previous thread that a lot of people have had bad experiences with Torque. Has anyone here used it to make one of their games? Is anyone here in the process of using it? I'm trying to decide whether it's worth paying for. At the moment I've been fiddling around with Irrlicht (which is free) but I'm wondering whether it would be worthwhile to pay for Torque.

    Failing that, has anyone had any good experiences with any other cheap/free engines?
     
  2. Teeth

    Original Member

    Joined:
    Dec 6, 2004
    Messages:
    165
    Likes Received:
    0
    Depends what you want to do.

    Torque isn't the sort of thing you buy and then start with a blank window and start rendering primitives. Most of your game will be done with scripts rather than engine or game alterations. Things like the landscape engine are quite tough to decouple, so even if you don't want a landscape in there you'll still be running the code.

    Many many people on the site feel it's the best thing since sliced bread. Personally I think it's not properly advertised as what it is, as lots and lots of people have bought it and never used it. I bought it, thinking I could use the code to make all sorts of stuff, and discovered that it was nearly impossible to make any headway without doing it via their scripting language, which immediately limits you to an FPS or third-person action or vehicle game.

    Then again, I've got enough game development knowledge to make stuff work in C++ and openGL or DirectX so for me maybe it was a bad choice to start out with. For someone with little knowledge of these things, it's like gold dust, I suppose.

    other engines that I know about are OGRE which is graphics only, I think; LWJGL which is Java and has math libraries, input, sound (OpenAL) and OpenGL (I'm using this ATM and it's fab); and Cipher, which is a nice-looking engine with all sorts of goodies and reportedly excellent support and developer forums.

    I can't think of any others off the top of my head. My personal opinion is that Torque is a waste of time unless you've been messing around with the demo for ages and have decided it's the best thing ever. Do try the demo for at least a while before forking out $100 on something you might never use.
     
  3. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    Wouldn't call LWJGL an engine btw; it's just a convenient API like SDL. Xith3D or jME are more "enginelike".

    Cas :)
     
  4. Teeth

    Original Member

    Joined:
    Dec 6, 2004
    Messages:
    165
    Likes Received:
    0
    True. As I say, it all depends on what you want to do.
     
  5. Coyote

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    697
    Likes Received:
    0
    I'm using it right now for a couple of projects (one under development, one "waiting in the wings"). I am NOT a Torque fanboy, but I am a member of the GarageGames community.

    I will disagree with Teeth on a few points, except his advice to "Do try the demo for at least a while before forking out $100 on something you might never use." I couldn't agree with that comment more.

    Whereas many libraries (Ogre3D, SDL, etc.) are pretty much raw tools to build a game with, Torque is a complete, functional, commercial-grade 3D multiplayer game engine (they are working on a 2D version / extension right now, which is close to completion but still not out yet). This has its good points and bad points.

    If you've ever heard people complain about using the Unreal engine in creating a game, you know what kind of problems using a complete game engine entails. It's been customized to work a particular way that may not meet your needs; the code is not structured the way YOU would do it; some of it is kludgey; the documentation is inadequate; the engine DOESN'T do certain things you need to do, and it's a pain in the butt to learn the engine well enough to make it do what you want it to do. It's many, many times larger than a focused API like Ogre3D, so the learning curve is much steeper.

    An additional problem experienced by a lot of newcomers to Torque is that TorqueScript makes it REALLY easy to get a basic proof-of-concept up on the screen, but then you have a really huge hurdle to get from that proof-of-concept to a functional game.

    Since it's a full engine with source code, you are free to modify the heck out of it for your own purposes. There are lots of resources available at GarageGames site that provide tutorials and sample code and 'snippets' to help you on your way. However, it requires some serious getting-to-know-you time with the structure of the engine. The client / server model critical for multiplayer is integral to the engine - even in a single-player game. This means that your own simple movement system is going to have to deal with things like passing messages between the client and server, and keeping track of deltas for interpolation. Unless you really change the underlying system in a substantial way.

    So there's the bad news. Torque gives you a LOT of stuff for "free" if you use the engine, but besides the $100 indie license fee there's a price to be paid in time spent spooling up on the engine.

    However, what you get is pretty extreme, and I can't even enumerate it all because I'm still discovering stuff. But you have a full 3D engine with very good-looking terrain; seamless transitions between terrain and Quake-style interiors using a portalling system; built-in terrain editing tools; built-in cross-platform support that makes it fairly trivial to go between Mac, Linux, and PC (unless you deliberately break things), a fully integrated GUI system and built-in UI editing tools; a built-in "mission builder" (joined at the hip with the terrain editor); tools paths for several third-party editors (particularly 3D modeling packages); character animation; built-in skyboxes (yeah, that's easy, but still); a well-tested networking library that is built to minimize lag and bandwidth and support up to (I think) 128 players at a time and is fully integrated into the game engine (meaning you have to deliberately prevent your game from being multiplayer); sound & music; particle systems; collision detection and a basic physics system; support for a "3D mouse" and UI system; a fairly complete built-in scripting system for easy extension of your game (that's really where you want most of the 'game' code as opposed to core underlying systems); and built-in classes for an FPS-style player, car, hovercraft, and aircraft objects.

    Another thing which shouldn't be discounted is the maturity of the system. It's got a lot of polish and bug-fixing built-in, so IDEALLY that last 20% of the game that takes 80% of the effort will go pretty quickly. I can't vouch for that yet, as I've not yet completed a game with Torque.

    Right now I've been 'amused' by creating a completely custom object class for a playable character that's probably closer to Diablo players than an FPS player. So I've come to grips with the headaches of creating a "from scratch" playable character class under Torque. I am still periodically dealing with weird cases of "the shudders" because the 'server' and 'client' object aren't staying in synch for some reason (it's a single-player game, but I still have to deal with that headache).

    However, I'm slowly learning the system, and each problem I'm running into is being easier to deal with than the last as I gain familiarity with the source code. Throwing in something like a custom UI widget was an ugly day or so of research to figure it out the first time, but now I can whip one out and toss it on the screen to test it's look and functionality in minutes.

    In spite of the ease-of-use of TorqueScript, I wouldn't recommend Torque to a total newbie to programming. The ability to create a custom "mod" for Torque using TorqueScript alone is VERY VERY powerful - but there are some fundamental limitations to it that would be too restrictive to the average indie game developer, and you'll need a pretty solid understanding of C++ and game development in general to be able to dive into the source code and not despair. We'll see what happens when "Torque 2D" is released, and as documentation continues to improve.

    But I've been chewing on the elephant for a few weeks now, and I'm seeing it slowly get devoured. So I know it's possible. I'm fairly excited about seeing my current project take form. I'm on my third iteration on the control system - and the beauty of Torque is that it's been fairly simple to do such a drastic overhaul of such a fundamental element. My intention is to have the prototype fully playable by the end of this month (I have only a week left, so I'm not positive I'm going to make my self-imposed deadline), and my HOPE is that I'll be able to move it from that stage to a full-fledged game pretty quickly. Be sure and ping me about how things progress and I'll fill you in. Considering how much effort I spent in Void War dealing with issues that are already taken care in Torque during the latter half of development, I think that confidence isn't entirely misplaced.
     
  6. Carrot

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    31
    Likes Received:
    0
    After our last project, I spent a lot of time looking for an all-purpose game engine but eventually gave up.

    I think the only solution is to pick and mix various specific engines like Tokamak/ODE for physics, OGRE for graphics, etc.
    It means that you can pick the best tool for each specific component in your game, rather than a generic engine that probably doesn't fit your needs exactly in every department.
    Of course, it's a bit more work, but if you design in such a way, each module should be quite easy to replace.
     
  7. Coyote

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    697
    Likes Received:
    0
    And to add to the BOOK I just wrote above:

    I am really impressed with Irrlicht. It looks very cool, and I did consider it very seriously at one point. I still wouldn't rule out using it for another project once it gains a bit more maturity. It looks pretty simple and straightforward, and fun to use.

    Issues I might have with Irrlicht:

    * You are gonna have to do your own networking for multiplayer (not a big deal)

    * The attempts at doing terrain in Irrlicht have been extremely limited and not very pretty. Having tried to do terrain systems that didn't look like crap myself, this was a pretty big deal.

    * I'm not certain how scaleable the system is for larger levels / worlds. (One of the problem with many Torque developers is that they overuse the vast scale Torque is capable of handling, resulting in 'games' that are so spread out that they are boring)

    * The immaturity of the system: The tools support isn't there yet, and the system hasn't been put through the wringer on a large-scale release so that the bugs have had a chance to surface and get dealt with. Since you are going to be the one left holding the bag if your game breaks on someone's machine, you'll want to make sure things are as compatible as possible across multiple systems

    * Lack of OS-X support, last time I checked. Mac support is a big issue with me, now. I have heard rumblings that people have been working on getting Irrlicht working on OS-X, so I expect this will be coming "soon."

    * Irrlicht seems a bit more "FPS-oriented" - though the same argument has been made about Torque, but Torque has proven itself a bit more mutable across such games as a fishing game, Marble Blast, Orbz, Tennis Critters, and Zap!

    * And of course, Torque has a buttload of additional features that you may or may not want to take advantage of.

    It really depends on what you want to do. I'd REALLY like to see some commercial releases using Irrlicht - I'm just not the guy to do it right now.
     
  8. kevryan

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    100
    Likes Received:
    0
    I used Torque for Marble Blast and I'm currently using it for my minigolf game. No major problems and it gets the job done.
     
  9. Teeth

    Original Member

    Joined:
    Dec 6, 2004
    Messages:
    165
    Likes Received:
    0
    Is Zap! really done in Torque? It's really good.
     
  10. Bluecat

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    330
    Likes Received:
    0
    Another plus for Torque (I apologise if this has already been mentioned elsewhere) is that it has an active and thriving community. Ask any question on the forums, and you'll get a reasonable number of polite answers (some rude ones too, depending on the question.) People often add resources for code and articles to the resource database too, though personally I'm not to fond of the resource system, the resources themselves are generally helpful.

    The community has developed a whole bunch of different tools, content, and expansions for the engine. As mentioned above there is a 2D pack in progress, and a RTS starter pack has been developed as well as a MMOG pack. I've read about a RPG pack being mooted. Bravetree have released a whole bunch of inexpensive model packs, from castles to trees, and a couple of other folks have released free models too. There are also people working on tools to help manage the asset pipeline. There is a showtool for looking at models, someone is working on a script editor, and there are several exporters for 3D modelers out there too.
     
  11. Evak

    Original Member

    Joined:
    Aug 3, 2004
    Messages:
    100
    Likes Received:
    0
    I think my biggest problem with torque is that the art path is really limiting if you don't want to use the provided tools. And modifying it to accept a generic 3D graphics format and custom collisions is too much of a hurdle. That combined with ageing plugins that don't make the best use of 3D applications amongst other thing means that I stay away from it.

    However From a scripting point of view I know people that can throw together pretty good prototypes of certain types of games fast. Hopefully some of my issues as an artist will be addressed eventually, been waiting 3.5 years now and have since co deveoped our own game engine that suits us a lot better and allows us to buld levels, set up AI etc directly from within 3dsmax.

    If torque had a more flexible artpath I think it would be an excellent solution for many types of games, and I'm hoping the exporters will improve as the shader version of TGE gets closer to completion. Being stuck with 1 UV channel, and no way to create custom lightmaps outside of the engine etc is very frustrating, as the bult in tools limit you a lot in the kinds of lok you can produce.
     
  12. kevryan

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    100
    Likes Received:
    0
    I pretty sure that Zap started as just a test program for the
    Torque Network Library. It was pretty fun so they turned it into a full game. I know that Mark likes making games so I expect to see more games from him in the future.

    Back to Torque - the only real problem that I've had with Torque is in the whole Quark->map2dif->DIF pipeline for creating interiors. At times with particular interior shapes it can have exporting problems that can only be solved by tweaking the interior.
     
  13. MrPhil

    Original Member

    Joined:
    Aug 4, 2004
    Messages:
    671
    Likes Received:
    0
    Don't forget the fun.

    On Zap: uses only the Network Library see: http://www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=6948 last paragraph.

    On Torque:
    It is a smart strategy to use torque; the "standing on the shoulders of giants" kind of thing. If you dedicate yourself you can learn how to use it and make games.

    But…

    Something to consider is your innate skills and motivation. I got frustrated with Torque because it did not fit with my programmer skills or mentality. My motivation to work quickly diminished because instead of whipping out code to make something happen I was fighting to make Torque do what I wanted. So my advice is do not forget to evaluate the fun factor. Torque was not fun for me (at least not yet) and so I went back to C#. Even C# is a crazy choice, but it is the one that keeps me motivated and I don’t have to fight with myself to put the hours in.

    Here's a long thread on garagegames.com you might want to read. It is a debate about the virtues and vices of Torque that'll give you some more perspective. There's a post by me in there towards the end that is pro-Torque posted before I figured out the fun factor thing.

    http://www.garagegames.com/mg/forums/result.thread.php?qt=16420
     
  14. gmcbay

    Indie Author

    Joined:
    Jul 28, 2004
    Messages:
    280
    Likes Received:
    0
    Add me to the list of people that say "it really depends".

    I have a Torque license, and I've messed around with it, though I've not used it for a completed game, and it is really good at the core stuff it does. However, like any tightly coupled engine, it is really difficult to get it to do anything outside the bounds of what it already does, and you have to be intimately familiar with its internals to change anything.

    MrPhil's link is a good one to read and you really should ask yourself if you want an API or an engine.

    The Torque2D stuff looks like it could be pretty nice for 2D games. It is kind of a shame they are still working on getting it out now though, as I could have used it over a year ago when I started on my own 2D hardware accelerated engine... ah well..
     
  15. Evak

    Original Member

    Joined:
    Aug 3, 2004
    Messages:
    100
    Likes Received:
    0
    shame you have to be a Torque owner to view the thread, Looks like it must be in the SDK owners forums as a regular GG member can't access it. Shame as I would have been interested to see what they had to say.

    On the other side of torque, one of the developers I worked for a couple of years ago recently purchased torque, and tried the map 2 dif route, rewriting the DTS and DIF formats for extra UV channels and export from 3dsmax and lightwave. They managed to rewrite vast ammounts of the core engine in just 3 months, incorporating a generic 3D file format that exports direct from LW or max and use 3dsmax as their level editor, and for creating proxy collisions for scenery etc. So it's quite possible to do good stuff with it, but probably not for the faint hearted or inexperienced.
     
  16. tentons

    Indie Author

    Joined:
    Mar 1, 2004
    Messages:
    664
    Likes Received:
    0
    Not to derail the thread, but I was stunned by this engine and its tools... especially when I saw the price! :eek:
     
  17. Teeth

    Original Member

    Joined:
    Dec 6, 2004
    Messages:
    165
    Likes Received:
    0
    I read that when I bought the engine. I was really surprised (as was Entr0py I see) by the general unhelpfulness and sarcasm of the employees. So turned off was I by that that I pretty much gave up hope there and then. Talk about customer relations. It seems you will only get support of you prefix your posts to the forums with "OMG Torque is the bestest thing evar can I fellate you now please".

    Having said all that, you can't simply ignore all the good testimonials people are laying down around the world. *shrug* guess I'll go back to it when I want to do something more generic than what I wanted to achieve when I bought it.

    edit - Evak, check your PM :)
     
    #17 Teeth, Jan 26, 2005
    Last edited: Jan 26, 2005
  18. mcopley

    Original Member

    Joined:
    Jan 26, 2005
    Messages:
    14
    Likes Received:
    0
    Like many others, I too checked out Torque a long time ago, read the docs, fiddled with the scripts, etc. And now? I don't use it -- I do update my CVS snapshot from time to time, but I'm much happier using what I've already built up on my own over time. Why?

    For one, if I'm going to script my game, I would much rather use an established language like Python or Lua, and embed, since the number of books, resources, libraries, support, and features is staggering for those established languages, and that experience can help me with other programming projects outside the realm of games.

    For another, I simply like to be able to debug my game code in an IDE rather than rely on output statements and logging to track down problems. The type of games that I like to develop are small enough that I don't need to worry too much about being able to change code at runtime, tweaking variables is about all I typically care to do while running.

    Finally, sometimes using a sledgehammer to drive in a tack is not the best way to go about things. I read through the GarageGames posts referred to above and I'm not convinced that Troque is the right tool for *any* game. If I want to make a small puzzle game accessible to many users, I don't want to force a large bloated download and install of code and assets that come from making a commercial 3D shooter.

    I dunno, just my $.02

    Having said all that, if it is one's intentions to not make a game, but rather prototype game ideas, or just tool around, then Torque is probably an excellent platform for that. It is probably also a great option for those that are not like myself, and haven't built up their own codebase and toolset.

    --MC
     
  19. zoombapup

    Moderator Original Member

    Joined:
    Nov 25, 2004
    Messages:
    2,890
    Likes Received:
    0
    I think that there are basically two kinds of people:

    1) Those who accept that using anyone else's technology is going to require a mental shift to your own

    2) Those that decide that everything must be "thier" way and do thier damndest to make it that way

    Now, Torque is definitely not the realm for type #2

    You have to go with it. Like has been mentioned, it has multiplayer client/server networking at its core (which any good multiplayer game really requires). That means that it has that mental methodology to start with. There are numerous other little "mental paradigm" settings you need to get used to.

    However, once youre in that mental space, torque can quite easily do ANYTHING any other engine can do (assuming you have the ability to write the functionality).

    Ive tried a hell of a lot of engines, the closest to my own programming nirvana was valve's old SDK. But given I couldnt get the whole engine, I had to look around.

    I hate to see people saying torque is somehow limited in ways its simply not. The limitations arent engine oriented typically. Theyre just really dependant on a specific architectural approach. Either that floats your boat, or it doesnt.

    As ever, always try ANY engine youre going to use. But the only way you'll get exactly what YOU want, is if you write it.. good luck with that. I'd rather ship games.
     
  20. C.S.Brewer

    Original Member

    Joined:
    Aug 20, 2004
    Messages:
    102
    Likes Received:
    0
    I second everything Coyote said in his first post

    especially this:

    I'm making my first game with torque right now. It's going ok, but as Coyote said it's a huge engine, it's got tons of things crammed together in interesting ways, and it takes a while to get comfortable with it. But there is a lot of stuff there and most of it works fairly well. I'm sure it'll take anyone less time to figure out how to use and modify torque than to write all of that code themselves.

    the torque community is fairly mixed quality wise, there's a bunch of "resources" and free addons that are on the website, but I've found them hit and miss. Some are very good and others just don't really work well. Just like everything else in life :)

    Of course I can't recommend anything until I have a game selling which is still a ways off.

    I didn't look into Irrlicht so can't offer any advice there.

    I would really, really love to recommend the Nebula Device 2 as I love their architecture, but at the time I was starting last september it was in too much of a mess for me to use. I still have hopes for it in the future though.
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer