Game Development Community

Topic: VC++, .cs & .gui files and getting up to speed

by Richard Bottoms · in Torque Game Engine · 09/27/2004 (7:31 pm) · 28 replies

I added a comment in another thread about this but the idea bulb just went off about a central problem of why newbies have such a hard time getting up to speed with TGE.

Why aren't the .cs & gui files for each demo included in the VC++ project? I think TGE would be so much easier to get a handle on if the project included a number of game examples from a simple 'Hello World' to the full blown Starter.fps.

Frankly, you can build an entire game without ever modifying the C++ code once it compiles correctly.

Each example would have it's own .cs & gui files in the project so that the user just has to compile/run/changes/re-run to see the effect of changes to the scripts.

Up to now I have been using VC++ & Visual Slick Edit to work with Torque. A unified approach would make it easier to work the project in either VC++ or Eclipse.

This me be helpful in getting folks up to speed with TGE.

(BTW, anyone know where to change the settings in VC++ to add extensions to the file add drop down list?)
Page «Previous 1 2
#1
09/28/2004 (1:32 am)
This would just make it more likely that newbies will wrongly assume that they need to recompile Torque every time they make changes to scripts.

It would also lead to more beginners thinking they need to use VC++ when there are actually several other options available to them, even on Windows.

Personally, I don't think GG should be responsible for providing configuration files for every IDE that can be used with Torque, as the current makefile and project files are enough.

If there is a demand for this sort of thing, it would make more sense for an end user to create the necessary files and add them to the resource section.

jEdit and the TIDE plugin are already mentioned in the official docs, and there are syntax highlighter files available for various text/code editors that have project organization capabilities.
#2
09/28/2004 (3:02 am)
>This would just make it more likely that newbies will wrongly assume that they need to recompile Torque >every time they make changes to scripts.

Or you could just include clear instructions that say you don't need to recompile if you change the scripts. And I did mention that the same setup could be used in Eclipse which is free.

I've heard for almost eight years how newbies should stop complaining and just write what they need in Java/Perl/Python/C/C++/TGE. Know what, newbies need good examples, a sensible setup and help. RTFM and code up your own tools boy just doesn't cut it.

3D Game Programming All-in-One is somehting that this community has needed for years: a way to get started even if you aren't a programming god. I've been writing in all of the language I've listed for projects of all kinds for more than 10 years and even I need a well worn path when trying out a new language/technology.

Making it easy to get onboard is not hearesy. I have no desire to go digging into the code that makes Torque work anymore than I have to. The book and the Single Player Starter Kit have been more help then almost anything I've come across here because they are easier to take apart than previous examples. And that's still not enough. A demo that is complete is less help than a skeleton that you add pieces to as you learn how things work and are connected is invaluable.

IMHO, TGE for the VC++ environment should ship with a Hello World project named Hello World since it's the first thing we are all taught to look for when learning a new language. If you don't need it cool, but there are others who do.

And besides what will help make Torque reallly grow will be artists who have limited coding knowledge who can add assests to a game frame work, musicians or database geeks who can use the part of Torque that highlights their skills like modders of Half-Life who specialize in skins and nothing else.

The model I have advocated for TGE is similar JBoss. An open source project with great docs from almost day one. They have made money for years selling their documentation while giving their app server away. At $100 the pricing for TGE is fair and more than reasonable for the amount of technology you get. The company is just now hitting its stride because there is at last sufficient documentation for cool things to be created by people who are code tweakers and not just C++ experts.

I am happy with the progress. I intend to buy the Shader, AI, and RPG packages. My hope is the examples inside will be clear and well documented with what I need to know to put them to use quickly.
#3
09/28/2004 (3:12 am)
GG has posted that they are attempting to make the engine more user friendly. One of the areas they are tackling is having downloads instead of CVS checkouts. New people tend to ask a lot of questions on that.

For the scripts, dts shapes, quark files, etc that are used in game, I would keep them seperate from VC++ for the reason mentioned above.

