Log in

View Full Version : Torque Engine?


Sean Doherty
07-04-2004, 02:10 PM
How many developers here are using Torque? Is it somehting people would recommend? Is it used in place of DirectX? What are the Pros and Cons?

Thanks

Ronkes
07-05-2004, 03:47 AM
I bought the Torque engine four days ago. Over the weekend I played around with it quite a bit and I can tell you that it gives you just about all you need in a 3D engine. It is quite daunting, though. Fortunately, there is a lot of community support and I saw there is even a book on Torque, which I will be buying shortly.

Comparing DirectX to Torque gets a bit odd. DirectX is a low-level API that requires you to write an awful lot of code if you want to come close to Torque. Let me put it like this: if you want to go from A to B, you can either buy a car and learn how to drive it or you can build your own car (nearly) from scratch. Torque is the former, DirectX is the latter.

Torque provides an awful lot of functionality out of the box that would take months to write yourself. And at $100, the word bargain doesn't even apply anymore. If you are considering writing a 3D game, you can't really go wrong with Torque. Keep in mind, though, that it has a somewhat steep learning curve (but nowhere near as steep as DirectX ;) .

Another advantage of Torque worth noting is that it is a cross-platform engine. You can write for Windows and port to Linux and Mac in a matter of hours. At least, that is what they say. Since I only have the engine a couple of days (and do not own a Mac and do not have Linux installed), I haven't tested this yet.

PalmTree
07-05-2004, 05:03 AM
It actually has a massive learning curve and you need to write games it's way and it's way only.

It's all scripts and such - I struggled to even find a function with the word "main" in it.

It's not an Engine in the sense of OGRE or CrystalSpace - it's a game creation system. And really, it's an FPS creation system. You could make it do other genres as you could QuakeC, but only if you have expert knowledge in how it all works and that'll take some doing - esp given there's no manual and few tutorials.

It's also pretty old tech - Directx6 with few bells and whistles. They got a new version out with shaders and more fancy stuff but thats 250.

If you're not doing an FPS you'll need to write a lot of tools too.

I wrote my own - imo it takes the same amount of time as learning theirs and your own is de facto more extensible.

Ronkes
07-05-2004, 05:40 AM
I guess it also depends where you are coming from. If you really enjoy DarkBasic, then Torque probably isn't for you. If you program your games in C++ and already got your hands dirty with DirectX, but found it took you too long to write a decent game, then Torque is worth checking out.

I wouldn't call Torque an FPS creation system. It's true that the samples that ship with Torque are mainly FPS, but everything is there to write any kind of game you want. The tools in Torque are focused on creating the 3D world, so I agree that you probably end up writing a couple of your own.

Visually, Torque can't compete with the latest Unreal installment. It's not the technically most impressive engine out there, but I don't think an indie game needs that; it's not our market. Personally, I find it a plus that Torque doesn't require the latest version of DirectX, since not everybody has that installed on their system.

PalmTree's warning is valid: Torque isn't for everyone and it will take more than just a weekend to get to the point where you can actually write a decent game.

Sean Doherty
07-05-2004, 05:46 AM
I already have a background in C++ and DirectX and I ws more or less wondering if there are any good API's built on DirectX that are at a higher level.

Thus far I have build most of what I am using; but I was thinking that it might be a path a least resistance to use a well supported higer lvel API. So rather than setting a Source Sream; I could just say render? That said, I not realy keen on open source.

What is CrystalSpace and OGRE?

Also, it might help if I mention that I am not building a FPS.

z3lda
07-05-2004, 06:41 AM
Is it me or the art pipeline for Torque is hard to work with. Importing models and exporting out of 3d packages seem like a pain in the butt, from reading their documents.

Sean, you should also check out www.quest3d.com

Ronkes
07-05-2004, 06:56 AM
Also, it might help if I mention that I am not building a FPS.What are you building?

Kai-Peter
07-05-2004, 07:03 AM
OGRE (www.ogre3d.org) is a C++ 3D graphics engine with a very clean design. It focuses on 3D graphics only, but it does it very well. The engine is currently quite stable, feature complete and used by several projects. The engine is licensed under LGPL meaning that the licencing costs are null. The community is supportive and the documentation is enough if you have basic C++ and 3D knowledge from before.

