TorqueBASIC: A Scripting Language
by TechLord · in General Discussion · 07/13/2004 (11:48 am) · 143 replies
I love C++ (Torque) and TorqueScript. However, I'm very fond of the BASIC syntax as it was my very first programming language.
I've used other game development 'languages' which used a BASIC syntax and found them relative easy to get started. BASIC Game Dev Languages also have a large customer base. I can see TorqueScript with a BASIC syntax beneficial for Torque in this regard.
Sometime in the unknown future, I'm going to write a TorqueBASIC to TorqueScript Converter or TorqueBASIC Compiler for Torque.
Thoughts wanted.
I've used other game development 'languages' which used a BASIC syntax and found them relative easy to get started. BASIC Game Dev Languages also have a large customer base. I can see TorqueScript with a BASIC syntax beneficial for Torque in this regard.
Sometime in the unknown future, I'm going to write a TorqueBASIC to TorqueScript Converter or TorqueBASIC Compiler for Torque.
Thoughts wanted.
About the author
thegamedevstore.com
#82
Good luck. ;)
Also, professional game devers do not look at whether or not a product can be considered a toy by people they've probably never met. They look at whether or not the product fits their requirements. Otherwise, they would not be professional, IMO.
Finally, your assertion that the inclusion of BASIC scripting in Torque will make it somehow perceptibly toyish is unbacked. The way software usually earns the title of "toy" is by being software that _doesn't meet its user's requirements_, and thus becomes no more useful than a "toy". That is how software earns the desciption of being a "toy". So I think you got things a bit backwards.
07/18/2004 (2:38 pm)
Okay then, I'll just leave it to you to convince Jeff that it is in his company's interest to discourage potential customers from trying his product.Good luck. ;)
Also, professional game devers do not look at whether or not a product can be considered a toy by people they've probably never met. They look at whether or not the product fits their requirements. Otherwise, they would not be professional, IMO.
Finally, your assertion that the inclusion of BASIC scripting in Torque will make it somehow perceptibly toyish is unbacked. The way software usually earns the title of "toy" is by being software that _doesn't meet its user's requirements_, and thus becomes no more useful than a "toy". That is how software earns the desciption of being a "toy". So I think you got things a bit backwards.
#83
07/18/2004 (2:43 pm)
-snip-
#84
07/18/2004 (2:46 pm)
Thijs, perhaps you should read my post on the subjeectivity of value. Please see four posts up.
#85
07/18/2004 (2:56 pm)
Fine, I removed my post... such discussions are of no use anyway.
#86
07/18/2004 (2:58 pm)
Has anyone taken on the task of doing this project or will it be a community project?
#87
07/18/2004 (3:04 pm)
Thijs, analyzing the market value of a product is of no use? I disagree. What metrics does one have to determine the need for a product without some analysis of its market value? Just because individual values are subjective does not also mean that market values are not quantifiable. I am not trying to end the discussion, but rather put it on a more productive course. If you read the post, I think you will see that. :)
#88
I have my reasons for not to be too fond of Basic. You are right if you say it is good to do market research to see if a product would be appreciated by it's consumers. I just don't see the need to extend Torque with yet another scipting language. Torque is Torque. If people want to create games in Basic, they will most likely turn to products like DarkBASIC, who already have a good name in the industry. Do we want Torque to compete with those products? Or do we want Torque to remain an awesome game engine which might not appeal to every game coder out there but has (in my humble opinion) many advantages over DarkBASIC and similar products?
In my experience, a tool is a tool. Programming is programming. I think real coders can code in any language. TorqueScript has proven itself time after time. I wouldn't want to bloat Torque with another scipting engine just so that a few Basic users don't have to take the effort to learn another language.
Anyway, just my two cents. Hope I'm clearer now. Didn't mean to flame anyone on here :)
07/18/2004 (3:13 pm)
Bryan, I know what you mean. I'm sorry if I didn't make it clear. My post wasnt very productive. I just meant to say posts like mine are of no use. Not yours :p I have my reasons for not to be too fond of Basic. You are right if you say it is good to do market research to see if a product would be appreciated by it's consumers. I just don't see the need to extend Torque with yet another scipting language. Torque is Torque. If people want to create games in Basic, they will most likely turn to products like DarkBASIC, who already have a good name in the industry. Do we want Torque to compete with those products? Or do we want Torque to remain an awesome game engine which might not appeal to every game coder out there but has (in my humble opinion) many advantages over DarkBASIC and similar products?
In my experience, a tool is a tool. Programming is programming. I think real coders can code in any language. TorqueScript has proven itself time after time. I wouldn't want to bloat Torque with another scipting engine just so that a few Basic users don't have to take the effort to learn another language.
Anyway, just my two cents. Hope I'm clearer now. Didn't mean to flame anyone on here :)
#89
07/18/2004 (3:21 pm)
Oops... sorry, I thought you were refering to me :P I didn't think you were flaming though, just that you might have been a little unclear on what I was trying to say. Turns out you weren't, and all is well :)
#90
07/18/2004 (3:31 pm)
Ok, no problem :) All is well :)
#91
As to whether you or I believe that BASIC is a serious tool is beside the point. I was merely stating that some people believe that it is not, and that should be part of your marketing study too.
The same applies to whether you believe they're professional. If they are potential paying customers, their opinion would have an effect on sales.
My definition of "toy" is "something intended for use by children". 3D GameStudio doesn't meet my requirements, but I wouldn't consider it a toy for that reason. 3D Gamemaker is probably closer to being toy-like, because almost everything is done with a mouse.
I would imagine that many potential customers arrive here via other games programming forums, and I know from experience that the number of people that vocally/textually oppose the use of BASIC is greater than the number that support its use.
In other words, if BASIC became a part of Torque, the number of people that would recommend it would be less. I don't have a crystal ball so I couldn't say by how much, but it imagine it would be noticeable.
Another point relating to marketing is that having two languages would cause confusion amongst potential customers.
07/18/2004 (7:08 pm)
Bryan Edds: My point was that many beginners wouldn't be potential customers (which implies payment of some kind), they'd merely be users of the demo. As I mentioned before, anyone who can't take the time to learn TorqueScript isn't going to learn C++ so they would not need to pay for a license (scripts can be given away without the engine).As to whether you or I believe that BASIC is a serious tool is beside the point. I was merely stating that some people believe that it is not, and that should be part of your marketing study too.
The same applies to whether you believe they're professional. If they are potential paying customers, their opinion would have an effect on sales.
My definition of "toy" is "something intended for use by children". 3D GameStudio doesn't meet my requirements, but I wouldn't consider it a toy for that reason. 3D Gamemaker is probably closer to being toy-like, because almost everything is done with a mouse.
I would imagine that many potential customers arrive here via other games programming forums, and I know from experience that the number of people that vocally/textually oppose the use of BASIC is greater than the number that support its use.
In other words, if BASIC became a part of Torque, the number of people that would recommend it would be less. I don't have a crystal ball so I couldn't say by how much, but it imagine it would be noticeable.
Another point relating to marketing is that having two languages would cause confusion amongst potential customers.
#92
Personally I think that a non-BASIC syntax serves non-programmers better. Forcing them to learn C-like syntax only makes them more effective team members because actual C++ code will be less intimidating.
I think there are some things that should be easier about Torque, but this is definately not it.
What would make Torque easier:
*Native 3D Modeler that exports directly to DTS/DSQ/DIF
*TorqueScript specifc IDE or JEdit/UltraEdit(PLEASE!) dictonaries and grammer files.
*PNG plugin for Adobe Photoshop so the damn thing will work right without having to fiddle with it
*GUI based particle editor
I think that about does it for my wish list of the moment. ;)
07/18/2004 (7:16 pm)
Wow... What a can of worms :)Personally I think that a non-BASIC syntax serves non-programmers better. Forcing them to learn C-like syntax only makes them more effective team members because actual C++ code will be less intimidating.
I think there are some things that should be easier about Torque, but this is definately not it.
What would make Torque easier:
*Native 3D Modeler that exports directly to DTS/DSQ/DIF
*TorqueScript specifc IDE or JEdit/UltraEdit(PLEASE!) dictonaries and grammer files.
*PNG plugin for Adobe Photoshop so the damn thing will work right without having to fiddle with it
*GUI based particle editor
I think that about does it for my wish list of the moment. ;)
#93
If i could get a list of all the properties for the different objects I could make a script IDE. I created one for another scripting project and it probably wouldn't be too hard to transfer it over for torque use. It had alot of the things that VB had. like intelisence and auto complete along with the usual script coloring. The one thing it would lack would be error checking. But it would be possible to run the script right from the program.
So if anyone wants to see it done then send me a complete list of all functions,methods and properties.Anything Tscript specific.
And I wouldn't charge for it if GG or someone else would host it.
07/18/2004 (8:26 pm)
@Bryce,If i could get a list of all the properties for the different objects I could make a script IDE. I created one for another scripting project and it probably wouldn't be too hard to transfer it over for torque use. It had alot of the things that VB had. like intelisence and auto complete along with the usual script coloring. The one thing it would lack would be error checking. But it would be possible to run the script right from the program.
So if anyone wants to see it done then send me a complete list of all functions,methods and properties.Anything Tscript specific.
And I wouldn't charge for it if GG or someone else would host it.
#94
Fire up the Torque demo, open up the Console (~ key) and type "dumpConsoleFunctions();"(no quotes), then hit enter. Then, type "dumpConsoleClasses();".
Your console.log file will contain a complete list of all functions and classes (and their properties and methods) defined by the engine core.
It's pretty cool. :) Certainly would be neat to see complete TorqueScript dictionaries for some of the most common editors.
07/18/2004 (9:12 pm)
Charles, you can get a list very easily. :) Do the following:Fire up the Torque demo, open up the Console (~ key) and type "dumpConsoleFunctions();"(no quotes), then hit enter. Then, type "dumpConsoleClasses();".
Your console.log file will contain a complete list of all functions and classes (and their properties and methods) defined by the engine core.
It's pretty cool. :) Certainly would be neat to see complete TorqueScript dictionaries for some of the most common editors.
#95
Lets not back track, its fine how it is.
07/18/2004 (10:47 pm)
After using Basic and VBasic to create games for a long time, when I turned to using C++ and Torque Script it was a breath of fresh air. I had done PHP before doing Basic so I had a good idea when I got to Torque Script and I had done a few projects in C so I was straight in, the way Torque Script is syntaxed now if much like many powerfull languages meaning if you already know some of it you can get to work quickly, or on the other hand if you have to clue then you can learn it and also be learning about the rough-syntax of other powerfull and widely used languages.Lets not back track, its fine how it is.
#96
07/18/2004 (10:56 pm)
Thanks Josh, I'll get on it when I get off of work.
#97
You missed the point of my earlier post, which I concluded by saying that
"If someone is starting out in programming then the principals and practices needed to write meaningful programs need to be taught to them. The simplest way to do this is to teach the concepts through a simple syntax."
Neither C, C++ or Torque script have a simple syntax. As for my knowledge of basic I program professionally in VB.net, VB, C++, C#, Pascal as well as some scripting languages like Perl and TCL/TK
What exactly is your objection to having a simple syntax for teaching people how to use torque?
Also DarkBasic is very popular and has the word basic in it. It isn't considered a toy nor do people shun it because at the end of the day a professional looks at what an engine can do and not in too much detail at the scripting language it chooses to use.
Here are the questions I asked over two years ago now, when I first got Torque.
1. can I access all areas of the engine.
2. Can i modify it if necessary.
3. Does it have scripting to avoid the dreaded change and compile cycle.
4. Is it going to be well supported?
5. Can I create a real game with it?
07/18/2004 (11:25 pm)
@WysardryYou missed the point of my earlier post, which I concluded by saying that
"If someone is starting out in programming then the principals and practices needed to write meaningful programs need to be taught to them. The simplest way to do this is to teach the concepts through a simple syntax."
Neither C, C++ or Torque script have a simple syntax. As for my knowledge of basic I program professionally in VB.net, VB, C++, C#, Pascal as well as some scripting languages like Perl and TCL/TK
What exactly is your objection to having a simple syntax for teaching people how to use torque?
Also DarkBasic is very popular and has the word basic in it. It isn't considered a toy nor do people shun it because at the end of the day a professional looks at what an engine can do and not in too much detail at the scripting language it chooses to use.
Here are the questions I asked over two years ago now, when I first got Torque.
1. can I access all areas of the engine.
2. Can i modify it if necessary.
3. Does it have scripting to avoid the dreaded change and compile cycle.
4. Is it going to be well supported?
5. Can I create a real game with it?
#98
I see TorqueBASIC not as a different scripting language, but as a learning environment that allows someone new to programming, or new to game programming, a learn and build.
At the end of this message is a screenshot of an IDE I had written in TorqueScript, it is based partly off of work from Davies Ray Sickmon, Jr. While it isn't perfect it is a starting point and work on it was stopped mostly due to the lack of GUI controls that performed the tasks necessary to give usefull performance.
07/19/2004 (12:47 am)
Personally I think TorqueScript is simple enough to be learned as a begining language. When taught as exactly that, A begining language. Even VB.Net and C# are more complex then TorqueScript and VB.Net is taught as a beginner language in many colleges.I see TorqueBASIC not as a different scripting language, but as a learning environment that allows someone new to programming, or new to game programming, a learn and build.
At the end of this message is a screenshot of an IDE I had written in TorqueScript, it is based partly off of work from Davies Ray Sickmon, Jr. While it isn't perfect it is a starting point and work on it was stopped mostly due to the lack of GUI controls that performed the tasks necessary to give usefull performance.
#99
I found it interesting that other than VB, all the languages you use have a similar syntax, as do PHP, Modula-2, Fortran and others.
I don't have any objection to having a simple syntax for teaching people how to use Torque. I'm objecting to the idea of creating an entirely new language instead of making the existing one easier to learn. Whether the new language being suggested was BASIC, COBOL or pseudocode would make no difference to the fact that doing so would divide everyone's attention.
As others have pointed out, the time and effort it would take could be put to better use by providing more tutorials, reference documentation and ready-made code.
Yes, DarkBASIC is very popular amongst certain groups. It is also unpopular amongst others. Maybe professionals don't have a problem with it, but that's kind of beside the point because they would be just as happy with a "C style" syntax, because even if they didn't know C they'd understand that effort is required to learn any new language.
TGE is sold via the Internet. There isn't a boxed version available on store shelves, so the opinions of people on the Internet will directly affect sales (we were discussing market value at the time I mentioned that some perceive BASIC as inferior).
I found out about TGE at the GameDev forums, and if you take a look there you'll see that almost every thread where BASIC is mentioned that more people oppose the use of BASIC than support it. Right or wrong, that's the way it is, and that isn't the only forum where that attitude predominates.
I can only imagine their reaction when they see "BASIC" and "AAA game engine" mentioned in the same sentence for the first time.
I think many people have similar criteria to those you listed. I can't help noticing that "has a BASIC style syntax" isn't in your list, and this thread is the only one I've noticed where anyone has asked for that.
If it's so important to so many people, why has it taken so long for the subject to come up?
07/19/2004 (3:31 am)
Peter Dwyer: I didn't miss your point about BASIC having a simpler syntax, it's just that I and others have already addressed that aspect by stating that TorqueScript's current syntax isn't that complex. Compare the two versions of an if..else block I posted earlier.I found it interesting that other than VB, all the languages you use have a similar syntax, as do PHP, Modula-2, Fortran and others.
I don't have any objection to having a simple syntax for teaching people how to use Torque. I'm objecting to the idea of creating an entirely new language instead of making the existing one easier to learn. Whether the new language being suggested was BASIC, COBOL or pseudocode would make no difference to the fact that doing so would divide everyone's attention.
As others have pointed out, the time and effort it would take could be put to better use by providing more tutorials, reference documentation and ready-made code.
Yes, DarkBASIC is very popular amongst certain groups. It is also unpopular amongst others. Maybe professionals don't have a problem with it, but that's kind of beside the point because they would be just as happy with a "C style" syntax, because even if they didn't know C they'd understand that effort is required to learn any new language.
TGE is sold via the Internet. There isn't a boxed version available on store shelves, so the opinions of people on the Internet will directly affect sales (we were discussing market value at the time I mentioned that some perceive BASIC as inferior).
I found out about TGE at the GameDev forums, and if you take a look there you'll see that almost every thread where BASIC is mentioned that more people oppose the use of BASIC than support it. Right or wrong, that's the way it is, and that isn't the only forum where that attitude predominates.
I can only imagine their reaction when they see "BASIC" and "AAA game engine" mentioned in the same sentence for the first time.
I think many people have similar criteria to those you listed. I can't help noticing that "has a BASIC style syntax" isn't in your list, and this thread is the only one I've noticed where anyone has asked for that.
If it's so important to so many people, why has it taken so long for the subject to come up?
#100
One of the things I dislike about reading articles about .NET is that there are so many languages you can write .NET code in. One person writes VB.NET, the other writes C#.NET, a third one writes C++.NET etc.
I can only imagine the chaos here on the forums when Torque will natively support multiple scripting languages.
Sorry, but I just don't think that will improve the community or help the newbies. In stead, maybe we should concentrate on more documentation focussed on helping newbies rather than helping them pick up coding. After all, this community is about making games, not teaching people how to code.
07/19/2004 (3:50 am)
One more thought,One of the things I dislike about reading articles about .NET is that there are so many languages you can write .NET code in. One person writes VB.NET, the other writes C#.NET, a third one writes C++.NET etc.
I can only imagine the chaos here on the forums when Torque will natively support multiple scripting languages.
Sorry, but I just don't think that will improve the community or help the newbies. In stead, maybe we should concentrate on more documentation focussed on helping newbies rather than helping them pick up coding. After all, this community is about making games, not teaching people how to code.
Torque Owner Wysardry
Personally, I'd prefer it if people concentrated their efforts on making the existing TorqueScript easier to use. I'm willing to discuss the marketting aspect though. :)
Does the market want BASIC? Its popularity has dropped considerably since the days when it was included as standard with every computer. For some, the language has negative connotations, as it's seen (rightly or wrongly) as a "toy" language or for amateurs only.
Even mentioning the word is enough to put some people off.
I have no idea of figures, but although adding BASIC support would attract a certain number of people who might otherwise have bought Blitz3D (or whatever), it would also cause others who would have bought a Torque license to turn away.
That brings up another point. Experienced users are more likely to purchase a license than beginners, so from a financial point of view it would make more sense to cater to them. Most beginners aren't prepared to spend money on something before they know how to use it and they're less likely to want/need access to the source (as it would be too complex for them).
Having a lot of new people downloading and using the demo version wouldn't really help the community as a whole, or Garage Games profit margins.
From that perspective, it may even make sense to discourage those less willing to make the effort to learn TorqueScript.