Torque Explorer seems to have promise of doing many of the things that you mentioned. Maybe Lars Boldt could add a wizard for game construction (if its not already in there)
#4
09/28/2004 (3:23 am)
>GG has posted that they are attempting to make the engine more user friendly.

Cool. I have been battling for years this notion that if things are made too easy then the noobs will just mess things up. Fact is the noobs will scoop up books and software to help them make something cool to amuse themselves even if it never becomes a full-fledged game.

Artists and musicians in particular need to find their way into Torque for the really beautiful games a long the lines of NWN to come along. A hundred bucks each for VC++.NET and Torque is a pretty low barrier to entry if it's easy to get the assets in and out of the game environment.
#5
09/28/2004 (7:01 am)
There is another reason for not including script files into VC. in VC.net cs is the extension used for C# source files. I use TribalIDE for scripts. Often at the same time as i am using VC. Quite often I am stepping through scripts in tribalide when i hit a breakpoint in VC!
#6
09/28/2004 (9:50 am)
>There is another reason for not including script files into VC. in VC.net cs is the extension used for C# source >files.

Good point. I think the Eclipse setup is probably the best way to go. I got the make file and import to work but compiling failed I think do to not having the DirectX includes & libraries setup right. Got to go back and get that sorted.

I'd love to switch to Eclipse exlusively and having a vry clear setup FAQ for the process might be another selling point of rTGE. Not only is the engine inexpensive but the compiler and IDE are free.

On top of the many things for GG to work on, making Eclispe work painlessley with TGE would be a big step in get cash strapped college students to take the plunge. If they only have to spend the $100 for the engine you've got another sale.
#7
09/28/2004 (10:20 am)
Eclipse is what is used internally here at GG, but is way too hard for newbies. Our standard answer is:

Windows- Use VC++ 7.1. The cost is $79.95. We provide extensive documentation and project files.
www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=5288

And here are some very nice step by step tutorials about how to set it up:
www.garagegames.com/docs/torque/general/apbs02.php#setupengine.win.compile_vc71

If you still want to use Eclipse, a search on the resources for "eclipse" produces this:

www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=4948

Mac- X-Code. Free with the computer.
Linux- You are on your own, You know what you are doing.
#8
09/28/2004 (11:30 am)
>Eclipse is what is used internally here at GG, but is way too hard for newbies.

I'm happy with my vc6++ setup, but hope to solve the riffle of Eclipse soon.

BTW, congrats on all the new packages adding on to Torque. GDC 2005 should be your breakout year.



r.b.
#9
09/28/2004 (12:11 pm)
BTW, I ham using a specialized the Eclipse package modifed for use as a Palm development & simulator platform. It comes completely configured. Just install, run update and you are ready to go. Any Eclipse gods want to help craft a similar package for GG?

Noobs wouldn't have to deal with any of the nasty stuff.
#10
09/28/2004 (12:15 pm)
I'm having trouble following your logic. You want an easier setup, which should attract more of the non-coders (artists) to the scene. But you want to do this by tieing torque into a compiler?
As for a hello world app, there pretty much is one, it just doesn't come prepackaged. Check out John Vanderbecks min-app series to see how to start from nothing, and end up with something similar to starter.fps
#11
09/28/2004 (12:22 pm)
Did you see this page?

It has all of the tutorials you are asking for.

www.garagegames.com/mg/projects/torque1/
#12
09/28/2004 (12:41 pm)
I personally think; *without attempting to step on any toes and/or directing this at any one individual (*disclaimer); that newbies asking for a simple crash course to get them going in VC++ or other programming languages so they can do the things that the veteran programmers are doing is ludicrous. That is like a 12 year old asking NASA to give him a crash course in flying the shuttle into space and returning to earth.... odds are he will blow the heck up!

However, I do agree that simple (and I do mean SIMPLE) tutorials teaching the basic little things, such as Hello World, are good ways to help newbies get their feet wet, prior to them studying their butts off like the rest of us did. You've never heard of a "1-week-newbie-I-need-it-quick-because-I-am-too-lazy-to-attend-your-school" college degree have you?

