Plans and goals for TGB
by Arthur Ogawa · 02/18/2007 (12:05 am) · 12 comments
My goal for my work with TGB is to help make it the best game development environment for the Three Worlds.
My plan is to work on documentation, sample applications, and other types of learning tools. The more people using TGB with ease and competence, the better it is for all of us.
I have undertaken to create on TDN a complete TGB class reference, including not only member fields, methods, and callbacks, but also sample code illustrating each one in a non-trivial way. I intend to also take a systematic look at the console functions (there are 400, arranged in 42 groups).
I have made a small start by working on the TGB Reference, the TGB GUI Overview, and several classes, including SimObject, SimSet, SimGroup, GuiControl, and GuiControlProfile.
I have also submitted a resource, the Gui Learning Project, which is my first attempt at supplying sample code. Keep your eyes on that resource; as I develop it further, it will treat more Gui elements.
I have in the works rough outlines of documentation for over 160 classes exposed in TorqueScript, from ActionMap to UnknownChunk. In each case, the member fields and methods have been taken from automated sources like dumpConsoleClasses(), but I have had to sleuth out the callbacks by looking at the C++ source directly. At least it's no longer a guessing game!
In this work, I have had the kind support of GarageGames, and, in particular, Matthew Langley. Aramanthia gave the TGB Gui Overview its start. In gathering example code, I have made extensive use of code put up by users and comments on the GG Forums. In future, I hope to interest people in joining me in this effort. Please hop in, the Wiki is always open!
My plan is to work on documentation, sample applications, and other types of learning tools. The more people using TGB with ease and competence, the better it is for all of us.
I have undertaken to create on TDN a complete TGB class reference, including not only member fields, methods, and callbacks, but also sample code illustrating each one in a non-trivial way. I intend to also take a systematic look at the console functions (there are 400, arranged in 42 groups).
I have made a small start by working on the TGB Reference, the TGB GUI Overview, and several classes, including SimObject, SimSet, SimGroup, GuiControl, and GuiControlProfile.
I have also submitted a resource, the Gui Learning Project, which is my first attempt at supplying sample code. Keep your eyes on that resource; as I develop it further, it will treat more Gui elements.
I have in the works rough outlines of documentation for over 160 classes exposed in TorqueScript, from ActionMap to UnknownChunk. In each case, the member fields and methods have been taken from automated sources like dumpConsoleClasses(), but I have had to sleuth out the callbacks by looking at the C++ source directly. At least it's no longer a guessing game!
In this work, I have had the kind support of GarageGames, and, in particular, Matthew Langley. Aramanthia gave the TGB Gui Overview its start. In gathering example code, I have made extensive use of code put up by users and comments on the GG Forums. In future, I hope to interest people in joining me in this effort. Please hop in, the Wiki is always open!
#2
02/18/2007 (9:36 am)
My newest hero!
#3
02/18/2007 (6:36 pm)
Arthur this is an admirable task and will undoubtebly be a great way to learn about the different parts of the engine.
#4
This is exactly what i have been looking for!
Great work, looking forward for future updates :)
02/19/2007 (6:56 am)
Oh my god!This is exactly what i have been looking for!
Great work, looking forward for future updates :)
#5
This is one of the coolest initiatives i've seen a community member undertake in quite some time, shoot me an email sometime!
Cheers,
-Justin
02/19/2007 (9:10 am)
Looks like Arthur has figured out the secret to becoming a GarageGames associate :)This is one of the coolest initiatives i've seen a community member undertake in quite some time, shoot me an email sometime!
Cheers,
-Justin
#6
I have updated the documentation for SimObject, SimSet, SimGroup, and GuiControl to include Callbacks and Usage notes. I revised the Glossary so that it has a complete list of the enumerated types of TGB.
Callbacks are not consistently part of the output from dumpConsoleClasses(), unfortunately (although some mysteriously appear anyway). I did a full source search for them and placed the updates in my local documentation tree. I am adding documentation of callbacks to a class's documentation as I revise it.
The goal of Usage notes is to exhibit each of the class member fields and methods in a context that makes the intended use of the class clear. The above Wiki pages now contain that information.
I have also taken a look at the TorqueScript Quick Reference (there are three web pages involved). I have added hyperlinks and made some emendments and edits. I have also added some code examples, so that it is more clear how things work. The third page documents the function calls in the engine that expose or implement TorqueScript features. One was missing: Con::executef(), which is how callbacks come about. It is now added to the list.
Does anybody know the history of these pages? Am I right that they are taken from Edward Maurina's book?
02/19/2007 (9:15 am)
Thank you for your kind comments and your encouragement. I wrote:Quote:If you have not looked at these Wiki pages since Friday, I suggest you look now. I have updated the Class Hierarchy in the two documents so that they are complete (with 12 pesky exceptions) as of 1.1.3. There are 170 classes in TGB 1.1.3!
I have made a small start by working on the TGB Reference, the TGB GUI Overview
I have updated the documentation for SimObject, SimSet, SimGroup, and GuiControl to include Callbacks and Usage notes. I revised the Glossary so that it has a complete list of the enumerated types of TGB.
Callbacks are not consistently part of the output from dumpConsoleClasses(), unfortunately (although some mysteriously appear anyway). I did a full source search for them and placed the updates in my local documentation tree. I am adding documentation of callbacks to a class's documentation as I revise it.
The goal of Usage notes is to exhibit each of the class member fields and methods in a context that makes the intended use of the class clear. The above Wiki pages now contain that information.
I have also taken a look at the TorqueScript Quick Reference (there are three web pages involved). I have added hyperlinks and made some emendments and edits. I have also added some code examples, so that it is more clear how things work. The third page documents the function calls in the engine that expose or implement TorqueScript features. One was missing: Con::executef(), which is how callbacks come about. It is now added to the list.
Does anybody know the history of these pages? Am I right that they are taken from Edward Maurina's book?
#7
GuiCanvas,
and for all of the button-like controls, namely:
GuiCheckBoxCtrl,
GuiBorderButtonCtrl,
GuiToolboxButtonCtrl,
guiT2DObjectCtrl,
GuiIconButtonCtrl,
GuiBitmapButtonTextCtrl,
GuiBitmapButtonCtrl,
GuiButtonBaseCtrl,
GuiBitmapBorderCtrl,
and
GuiRadioCtrl
I think in future, I will add reference pages for the classes as they come up in questions in the Forums. If you like what your are seeing, post a comment here, and I will write up the class documentation for your nominated class.
Also, please do not hesitate to contact me about any errors or shortcomings you see. And do feel free to get into the wiki and contribute your own comments and examples.
02/26/2007 (8:54 pm)
I added documentation for GuiCanvas,
and for all of the button-like controls, namely:
GuiCheckBoxCtrl,
GuiBorderButtonCtrl,
GuiToolboxButtonCtrl,
guiT2DObjectCtrl,
GuiIconButtonCtrl,
GuiBitmapButtonTextCtrl,
GuiBitmapButtonCtrl,
GuiButtonBaseCtrl,
GuiBitmapBorderCtrl,
and
GuiRadioCtrl
I think in future, I will add reference pages for the classes as they come up in questions in the Forums. If you like what your are seeing, post a comment here, and I will write up the class documentation for your nominated class.
Also, please do not hesitate to contact me about any errors or shortcomings you see. And do feel free to get into the wiki and contribute your own comments and examples.
#8
But in any case, TGB users need a guide to console functions, and right not there is none as such. This needs looking in to. Of course.
03/01/2007 (8:56 am)
I created a Table of Contents and Index by Function Name for the TorqueScript Console Functions (really the TGE console functions). Now that I have a handle on TGE, I am looking at creating a like guide to the console functions of TGB. TGE has vast areas that TGB knows not of, and this difference extends to the console functions. Perhaps I will start off by simply annotating the existing guide as to the differences between TGB and TGE. But in any case, TGB users need a guide to console functions, and right not there is none as such. This needs looking in to. Of course.
#9
@Arthur - nice work on the TGB docs... I really need to get around to using TGB, people seem to doing some pretty sweet stuff with it. :)
03/04/2007 (1:10 pm)
@Justin - Hmm I don't know... I done a fair bit for GG (internship, working on GDC booth, tse starter.fps etc etc etc) and I'm still a member... guess I didn't pay off the right person... lol :p @Arthur - nice work on the TGB docs... I really need to get around to using TGB, people seem to doing some pretty sweet stuff with it. :)
#10
03/05/2007 (11:24 am)
Great stuff! Highly appreciated, keep up the good work.
#11
03/16/2007 (6:01 pm)
Just the kind of guidance I've been looking for, somebody give this man a cigar!
#12
My most recent item is a compendium of all of the console functions of TGE and TGB, including links to the TDN docs for each function. I am trying to understand better how the docs for the console functions need to be organized. Any help with this would be appreciated.
03/16/2007 (8:15 pm)
Thanks for the kind words, folks! I have decided to maintain a list of documentation items I have either authored or edited (in more than a minor way) on my TDN User Page.My most recent item is a compendium of all of the console functions of TGE and TGB, including links to the TDN docs for each function. I am trying to understand better how the docs for the console functions need to be organized. Any help with this would be appreciated.
Associate Tom Eastman (Eastbeast314)
Make sure to occasionally blog about your progress so that I'll remember and go add some stuff. It would be really neat if every week you posted and said let's tackle these three links and then everyone could go in and merge their knowledge on a few methods or whatever.
Good luck :)