Crystal Space (http://crystal.sourceforge.net) is an open source game creation system that includes a ton of add-ons. I have no idea about the current status of the project.

I decided for the combination of OGRE/Lua/FMOD instead of Torque because the game I'm currently writing is a non-first person game and the support in OGRE was better for custom scene rendering (it is a general purpose 3D engine). At the time of choice the Torque engine had a more professional community (and more released games) while OGRE was mostly used by talented amateurs. This has since changed and will probably change even more in the future.

Just for reference, so you know how I made my decision. I have a solid experience in C++ and 3D graphics and wrote the engine for Space Station Manager myself in DirectX. My initial search for an engine included most engines in the <$5000 category. From this perspective I evaluated OGRE as the best business decision.

Anyway, you are on the right track. Someone on the forum once said wisely:

For indies the question is not "Buy or build?". It is "Where to buy?"

:D

The original post seems to have been lost in the big forum crash ..

kevryan
07-05-2004, 07:59 AM
I am using Torque - have one shipping title with it and I'm getting close to completing a second game. Nether of them were FPS and my current game is turn-based. Torque does have a learning curve, but it didn't seem that hard to me. Mac/Linux ports are very easy and it has turned out that that versions make up about half my sales. GG has active forums. I visit their forums and Dexterity's every day.

In the end I went with Torque for personal reasons. I've been friends with Jeff since we owned Dynamix together back in the 80s. So in my case, Torque fit all my needs and I trust the GG guys.

Sean Doherty
07-05-2004, 01:04 PM
What are you building?

At the moment I am building a 3rd Person Real-Time Space Startegy Game; but I also plan to use the engine for puzzle games as well.

Sean Doherty
07-05-2004, 02:45 PM
OGRE (www.ogre3d.org) is a C++ 3D graphics engine with a very clean design. It focuses on 3D graphics only, but it does it very well. The engine is currently quite stable, feature complete and used by several projects. The engine is licensed under LGPL meaning that the licencing costs are null. The community is supportive and the documentation is enough if you have basic C++ and 3D knowledge from before.


Kai-Peter,

At first glance Ogre look pretty good. Maybe I will try a couple of tutorials to see how it works. Anyone else used Ogre?

Coyote
07-05-2004, 04:28 PM
I've had Torque for a few weeks, but I've not played with it too much due to the pressing need to finish my current title (which has its own, custom-made engine & networking code).

So the question might be: Why did I get Torque when I have my own, custom 3D engine & network code?

The big reasons for me included a lack of desire to maintain my current engine longer than I need to --- it works, but I'm spending a lot of time adding features & fixing bugs that I wouldn't need to do so much in an off-the-shelf engine... I could instead concentrate on adding just the things that will make my game rock. The feature set that impressed me was:

* Built-in cross-platform support for PC, Linux, and Mac OS-X

* Proven, scaleable networking code

* A mix of terrain engine & interior environments through portaling (I *HAVE* done this on my own... but not nearly as nicely... and it can be a pain).

* A decent tools path... not as good as Ogre's, from what I can tell... but it sure beats having to write my own importers all the time.

* TONS of community support

* Built-in UI editor and world editing tools.

* Already tested & debugged collision, physics code (not stellar, but it works)

* Built-in scripting library.

I'm no stranger to any of the above features, but there's a big difference between knowing how to do them, and being able to do them QUICKLY so you can get a game on the shelf. I'm still considering Ogre for future projects too... I think it's important for an indie to know what's good for what, and to use the right tools for the job. I think Torque is pretty flexible - especially if you are willing to dive in and get your hands dirty with the core engine code. But it ain't as flexible as doing it yourself.

The last I saw of Crystal Space, it wasn't something I'd really want to use in a game. It looked like it was languishing in "Open Source Hell." Particularly once Ogre3D started taking off. If you are really just looking for a 3D engine and nothing else, I'd recommend taking the Ogre 3D route. There are several other options worthy of a look now, too...

Cube Engine
http://www.cubeengine.com/index.php4
http://cube-osx.sourceforge.net/

Catmother
http://catmother.sourceforge.net/

Irrlicht Engine (v. 0.6)
http://irrlicht.sourceforge.net/

A6 engine
http://www.conitec.net/a4info.htm

Nebula Device (some decent physics / collision code here, too):
http://www.nebuladevice.org/
http://www.radonlabs.de/nebula.html

Some things I'd consider "Second string" engines... probably nothing I'd use in a project right now, but possibilities nonetheless:

Cipher
http://www.cipherengine.com/

Neoengine
http://neoengine.sourceforge.net

Jet 3D
http://www.jet3d.com/

Crystal Space
http://crystal.sourceforge.net/

SpaceSimulator.net
http://spacesimulator.net/

Quake II
http://www.idsoftware.com/business/technology/

3D Gamemaker
http://t3dgm.thegamecreators.com/
(Point and click!)

Reactor
07-05-2004, 06:35 PM
We initially considered Torque for our game, but the engine itself just wasn't up to the quality we were after. Basic things like lighting and shadow maps (if we decided to use them) just weren't good enough. We next considered the NeoEngine (listed above) which was very solid, but wasn't far enough along. We eventually decided to create our own, which has required a great deal more work, but has allowed us to create a number of effects unique to our engine alone. I personally wouldn't recommend this course unless you *really* know what you're doing :)

MSchmeling
07-05-2004, 10:10 PM
At first glance Ogre look pretty good. Maybe I will try a couple of tutorials to see how it works. Anyone else used Ogre?

I am using Ogre for an entertainment application (not really a game in the strict sense) I am writing at the moment. Ogre is pretty good, but you need good programming skills.

Coyote
07-06-2004, 09:02 AM
Ogre is pretty good, but you need good programming skills.
I think that's true of any 3D engine.

There are several myths about using a third-party engine (perpetuated by none other than some heads of Microsoft game development) that should be cleared up. Some of these come from my own experience, some come from talks / papers / articles I've read from Folks Who Know (like Warren Spector):

1) A game engine is for people who can't write a game engine on their own
2) Using a game engine means you won't have to write engine code
3) You will save ALL that time you'd have spent on making an engine from scratch if you go with this off-the-shelf solution.