I believe the in-game editor for TGE and the pre-existing starter.fps, or demo tutorials, are good for newbies that don't want to modify the C++ code portion of the engine and just want to get something on the screen.

But for those noobs that want to jump right into C++ and the scripting portion of the engine without any prior knowledge and just a few simple Hello World tutorials, well, that is about as effective as this tutorial:

TOOT HORN TUTORIAL
===============
1.) This is a car
2.) This is the steering wheel
3.) This is the horn
4.) Press the horn down with your hand (*beep*)
5.) Congratulations, you have just finished the TOOT HORN TUTORIAL.

Now go to the garage and build a car from the ground up.

...nuff said.

As far as .cs, well, I can see where a newbie might need a little better (tarded up version) of the exisiting tutorials out there.

Basic Gui Tutorial
www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=6482

But there is nothing worse than a "game programmer" or "hack programmer" who says, "I don't have the time to learn your engine stuff, give me a pre-built tutorial that I can copy and paste". These people are the ones that copied their answers off of the student next them in class. You have to take the time if you want to learn.

There are plenty of tutorials, scripts and examples on the GG forums. There is also a lot of community sites out there that provide a lot of help. A little bit of searching and research can go a long ways.

You also have to look at this from the GG guys perspective. If they waste a lot of time going back and SUPER-DOCUMENTING the hell out of every thing, they cut back on the time that they have to enhance the engine or add new features. As Dan stated above, GG is working on making the engine more user friendly. But I suspect they aren't going to cough something up in a weeks time.

I praise GG for all their hard work, as do I praise the community for all their contributions and any help they provide on the forums.

Wow, here's an idea.... how about all the noobs who figure stuff out as they go along, create noob tutorials of their own. Instead of asking the intermediates or veterans to provide them all the time. Maybe start a noob tutorials for noobs by noobs forum.

Anyway, it's hot here in Phoenix, I'm a bit grouchy (from my neighbors jamming their music), and it's beer-thirty.

Later,
-Trent
#13
09/28/2004 (12:58 pm)
>I personally think; *without attempting to step on any toes and/or directing this at any one individual (*disclaimer); that newbies asking for a simple crash course to get them going in VC++ or other programming >languages so they can do the things that the veteran programmers are doing is ludicrous.

Well since I nver suggest that, I agree. There are howevr many programmers who are pretty proficient in a number of languages who would appreicate an environment that is well thought out to get them into the things they need to know use TGE.

Knowing C++ and knowing how game engines work along with external scripting languages are not the same thing. I know and understand C++ well enough to do what I need to do, and can even add my own modules to the TGE if I want.

What is helpful to any programmer are flow charts and diagrams of the pipeline of the system I am trying to learn and possibly modify. GG is getting up to speed in the docs department and it's not just for the noobs. It for anyone who wants to understand and use the software they've bought.

>Wow, here's an idea.... how about all the noobs who figure stuff out as they go along, create noob tutorials >of their own.

Sorry, I'm lousy at writing tutorials and besides, while I appreciate the help I get in the forums and such, TGE is a product I bought, not a lifestyle I chose. I expect a certain level of support for it and I don't think my expectations are out of line for the price.

I answer questions when I can, but this is not a charity, it's a business, and good practice in the software business is to make clear documentation available, even if means paying extra for it. No reason the docs can't be a profit center. :-)
#14
09/28/2004 (1:06 pm)
TGE's enhancements for the next year will be to make it easier to use and better the OOBE. Our first step in doing this will be to get rid of CVS. While source code control is powerful, and it should be seen as a great feature, we are waving the white flag and going with installable Torque source. Subversion will be used for SCC and will only be available by permission. Next we are creating a "plug in" architecture for editors that will allow us to include simpler versions of things used a lot such as a simple editor/debugger, a better show tool, and eventually, maybe even a simple 3D .dts and .dif editor (any volunteers? there is money to be made here). Of course, documentation, sample code, and tutorials will be getting alot of attention.

