Game Development Community

Example: Documentation

by Jeffrey P. Bakke · in Torque Game Engine · 09/09/2001 (2:57 am) · 1 replies

Hello,

I've begun the process of disecting the example provided by GG and learning how the scripting works and flows for the example. I'm not really concerned about how the engine works (as I expect to see numerous updates in the coming months) but the scripting can get me going.

I've broken down the example into a tree of the scripts and how they are called (in what order) and a general description of what each script file (or .gui file) provides. Its going pretty well, but I have a few questions that have occurred to me as I progress and was wondering if someone could provide me answers.

#1. The script initialization has a nice feature that allows you to override default startup and use mods or other modes of operation. The standard application has 4 directories of data: base, client, server and data. With the exception of data, the other 3 directories have their own private scripts that are execute to configure and setup their functions. Base is common features that are used everywhere (with the addition of the GUI editor), server is the simple server-side stuff and cilent is the client-side operation with the addtion of all of the editor capabilities. My question is: Why were all of the editor features (except the GUI) initialized in the client scripts? I would think they would be more appropriate to initialize in base?

#2. From what I've seen in the script (haven't looked into the engine code yet) it appears that there is only one thread of operation for the software. Wouldn't it make sense to split the server side operations as a separate thread? Or does that cause mucho grief because of the script compiler (Lexx/yacc has ugly state machines)?

#3. Is anyone else working on actively documenting the example program from the script? I plan on posting my findings to the documentation repository, but I figured I'd check to see if anyone else is duplicating or augmenting my documentation and maybe combine and conquer :-)

#4. Regarding #1, I would like to 'suggest' that the next release version use a command line switch to run alternate startup and move all the editing/development functions into a different client if possible. That would simplify the standard application quite a bit, the editor overhead is massive and trying to just put together a simple application is a bit more difficult because of that.

So far, the engine looks good. I haven't started to compile/work with the engine, but I see that's where most people are diving into so I'll let a few months go by for more documentation from the team. In the mean time, I'm working on learning how the scripting works as best I can.

Great job guys, this is really a nice system.

-Jeff Bakke
jpbakke@labvolt.com

#1
09/10/2001 (9:46 am)
1 & 4 - The editor is not loaded or initialized in base because we don't want it loaded on dedicated servers. The actual client mod should have no editor related scripts or code except the call to load the editor. The editor is currently art of base, but we've talked about splitting it into it's own "mod". I'm not sure how feasible this is though. It's on our wish list.

2 - We've have discussed isolating the mods from each other, each with it's on scripting language environment. Though we wouldn't bother threading them. This would be a bit of work though... it's also on the wish list :)

3. Documentation of anything is good :), though the example scripts will be changing a little in the next release. We're working on documenting the script objects and methods, but haven't really spent time on the example scripts themselvs.