Need some reassurance...
by Nathan Harris · in Torque Game Engine · 03/17/2008 (1:42 am) · 12 replies
Greetings,
I just recently had a lengthy chat session with a guru programmer friend of mine... He's what I call "grey hair", he's been programming for a couple decades in an ungodly amount of different programming languages. I'll state right up front, I couldn't program myself out of a wet paper bag. But this guy, has taught at colleges and I can safely say that he knows his stuff.
Prior to my purchase of Torque, we had fallen out of contact. Before then, he was coaching me on programming my own game engine, using my own code, as well as third party libraries such as OGRE, PhysX, etc... Now when I recently talked to him and told him about my move to using Torque, he almost killed me via chat. Apparently he's familiar with Torque. He stated he checked out Torque some 6 months or so ago, and was laughing so hard about the fact that people pay for it, he was red.
He went on to explain that, for someone learning to program... Torque is the "enemy". It teaches things that are so wrong, it should be banned! Keep in mind, these are his words, not mine. I was trying to defend Torque, but it's kind of hard when I'm nowhere near his level of knowledge with programming. He also stated that, even if you were experienced, Torque has so many corner-cutting hacks and "cheese grated code", that when you actually want to change something, you have to spend a week debugging just to implement simple new features.
Now I know that Torque isn't a current or next-gen engine, and it's aimed at the indies... Which I tried to tell him- he just ignored that and said that's purely an excuse of laziness. Now, I just recently got over the fear that I wasted $150, and then I hear all this. I find it hard not to completely believe him. But I really, really want some of the guru programmers around here to share some points that can argue against his.
And please, for the love of Pete, don't flame me about the statements- again, his views, not mine.
[edit]
I just asked him for a second time if I could share his name, or get him to come here and talk, but he has explicitly stated he doesn't want to be in the middle of this at all... I don't know if it's because he can't back up his statements or what, but I simply can't get him to agree to it.
[/edit]
I just recently had a lengthy chat session with a guru programmer friend of mine... He's what I call "grey hair", he's been programming for a couple decades in an ungodly amount of different programming languages. I'll state right up front, I couldn't program myself out of a wet paper bag. But this guy, has taught at colleges and I can safely say that he knows his stuff.
Prior to my purchase of Torque, we had fallen out of contact. Before then, he was coaching me on programming my own game engine, using my own code, as well as third party libraries such as OGRE, PhysX, etc... Now when I recently talked to him and told him about my move to using Torque, he almost killed me via chat. Apparently he's familiar with Torque. He stated he checked out Torque some 6 months or so ago, and was laughing so hard about the fact that people pay for it, he was red.
He went on to explain that, for someone learning to program... Torque is the "enemy". It teaches things that are so wrong, it should be banned! Keep in mind, these are his words, not mine. I was trying to defend Torque, but it's kind of hard when I'm nowhere near his level of knowledge with programming. He also stated that, even if you were experienced, Torque has so many corner-cutting hacks and "cheese grated code", that when you actually want to change something, you have to spend a week debugging just to implement simple new features.
Now I know that Torque isn't a current or next-gen engine, and it's aimed at the indies... Which I tried to tell him- he just ignored that and said that's purely an excuse of laziness. Now, I just recently got over the fear that I wasted $150, and then I hear all this. I find it hard not to completely believe him. But I really, really want some of the guru programmers around here to share some points that can argue against his.
And please, for the love of Pete, don't flame me about the statements- again, his views, not mine.
[edit]
I just asked him for a second time if I could share his name, or get him to come here and talk, but he has explicitly stated he doesn't want to be in the middle of this at all... I don't know if it's because he can't back up his statements or what, but I simply can't get him to agree to it.
[/edit]
About the author
#2
You won't be able to fully test and design an engine like Torque in 2-3 years time. It's too much work. Then add that you're a beginner and you can forget it for sure. Fine, you can make something smaller but then the comparasion is moot.
I moved to Torque in 2003, and I'm not looking back. If something more fitting comes across my table, I'll switch for a new project, but so far none has. Somewhere in 2005 I started to feel very comfortable with the codebase and now it's my backyard. When you get to that point you'll start thinking about it in a different way. Anyhow, was the best 100 bucks I've ever spent.
My opinion. :>
03/17/2008 (3:19 am)
Quote:
While useing TGE you may never be as familuar with the code as you would be on a engine you made yourself. But at the same time you have saved yourself 6+ months of codeing your own engine.
You won't be able to fully test and design an engine like Torque in 2-3 years time. It's too much work. Then add that you're a beginner and you can forget it for sure. Fine, you can make something smaller but then the comparasion is moot.
I moved to Torque in 2003, and I'm not looking back. If something more fitting comes across my table, I'll switch for a new project, but so far none has. Somewhere in 2005 I started to feel very comfortable with the codebase and now it's my backyard. When you get to that point you'll start thinking about it in a different way. Anyhow, was the best 100 bucks I've ever spent.
My opinion. :>
#3
So this engine is definitely perfect for me in a sense- and I must say I do like it. I think what really scares me, and perhaps why my "mentor" has such a hateful passion for Torque, is that there is no standards being practiced. When I'm looking through the engine source, I see... Well I see what looks to be bad team-work between developers. You have some that choose to do things one way, others that choose to do it another. Thus conflicts and hacks arise. And before anyone states the obvious, yes I'm aware that this is a common thing. But I've messed with a pretty good amount of other engines, libraries, etc. and have seen wonderful work between the developers because they lay out a standard, which everyone works together under.
You nailed it with the statement about the engine being several years old. That's my point- it's been in development for that long (and from what I've read, GG developers were the ones that originally engineered the engine), and it's still got a whole lot of gray areas. I've said it a few times around the forums now, but it seems GG is about making more money, than making a better product. Thus they expanded the engine into several different packages, and slapped price tags on each of them- rather than making one engine with less gray areas and more solid and standard features.
Take for instance, the fact that if I want to have higher resolution textures on my terrain, I have to pay more money, or spend a long time making new terrain code. Doesn't this put me back at square one? This isn't one of those gray areas, that's just... Mean if you ask me. It doesn't appear GG will take the effort/time to upgrade TGE, because it would conflict with sales of (for example) TGEA. Now don't take this the wrong way- I don't mind paying for features. But when there is merely some red-tape standing in my way, I can't help but feel like I should just rip it down. Again, back to square one, and I'm spending X amount of time implementing standard features.
Then there are the little things. Fire up the vanilla TGE demo (the actual mod "demo") and you'll see several "errors" or "glitches". The foot step dust puffs aren't working out of the box. Why is that? You read through the log, and there are a ton of warnings (for example missing GUI images). And it's been this way for how many releases/updates now? These are things that made that passing thought of "Did I just make a mistake?" come about.
I'm not trying to bash here, I'm just provoking more thought. It seems these topics are always casually (and carefully) stepped around like we're little sheep who don't know better... Not smart enough to see these things. I'd like to see how much the Torque engine has really evolved in the past several years, and see how much money GG has made. Not the simplest (or most possible) of tasks... One thing I will do though, is look up reviews on all the games made with Torque. That will really tell me something.
Of course, it won't have that much weight on how I can judge Torque, because after all- what really makes a game good goes far beyond visuals. But in this day and age, where if you can make a game with engaging story-lines, and other non-visual features, where will the ratings drop in reviews? The visuals. That niche that pretty much has the industry by the gonads. I'm sure many would disagree, but that's naive in my opinion. If that were the case, we wouldn't have 512mb graphics cards and HDTVs.
So I agree that I can make a game faster with Torque than 90% of the the other free or cheap engines out there, but I don't necessarily agree with the fact that all of Torque's gray areas are so simply excused. I don't feel that I've wasted my money per-say, but that perhaps I could have spent it more wisely on some online classes or something. When I bought TGE, I was expecting to see some kick-ass standard C++ that I could mess with. It only took a few minutes to realize that it would be much more work than that. I didn't know I would have to learn ASM to toy with terrain features. I didn't know I would be told "if you want feature A, buy product B, if you want feature C, buy product D".
I guess in the end it was my own lack of research that led me here- all the pretty pictures and awesome sounding feature lists led me to believe I was getting an engine that would allow me to make games that can compete with the current market and I wouldn't have to be a genius programmer, when really I'd have to wait for resources to be released by the community to fill in the gaps, or take the aforementioned X amount of time to do it myself (or fork out more cash just to get one simple feature).
Keep in mind, I'm not trying to attack anyone or Torque. On the contrary, I'm trying really hard to find answers to what bugs me about Torque, and what my friend says about it as well (which has actually already been answered to an extent). I already know why I like Torque, and where it's strong points are. What I don't know fully, is why I shouldn't like Torque, and where it's weak points are. I don't want to not like Torque, so please don't come under the impression that I feel this way.
(Whooie, sorry for the post length here!)
03/17/2008 (5:16 am)
Thanks for the replies so far, they have definitely eased my mind a bit. But only in the sense that I haven't "wasted" my money. Which to be honest, I never fully felt... There was a passing moment where I asked myself: "Did I just make a mistake?". I can see now, that Torque isn't so much a game engine by current standards, but more of a game creator, or rapid prototyping tool. Yes, you can make great games with it. And yes, you can definitely expand on what is there.So this engine is definitely perfect for me in a sense- and I must say I do like it. I think what really scares me, and perhaps why my "mentor" has such a hateful passion for Torque, is that there is no standards being practiced. When I'm looking through the engine source, I see... Well I see what looks to be bad team-work between developers. You have some that choose to do things one way, others that choose to do it another. Thus conflicts and hacks arise. And before anyone states the obvious, yes I'm aware that this is a common thing. But I've messed with a pretty good amount of other engines, libraries, etc. and have seen wonderful work between the developers because they lay out a standard, which everyone works together under.
You nailed it with the statement about the engine being several years old. That's my point- it's been in development for that long (and from what I've read, GG developers were the ones that originally engineered the engine), and it's still got a whole lot of gray areas. I've said it a few times around the forums now, but it seems GG is about making more money, than making a better product. Thus they expanded the engine into several different packages, and slapped price tags on each of them- rather than making one engine with less gray areas and more solid and standard features.
Take for instance, the fact that if I want to have higher resolution textures on my terrain, I have to pay more money, or spend a long time making new terrain code. Doesn't this put me back at square one? This isn't one of those gray areas, that's just... Mean if you ask me. It doesn't appear GG will take the effort/time to upgrade TGE, because it would conflict with sales of (for example) TGEA. Now don't take this the wrong way- I don't mind paying for features. But when there is merely some red-tape standing in my way, I can't help but feel like I should just rip it down. Again, back to square one, and I'm spending X amount of time implementing standard features.
Then there are the little things. Fire up the vanilla TGE demo (the actual mod "demo") and you'll see several "errors" or "glitches". The foot step dust puffs aren't working out of the box. Why is that? You read through the log, and there are a ton of warnings (for example missing GUI images). And it's been this way for how many releases/updates now? These are things that made that passing thought of "Did I just make a mistake?" come about.
I'm not trying to bash here, I'm just provoking more thought. It seems these topics are always casually (and carefully) stepped around like we're little sheep who don't know better... Not smart enough to see these things. I'd like to see how much the Torque engine has really evolved in the past several years, and see how much money GG has made. Not the simplest (or most possible) of tasks... One thing I will do though, is look up reviews on all the games made with Torque. That will really tell me something.
Of course, it won't have that much weight on how I can judge Torque, because after all- what really makes a game good goes far beyond visuals. But in this day and age, where if you can make a game with engaging story-lines, and other non-visual features, where will the ratings drop in reviews? The visuals. That niche that pretty much has the industry by the gonads. I'm sure many would disagree, but that's naive in my opinion. If that were the case, we wouldn't have 512mb graphics cards and HDTVs.
So I agree that I can make a game faster with Torque than 90% of the the other free or cheap engines out there, but I don't necessarily agree with the fact that all of Torque's gray areas are so simply excused. I don't feel that I've wasted my money per-say, but that perhaps I could have spent it more wisely on some online classes or something. When I bought TGE, I was expecting to see some kick-ass standard C++ that I could mess with. It only took a few minutes to realize that it would be much more work than that. I didn't know I would have to learn ASM to toy with terrain features. I didn't know I would be told "if you want feature A, buy product B, if you want feature C, buy product D".
I guess in the end it was my own lack of research that led me here- all the pretty pictures and awesome sounding feature lists led me to believe I was getting an engine that would allow me to make games that can compete with the current market and I wouldn't have to be a genius programmer, when really I'd have to wait for resources to be released by the community to fill in the gaps, or take the aforementioned X amount of time to do it myself (or fork out more cash just to get one simple feature).
Keep in mind, I'm not trying to attack anyone or Torque. On the contrary, I'm trying really hard to find answers to what bugs me about Torque, and what my friend says about it as well (which has actually already been answered to an extent). I already know why I like Torque, and where it's strong points are. What I don't know fully, is why I shouldn't like Torque, and where it's weak points are. I don't want to not like Torque, so please don't come under the impression that I feel this way.
(Whooie, sorry for the post length here!)
#4
Wow, that's a little harsh...but that's usually the kind of statement you get from someone who has been programming that long. Usually, "gray hairs" as you put it, are very egotistical and have the worst form of "God complex." However, that's usually deserved. Anyone who has been programming for as long as you stated he has, well, they kind of earned that pedestal. I don't see myself going that route, but to each is own.
I picked out that particular quote, because there is some truth behind it. The purpose of licensing an existing 3D game engine is not to learn traditional C++ in all of its complex glory (horror?). You won't pick up Torque or Unreal to learn about undefined behavior. You won't pick up Ogre or C4 to learn how to properly create a union.
To learn C++, you should buy the big blue books and start from scratch. Read. Read Code. Code. Obtaining a strong foundation in C++ will allow you to jump into a 3D game engine and start modifying after you've taken the time to research the proprietary systems.
This is why a lot of newcomers to game development get frustrated with Torque Technology. Someone with zero experience in C or C++ is going to be way over their head if they jump right into the source. That doesn't make the user dumb, and it doesn't make Torque a bad engine. That's just how things go.
Btw, your post length is what caught my eye =). Call me a freak for enjoying the long reads, but when someone posts an extremely long message, I usually count on them providing detailed information on what issue they are having. You explained your position well, I just hope you understand that I am not attacking your friend. I just think his acerbic comments could have had a "second side."
Good luck!
03/17/2008 (5:33 am)
Quote:He went on to explain that, for someone learning to program... Torque is the "enemy". It teaches things that are so wrong, it should be banned!
Wow, that's a little harsh...but that's usually the kind of statement you get from someone who has been programming that long. Usually, "gray hairs" as you put it, are very egotistical and have the worst form of "God complex." However, that's usually deserved. Anyone who has been programming for as long as you stated he has, well, they kind of earned that pedestal. I don't see myself going that route, but to each is own.
I picked out that particular quote, because there is some truth behind it. The purpose of licensing an existing 3D game engine is not to learn traditional C++ in all of its complex glory (horror?). You won't pick up Torque or Unreal to learn about undefined behavior. You won't pick up Ogre or C4 to learn how to properly create a union.
To learn C++, you should buy the big blue books and start from scratch. Read. Read Code. Code. Obtaining a strong foundation in C++ will allow you to jump into a 3D game engine and start modifying after you've taken the time to research the proprietary systems.
This is why a lot of newcomers to game development get frustrated with Torque Technology. Someone with zero experience in C or C++ is going to be way over their head if they jump right into the source. That doesn't make the user dumb, and it doesn't make Torque a bad engine. That's just how things go.
Btw, your post length is what caught my eye =). Call me a freak for enjoying the long reads, but when someone posts an extremely long message, I usually count on them providing detailed information on what issue they are having. You explained your position well, I just hope you understand that I am not attacking your friend. I just think his acerbic comments could have had a "second side."
Good luck!
#5
Its also easier to walk over to joes desk or message him and tell him "This is why I did this here." Or ask this is how XX works then it is to document every lines of code you write. Atleast from my experience.
I agree its kinda sad to see the engine branch off into so many different products. But at the same time the price for each product has remained the same instead of becoming some obsurbe price like the Quake engine or Unreal Engine. As if TGB, TGE, TGEA where all rolled into one product I could grantee you it would cost alot more then $150. I would imagine alot more along the lines of $2k+.
And the fact that each package has different features mean adding in the features is always something you can do. You do have the source code for the engine. People wanted larger terrain and higher resolution terrain. So guess what the next update to TGEA does just that. So its possible with a little work to do this for TGE also. And it would defently save yourself alot of time instead of having to create your own game engine from the group up, at the end of the day.
And Michael makes alot of good points above also. But like I originaly said. Game engines are there to get something done fast. Not to learn from the ground up. They can provide great examples on how to do things and theres alot within the Torque Engine that is done amazingly well. I could only imagine trying to learn C/C++ from Torque or the Unreal engine or any other engine for that matter. That millions (Billions? How many lines of code does Torque have?) of lines of code and hundreds of files.
03/17/2008 (6:59 am)
Nathan - You make some good points. But you also need to remember that Torque wasnt designed originaly as a engine to be solid to the public. Even though GG has some employees that originaly worked on the engine when it was Tribes 2. That is few compared to the full team and when the original engine was created for Tribes 2, as with any company, You spend less time documenting everything you do and more time making things happen. I've worked at my share of game development companys small and large and while the development industry likes to preach about standards and such, once you actualy get in there, you see things are about as far away from that as possible. Unless you are working on a open source project that is.Its also easier to walk over to joes desk or message him and tell him "This is why I did this here." Or ask this is how XX works then it is to document every lines of code you write. Atleast from my experience.
I agree its kinda sad to see the engine branch off into so many different products. But at the same time the price for each product has remained the same instead of becoming some obsurbe price like the Quake engine or Unreal Engine. As if TGB, TGE, TGEA where all rolled into one product I could grantee you it would cost alot more then $150. I would imagine alot more along the lines of $2k+.
And the fact that each package has different features mean adding in the features is always something you can do. You do have the source code for the engine. People wanted larger terrain and higher resolution terrain. So guess what the next update to TGEA does just that. So its possible with a little work to do this for TGE also. And it would defently save yourself alot of time instead of having to create your own game engine from the group up, at the end of the day.
And Michael makes alot of good points above also. But like I originaly said. Game engines are there to get something done fast. Not to learn from the ground up. They can provide great examples on how to do things and theres alot within the Torque Engine that is done amazingly well. I could only imagine trying to learn C/C++ from Torque or the Unreal engine or any other engine for that matter. That millions (Billions? How many lines of code does Torque have?) of lines of code and hundreds of files.
#6
This is exactly what I did. I didn't read any books, and only had basic knowledge of C when I jumped into Torque. People keep telling me that my coding practices are non-standard and that I do C with classes rather than C++ and I think that says pretty much about how I learned.
I don't think books are for everyone, and it certainly wasn't for me. I even studied C++, but found it boring and quit. Doing something "real" is much more fun, and I don't think I would had continued to program if I didn't happen to run across Torque.
Do you have to dislike it? I think it's alot up to personal taste and what you want to do with it. Some might think it lacks in one area because they need it for that specific purpose, and others think differently.
My biggest beef with Torque has always been the audio interface and the lighting. That was well before the Lighting Kit came out though, and today my only real beef with TGE (TGEA has a slew of it's own problems) is the audio interface, but we moved on to FMOD in that regard.
Alot of rambling, hope something makes sense.
03/17/2008 (7:44 am)
Quote:
This is why a lot of newcomers to game development get frustrated with Torque Technology. Someone with zero experience in C or C++ is going to be way over their head if they jump right into the source.
This is exactly what I did. I didn't read any books, and only had basic knowledge of C when I jumped into Torque. People keep telling me that my coding practices are non-standard and that I do C with classes rather than C++ and I think that says pretty much about how I learned.
I don't think books are for everyone, and it certainly wasn't for me. I even studied C++, but found it boring and quit. Doing something "real" is much more fun, and I don't think I would had continued to program if I didn't happen to run across Torque.
Quote:
I already know why I like Torque, and where it's strong points are. What I don't know fully, is why I shouldn't like Torque, and where it's weak points are.
Do you have to dislike it? I think it's alot up to personal taste and what you want to do with it. Some might think it lacks in one area because they need it for that specific purpose, and others think differently.
My biggest beef with Torque has always been the audio interface and the lighting. That was well before the Lighting Kit came out though, and today my only real beef with TGE (TGEA has a slew of it's own problems) is the audio interface, but we moved on to FMOD in that regard.
Alot of rambling, hope something makes sense.
#7
I wouldn't underestimate this second point. Dealing with two or three or more APIs, which are all a different "foreign language" when you start using them, is crushingly hard to deal with.
I'm not sure I'm yet an old grey hair, but I've worked on plenty of code bases which were really quite messy. The messy that-you-know is often better than something much shinier and new, but totally foreign. It's easier to clean up something messy with something not so messy that is nearly functionally equivalent than it is to understand an entirely foreign code base.
In any case, yes, I have some serious gripes about Torque, but they have to be put in the context of when it was developed. For one, the only real container class is tVector... I don't know how they survived coding it without list classes, hashes, maps, etc. All those are one-off, ad-hoc implementations in Torque. I've slowly been replacing all of them with STL based ones (which you can actually see the contents of in the Visual Studio 2005 debugger, YAY!)
If you think that Torque is bad because it seems to exhibit "bad teamwork between developers", I'd urge you to explore the early releases of some big open source applications. Check out the early releases of the Mozilla code base if you think Torque is bad. It's not great, but it's not nearly the worst in terms of organization, readility, and homogeneity.
Lastly, even if Torque was "kick-ass standard C++", I don't think it'd help you all that much. You'd still have to grok the code if you wanted to change it, and there's really no short-cuts there.
You also have to consider what you're paying. $150? Pretty much nothing. What does the Unreal engine cost to license these days? $400,000?
In the end, though, this is probably the real issue...
You certainly don't have to be a genius programmer (although, I'm sure it helps, I'd have to ask the genius programmers on my team). You have to be dedicated, which means not giving up in the face of something you don't understand. It's naive to think that one or two guys are going to make games that compete with the current market. Those are developed by teams of dozens of programmers and sometimes HUNDREDS of artists. You can't compete with them on production values. You can compete with them on fun. It's not hard for one guy to make a really fun game that has simplistic art and good gameplay. Torque is more than adequate to do that.
Look at Minions or Mirth... one guy, Josh Ritter, based on Torque (although admittedly, hacked up, which is not surprising), and lots of players who think it's a very fun game. I think his partner did all the art. In any case, a tiny team. Granted the production values aren't quite World of Warcraft, but, it was probably < 1/1000th the cost of World of Warcraft to develop, all by two people!
03/17/2008 (12:22 pm)
Well, I'm as critical of Torque's shortcomings as anyone here, but, building a fairly complete game engine out of subsystems like Ogre, PhysX, etc. is not trivial. The advantage Torque has here is that it is a) fairly complete, even if somewhat old and wrinkly, and b) fairly homogenous.I wouldn't underestimate this second point. Dealing with two or three or more APIs, which are all a different "foreign language" when you start using them, is crushingly hard to deal with.
I'm not sure I'm yet an old grey hair, but I've worked on plenty of code bases which were really quite messy. The messy that-you-know is often better than something much shinier and new, but totally foreign. It's easier to clean up something messy with something not so messy that is nearly functionally equivalent than it is to understand an entirely foreign code base.
In any case, yes, I have some serious gripes about Torque, but they have to be put in the context of when it was developed. For one, the only real container class is tVector... I don't know how they survived coding it without list classes, hashes, maps, etc. All those are one-off, ad-hoc implementations in Torque. I've slowly been replacing all of them with STL based ones (which you can actually see the contents of in the Visual Studio 2005 debugger, YAY!)
If you think that Torque is bad because it seems to exhibit "bad teamwork between developers", I'd urge you to explore the early releases of some big open source applications. Check out the early releases of the Mozilla code base if you think Torque is bad. It's not great, but it's not nearly the worst in terms of organization, readility, and homogeneity.
Lastly, even if Torque was "kick-ass standard C++", I don't think it'd help you all that much. You'd still have to grok the code if you wanted to change it, and there's really no short-cuts there.
You also have to consider what you're paying. $150? Pretty much nothing. What does the Unreal engine cost to license these days? $400,000?
In the end, though, this is probably the real issue...
Quote:
I guess in the end it was my own lack of research that led me here- all the pretty pictures and awesome sounding feature lists led me to believe I was getting an engine that would allow me to make games that can compete with the current market and I wouldn't have to be a genius programmer...
You certainly don't have to be a genius programmer (although, I'm sure it helps, I'd have to ask the genius programmers on my team). You have to be dedicated, which means not giving up in the face of something you don't understand. It's naive to think that one or two guys are going to make games that compete with the current market. Those are developed by teams of dozens of programmers and sometimes HUNDREDS of artists. You can't compete with them on production values. You can compete with them on fun. It's not hard for one guy to make a really fun game that has simplistic art and good gameplay. Torque is more than adequate to do that.
Look at Minions or Mirth... one guy, Josh Ritter, based on Torque (although admittedly, hacked up, which is not surprising), and lots of players who think it's a very fun game. I think his partner did all the art. In any case, a tiny team. Granted the production values aren't quite World of Warcraft, but, it was probably < 1/1000th the cost of World of Warcraft to develop, all by two people!
#8
@Thomas - I think I understand now because of what you said, why it is that Torque is in the state it is. But I still can't shake the fact that it seems that after so many years, it should be WAY better than now. I mean, just to pull DirectX out requires a lot of work, when in my opinion it should be a one line deal. I know you can "disable" it and all, but that's not the point. And how the rendering engines are tied into each other seems... Wrong. I couldn't explain how due to my lack of experience, but I'm sure you guys understand.
Heck, to pretty much pull anything out, or put anything in, it seems harder than it should be. Even for a guru programmer. Even if you understood the code, you'd know what was on the plate. I just can't wrap my head around why these sorts of things aren't being fixed, while new versions of Torque come out, and new "features" are being added. The whole assembly thing is just irritating, unless you know ASM of course. Why after so long, has it been left in this state?
But I do agree with all the points made so far- Torque wasn't built with the public in mind. And certainly not with the current generation of standards and quality in mind. But seriously, am I to understand that no one "back then" thought ahead? Or was the engine programmed with only Tribes 2 in mind... No sequels, no patches, etc? Because now, it seems the thing to do is to program with the updates and other developers in mind.
@Stefan - No, I don't have to dislike Torque... And that's the main point of this thread. I'm basically trying to understand the short-comings of Torque, and possibly find justifications as to why things are the way they are. Ultimately, it doesn't really need defending - it does it's job, and apparently many have published successful games using it. I guess the reason I'm such a beaver about this, is that I was raised to always "try harder", "do better", "your best isn't good enough yet"... That sorta thing. So it's drilled into me. When I see something like Torque that's been in "circulation" for almost a decade, and it's source is akin to a room full of lemmings looking for a cliff... I can't help but get razzled. Will Torque shave off years of development? Is it a "complete" package? Can it be extended? Well yes to all those questions, but... Can it be better, and why isn't it after so long?
Sure, there are millions of lines of code and hundreds of source files. But how many developers are working on it, and how many meetings are held to get everyone on the same page? The topic of open-source projects being (and it seems quite common now) well organized, as compared to a closed-source project being sloppy seems kind of... well it doesn't fit with Torque. You have all these "main" developers working on it, plus all these additions made by the public. That would be semi-open source I guess?
I've noticed that a few people have come along and started making things more "standardized" by making the source more object-oriented for example. Why are we the ones that end up doing these things, while GG slips out TGEA (for example) instead of doing those things? It's another thing that scares me, and that's the "need" for more money. I can bet the value of Torque 2, that Torque 2 will be a lot more expensive than TGE/TGEA and it will be more standardized. That's what we'll be paying for, is a cleaner code base. Not the new pretty bells and whistles that are "easy" to implement compared to making TGE/TGEA cleaner. But that's a shot in the dark I guess...
@Tim - I totally agree, making an engine from scratch even while using 3rd party libraries is no walk in the park. But knowing that those libraries all follow a similar standard and level of quality sure makes it seem that way. Heck, getting PhysX playing happy with Ogre took me a day at my low level of programming skill. I'd rather not try getting it done in a day with Torque.
I've taken a gander at the source of Unreal (long time ago though), and that in itself justifies the hefty price tag. It all makes sense, even if it is foreign. The tools that come with really blow everything else out of the water (to an extent, Source/CryEngine/Project Offeset are up there too). But I think it's the fact that they are more tried and true engines, plus the amazing support that comes with the whole package as well.
Yet, Torque only costs $150... The price of 3 games. So what am I griping about right?! You're all right. I shouldn't really complain. It's all really more of a "Aw, c'mon. You could have ______". I think that made sense... Thanks for all the replies everyone, it's helped me learn a little and definitely given me the "reassurance" I asked for. I only hope that Torque gets more rejuvenated (heh, I liked the term old an wrinkly thrown out there by Tim) with time.
03/19/2008 (10:04 am)
@Michael - I understand what you mean about the common "God Complex" bit among guru programmers. I can't say for sure but I think 'ol Grey Hair would be classed as "grizzled". Though I suppose it's the same in the end. Kind of like when someone has seen so many movies... they scoff at, and can't enjoy mediocre films. I have a few books, the fattest one being C++ Primer (the one that makes the coffee table moan). I'm slowly learning, though it seems every time I start to get a grip on things, "life" gets in the way and by the time I can return to learning, it's back to the drawing board because I don't have the greatest memory...@Thomas - I think I understand now because of what you said, why it is that Torque is in the state it is. But I still can't shake the fact that it seems that after so many years, it should be WAY better than now. I mean, just to pull DirectX out requires a lot of work, when in my opinion it should be a one line deal. I know you can "disable" it and all, but that's not the point. And how the rendering engines are tied into each other seems... Wrong. I couldn't explain how due to my lack of experience, but I'm sure you guys understand.
Heck, to pretty much pull anything out, or put anything in, it seems harder than it should be. Even for a guru programmer. Even if you understood the code, you'd know what was on the plate. I just can't wrap my head around why these sorts of things aren't being fixed, while new versions of Torque come out, and new "features" are being added. The whole assembly thing is just irritating, unless you know ASM of course. Why after so long, has it been left in this state?
But I do agree with all the points made so far- Torque wasn't built with the public in mind. And certainly not with the current generation of standards and quality in mind. But seriously, am I to understand that no one "back then" thought ahead? Or was the engine programmed with only Tribes 2 in mind... No sequels, no patches, etc? Because now, it seems the thing to do is to program with the updates and other developers in mind.
@Stefan - No, I don't have to dislike Torque... And that's the main point of this thread. I'm basically trying to understand the short-comings of Torque, and possibly find justifications as to why things are the way they are. Ultimately, it doesn't really need defending - it does it's job, and apparently many have published successful games using it. I guess the reason I'm such a beaver about this, is that I was raised to always "try harder", "do better", "your best isn't good enough yet"... That sorta thing. So it's drilled into me. When I see something like Torque that's been in "circulation" for almost a decade, and it's source is akin to a room full of lemmings looking for a cliff... I can't help but get razzled. Will Torque shave off years of development? Is it a "complete" package? Can it be extended? Well yes to all those questions, but... Can it be better, and why isn't it after so long?
Sure, there are millions of lines of code and hundreds of source files. But how many developers are working on it, and how many meetings are held to get everyone on the same page? The topic of open-source projects being (and it seems quite common now) well organized, as compared to a closed-source project being sloppy seems kind of... well it doesn't fit with Torque. You have all these "main" developers working on it, plus all these additions made by the public. That would be semi-open source I guess?
I've noticed that a few people have come along and started making things more "standardized" by making the source more object-oriented for example. Why are we the ones that end up doing these things, while GG slips out TGEA (for example) instead of doing those things? It's another thing that scares me, and that's the "need" for more money. I can bet the value of Torque 2, that Torque 2 will be a lot more expensive than TGE/TGEA and it will be more standardized. That's what we'll be paying for, is a cleaner code base. Not the new pretty bells and whistles that are "easy" to implement compared to making TGE/TGEA cleaner. But that's a shot in the dark I guess...
@Tim - I totally agree, making an engine from scratch even while using 3rd party libraries is no walk in the park. But knowing that those libraries all follow a similar standard and level of quality sure makes it seem that way. Heck, getting PhysX playing happy with Ogre took me a day at my low level of programming skill. I'd rather not try getting it done in a day with Torque.
I've taken a gander at the source of Unreal (long time ago though), and that in itself justifies the hefty price tag. It all makes sense, even if it is foreign. The tools that come with really blow everything else out of the water (to an extent, Source/CryEngine/Project Offeset are up there too). But I think it's the fact that they are more tried and true engines, plus the amazing support that comes with the whole package as well.
Yet, Torque only costs $150... The price of 3 games. So what am I griping about right?! You're all right. I shouldn't really complain. It's all really more of a "Aw, c'mon. You could have ______". I think that made sense... Thanks for all the replies everyone, it's helped me learn a little and definitely given me the "reassurance" I asked for. I only hope that Torque gets more rejuvenated (heh, I liked the term old an wrinkly thrown out there by Tim) with time.
#9
You are talking about a major code refactoring which is a very, very huge project. In fact, it is a large part of the Torque 2 project, though Juggernaut was a step in the refactoring direction. Ogre was originally designed as a renderer that you could plug in to any system. With that as a design basis, it makes sense that it is easy to add on pieces to create a semi-complete engine (though you will find wildly variant "standards" or "levels of quality" imposed between groups even within the Ogre community, not to mention between communities). Torque was designed as a large-scale solution with a number of proven features to develop a game, or a complete engine in-and-of-itself. Thus the complex interaction between various systems.
It doesn't mean that it couldn't be cleaned up. Believe me, I'm betting the engine devs working on Jugg and on the latest TGEA 1.7 release wish it was cleaner before they started. But it is a lot cleaner now. Creating a component-based engine is one of the key design motivations behind Torque 2. And it is a complete paradigm change to what the majority of the engine is based on. The code organization in TGEA 1.7 is really nice in comparison to the previous versions of TGE and TGEA. So things are on the up-and-up. But a huge code refactoring is a huge undertaking that needs serious evaluation so as not to break the core (especially since the "core" of the engine is one of the things that would need to be refactored).
Usually in the past there has been more call for "teh c00l" feature additions and functionality rather than code cleanup. And really, which is more fun to do and important to the end users who are posting pictures of Crysis and saying "Can TGE foliage do that?"? So if the call is there, answer it. The code reorganization and cleanup call is there, too, but when little things have been cleaned up in the past, it has caused problems among people porting, often incurring a negative reaction rather than a "damn, glad you cleaned that up!" one. Instead it was a "WTF DID YOU DO TO MY PROJECT!!!! I LOST TWO MONTHS!!!!" Of course, we would usually see it on the forums after two weeks of bottled frustration ended in a serious rant. Unfortunately, they were totally unlike a two-person human pyramid: short and blunt. Rather, they were long, drawn out, and somewhat like my own posts.
I know a lot of people who have not had your positive experience with the Unreal/2/3 codebase (or Source). But they also have larger teams and deal with it to get their projects done. Unreal 2 was a step up in terms of quality, though. They said it was a dream to work with in comparison to the first engine. I haven't seen the code myself (I did see the leaked Source code, however, though Havok and other subsystems had been stripped from the repo), though, so I'm just noting what programmers I know have complained about. Most of the ones working directly with the code for Unreal 3 seem to be pretty happy, though.
03/21/2008 (8:09 am)
This is just my opinion from being around for a little while, not really an official GG stance. You are talking about a major code refactoring which is a very, very huge project. In fact, it is a large part of the Torque 2 project, though Juggernaut was a step in the refactoring direction. Ogre was originally designed as a renderer that you could plug in to any system. With that as a design basis, it makes sense that it is easy to add on pieces to create a semi-complete engine (though you will find wildly variant "standards" or "levels of quality" imposed between groups even within the Ogre community, not to mention between communities). Torque was designed as a large-scale solution with a number of proven features to develop a game, or a complete engine in-and-of-itself. Thus the complex interaction between various systems.
It doesn't mean that it couldn't be cleaned up. Believe me, I'm betting the engine devs working on Jugg and on the latest TGEA 1.7 release wish it was cleaner before they started. But it is a lot cleaner now. Creating a component-based engine is one of the key design motivations behind Torque 2. And it is a complete paradigm change to what the majority of the engine is based on. The code organization in TGEA 1.7 is really nice in comparison to the previous versions of TGE and TGEA. So things are on the up-and-up. But a huge code refactoring is a huge undertaking that needs serious evaluation so as not to break the core (especially since the "core" of the engine is one of the things that would need to be refactored).
Usually in the past there has been more call for "teh c00l" feature additions and functionality rather than code cleanup. And really, which is more fun to do and important to the end users who are posting pictures of Crysis and saying "Can TGE foliage do that?"? So if the call is there, answer it. The code reorganization and cleanup call is there, too, but when little things have been cleaned up in the past, it has caused problems among people porting, often incurring a negative reaction rather than a "damn, glad you cleaned that up!" one. Instead it was a "WTF DID YOU DO TO MY PROJECT!!!! I LOST TWO MONTHS!!!!" Of course, we would usually see it on the forums after two weeks of bottled frustration ended in a serious rant. Unfortunately, they were totally unlike a two-person human pyramid: short and blunt. Rather, they were long, drawn out, and somewhat like my own posts.
I know a lot of people who have not had your positive experience with the Unreal/2/3 codebase (or Source). But they also have larger teams and deal with it to get their projects done. Unreal 2 was a step up in terms of quality, though. They said it was a dream to work with in comparison to the first engine. I haven't seen the code myself (I did see the leaked Source code, however, though Havok and other subsystems had been stripped from the repo), though, so I'm just noting what programmers I know have complained about. Most of the ones working directly with the code for Unreal 3 seem to be pretty happy, though.
#10
It can always be better and trust me when I say it's come a looooong way since V12. Hopefully it'll continue to improve at about the same rate.
I can't say if this is true or not as the only closed-source coded game engine I've ever taken a look at is Torque. But the generalization that open-source projects are less sloppy than closed-source projects sounds a bit silly to me as I've only seen the opposite.
Your mileage may wary, of course.
I've not seen much improvement by the community in this regard. Only random resources which add functionallity, not modify it codewise.
To be honest, I can't see how you can even remotly discuss Unreal tech if you're concerned about money.
03/21/2008 (9:05 am)
Hi again NathanQuote:
When I see something like Torque that's been in "circulation" for almost a decade, and it's source is akin to a room full of lemmings looking for a cliff... I can't help but get razzled. Will Torque shave off years of development? Is it a "complete" package? Can it be extended? Well yes to all those questions, but... Can it be better, and why isn't it after so long?
It can always be better and trust me when I say it's come a looooong way since V12. Hopefully it'll continue to improve at about the same rate.
Quote:
Sure, there are millions of lines of code and hundreds of source files. But how many developers are working on it, and how many meetings are held to get everyone on the same page? The topic of open-source projects being (and it seems quite common now) well organized, as compared to a closed-source project being sloppy seems kind of... well it doesn't fit with Torque. You have all these "main" developers working on it, plus all these additions made by the public. That would be semi-open source I guess?
I can't say if this is true or not as the only closed-source coded game engine I've ever taken a look at is Torque. But the generalization that open-source projects are less sloppy than closed-source projects sounds a bit silly to me as I've only seen the opposite.
Your mileage may wary, of course.
Quote:
I've noticed that a few people have come along and started making things more "standardized" by making the source more object-oriented for example. Why are we the ones that end up doing these things, while GG slips out TGEA (for example) instead of doing those things?
I've not seen much improvement by the community in this regard. Only random resources which add functionallity, not modify it codewise.
Quote:
It's another thing that scares me, and that's the "need" for more money.
To be honest, I can't see how you can even remotly discuss Unreal tech if you're concerned about money.
#11
I don't know about that statement, Stefan. I've always felt the opposite, that GG relied on the community to fix their bugs and drive features a little too much.
If you look at the feature list of TGE 1.5, 90% of the listed changes came from outside GG. TLK didn't originate with GG, as goes with all the art assets included. Hell, the HUGE MAC UPDATE was originally someone's fixes in a blog.
Then there's all the work that's been done recently in various threads to attempt to get vehicles and collisions fixed. Or adding PhysX and ODE. Major shortcomings in the engine being addressed by the community, because they either ignored or their mere mention greeted with hostility by GG.
There also was that contest, where GG would pay members of the community for engine features in TGEA. I remember looking at the thread on the lightning entry and drooling.
03/21/2008 (11:25 am)
Quote:I've not seen much improvement by the community in this regard. Only random resources which add functionallity, not modify it codewise.
I don't know about that statement, Stefan. I've always felt the opposite, that GG relied on the community to fix their bugs and drive features a little too much.
If you look at the feature list of TGE 1.5, 90% of the listed changes came from outside GG. TLK didn't originate with GG, as goes with all the art assets included. Hell, the HUGE MAC UPDATE was originally someone's fixes in a blog.
Then there's all the work that's been done recently in various threads to attempt to get vehicles and collisions fixed. Or adding PhysX and ODE. Major shortcomings in the engine being addressed by the community, because they either ignored or their mere mention greeted with hostility by GG.
There also was that contest, where GG would pay members of the community for engine features in TGEA. I remember looking at the thread on the lightning entry and drooling.
#12
As for the educator's review of Torque: There is a reason he is an educator.
03/21/2008 (11:56 am)
Quote:Alex S. works for GarageGames, he did the modernization kit. Hardware accelerated physics (via PhysX) was done by Chris C., an employee. We still do pay community members to do improvements for the engine, please see TGEA beta work by Tom S. and Josh E.
If you look at the feature list of TGE 1.5, 90% of the listed changes came from outside GG. TLK didn't originate with GG, as goes with all the art assets included. Hell, the HUGE MAC UPDATE was originally someone's fixes in a blog.
As for the educator's review of Torque: There is a reason he is an educator.
Torque Owner Thomas Oliver
The simple fact there has been multi-million selling games (Tribes 2, Marble Blast, And others) proves that TGE, TGEA, and TGB are more then capable of making professional high quality AAA titles.
For someone looking to create there first games or looking for a fast turn around time from design to production you will not find a better engine for the price. Heck I would go out on a limb and say just about any commercial engine you pickup is going to have its share of grey areas in the code. Even the Unreal Engine and the Quake 3 Engine has its share of areas within it.
While useing TGE you may never be as familuar with the code as you would be on a engine you made yourself. But at the same time you have saved yourself 6+ months of codeing your own engine.
I've been using Torque (I have virtualy every version of the engine and dozens of the start kits, and start packs.) and theres always code I stumble across that makes me scratch my head and ask "Why did they do it this way and not like this.." But then I remember the engine was created over 7 years ago for a single game at the time. I am sure when it was originaly created they in no way had plans for it to be anything like it is today.
Over the years the engine has made leaps and bounds and changed in so many ways all of it still based around that same Tribes 2 game engine but expanded in so many ways. Theres now TGB a solid 2d game engine built off it. TGEA an amazing DirectX game engine with next gen capabilities. TGE a solid multi-platform engine that will run on just about anything that supports opengl.
Having worked on so many different projects and having seen so much come out of the engine. I tend to find it hard to believe people spend weeks debuging changes to the engine. I myself have never spent more then a single day and that was with some fairly extensive C++ engine changes being made. Anything changed within Torque Script can easly be debugged with Torison in a matter of minutes to seconds. You can pull out a variable and track everytime its changed, what its current value is at anytime with the game running in realtime.
You also have to take into account your $150 purchase is for alot more then just the engine and its source code. You have this vast Tomb of information and resources here. Most of the resources here alone is worth alot more then the $150 and will help you greatly. You will be hard pressed to not find a resource for something you are looking for. Rather it be updating TGE to use Shader Tech or creating a inventory system. Theres resources on all of it and most of them are fairly easly to follow. Now some of them are indeed old and you may have to do some work to get them to work with the latest versions but you will still be saving yourself many hours in the long run.
So to answer your question. Is Torque good for learning programming? Probly not the best way to learn how to program. But if you are looking to get a game created and out to the market without spending years creating your own engine, Then you could not have picked a better choice for a game engine.
Not to mention you have a great community here to help you with your questions. Something you would not have if you created your own game engine.