Game Development Community

TGEA 1.7 Tutorials

by Fahim Ghaznawi · in Torque Game Engine Advanced · 05/06/2008 (7:56 pm) · 15 replies

Hi, I am a experienced programmer (C#) and have experience with java and some c++.
I just recently purchased tgea 1.7 for writing some games for fun.
I have set up the tgea 1.7 sdk on my machine and compiled the game examples under visual C++ 2008 express. I can all of the game examples just fine with no issues.

I am very dis-appointed at the documentation, there is nothing useful in the documentation to get started. I have noticed that tgea 1.7 does not have an IDE (very surprised), it looks like you get started by modifying existing game examples.

My question is: Is there any tutorials out there with just the bare minimum code to compile under tgea 1.7 (I want to understand how the engine works + script work together).

Looking at game examples is kind of not helping, need some tutorials. Hope, anyone can help.

Thanks

About the author

Recent Threads


#1
05/06/2008 (9:35 pm)
I feel your pain Fahim since Im in a similar situation of wishing for some "getting Started" tutorials myself. I bought TGEA 1.7 a few weeks back and have no prior Torque experience. Im' a Computer Scientist/Software Engineeer in California so I consider myself experienced as well but I must say I've been struggling to stay positive with this TGEA product since I really expected some basic API's and starter tutorials at the least. I will tell you what I have been told since you ask the exact same thing I asked a few weeks back --- a few responses I received:

1. "You just have to learn the Torque way of doing it" which is to copy&paste a game example to get started.
2. "There was a "Getting Started" template but it is broken right now. Not sure if it is coming back.
3. Avoid using the older TGE/TSE tutorials -- these will not work for TGEA users since directories changed.
4. Torque is new so the documentation will get more attention with time (paraphrasing).

So, basically, from my own perspective, I am disappointed that GG has marketed this product the way they have -- experienced Torque developers will love it but new users will have their work cut out for them.

I just purchased the book "The Game Programmers Guide to Torque" and started reading it. I hope it will help even though I may not be able to do any of the tutorials since I don't have the older engine it was written for. Oh well, I'm in this for the fun of it.... and I didn't expect it to be easy.

HOWEVER I kinda have a problem with GG's marketing of this product. It seems like they are saying something like this:

So you want to build a humvee all by yourself? Here is a humvee, figure it out yourself! (sorry couldn't resist). Referring to using a GameExample as a starting point.

One thing I suggested, that I still think is a great idea, is to have Torque Community GURU's post some video tutorials of them walking thru their own development steps (similar to what macromedia/adobe does). The suggestion didnt seem to get any attention though.

My next step will be to understand the folder structure of one of the game examples and then disect the most important files. I saw this outlined somewhere..... I just have to find it again and put my developer hat on and just FIGURE IT OUT.

Good luck. And also, the community here and the GG staff are really quick to respond so you should receive a better answer than mine real soon.

Ray.
#2
05/06/2008 (10:24 pm)
Couple of questions:

Quote:
tgea 1.7 does not have an IDE (very surprised)

Could you be more specific as to what you mean? If you are looking for a TorqueScript editor and integrated debugger, you should check out Torsion--it offers full editing, run time debugging (watches, breakpoints, callstack navigation) for TorqueScript, as well as intellisense.

Quote:
I really expected some basic API's

The documentation that gets installed with your system contains the entire API in html format. While some of the reference documentation is still under development, you can navigate the entire class hierarchy via the html interface (generated by dOxygen).

I'm not sure exactly what you mean here, if what I described isn't it, could you be more specific?

Quote:
Is there any tutorials out there with just the bare minimum code to compile under tgea 1.7


Quote:
it looks like you get started by modifying existing game examples.

User documentation requests have gone back and forth a lot over the years--many new users ask for the "bare minimum code to compile under TGEA" as you mention, but wind up cut/pasting over minimum examples, and then asking for additional features one step at a time--and ultimately, they wind up with a Game Example just like we originally provided.

We do provide a basic "min app" tutorial in TGE, but once new users run through it, they then attempt to make their game on top of it (working with what they know, which is normally a good thing)--but since it's a "min app", many of the things they want to do have to be added in, and again they wind up with a sub-standard game example and continue to be frustrating trying to add things back in.

It's a challenge for us, honestly, because each user is at a different experience level, so it's very difficult to find out what the "perfect min app" is for the community as a whole. When you add to this the massive feature set of the core engine, it becomes very daunting for people that want to start at the very beginning (main loop) and work their way up.

All of that being said, what do you think would be best covered in a "min app" type of tutorial?
#3
05/06/2008 (11:23 pm)
I would like to preface this quickly.

When I first started using torque (more then 2 years now) I used it to also teach myself programming. I was never dissapointed with the examples, and always found exactly what I was looking for while searching, and using provided examples.

I never understand why people say there isn't enough. Maybe people come to torque pampered from other programming languages and SDK's and feel that since they are "paying" they should get more (in reality you're getting plenty). I have no clue. I've always done my best to support people that have questions I know the answers to and help them learn at the same time. I don't mean to offend if I am, simply giving an opinion.

On to your questions.

Not sure what you mean by:

Quote:there is nothing useful in the documentation to get started

From the TDN we have a few things.
Getting Started TGEA
Getting Started with TorqueScript
Scriptable Object

If you give some specifics, I'm sure I could pull up a tutorial on it, or code showing how to do it. Let me know. I'm happy to help you look.

Quote:Is there any tutorials out there with just the bare minimum code to compile under tgea 1.7 (I want to understand how the engine works + script work together).

The minimum required code to compile tgea is what you have in the SDK. Sure, you could use a lot less and compile it fine, but then it wouldn't be a game engine. I've seperated the console from the engine before. It's a pain in the butt. The engine is very interdependet on its subsystems. Making a smaller engine would be an extreme effort that would likely not be worth it in a tutorial sense (it would be worth the effort to make it componentized, which is happening .... mmmm can't wait).

TGEA 1.7 is very new. A lot has changed in the engine since the 1.3 codebase. The tutorials you read may be a little different then what you see in your SDK. The engine has changed, but its functionality is very similair and should not effect its usage. eg. I can use all the same scripts I used for 1.3 in 1.7.

My advice to learn the basics is to open up one of the starter games, load a mission, load the world editor (F11) and start using it. Run around and figure something specific out that you want to do. Learn to do that. Start small, and work your way up, just like you want to do just in a different way.
#4
05/07/2008 (6:03 pm)
Raymond, Stephen and William,

Thank you all for responding so quickly.

As far as an IDE, Torsion is what I need since I am so used to an integrated debugger (setting break points, stepping through code etc.). I will definitely check into Torsion. Without a debugger, a programmer's job would be a living hell trying to debug/enhance apps with thousands of lines of code.

As far as "Tutorials", I understand it's difficult to put together tutorials/min apps for people with different programming backgrounds, I was hoping I would find something like below for tgea 1.7.

1. MinApp #1: Minimum code for loading a terrain and a skybox.
2. MinApp #2: Loading a player (for example a car etc). into minapp #1 game environment
3. MinApp #3: Adding environment (for example streets, buildings, fire etc) into minapp #2 game environment
4. MinApp #4: Adding basic movement commands for player to move around the game environment.

Also, I don't need tutorials on game art, we can skip the game art creation. Just minimum code in the specified order.

I have looked through books on Amazon like "Game programming all in one" but I have a lot of problems loading that into tgea 1.7 as it was written for tge 1.4.

I can learn the rest on my own, I don't have a problem looking through C++ code as I have plenty of programming background.

What I need is the sequence of events that are called under tgea 1.7 (flow of code) which I believe would make sense to me if the min apps specified above were available.

It would be a lot of help for me to walk through these minapps one at a time so I can understand what piece of code is responsible for what under tgea 1.7.

Thanks again for all your help.

Fahim
#5
05/07/2008 (8:22 pm)
I would suggest reading the Engine Overview in depth--it's a "40,000 ft view", but it covers quite a bit of what is going on behind the scenes.

Once you have an understanding of the various systems that are of primary importance, you might find the following TDN article interesting:

Connection Sequence Overview

and in digram version:

http://tdn.garagegames.com/wiki/Torque/Networking/ConnectionSequenceDiagram

When I originally wrote the Engine Overview for 1.7, I opted to leave those out of the introductory documentation, but it's come up a couple of times since 1.7 was released, so I'll let the documentation folks know it's been a hot topic.

If you come up with any other "learning documentation" needs or desires that you feel would have been useful, please feel free to speak up :)
#6
05/08/2008 (11:19 am)
Fahim Ghaznawi, this is kind of what I'm trying to. I started out with the atlas demo because it don't have much into it yet. From there I started implementing mouse movements and just submitted a resource on how to add a controllable player.

I like you would rather have the bare bones app and build from there to learn the ins and outs of everything.
#7
05/08/2008 (1:47 pm)
@Stephen - Thanks for catching this one; wish it didn't take me 2 days to actually find this thread =(

We have an ongoing thread for TGEA Documentation feedback found HERE.

Again, thanks for the suggestions for the documentation. Like Stephen said, keep the feedback coming. By writing in the thread I linked above, we can keep all feedback organized. Plus, the doc people are monitoring that thread.

I've marked this thread too, just in case. Your suggestions have been noted =)
#8
05/11/2008 (8:29 pm)
Hello,

I'm also a new Torque user with about 12 years of C++ and C# experience. The new docs have been very helpful as well as the guide to torque book. Even though its for TGE, quite a bit of the information seems to be relavant to TGEA and I definately use it as a reference. However, I would still really like to see a series of tutorials that start from scratch and slowly build a game. This provides the foundation of knowledge new users need to get started quickly and provides a starting point for learning the rest of the engine.

Quote:
User documentation requests have gone back and forth a lot over the years--many new users ask for the "bare minimum code to compile under TGEA" as you mention, but wind up cut/pasting over minimum examples, and then asking for additional features one step at a time--and ultimately, they wind up with a Game Example just like we originally provided.

Even though this is true, going through this process is very useful. I might end up with the same code as the examples, however, I'll have put the code there because I know why I need it and understand what it does. Right now I am modifying game examples and taking most of the code for granted. I would really like to understand what code I need in the examples, what it's doing, why it's there, what I can take out, etc. This will come in time and I am slowly learning and making progress, however, a series of tutorials which, start from a barebones game loop and build a small game would make things much faster for new users and provide a nice starting point for the rest of the learning process.

Just my 2 cents. So far I am really loving this engine...keep up the great work!
#9
06/14/2008 (11:44 pm)
I think the problem with the starting tutorials is that they assume you know everything else except for that particular topic. So they are dependent on each others. Not sure if that makes any sense but it is like.. to read this you need to have read that.. but that in turn requires you to have to read the first thing. Now it doesn't say so explicitly... and it's kind of an overstatement. It is rather the lack of the opposite that is disturbing most people.

Really now.. I am making no sense I feel.

But what people really want is a beginner's tutorial that assumes people know nothing and gets them through to make a simple game from a "bare minimum" example. Yes, they may very well end up with one of the sample games in the end but the difference is that they got there themselves and understand the code without having to go through the hassle of experimenting their way to it.
#10
06/15/2008 (6:29 am)
Yes, a basic "ABC" guide to setting up a single & multiplayer game would be fantastic. The following things are important to a newb:

File/folder placement (especially important for multiplayer with client and server on separate machines)
BASIC settings, such as IP address, firewall exceptions, and other code locations as needed

Once this basic configuration is explained, modification becomes more a matter of learning the code and scripting syntax instead of trying to figure out how to separate client/server for your uber-awesome MMO...
#11
06/15/2008 (6:44 am)
Good suggestions so far everyone. Very valuable information in this thread.

@Mark Mo - I have a quick question in reply to the file/folder comment you made. In the Getting Started, Porting Guide, and New Project Generator docs, we covered the folder hierarchy. So, in your opinion, those particular sections were not helpful?
#12
06/15/2008 (7:02 am)
Perhaps I am missing something here that has been addressed in existing documentation. You mention the New Project Generator docs. Where might I find said docs?
#13
06/15/2008 (7:22 am)
@Mark Mo - Check out my latest posts here: Official TGEA Documentation Feedback Thread

You'll find the doc updates described in detail, including location. This, by the way, is new to TGEA 1.7.1
#14
06/15/2008 (10:34 am)
Ah yes, 1.7.1 is much improved in the docs department. Thanks!
#15
06/15/2008 (1:29 pm)
Guys,

I had exactly this problem so I wrote my own tutorial as I learned:

http://tdn.garagegames.com/wiki/TGEA/CompleteBeginnerBlog

it should get newbies started on seeing how the game fits together and I am
nearly ready to do the 3rd chapter on AI's as soon as the containerRayCast function decides to behave itself