Game Development Community

TGE poorly documented

by Arild Pihl · in Torque Game Engine · 03/28/2007 (4:33 pm) · 83 replies

I'm hoping someone out there can prove me wrong, but in my opinion Torque is very poorly documented. The only documentation that came with the engine, are scattered comments in the code and scripts, and a 16 page PDF file that tells us how to create a terrain, put a Torque logo in, and how to make a script that enables the player to pick up the logo. The tutorial also mentions that the onCollision function is automatically called by the engine when two objects collides. But are there other functions like this? I've been searching for a complete list of all functions, parameters and stuff like that, but as far as I can tell, there aren't any. I have bought both "3D game programming all in one" and "The game programmers guide to Torque", but I'm still having problems finding the information I need. I feel both these books have a "If you write this, this will happen"-approach to teaching. "The game programmers guide to Torque" does have an appendix on the disc that comes with it, and the "Quick Reference" is the closest to any proper documentation I've found. The TDN that I've supposedly paid $150 to, is in fact only partly completed, and in addition, on the top is a note that says it "will all be replaced with content from Elixir very soon. So it is unnecessary to further expand this article.". This comment is dated October 2005. Not really impressive either. The link to the Elixir page works, but links to an article about why Elixir was chose over Wiki.

Of course we have these forums. But after reading them, I often encounter people with questions like "Where are the engine, I can only find the Torque Demo", and this tells me that there definitely are others out there that could use better documentation too.

The problem I have now is WheeledVehicle. I have made a new simple DTS object to use as a Vehicle, and another one for the tire. Then I changed the car.cs file so that these two objects where loaded in stead, hoping that it would be that easy. But no. This resulted in the car bouncing around uncontrollably, so I started changing the variables in the WheeledWehicleTire, WheeledWehicleSpring and WeeledVehicleData. But that only resulted in either more uncontrollable bouncing/shaking, the car bouncing off into outer space, or the car actually falling straight through the terrain and continuing down. And since I have no documentation, I have very little idea what the variables should be set to! For instance, one article I have read says that the "antiSwayForce = 1.0" will make the car come to a standstill in one second. But I have read through other peoples examples, and found values as high as 3000!

Hopefully someone will understand my frustration and give me a link or a file, or something magical that I must have overseen while reading books and forums for the past month or so.

Any help will be greatly appreciated!

A.P.

About the author

Recent Threads

Thread is locked
#41
04/08/2007 (7:45 am)
You're right, Andrew. Torque is a hands-on tool, there's no begrudging that. But Torque isn't marketed that way nor does GG go out of its way to state to the new user 'Hey, we've got a great engine BUT you'll have to spend countless hours hunting down the answer to show-stopper problems'. Obviously, no one is going to buy a product like that no matter how cheap it is.

Hense the problem GG faces. If GG continues its current path of suckering new customers by dangling the source code carrot only to find a severe lack of cohesive documentation which will literally bring their development to a halt then Troque-produced games will dwindle as customers realize there are more up-to-date and better documented engines out there. Like it or not GG has to face the fact that consumers want value for their money. If they purchase this engine they want to have a base of knowledge to draw from where they can find simple answers to specific questions that don't require hours upon hours of searching just to resolve a problem that has shut down production until its fixed.

TDN was a good step in that direction but it seems like man-power has been pulled off that to concentrate on other things. And so TDN has stalled. Therein lies the problem, GG has chronic ADHD when it comes to follow-thru with its products. The state of documentation is a symptom of that condition.

Its commendable Michael Perry is stepping up to take on documentation (and I wish him well in that) but the point is he shouldn't have to. Documentation should have always been a cornerstone of Torque development. Why it wasn't has always been a question mark for developers all the way back to the V12 days.

So, enough bitching. I'd like to propose Michael Perry setup somekind of webpage repository where developers can login and add comments to specific problems and their demonstrable resolutions. The Bounds Box problem discussed earlier is an example of a common but ill-documented problem with vehicles.
I know if I had access to something like this everytime I run into a problem I know how to fix then I would take a few minutes to login into this repository and type out how to fix it then go back to developing. Michael could then collolate that information into whatever format he's developing himself.

Some of you may say, 'why not use TDN for that?' The problem there is TDN has specific rules governing how to input the information so basically you're writing a mini-tutorial... I personally don't have time to write a mini-tutorial. I only have time to work on development to meet the demands of my clients. If that makes me a slacker for the community good so be it. But I do know if there was someplace I could pop in for a moment to add some data then go back to work I'd do that on a regular basis.
#42
04/08/2007 (11:47 am)
.
#43
04/08/2007 (1:45 pm)
@N R Bharathae - Thank you for the supportive comment.