We will also be releasing non-compiler versions of Torque that are programmed via TorqueScript only.

Having power is great. Allowing anybody that wants to work hard to get to that power is even better. That said, I will take the more powerful engine without the glass ceiling any day over the click and play game maker that can't take you all the way.

-Jeff Tunnell GG
#15
09/28/2004 (1:07 pm)
@Trenton: Beer-thirty at 12:30 afternnon?? Man, I'm moving to Phoenix! :)

I've been coding for almost 20 years, make my living at it (currently in healthcare, but have worked in many other industries), and consider myself a fairly advanced applications developer. But during these last few weeks with my Torque SDK ... well... I feel like I did when I sat down in front of my PCjr for the first time !! Completely overwhelmed .. Excited, but overwhelmed.

But does that mean that there is a lack of "noob" tutorials, or sufficient documentation, or of community members *and* employees who are willing to help? No, I think we all agree that GG/et. al. has provided all of the above. And the quality of each item is superb. At first, I did find myself wishing for a "roadmap," but quickly realized that such a roadmap would be so genre specific, it would still leave many people out. Lets say a FPS roadmap was published. Then, all the RTS folks would say: "That's great, but what about me?!?" Racing game roadmap ... space shooter folk say "That's fine, but I need this ..."

The point is, as I think Trenton was getting at, we (as developers in general, not just as noobs) need to be able to take what is provided and mold it into something of our own. That's the whole point, creativity and critical thinking. It takes both. That's just not something that is taught overnight through a few simple tutorials and walkthroughs. It takes time.

So, what I'm attempting to do is, lay down my "oh-my-God-I'm-such-the-kick-ass-application-developer-in-my-little-50-mile-radius" attitude and realize that I have *a lot* to learn ... in this engine and this industry. One day, hopefully, I'll shed the "noob" tag, but it won't be tomorrow, or next week, or ... heck ... probably not even by Christmas. But hard work, participation, and a fresh, open mind are the best things a noob can do for themselves, I think.

Later!

Eric Rudisill
#16
09/28/2004 (4:11 pm)
Here is what we are doing to learn Torque. First thing I did was ran the starter.fps... loaded a mission and then exited. Then printed out the console text file that it generated. Then did the same thing to the racing and tutorial game. Then went down the list as it executed the scripts. Studied the scripts and with the resources from here I started playing with the script. It just takes some getting used to. Try the different tutorials as well. By doing this you start learning how Torque works. Just keep going down the list and trying different things. I don't think I will know everything about Torque, but I will know the general idea of how it works. We are also going to write tutorials as we learn new things. This will reinforce are learning and also gives us a chance to give back to the Torque community.
#17
09/28/2004 (9:25 pm)
I've been around here for three and a half years and I have seen the same questions asked over and over and over and over....*most* of which have clearly documented answers.

I have been forced to come to the conclusion that no matter how much documentation and how many tutorials you write, you *can't* force people to read them and the vast majority of the people who come to this site *won't* until they have been told that the answer to their 134th question is yet again in the documents.

I have also seen enough people learn and use TGE with little or no docs, to know that those who are capable of using TGE will be able to do it with or without documentation. I'm not discounting the docs...they can be great time savers when used as a reference but an experienced programmer or artist will be able to do their job with or without them. Documentation can help an experienced developer but it can't make a person one. Documentation also won't force you to buckle down and work which *is* the key to becoming an experienced developer and the key to learning TGE.
#18
09/28/2004 (9:56 pm)
>I've been around here for three and a half years and I have seen the same questions asked over and >over and over and over....*most* of which have clearly documented answers.

I think in large part that is due to the lack of books on using the engine. Within a year of the Internet hitting it big you could find dozens of books about HTML in major book stores. We finally have a pro level booK for Torque.

3D Game Programming All In One signals a tide of books about TGE and the games created with them I think. As convenient as the Net is, I still use my collection of Perl books from O'Reilly more than anything online to answer my programming questions about the language.

