Game Development Community

Createing a referencing app for script functions, properties...

by Kama · in Torque Game Engine · 07/09/2004 (6:29 pm) · 24 replies

Ok... I m not sure if what I've begun to do will be of use or not... I havn't dug much about it in the Torque online doc to see if something like this already exists but here is the idea...
Since I'm a beginner about Torque and I m learning it, I figured something like a big archive referencing all the datablocks/functions/properties available for scripting would be great... I'm actually making an app that would do this... Here is a screenshot of what it looks like so far:


darkrising.free.fr/screenshot.jpg

Don't worry about the Mac look, my compiler can compile such an app for PC (win 95/98/2000 and XP) and it WILL run both on Mac and Windows.
The main point about this app is that it's only a GUI linking everything... Someone will have to write everything in it... The main objectiv is that anyone who can write a thing or two, does... if all the people around could add a few datablocks/functions/properties to this archive, it could become huge pretty fast.
For instance, since I'm a beginner, I won't be able to write much (I could at least copy/paste what's already in the official documentation). So this app would call for Torque advanced/veteran users to help a bit.
I m planning to make my app save everything in .text files so that there aren't any problem with compatibility. And people wanting to stay up-to-date would only have to download the latest text files. The problem is that having several people adding things to the app would require someone to add what people have done by themselves into the "last up-to-date-downloadable file"... or maybe I can thing of an app capable of taking as much text files as I want and unite them in a single one without over-writing or losing things in the process...

Well anyway, for now, please tell me if this project might be usefull... Also I'd like to hear from advanced/veteran Torque users if they would agree to share their knowledge this way and take a small bit of their time to implement in my app what they know about a few functions and such...
Please tell me people

(even if everyone tells me my app is useless, I ll still make it for my own purpose but I'd like to know if I should care about making it available for everyone and more user-friendly for everyone)
cheers :)

(and sorry for all the english mistakes I might have made in the post... I'm french, so bare with me ^_^)
Page «Previous 1 2
#1
07/09/2004 (9:03 pm)
Hey Kama,

Very cool looking. :)

There are really two separate issues here: 1) the documentation of Torque functions, objects, and datablocks. 2) a nice-looking front-end in which to display the documentation data.

As far as #1, check out the Torque datablock reference, and Torque console functions reference. We also have more information like this coming out.

If you are willing to help contribute even more documentation like this then.. great!! Anyone that is serious about contributing to documentation like this, please email me at joshw@garagegames.com. You are correct, the only really feasible way to do this is to coordinate between at least a few people. Also, if you coordinate directly with us here at GarageGames, I can make sure that people aren't duplicating eachother's work-- so everyone will get the documentation more efficiently.

As far #2, the front-end goes, I think the application layout you have above is very, very nice looking. Maybe something like that is a good idea. However, I think the best thing would actually be to store the documentation information in an easily extractable format, and then let any ol' front-end access it. So, if the data is in an easy-to-parse format, designing various front-ends to show it off wouldn't be hard at all. A stand-alone app like you show above could work. A web-page could be generated from the same data. Probably the most useful thing would be something built-in to Torque itself. Perhaps an extension of the World Editor. Our datablock reference data is already in a format such as this, and I'd love to get the function reference in it as well.

Does what I'm saying make sense? Please email me if you'd like to coordinate together more on these kinds of things.
#2
07/10/2004 (3:48 am)
". Probably the most useful thing would be something built-in to Torque itself. Perhaps an extension of the World Editor"
Honestly I don't think I'll be able to do this... I m way too new to Torque... though I've thought about this solution...
However, what I can do is make my source code free, and if someone else feels like integretating it into Torque he can then do it.
Also, when programming/scripting, I'll be using external editors (like JEdit/Whatever) Torque will not be launched while I'm coding... I think it would be annoying to have to launch Torque each time I want the defenition of a particular function/property/datablock; and Torque can be quite consuming on ressources for computers like mine, so it will be easier to have a small, FAST little app like mine running in the background while coding...
So if anyone wants to implement my source (a BASIC very close to VISUAL BASIC) into Torque, feel free to ask me for it :)

It's too bad since 2 or 3 people, already, asked for it to be implemented in Torque but I really doubt I can do it (fnif, life is hard on me... I m too new to Torque ^_^)

so Here is what I m planning for my little app from now on:

1) finished evrything that is shown in the gui (there are 3 or 4 buttons that needs code-implementation) and all the search functions

2) as soon as everything works on my Mac, compile it for PC, ask a friend to test everything and debugg it until it works on PC too :)

3) release this as a beta for some Torque users and GarageGame staff so that everyone can test it and use it a bit and then give me some feedbakcs...