This is the last post I will make in this thread. Any other information or updates I have for the new documentation and tutorials will be posted my blog or a new thread. I'll also be removing the watch status of the thread so I can limit new e-mails I receive to just what I can use for the new documentation. There's no longer any useful info coming in here.

I just want it to be known, I'm satisfied with the documentation, tutorials, and information available for the Torque engines. I'm just organizing and consolidating what's available. Any new tutorials and documentation that comes out of my new collaboration with Ed will most likely extend existing tutorials, or cover new products such as the Constructor tutorial I've been writing.

Hands down, this is not a waste of my time. Sitting around my apartment doing nothing is a waste of time. Writing documentation and new tutorials is anything but a waste of my time, because I learn much faster by being a teacher.

It is my responsibility to do the new documentation, and not GG's. Know why? Because I've decided to do this, thus making it my responsibility. That perspective may seem wrong to you, but let me present a couple of hypothetical situations:

My neighbor's apartment is on fire. I go in to save their dog and child. When I come out safely, having accomplished my task a spectator lectures me about how that wasn't my job and the fire department is at fault for not being on the scene instantaneously.

-or-

I'm standing next to someone and a branch falls in the middle of the road. The two of us can bitch about how the branch should be moved for the betterment of all traffic and society, blaming the local pubic works for not having a worker on every corner of the city for such a situation. Or, I can just walk out there and remove the branch.

A stretch from what I'm dong? Maybe. But why keep bitching and complaining? You want better documentation? We are working on it. You say it's a waste of my time and not my responsibility? I'm not complaining, so stop complaining and crusading for me.

Have fun continuing the discussion about who is at fault, what should be offered by a company, and what you think is right. It no longer matters to me, and I don't care to sway anyone's opinion because it's useless for what I need.
#44
04/08/2007 (3:59 pm)
I am a newcomer to games but veteran with 3d and unreal engine and recently bought the games engine license for tge. went to the tdn really excited
went to the for artists section

did the basic making a simple shape dts in 3d, went through the material stuff, imported my models, moved onto the simple character tutorial, did that no problems then went to the advanced character tutorial

...and nothing......

eventually found some random tutorials on other sites and some vids on youtube.
the tdn was one of the main reasons for buying the license

Still love the engine though.

when i do know how i wouldn't mind editing that advanced character page and writing a tutorial.
#45
04/09/2007 (4:48 am)
@ N R Bharathae

You want a place you could log in for a couple minutes, add some information, and then get back to work, oh and it's centered around GG products? Gee, that sounds an awful lot like a forum. You know, like the one you're posting in. ;)
#46
04/09/2007 (10:37 am)
.
#47
04/11/2007 (7:12 am)
These posts do come up a lot and there are always a lot of people who complain and a few people that try to defend.
The simple fact is you do have to search around A LOT to find stuff that can help you. I've had this for a couple years and I've never done much with it because I always end up so incredibly frustrated I take a time away from it.
One thing people have often asked for is something a little bit more then the starter.fps to start with. Not because people are lazy but because having even two weapons so people can learn that's how you equip a guy with more then one weapon and switch around between them. Add a few other common tasks that almost everyone searches for and adds in would be even that much more helpfull.
It can be annoying to try to learn how to do something and type in your search not get anything you want change the search slightly, find a resource from 2001 that requires reading the hundreds of responses with little changes over the years and try and get it all in working correctly.
The truth is if more people keep complaining about documentation then defending it I think that shows something.
Having an up to date section with tutorials/resources all written for the current build for the features that most people want in their game would be great. This would help people learn a lot easier a lot faster.

So I applaud the people who are working to get a bunch of updated docs/tuts/resources and I hope they can continue to make progress on it. I know if I ever got something working that wasn't already on this site in an updated way I would post a resource too.
#48
04/11/2007 (7:57 am)
I see allot of the same posts asking the same questions over and over again. This to me says that the most basic things are not documented very well, if at all, or else "How do i change the player to use my model" "How do i remove the crossbow", "ETC..." would never get posted on the forums.... This should be documented on a basic level, and its not, not with out going to a 3ed party source, or TDN, that already has outdated info on it.

This engine is marketed to the new hobbiest to the the indi developer. How can you expect a new user to sift through the source code for "Documentation"? Especially when the "Documentation" of the source code is incomplete, depreciated, or complete jargon.

I have been using torque for a few years now, i love it, and have learned allot... Bit i will not agree that its documented very well.
#49
04/11/2007 (8:41 am)
Quote:I see allot of the same posts asking the same questions over and over again. This to me says that the most basic things are not documented very well, if at all, or else "How do i change the player to use my model" "How do i remove the crossbow", "ETC..." would never get posted on the forums.... This should be documented on a basic level, and its not, not with out going to a 3ed party source, or TDN, that already has outdated info on it.

I started out reading that agreeing with you, but after about halfway through that paragraph I couldn't help but disagree...

