Previous Blog Next Blog
Prev/Next Blog
by date

My Viewpoint on GarageGame Products

My Viewpoint on GarageGame Products
Name:Pisal Setthawong
Date Posted:Jun 07, 2006
Rating:4.0 out of 5
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Pisal Setthawong

Blog post
During the last few months, I've been a regular visitor of the GarageGame website, coming on a daily basis and mostly going through the forums and code base. To mention a little about myself, I first bought the TGE back in 2002 because I thought it was promising 3D engine with a number of AAA titles. One of the evaluation criteria with me in using Engine is to pick some Engine with proven credentials instead of looking only at demos - in which I have to say was partly due to being somewhat duped in another game engine that I bought earlier.

In my first trials with the TGE, I thought that TGE was only suited to make FPS games based on the demo that came with the earlier versions of TGE. Since what I planned then was a completely different game than a FPS, I stopped using TGE a few days after I bought it and went to other engines. I thought that TGE was mainly used to make FPS and wasn't that flexible (as you know it, I was completely wrong then), and the documentation, oh well was rather in pieces there. After that, I was dabbling with C++ alot and much later I enjoyed using the Ogre3D engine.

However back in April of this year, one of my customers was asking me to develop a game for them. It was a simple 3D platform game about the virtues of heaven and hell. However their artist only knew Lightwave, and I was in a fix as Ogre3D has a load of problem with the Lightwave exporter. After going through the details of Ogre3D, I've found that the Lightwave exporters are either broken or doesn't have complete features that will allow us to get the Lightwave models into a format the engine can use. There were a number of solutions. The first one was to fix one of the exporters to make it work. Another was to write a new exporter. The problem is that I don't know anything about Lightwave at all, and doing that would be a mammoth expedition considering my own limited knowledge. Since I had only a few months to get the game done (including most of my artist team members provided by the company were all new to game development art), I had to quickly change to another engine. After consulting with a few colleagues, one of them pointed out to TGE, which incidently I had, was Lightwave friendly.

One of the pleasant suprises was that I found my account was still around even after nearly 4 years of inactivity, and I could download the TGE like I did before without any hassles. After going through an early prototyping stage and documentation, I was geniuely surprised to see that there were vast improvements on the documentation, forums, and etc. One of things that I've always liked more than computer based documentation is hard books that are good for the sore eyes. As I needed to quickly get started on an unfamiliar engine, I quickly bought all the books about Torque.

I got 3 books, the first was Kenneth Lay's Beginning 3D Game Programming All-in-One (Torque) which I found a little too sparse for a programmer. As myself have some experience in the game development pipeline, I think some of the chapters regarding making art are not really needed as we have artists, but thinking about the intent of the author, which wanted to paint a complete picture so that a one man studio can emerge. Unfortunately the first book was dated that many things had to be changed to make the examples works. Regarding the second book in the series, the advanced book, its a great supplement to the first book on a number of sparse topics. The last book I got was Game Programmer's Guide to Torque by Edward F. Maurina III which I liked alot. As being on the scripting programming side, that book was an invaluable help in finding more information about the quirks and naunces of TorqueScript and TGE in general. The only complaint is that the index is unfortunatey sparse. This makes it hard to make quick references to the book. I ended up posting postIt notes no various pages on different topics to make lookup easier.

The web references are unfortuantely disjoint, but at the end of the day, after getting used to the google search function, I've managed to find alot of material that I needed. That was a welcome addition to the site since last gone. The Torque Developer Network (TDN) at the moment might seem a little sparse, but looking through it, I do believe it could organize information better than the earlier forum/resource system.