While there may be some truth to these statements, there's a lot more at work:

1) 3D Game engine development is a HUGE undertaking --- much more so than it used to be. Just ask John Carmack - his earlier 3D game projects could be whipped out in a matter of weeks or months. Each successive generation of engine - even starting with the amount of code and know-how he's developed over time - has taken much longer than the previous one. Nowadays, so much effort is required to develop a fully-featured game engine that you may be better off starting with a working platform and customizing it to meet your needs.

2) There is no such thing as a "one size fits all" 3D engine - in spite of what game engine vendors would have you believe. If you don't believe you'll need to get your hands dirty with customizing the engine code:
* You aren't planning on getting your project beyond a 'tech demo' or "mod" level
* You are creating a game that is extremely derivative, perfect for what an engine was designed for
* You are creating a fairly undemanding game such that all the awful scripting hacks you need to make to get around the weaknesses and limitations of the engines don't adversely affect your game
* Or you may be delusionally optimistic (or inexperienced)

3) Some (or most) of the time you would have spent developing a from-scratch engine is going to be spent getting up to speed on this new off-the-shelf engine, and then in customizing it and optimizing it for your game. Yes, there are some major advantages you'll receive - you may save some development time, of course. You may get a lot of free features that come with the engine that you'll be able to exploit that you wouldn't have had time to do with your homebrew solution. Perhaps MOST importantly, you'll be able to set your content guys to work much faster than if they had to sit around and wait for the engine to get done. But it's not "free." And once you've gotten over that initial learning curve and made the engine "your own," your savings increase substantially.

Note that in spite of my above comments, I'm still an advocate of using a third-party engine - IF it makes sense for your game and business. As indies, we're constantly on tight budget constraints - its in our best interest to use any tools we can to make development faster, better, and cheaper. At the dirt-cheap prices you can take advantage of the development efforts of others ($100, free, contribution of any changes to the source code to the community...), it's worth taking a very SERIOUS look at what wheels are already out there before inventing your own.

wazoo
07-08-2004, 07:09 AM
I wouldn't mind using Torque to capture some Mac users, but the last time I tried using it, I had real hell of a time just starting a new project.

I'm totally programming-centric, so seeing an almost purely scripted interface was completely alien to me. From first glance of the demo project that came with it, the scripting language seemed to resemble Perl which made me almost puke.

Their documentation (last time I used it...ie. a year ago), was great for the advanced features but terrible for just starting something new.

ie. where the hell is main, event handling, etc?! :)

Kevryan if you have any links to any sample source code using Torque and/or a document or two on getting started, I'd be HUGELY gratefull..