4) correct bug, change a few things, add functionnalities/ all this basd on the feedbacks

5) release something very close to the final version of the app
(I d like the final version to be almost the last one... this is due to pbms I ve already had in this kind of situation:
if I implement things on top of an already "final version" people would have started to create the big referencing text files... I might then have pbms while implementing other functionnality with the syntax of the save files from the previous version, see what I mean?)
#3
07/10/2004 (6:49 am)
Looking forward to this...any idea when you might be releasing that beta?
#4
07/10/2004 (7:08 am)
When will the beta be available? hmmm if everything goes as fast as now I d say less than a week :)
the final version with all feedbacks and all should be available in 2 or 3 weeks I hope :)
#5
07/10/2004 (10:58 am)
Kama, cool.

How are you planning on storing the documentation data? Or are you mostly going to do the front-end, and then let other people fill-in the documentation data?

If you're planning on doing some of the documentation data, we should get in touch and coordinate, so that efforts don't get duplicated.

edit: ah, I see you did email me already. :) Thanks, looking forward to talking with you.
#6
07/10/2004 (7:19 pm)
"Or are you mostly going to do the front-end, and then let other people fill-in the documentation data"
Yes, that's the idea since i'm not good enough with Torque to fill it :)
my goal would be to make a nice front-end for this particular aspect of the doc to be very easy to read and to let anyone running the app implement the datablocks/functions/properties he knows about so that others can take advantage of his kownloedge... If many people contribute to it by adding a few things they know, the database of my little app (in place of database I would use text file in fact cause they're easy to deal with) could increase quite fast :))
as for coordinating all the text files I thought of a second app that only one person would have to run... People would regularly send their text files (the ones on their drive, containing whatever they would have added) by mail to the right person... This last one would only have to launch my second app, make a drag&drop of all the files, and the app would then create (re-create) the write text files containing everything (without making any repetitions of course... I d have to implement some filters and such... :) ), the resulting text files would then be put on the net for everyone :)
the "database" would increase quite fast this way... let's say something like an update every week with new functions/properties/datablocks detailed added by users and/or GarageGames itself :)
#7
07/11/2004 (9:47 pm)
Kama, that is a great general idea. However, it sounds like it'd be much easier and more efficient to execute it over the web.

It'd be much more tenable to create a webpage that displayed the documentation, and allowed users to submit new documentation easily. Then a moderator/approver could review any documentation additions made, and add them to the official documentation data, for all to see.

This seems much smarter than passing specially formatted text-files around. Do you agree? Plus, we could potentially put the web page right here on GG, so that everyone could easily be made aware of and access it.

(Note: I'm not saying we will actually do this, just tossing around ideas at the moment.)
#8
07/12/2004 (5:02 am)
Yep, I already gave a thought about doing so with a web page...
however I ve never made such an app on the net and I don't find JavaScript to be a very reliable language but I guess I can give it a try if that's what everyone wants :) (personnally I don't really like to have the doc online, I like to have it on my hard drive... Internet doesn't always work and if it doesn't I'm stucked till my provider repairs what was wrong... and having the doc on HD is faster than having to navigate I think... Well, that's just my opinion out there, if it's better for everyone to have a web solution, then let's do it :) )
(a good compromise would be to have both in fact... as we said in our mails, I let you decide on a parsing format for saving... or even better, implement the ability to let the user decide in which format he'd like to save (and then implement formats such as HTML,XML/whatever :) ))

(just tossing around ideas at the moment too, lol)
#9
07/12/2004 (6:02 am)
That's a great idea Kama. Props to you for doing it. I also think the ability to jump to a site run a datablock check is a great idea as well. But if you do make it an app, I'd love to use it.
#10
07/12/2004 (9:14 am)
Kama,

Yeah it wouldn't be a bad idea to have both. Perhaps the web page could let people download the raw documentation data, then an offline app like the one you're talking about could parse that. I'll talk the whole idea over with the guys in the office today, if there's time, and get back to ya.
#11
07/12/2004 (1:34 pm)
Yeah, tell me what's needed and I'll try to do it :)
In deed it would be simpler if the doc was filled with a webpage by anyone and then my app could read the resulting file!!
#12
07/12/2004 (4:42 pm)
Cool, that's the way to go then, I think Kama. I don't know if it'll be here on GarageGames, but if not we can put it somewhere else.

Like I said, I can give you loading code, if you want. I'll try to get a spec done tomorrow, if I get time. :) If not, I'll understand if you get anxious and start on your own stuff.
#13
07/12/2004 (5:06 pm)
Josh,
LOL, I won't get anxious and start my own stuff :))
I know what everyday-life can be so I'll wait for you; besides, I'd like my app to be as usefull as possible and the solution we're getting to seems to be the best so definitely I'll wait for you; take your time, no hurry, we've got time to think it clearly and maybe (hopefully) make something big that will really help beginners like me (YEAH, I'll be the first one to use my app as soon as people will begin to input datablocks and funcs and properties in it, lol)...