On my dabblings for the last 2 months, and finishing most of the early groundwork for the game, I have to come to appreciate TGE. As I'm a huge believer of the scripting approach, I found TorqueScripts to be very intuitive, useful, and a powerful tool. Adding new console commands are also easy in TGE, and with that I've managed to add a few useful console instructions to my own TGE. That is the great part about getting the source code of the engine - it allows flexibility to add custom things to the engine. The hindsight is too much customization can cause problems, and that is rather true considering I did a few dodgy changes with the engine causing numerous new bugs LOL Another issue is that some documentation on lesser used features such as Unicode and Joystick support is not mentioned enough, and finding information on those is rather difficult. Though I liked TGE alot, there are a number of issues that I felt is a drawback. I'll list a number of them down:
1) Multiple KeyBinds isn't allowed though at times I think it might be useful
2) Debugging is difficult at times with Torque Script as TGE ignores errors in the scripts and runs with the last compile version. One useful thing that could be added would be if it was possible to provide summary of errors/warnings at certain parts of the runtime to a place. One of my early mistakes was that I didn't know I made a syntax error elsewhere in my script, and cause changes in other parts of the file not to reflect on the game as using the older version.
3) The graphical engine is unfortunately rather outdated. In this case, it is expected, but using the Synapse Lighting Kit or the DRL resouce here could help prolong the use of TGE. In an early demo of my game against a direct competitor that used Shaders, the customer liked my version more, and all it has to do with graphical direction. On a hindsight, I bought the TSE because I thought I needed more graphic capability, though I decided not to utilize it for this project. (I'll talk about it later).
4) The particle system and adding new objects causes delays in the system that might be significant. Heard there was a memory leak in the particle system based on one of the forums, and plan to patch that up soon.
5) It takes time to understand the TGE architecture that is based on Client and Server model. Due to that system, many people find it excessively hard to understand the system - especially newer programmers who want simple single player games. However on a hindsight, I get to appreciate the system as it does force programmers to think differently in making the game. I mean who knows when you want multiplayer support and at the end you got to change the whole architecture of the game? In TGE the worry is less as I'm forced to rather do that :P

I'll be working on my game project for the next 2 months. After that, its time for planning something new. Got new classes to teach then, but I do fancy working on another game. I haven't really thought of something up at this moment, though I've been looking at TGB (Torque 2D) and TSE for my next project. Based on my short dabbling on both, I've noticed both of them are still in the Beta stages, and by my own experience with beta software (Thank you Micro$oft for all the blue screen betas :P) I learn not to use Beta software for projects that need to be deployed due to the huge possibility of failure due to errors that are beyond our reach.

For TSE, I've bought the early adopter release because I got it because I have trust in GG. If they could keep my TGE account for 4 years even though I haven't visited them, I have to admit I do think that they could do the same with TSE :P Anyway, back to the serious part. On my own usage of TSE, I remembered that I was highly hooked on the Goblin(or what do we call that dude) sample and its detail so I just bought it. However after buying it, I just noticed there were no shadows in TSE, how could I overlook that detail? Anyway since TSE is lacking a few key features (like the example of shadows earlier), somewhat less documented than TGE, I didn't use TSE for my earlier project and decided to play safe. What would TSE be? I don't know. By the looks of it, it did seem delayed for a while, but as usual, which software project was not delayed? I'm a patient person, so I won't mind going off doing something else and later coming back to use TSE some years in the future when I have a project that requires TSE :P

The other product that I've bought and used was TGB, which I just got a few days ago. Since I was used with the Torque architecture, TGB was extremely easy to use. It was easy to make 2D games, like the GameMaker software, though in this case, I felt more comfortable. Since I didn't use TGB that much I don't have too much comment on it. The main concern is when I'm using my notebook instead of my desktop. Since my notebook is rather aged (Centrio 1.4 GHz, with 768 MB RAM), one of the first problem of TGB appears. TGB is a memory hog. Using the simple Fish Demo requires ~160MB of the system RAM causing the slowdown of the whole system to an unacceptable level. On a hindsight, my game created with TGE which is a memory hog due to the artistic director's demand for excessive amounts of objects in the scene takes less memory! Having a too memory requirement for a simple 2D game is not acceptable considering that most 2D games end up being casual games. In the private forums there was talk about the memory requirement, and it seems this issue is still being worked on. Anyway since TGB is in the early stages, I don't have too much complaints. I don't complain about beta software because I expect them to be broken. I use beta software because I want to evaluate the software and so that when it is finally released, I can get a headstart.

All in all, that sums up my long and rambling post about my own experience with the Torque Experience. Its personal, its long, its rambling, but hopefully it could be useful other a simple rant. For older more established developers, I apologize if you read it :P For newer developers, best of luck! Torque isn't hard as you think if you try. Took me a month from nothing to learn TGE and strip down the FPS example into a 3D platform game. There are also books on the topic, a google search form, and the rest is just dedication and just simply pure hard work. Talking about it, I just seem to like preaching what I like to say in the classroom :)