As I said, I'm not bitching at the CG guys, as the package looks good. It's just my total lack of ability to get anything started with it..:(


I am using Torque - have one shipping title with it and I'm getting close to completing a second game. Nether of them were FPS and my current game is turn-based. Torque does have a learning curve, but it didn't seem that hard to me. Mac/Linux ports are very easy and it has turned out that that versions make up about half my sales. GG has active forums. I visit their forums and Dexterity's every day.

In the end I went with Torque for personal reasons. I've been friends with Jeff since we owned Dynamix together back in the 80s. So in my case, Torque fit all my needs and I trust the GG guys.

Coyote
07-08-2004, 07:56 AM
I just recently purchased Torque --- so I can't speak from experience of a year ago. But GarageGames has come out with a LOT of documentation recently, and the long-term users have been heaping praise upon the new state-of-the-docs (and grousing about how much easier the new users have it). So I think that may no longer be an issue.

I think the toughest thing with Torque is that they expect you to start with one of their 'example' games and build from there, rather than using a more conventional library + API-style approach.

Sean Doherty
07-08-2004, 01:41 PM
I think the toughest thing with Torque is that they expect you to start with one of their 'example' games and build from there, rather than using a more conventional library + API-style approach.

AHHHHHHHHHH! :eek:

wazoo
07-08-2004, 01:53 PM
And see? That's where I immidiately fell flat on my face. All this time I've been trying to build a new project from scratch.. :(


I think the toughest thing with Torque is that they expect you to start with one of their 'example' games and build from there, rather than using a more conventional library + API-style approach.

Coyote
07-08-2004, 02:25 PM
Heh - hit the nail on the head, did I?

Yeah, it's kinda funky. Though it makes it really easy if you are a beginner... you can have your basic "game" up and running without touching a single line of C++. But it's also the reason you see so many unfinished projects in Torque.

I actually like this approach myself, as following through existing code & making modifications as I go is how I usually learn a new API or language. It's a lot easier than trying to initialize & set up everything from scratch.

Siebharinn
07-10-2004, 08:18 AM
The book "3D Game Programming All in One" starts with the stock Torque engine and builds a game from scratch with scripts. You can actually do a lot that way. The stock engine is oriented towards an FPS, but if you have the source code, you can simply extend/add your own objects.

I'm working on a sort of puzzle game, and I have a shooter idea floating around in the back of my head. The objects that I create in C++ are usable between the two, so I'll probably just use the same compiled engine for both; the differences will be in script.

kevryan
07-10-2004, 09:25 AM
Kevryan if you have any links to any sample source code using Torque and/or a document or two on getting started, I'd be HUGELY gratefull.

I started by copying the whole Torque directory structure into a new directory called minigolf for my current game. And from there I just modified the script in the example directory and C++ code in the engine directory to suit my needs.

I got Ken's 3D Game Programming All in One when it came out a couple of months ago and it is a good reference for the scripting end of Torque. It focuses on scripting and not on the C++ part of the engine.

wazoo
07-13-2004, 06:24 AM
Thanks Kevryan.

Yeah as soon as I checked out the latest info on GG.com, I was getting pumped. It looks like the documentation is at a stage where even I can understand it!
heh

I ordered the book right away and should get it soon.

My project (so far) is at a point where I could probably port it over to Torque without too much work, letting me take advantage of a cross-platform market as well as a bit of an "in" with trying to arrange publishing with GG..*cross fingers*..

I guess I was too used to the old notion of an engine just being an included library that you link your project to (either statically or dynamically) rather than as a physical entity that's included in your project (which is what I'm seeing with Torque). Now that my brain is getting past that, I can adapt a bit quicker to using the engine...

Nemesis
07-15-2004, 12:36 AM
We have a custom-built 3D engine. We are quite happy with it but it has one major flaw.. lack of scene management e.g. terrain algorithms / closed-space rendering etc. We eventually hacked a terrain rendering algorithm based on our existing model structures and it is adequate for our requirements.

Moral of the story? If you're a hobbyist and willing to take the task of building a game for fun and / or profit at your own pace, then yes, building your own 3D engine is an enlightening experience. However, if this is your bread and butter and need to dive down to the meat of your game and avoid wasting time and "money" (lost by not directing effort to other areas and delivering earlier) then I suggest going for a third party engine.

Having said all that, I do believe however, that the knowledge and insight gained from rolling your own engine will benefit you when you switch to a third party solution. At the very least you will be in a much better positionto identify defects in the engine and to customise or extend it.

MrPhil
07-15-2004, 09:25 AM
So have all the improvements to Torque changed the consensus that it is mainly for First Person Shooters and not worth the trouble for real time Strategy, or turn based board type games?

Nauris
07-15-2004, 10:47 AM
RTS on Torque engine:
http://www.garagegames.com/mg/snapshot/view.php?qid=807

Turn based board strategy on Torque engine:
http://www.garagegames.com/mg/snapshot/view.php?qid=702
http://www.garagegames.com/mg/snapshot/view.php?qid=649

Sean Doherty
07-15-2004, 12:53 PM
So have all the improvements to Torque changed the consensus that it is mainly for First Person Shooters and not worth the trouble for real time Strategy, or turn based board type games?

Not as it exists today. I am not a big fun of having to start from an already functional game and making modifications. I would be interest to see how the engine evolves; but at the moment I am not convinced.

Why should I be convinced? What improvements are you refering to?

kevryan
07-15-2004, 03:05 PM
I guess I was too used to the old notion of an engine just being an included library that you link your project to (either statically or dynamically)
At Dynamix we had a library that we called Virtual Machine to handle lots of base machine functions. The first version ran on Amiga, Atari ST, and PC; which made ports easier. I did the C64 version of it (:eek: whoo boy was that fun). Over the years we expanded on this. When I first grabbed off Torque I was expecting a library to link in too.

Ronkes
07-16-2004, 12:51 AM
I've been playing around with Torque some more and I have to say that it is a misconception that you have to mod the examples to create your own game. You can very well build your game from the ground up. It is what I am experimenting with right now and I hope to put my findings on my web site very soon.

There are a lot of other people who have done the same and made their resources available, so there will be plenty of help when you decide to program Torque this way.