If you can give me the loading code I'll implement it as soon as possible, if not you can tell me the way it must be done along with an example and I'll try to do it myself, but definitely I'll try my best to make it accordingly to what we're thinking about :)

I guess that if everything goes well, I'll delete all the "new function", "new datablocks" button from my app since all the input will be made on the net... However I don't know how a form can be stored in a text file... I only stored forms in SQL databases... errrr... I m dumb... of course I know how to... PHP allows the opening and closing of text files... hahaha, silly me... well it's 3h10 in the morning, here, lol...
#14
07/12/2004 (5:14 pm)
Josh,
Ah by the way: if you have time to make the loading code: do you still have the classes I use in my app?? I think you need it (for instance, Datablocks has a Name property, and an ID, Functions too along with a Description property and Example property, the ID of a function links it to its corresponding Datablock, same for the properties... and I was thinking of creating a Datablock named "globalDatablock" or something like that, that isn't a real datablock but that would be used for storing global functions like the "echo" function...

Also, if I have time after my app is finished, I can begin making the form people will use on the net to contribute to this doc... and I think I'll let you handle the save function of the form if you have time :)
#15
07/12/2004 (5:50 pm)
Sorry if this is a repeat idea, but would it be possible to make it an App that you drop into your torque folder and when run, it would wait for you to input a datablock name such as "explosion" and have it parse the proper fields right out of the TGE SDK files?

That woul solve a lot of your distribution problems and would even ensure that only TGE SDK owners would have any real use for it(of course pirates could use it as well). Although you may intend this as a public resource. If that were the case I would make the app look for SDK files first and then contact the web for online docs if the SDK is not found. That way SDK owners would always have the latest up o date datablock info while leaving the freebie website to be updated at ones covienence.
#16
07/12/2004 (6:31 pm)
The problem with that is the Datablock reference is a valuable tool for Scripting, and Scripting does not require you to have a license.
#17
07/12/2004 (6:41 pm)
Thats why I offered the public solution of tapping into a site. The only thing an SDK owner would need to do to have current data is to get a current version of the head. It would also offer the benefit of allowing someone who had heavily modified his own datablocks to see what the state of his own are like without having to do it manually. It would also allow an engine programmer an easy way to give his non licensed scriptor copies of current datablock values in a private project. That to me would be the mega bomb of all apps in this case. Now, about the public that doesn't need a license, lets face it, you get what you pay for. We all know that the end result of any "personal project" type database is eventually going to start lagging behind the real code and changes. And in some cases, they never get finished at all. There are to many people making changes to torque for one person to keep up with all of it on a full time basis. So the end result is that the whole project could be in jeopardy of being useless to those that are serious and need immediate knowledge of changes and very confusing to newbies that are just starting or the public that could be looking at the changes of newer code but stuck with an older version of the demo, etc... A search and parse app should be easy enough to write for these guys and would allow this whole idea to kickoff without even the need to start a database. Torque is a database when parsed correctly.
#18
07/12/2004 (6:53 pm)
Quote:Torque is a database when parsed correctly.

I propose a new project (for someone else to do): TorQL
Features:
- 3D visualization of databases!
- Instead of deleting an entry, blow it to bits with an explosive crossbow!
- When your coworkers are annoying you, blast them when they are in the middle of a search!

(Disclaimer: This advertisement does not represent any real-life product. This advertisement is not to debase Gonzo T. Clown's, "Gonzo," ideas, as they are very cool ideas)

:)

Seriously, parsing torque code would be rad. Since I'm near graduation with a CS degree, I should be the prime candidate for how to parse files (they should make a FPS degree -- File Parsing Science... then make CS really Computer Science). Alas, my time is stretched farther than I can handle. 2 jobs, school, torque game, wife, and 4 unicycles (huh?). Y'know though... my major CS classes start up again in the fall, and I have a databases class. Maybe I can talk the professor into letting me do this as a replacement for a class project.
#19
07/12/2004 (7:13 pm)
Sorry didn't see the clarification on non-SDK owners.. posting from the middle of an XML class.
#20
07/13/2004 (5:26 am)
"Gonzo T. Clown",
that's an interesting idea... I'll have to open the right .h to see a few things to know if that's really a good idea... For example, I'd like to know if the .h is well-enough commented... And how would you fill the "Example" field of my app?
I'll let Josh Williams answer your question on this since he's the one who will probably do the parsing code :)
Page «Previous 1 2