Recent Blog Posts
List:08/23/07 - Thai Computer Game Museum calls for Developers from Thailand
03/15/07 - To Script or Not To Script
01/11/07 - A Game Down and Another Year to Go
12/01/06 - HeavenHell Project - Updates and MoreScreenShots and Random Rants
10/30/06 - Asian Game Developer Summit @ Singapore from December 9-10, 2006 and Etc.
08/07/06 - My Cg Update and Random Musings
06/14/06 - Working on Implementing Glow Effect (Cg) on TGE
06/07/06 - My Viewpoint on GarageGame Products

Submit ResourceSubmit your own resources!

Paul /*Wedge*/ DElia   (Jun 07, 2006 at 04:38 GMT)
Just a couple notes on your points:

1) Multiple KeyBinds isn't allowed though at times I think it might be useful

You mean being able to change what keys do? This is just a matter of pushing and popping action maps, it is very well supported in Torque.

2) Debugging is difficult at times with Torque Script as TGE ignores errors in the scripts and runs with the last compile version. One useful thing that could be added would be if it was possible to provide summary of errors/warnings at certain parts of the runtime to a place. One of my early mistakes was that I didn't know I made a syntax error elsewhere in my script, and cause changes in other parts of the file not to reflect on the game as using the older version.

Try using a script editor like Torsion. It will precompile your scripts and tell you beforehand if you have any errors. Codeweaver will also generally give you an indication if you have any syntax errors in your scripts.

Rubes   (Jun 07, 2006 at 04:44 GMT)
I think he means having multiple keys bind to the same action...It's doable, though.

Pat Wilson   (Jun 07, 2006 at 05:08 GMT)
The Fish demo has some pretty massive art behind it in textures, though. Last I knew they were very high res.

Pisal Setthawong   (Jun 07, 2006 at 06:23 GMT)
@Paul /*Wedge*/ DElia and Rubes

About Topic#1, sorry I didn't specify it that well, actually I wasn't thinking about it at all LOL. I remember I used to have minor problems with behaviors dealing with strange nauces with the input system during my first few days, but at the end I solved it, but somehow the impression still stuck on though most of it was solved :P Regarding the pushing and popping of action maps is pretty nifty I do agree, I do enjoy playing with it especially when having slightly different actions required in different systems (using adv. camera system).

About Topic#2, I was still using the mighty text editor :P I've tried Codeweaver, but I found it alittle too slow for my liking. Will promise to give Torsion a run, it should be somewhere in my computer, thanks for the tip :)

@Pat Wilson
Do agree about the art. Great quality for the fish demo :)

Ben Garney   (Jun 07, 2006 at 06:57 GMT)
Nice post, interesting read, though a bit dense. :)

Stefan Lundmark   (Jun 07, 2006 at 11:02 GMT)
Pisal, if you try Torsion - make sure you get the newest version. It rocks!

Phil Carlisle   (Jun 07, 2006 at 12:44 GMT)
Torsion man... Its just "required" for any serious TGE/TSE/TGB dev. Seriously.

Ray Noolness Gebhardt   (Jun 07, 2006 at 13:46 GMT)
Torsion or Vim? I'll let you decide! ;)

Rubes   (Jun 07, 2006 at 16:46 GMT)
As long as you're not a Mac developer...*sigh*

Ray Noolness Gebhardt   (Jun 07, 2006 at 17:34 GMT)
I use TextWrangler on Mac. Its a pretty rocking tool for TorqueScript. Honestly though I like stand alone text editors for my script editing tasks though.

Jesse (Midhir) Liles   (Jun 07, 2006 at 20:53 GMT)
Not to nitpick, but 3d Game Programming All-In-One was not written by Kenneth Lay, but instead by Ken Finney.
Edited on Jun 07, 2006 20:57 GMT

Paul /*Wedge*/ DElia   (Jun 07, 2006 at 22:16 GMT)
For all we know Enron could've had secret dealings with writing game development books =o

Pisal Setthawong   (Jun 08, 2006 at 02:08 GMT)
LOL, now that is an embarassing typo O_o


I must refrain from writing early in the morning. My sincere apologies :(

Paul Hoza   (Jun 08, 2006 at 05:36 GMT)
I'll put in another vote for the great feeling after being gone from the community for long periods of time, only to return and have your account just the way you left it... offering you to pull down the current copy of your registered product! Good stuff, that. :)

Tim Hutcheson   (Jun 08, 2006 at 13:15 GMT)
I did hear that Ken Lay is writing a new book, "Beginning Prison Programming, All-In-One (Torqued)". He's trying to arrange some offshore publishing units for it now and will have an IPO soon, probably before the first word is written.

You must be a member and be logged in to either append comments or rate this resource.