Quote:"How do i change the player to use my model" ... This should be documented on a basic level.

The problem with a statement like that is the example you used isn't basic. The sentence:

"How do i change the player to use my model"

Really breaks down to a decent amount of work that definitely isn't simple to express to someone new to the engine and especially not to someone new to game dev (keep in mind moding and dev are two different beasts).

Just for an example, lets break down the example you used... I'll even make the assumption that the person can model and animate a game character just fine...

- Setting up your character in *** modeling app to export the following proper data:
-- model mesh data
-- texture data
-- detail levels
-- collision data
-- bounds
-- animation data

- Placing the .dts and texture data in the proper location
- Modify the player scripts in case do/don't have external .dsq animations
- Modify the datablock scripts reference the player mesh


I think thats a more than accurate break down. Also keep in mind the first (and largest) step really isn't just one version, considering you need a version for each 3D app...

Now on top of that try and tutorial/document that in an easy way for someone to understand... definitely easier said than done (If you think something like this is easy please try and attempt documenting something technical in an easy to use way... I've done more than my share of documenting and I still don't know a way that works for everyone).


Now with that said I will be the first person to agree that TGE is not documented well. I would say certain aspects of the engine are document well, but far from the entire thing, very far. In fact I think you'd be surprised with how many people here at GG would agree with you. I think you'd also be surprised with how many people at GG agree and want to improve the documentation.

Sure it sounds like an easy task, you just need to document a couple small things... well a couple small things that -you- want documented, then a couple small things -that person- wants documented, then that person, then another person, etc. In the end the list would be amazingly long and on top of that now we would have to maintain documentation.

I can tell you this from experience, as painful as it is learning from an engine that isn't very well documented, it's at least 10x as painful to maintain a large document base on a growing engine. It has been my responsibility to handle the documentation for TGB (which I will modestly say I think is very well documented, though not perfectly or completely documented). I can tell you that I spent many long (10-16 hour) days with a headache as a reward for it. On top of that, after spending such time I still get people saying that TGB isn't documented well at times as a reward lol (though we do have many appreciative TGB users that I definitely thank for their supportive words). Being someone dedicated to documentation is not a glamorous position either. I mean if you are deving on an engine and add an awesome new feature or fix a major bug you get thanks from just about everyone... though when you add a new document you get a lot of silent thanks from those who you have helped learn the engine. Sure this sounds like a superficial aspect, though for people to spend hours on end working on something you have to be satisfied with the rewards... whether it be money in the case of bigger commercial studios, or helping out people and getting the appreciation like a smaller company like us. Understandably documentation is a big sacrifice for some to make. You go from adding new features to the engine/tools to creating documents... in fact it's usually a trade off of helping the advanced users to helping the new users. In many ways it's a thankless duty that on top of that requires a huge amount of tedium. Many people just don't have the desire to do this, so even though they will create tech docs and such... creating entry level docs is really for someone who has a desire to do so.

Summed up documentation is not as easy as it seems... even the creation of it and definitely not the maintaining of it.


Quote:This engine is marketed to the new hobbiest to the the indi developer.

I would agree that the Indie developer is a definite target, always has. I mean when the engine came out, you could get the engine behind the Tribes games for $100... what Indie wouldn't have loved it. Though I disagree that the hobbiest is a majorly targeted audience for TGE... TGB, would be the engine I would say we target for that... and I modestly think TGB is very well documented (4-5 full game tutorials, 15-17 feature tutorials, a fairly complete reference, 5-6 other reference docs, on top of that searchable SDK doc-base, reference methods/functions and glossary terms hot-linked throughout the documentation, etc).


In any case, don't take this the long way, I just wanted to share this issue from our perspective. In the end I agree with this statement you made:

Quote:Bit i will not agree that its documented very well.
#50
04/11/2007 (10:04 am)
I think too many head into this believing gamedev is easy.
#51
04/11/2007 (11:03 am)
Well honestly I would agree that many people head into it thinking they'll pump out a game in no time, and I think there is a well written sales page to help with this idea. But there's plenty of people who also go into it going I'm never going to make anything that's going to sell, at least not for years if ever. And those people realise it's a lot of work and pick it up hoping to learn and that's where the documentation comes in.