A well written book with a zillion examples of how to do the simplest thing in the correct order to build proficiency is invaluable. And much appreciated in the Torque world.

I am an experienced developer and understand the concepts of Object Oriented Programming reasonably well. What I am not, is a heavy duty game modder, at least not yet. That's a mindset I am just getting a handle on and it is critical to being good with Torque, moreso that any specific ability with C++. Because other than getting my compiler of choice to serve up an .exe file I dodn't expect to be doing much with the guts of TGE. I wait for the next update to the code, recompile and continue on my merry way.

I bought TGE for the right to sell a licensed finished product, not to jazz up the underlying code except for the one area that is my expertise: communicating with a back end server. Cool graphics are just a plus for me.
#19
09/28/2004 (11:01 pm)
BTW, here's an example where the community documentation is ambigous.

I've been trying to get GuiAviBitmapCtrl working. I do a search and I get this forum discussion:

http://www.garagegames.com/mg/forums/result.thread.php?qt=6038

The discussion goes all the way up to a few days ago, not counting my post. Problem is look at the fix proposed:

In engine\gui\guiAviBitmapCtrl.hChange the below line (11) from: #if !ENABLE_AVI_GUI || !ENABLE_MPG_GUIto #if !ENABLE_AVI_GUI && !ENABLE_MPG_GUI....

Problem is this was posted in 2002.

Should I make this modification or not? Surely it's been fixed by now, or maybe not.

So an intrepid and inquisitive developer may be excused if he doesn't always know which advice to take from the forums.

And I still don't have my cut scenes working.
#20
09/29/2004 (3:52 am)
Richard,

I would put it to you that an "intrepid and inquisitive developer" would wonder why GuiAviBitmapCtrl was disabled in the first place, then read through the code to figure out why.

To put my money where my mouth is ...

On Line 8ish is a comment ...

// This control currently disabled until streaming is
// added back into the audio library

Hmm. Sounds like it's not going to work, eh? Lets look a bit further ...

#if defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD)
#if DEDICATED
#define  ENABLE_AVI_GUI    0
#define  ENABLE_MPG_GUI    0
#else
#define  ENABLE_AVI_GUI    0
#define  ENABLE_MPG_GUI    0 // was 1
#endif
#else
/* Windows */
#define  ENABLE_AVI_GUI    0
#define  ENABLE_MPG_GUI    0
#endif

You dont need to know anything about Torque to figure out what that does. If the OS is Linux and we're not building a ded server, it used to be enabled. Interesting. Even more interesting, the else ensures that if the OS is NOT linux, it assumes it's windows. What happens when we build on Mac ? Doesnt work. 60% of sales come from Mac, and theres no Mac implementation. That means writing one.

The next logical step is to re-enable the control and see what happens when we try and compile it. If that works, see if it actually works in a gui. I'm not actually going to go that far because I dont have the time right now.

So, time to stop and think. I'm an indie ... do I *REALLY* need cut scenes ? They take a lot of time to make, they increase the download size a lot, and it's going to take a fair bit of work to get the avi control working. If I decide I *REALLY* need cut scenes, perhaps there is a better way to do them. However, since I am sensible I decide to drop cut scenes and thus increase my chances of actually shipping a game in a reasonable time frame.

Even though the code is old and more then likely wont compile, let alone function, following these simple steps that any programmer should know how to do regardless of what their background is, it's a good learning experience for how TGE fits together. The early days of learning the engine are full of such opportunities ... grasp them with both hands and run with them instead of bottling out and moaning on the forums about lack of such and such.

Just for the record, when I first got my grubby hands on TGE, it took me roughly a week to get up to speed enough to feel confident in doing GUI stuff. A week after that I felt confident enough to modify the fps mod ... adding weapons, teams, HUD elements, etc. This was with no reference to docs and only one or two forums posts where I couldnt figure something out. In total it was about a month or two before I felt confident enough to actually make a fun game. Most of the people I know and work with regularly from the community started out in a similar way.

Tom.
Page «Previous 1 2