I do agree with matt that tgb is well documented. I picked that up after a long time frustrated with TGE (looking back I see I got it in 2004 and still have nothing of interest to show for it). TGB was pretty easy, I could pump out a small game in a couple days if I found artwork to use on the web, and there's lots of free 2d images out there. I could read through the tdn and figure out almost everything I needed. Only problem I had with TGB was it's networking, it used a simple networking instead of the powerfull tge networking. Which put TGB in a strange spot for me (I know many don't feel this way this is just me) for the small simple games I could just use Java put them on the web and make them more accessible if I wanted to go that way. But if I wanted to say go as far as make a Diablo (the first one) clone I'd have to merge in all the networking code which I know I couldn't do right.

I am sure most people know how hard it is to document a project of this size, and we know you can't document ever last little thing people want. But it's the lack of progress that people who have been here for a long time are frustrated. I think if documentation started coming out ever at a slow pace people would quiet down and see where it went. I still think a slightly bigger starter.fps would be the first step, even 2 weapons and a melee feature would get lots of people excited to learn from.

Starting with the most popular/most searched/most commented resources would be the way to go. Look at melee for example. Almost every fps that comes out now a days has a melee weapon, whether a knife or hitting someone with the gun halo style. Even doom had melee. Almost all rpgs of every genre have melee. But unless I'm missing something there is no melee built in. The most used resource for melee is so old (the rw project resource). That seems almost impossible for most people to get in. The nice thing is there was a resource of updated code for 1.4.2 but even that one seems very tricky to get into 1.5.

I know it can be a rough thing when people always point out the faults and not the good parts of something. The unfortunate thing is it's human nature, the things that go bad are what stick in your head. People realise this is a good engine and that it's a lot of work to keep improving the engine and to keep the documentation fully up to date. People wouldn't stick around so long if they couldn't see how good the engine is.
#52
04/11/2007 (11:17 am)
Hey, heres a thought there are several drag and drop game engines. Its probably more of a game engine for the complainers.

Your complaining about TGE and TGEA not having good documentation, but I've used a couple of Game engines, such as Dark Basic, Unreal Editor, and C4. Unreal wont even help with there code scripting at least if you have a problem GG has the comunity and people who created the engine actually answer the forums.

No engine is perfect, Not even Unreal 3.
#53
04/11/2007 (11:49 am)
.
#54
04/11/2007 (12:18 pm)
On DarkBasic
I found DB's documentation is horrible compared to TGE's. The two books for learning it (expensive in the US) are extremely valuable and well-written, however. I wish that Blitz and other game languages had such materials. The code snippets are VERY valuable to understanding how to do things in DB. In fact, most of the things you mentioned have been added to the code snippets section of The Game Creator's site years ago (though not compiled into a full project). The forums are helpful there as well.
#55
04/11/2007 (1:19 pm)
I've been using Torque for seven years. I've been involved in more projects than I can count, going back to C3 in 2001. I've earned my bones, so to speak, with regard to understanding Torque's artpath and some of its scripting. So to accuse me of wanting a drag and drop engine is not only rediculous its insulting. This complaint about Torque documentation is not frivalous. Its a valid concern.

I personally like alot of aspects in Torque and continue to use it because I'm invested now with time and experience. But if a new user were to approach me and ask 'which engine should I use?' I would not respond with Torque. In all honesty I'd answer with a newer engine like Unity or some other that's come out in the last year. And this problem with chaotic documentation is the reason. That and the piecemeal nature of Torque's features.

I'd like to see Torque last another six years and continue to flourish, but I don't see that happening if certain problems are not addressed to a point of allowing Torque to compete in a fast growing market. So go ahead and continue to deny that there's a problem. Continue pointing new users to the forum for answers knowing full well what's in store for them. The only thing you'll accomplish is adding new names to the list of developers that throw their hands up in disgust over Torque and fuming over Garage Games.
#56
04/11/2007 (2:09 pm)
Quote:So go ahead and continue to deny that there's a problem.

We typically don't, in fact I said:

Quote:Now with that said I will be the first person to agree that TGE is not documented well.

I'm fairly sure the majority of GGers would agree... we know this is an issue, just because Berserk says we don't that doesn't mean he's right :)

If anything TGB shows you that we are trying different things, TGB is a much better test bed for documentation techniques than TGE...
#57
04/11/2007 (2:11 pm)
Quote:The only thing you'll accomplish is adding new names to the list of developers that throw their hands up in disgust over Torque and fuming over Garage Games.

btw wanted to add that this year at GDC Garage Games had the best reputation I've ever heard it have. Previous GDC's many didn't know of GG and there were plenty who complained about documentation, a bug, etc... though this last GDC we had so many people who came and loved the Torque Engines... even the people who had issues were constructive about it and more than understanding that we can only do so much for the price we sell it for.
#58
04/11/2007 (3:29 pm)
Well, I'm glad to hear that about GG's reputation. I hope it continues to grow and brings more development.
#59
04/11/2007 (8:57 pm)
.
#60
04/11/2007 (9:26 pm)
Bla bla bla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla, bla bla lbla,
This topic and complaining is getting old. Buy a Book.

The Game Programmer's Guide to Torque: Under the Hood of the Torque Game Engine (GarageGames) by Edward F. Maurina III
Advanced 3D Game Programming All in One by Kenneth C Finney
3D Game Programming All in One, Second Edition

just a few suggestions.
Wow documentation