Previous Blog Next Blog
Prev/Next Blog
by date

Plan for Tom Spilman

Plan for Tom Spilman
Name:Tom Spilman
Date Posted:Jul 18, 2005
Rating:5.0 out of 5
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Tom Spilman

Blog post
Screenshots and video in one plan? Inconceivable!

For the past 4 to 5 months my pet project has been a new TorqueScript development environment called Torsion and quoting Jeff Gran: I'm all giddy inside from the thought of it. Great plan there by the way Jeff. :)



[image]http://www.sickheadgames.com/stuff/garagegamesimages/torsion4_t.png[/...



This project started as I delved into more serious development with TorqueScript. The existing IDEs out there were ok, but each had some glaring faults; clumsy interfaces, lacking key features, the code was unmaintained, made with Java... :). As I spent days writing code exclusively in script my existing editor started to show it's warts.

Also in general the debugging support across all the IDEs was bad. No fault of the original Tribes team (they had games to ship), but this was because of Torque's script debugging API and script execution core. It lacked some key features to make automated debugging process better than the existing echo and print methods I was currently using to solve my script bugs.

So for these reasons I dusted off our Lua script debugger (which was shelved when we decided to go with Torque) and started to convert it over to be a full fledged TorqueScript editor. Since I started with an existing codebase (which uses wxWindows... hello portability) the basics got up and running very quickly, but soon it was apparent that some serious refactoring was needed. That refactoring took a good 4 months because of interruptions like contract work and laziness. The last month or so has been me filling out little features to make the initial alpha version useable for YOU GUYS.

The system consists of two parts. The editor itself and an enhanced TelnetDebugger resource which also makes some changes to the TorqueScript parser and execution core. This enhancement allows things like breakpoints on code in the main body of a script file, debugging of the non DSO'd main.cs, and fixes some existing bugs. Both parts, in theory, should work in any combination. You should be able to use the editor with an unpatched Torque engine (really you wouldn't want to) or the enhanced debugger with another script debugger like TribalIDE. The plan is that once these changes to the core have had some eyeballs go thru it, we can possibly have it submitted to be an official change to the core engine.

At this point we have something very useable for daily script development. Just about everything you would expect in a VisualStudio for TorqueScript is working or on it's way in the coming months. Still one button debugging gets me drooling every time. I can't describe how great it is to hit F5 and have your script code save, launch in the debugger, and stop at your breakpoint. It is very sweet indeed.

Now I have a few more little pesky bugs to tackle then some time to prepare the security layer and installer. We plan to start the public alpha test this week, so keep your eyes peeled. We seriously want to hear absolutely all the feedback we can on it. Bug reports, things that suck in the alpha, pet features, crazy pie-in-the-sky ideas, pricing thoughts, everything.

Let's end with the aforementioned Torsion teaser video.

I can't wait to get this into the collective hands of the community this week.


[image]http://www.sickheadgames.com/stuff/garagegamesimages/torsion1_t.png[/imag...

[image]http://www.sickheadgames.com/stuff/garagegamesimages/torsion2_t.png[/imag...

[image]http://www.sickheadgames.com/stuff/garagegamesimages/torsion3_t.png[/imag...

[image]http://www.sickheadgames.com/stuff/garagegamesimages/torsion5_t.png[/imag...

Recent Blog Posts
List:03/03/07 - Sickhead is hiring!
05/31/06 - Torsion Update
04/03/06 - Torsion Update & TelnetDebugger Fix
03/21/06 - Torsion Updated!
02/28/06 - Precipitation for TSE
07/18/05 - Plan for Tom Spilman
05/26/05 - Plan for Tom Spilman
05/21/05 - Plan for Tom Spilman

Submit ResourceSubmit your own resources!

Brandon Maness   (Jul 18, 2005 at 00:45 GMT)   Resource Rating: 5
Tom, Your exporter is great, but this takes the cake! I'm just about to start some video tutorials on torque scripting, and just last week was thinking about all the shortcomings of the existing offerings, especially debugging! Just the thought of f5 debugging really does crank up the drool factor!! The video looked awesome, I can't wait to give the software spin!

B--

Tom Spilman   (Jul 18, 2005 at 00:52 GMT)   Resource Rating: 5
@Brandon - It would be extremely awesome if you decided to use our editor in your tutorials. Free copy of Torsion for you! =)
Edited on Jul 18, 2005 00:52 GMT

Jeff Gran   (Jul 18, 2005 at 01:09 GMT)
Looks awesome. I've only done a little bit of Torque scripting but I can see how this would be very useful.

Greg Berkhof   (Jul 18, 2005 at 01:34 GMT)   Resource Rating: 5
I am VERY interested in this. I will definatly check it out! Awsome

Robert Pierce   (Jul 18, 2005 at 03:33 GMT)
I was doing something similar (using wxWidgets too), as an open-source project.

I didn't get very far before I ran into time problems, hehe. I want to get back to work on the project I started sometime in the near future.

sourceforge.net/torque-ide

This does look really cool though, :D

Robert
Edited on Jul 19, 2005 06:47 GMT

Andy Schatz   (Jul 18, 2005 at 05:28 GMT)
Wow. Great work. Igot my own set of complaints about having to use TorqueScript but this really helps the situation! (and takes away my whining initiative). Great job!

Tom Spilman   (Jul 18, 2005 at 05:33 GMT)   Resource Rating: 5
Thanks for the comments guys. I've gotten some great positive feedback tonight.

@Robert - I checked out the site. I hadn't heard of yours before... it looks like your making some progress. It is a fairly challenging job to make an editor... at first i was hesitant to make it edit files. I was gonna make it a read only script debugger, but i soon decided that it would be better to just bite the bullet and make it a full development IDE for TorqueScript.

If you have any tips or suggestions from your experience on yours i'd love to hear them if you feel like sharing, but i understand that you might not want to do that. =)

Tom Spilman   (Jul 18, 2005 at 05:34 GMT)   Resource Rating: 5
@Andy - Any specific issues with TorqueScript? Maybe there is something i can do in the editor to help?

Nick Zafiris   (Jul 18, 2005 at 07:25 GMT)   Resource Rating: 5
Great work Tom! Can't wait to check out the alpha and give you feedback. This will greatly help us on our project. Lack of a debugger was a hurdle for many.

Nick

Tom Spilman   (Jul 18, 2005 at 07:28 GMT)   Resource Rating: 5
@Nick - Yea it really is. While one can get good with using echo()s to debug things, in my experience you really don't fully understand your code until you step thru it in the debugger. I've also found that i've learned alot about the TorqueScript language and the Torque engine itself that i wouldn't have without it.

IMO a good debugger are essential to learning Torque quick.

Mathieu   (Jul 18, 2005 at 07:36 GMT)   Resource Rating: 5
It seems great! Any chance to see a Mac port?

Tom Spilman   (Jul 18, 2005 at 07:39 GMT)   Resource Rating: 5
@Mathieu - OSX port is a high priority. I'm looking for partners to manage the port as i'm not experienced with Macs or Linux. The code is around 95% portable already. Just need someone to deal with the details, maintain builds, support platform specific bugs, etc for a percentage of the overall sales and free copies of course.

If anyone is interested we're collecting a list of candidates now. Just drop me an email and tell me your qualifications. We should be making a decision within the next few weeks.

Stefan Beffy Moises   (Jul 18, 2005 at 11:07 GMT)
@Robert: lol, you stole our website "design" and navigation and used the same name for your project, too... although I dont really care, that's pretty lame...

Check out the original TorqueIDE (TIDE)
Edited on Jul 18, 2005 11:07 GMT

Unsung Zero   (Jul 18, 2005 at 13:47 GMT)   Resource Rating: 5
This is looking great! echo() debuging always felt like more of a work-around and kept you 'removed' from the code.

Andrew Kerr   (Jul 18, 2005 at 13:57 GMT)
I've a really simple suggestion - a function to automatically convert between TGE and TSE script without the user having to remember which function was renamed.

Drew Parker   (Jul 18, 2005 at 14:22 GMT)
Tom,

This looks great! I can't to try it out. I tried most of the TorqueScript editors and finally settled on TribalIDE. While the debugging works, I find it often crashes when debugging. I eventually switched back to just doing echo() commands. I've always done my actual scripting in Visual Studio, as for me personally, I haven't found the other editors to be as easy to use (although, one glaring miss of Visual Studio is not having corrent function lookup, etc)

If you can get the script editor working well, and the debugger working, you've got a winner! Let me know if you need any help alpha or beta testing, I'll gladly do it.

One last thing: I find I use bookmarks extensively in Visual Studio for flipping between two places of code or script. That would be a great feature to have if you find enough people want it to warrant working on it.

Thanks for your hard work, Tom!
- Drew

p.s. By the way, our team picked up your exporter and it is awesome. You are making life much easier for us on all fronts.

Todd D. Degani   (Jul 18, 2005 at 15:14 GMT)
Looks awesome Tom, can't wait to get a look at it.

Tom Spilman   (Jul 18, 2005 at 15:28 GMT)   Resource Rating: 5
@Drew - Thanks. I personally never used the bookmark feature in my 10+ years of VC++ use, but i can see how it would be useful. Good suggestion. Plan on the feature in the 1.0 release.

@Andrew - That sounds interesting... is there *that* much of a difference in the script APIs between TGE and TSE? I personally haven't noticed any changing of function names really.

@Stefan Beffy Moises - I think you guys have done a great job with TIDE, but personally i've never liked Java based desktop apps (i was forced to do it for 6 months in my old job). I have seen people have problems with TIDE... the with typical Java issues, but with some effort in those cases it works. If people are looking for something more established or free i would definitely recommend it.

Brett Fattori   (Jul 18, 2005 at 15:49 GMT)
Tom,

Any chance you could make the debugger automatically determine the properties of an object and create a tree? Instead of having to type in:

%player.name
%player.client
%player. ...

It would be nice to have it know what to do if I enter: %player
Then it would show:

%player
--- client
--- name
--- ...

- Brett
Edited on Jul 18, 2005 15:50 GMT

Tom Spilman   (Jul 18, 2005 at 15:51 GMT)   Resource Rating: 5
@Brett - It doesn't do that at the moment, but part of the next alpha release will be autocompletion which will basically do that... if i figure out how to implement it right that is.

Darren Stuart   (Jul 18, 2005 at 16:20 GMT)
this would be extremely useful for t2d users where most of the stuff is done via torgue script.

will it work with t2d out of the box do you know?

Tom Spilman   (Jul 18, 2005 at 16:22 GMT)   Resource Rating: 5
@Darren - It should as i've used it on one of our T2D projects already... so it works. I still need to test integrating the enhanced debugger features with T2D.

Andrew Kerr   (Jul 18, 2005 at 17:03 GMT)
@Tom - I've come across a mention of one function name change on the forums (FooBar(); <> BarFoo(); or similar), but I can't find it again :/ Phil Carlisle said of porting Air Ace Online script in the TSE Milestone 2 snapshot:

Quote:

Its almost a drag and drop operation if you havent hacked the TGE code too much. for instance, it took me a couple of hours to port the most important non-game script parts of Air Ace over to TSE from TGE. That 2 hours was probably actually 15 minutes of work fixing a few minor compile issues and the rest just spent staring at my monitor being freaked at how good it looked :)

Basically, its VERY much the same, from script side. Only issues are if you have created anything that does its own rendering (I did this for a lot of gui controls for instance, so they would need work to port across, but its not that bad).


Air Ace Online is one project that will have both TGE and TSE clients. I presume there will be others.
Edited on Jul 18, 2005 20:41 GMT

Darren Stuart   (Jul 18, 2005 at 19:04 GMT)
Excellent Stuff Tom, So How much is this going to cost us?

I am really looking forward to this release.

Tom Spilman   (Jul 18, 2005 at 19:12 GMT)   Resource Rating: 5
@Darren - The cost is still up in the air. We want to hear what customers think first, see the response to the alpha, etc. We want a price that is a no brainer buy for all indies/hobbyists, but we want to ensure that we're not losing potential profits at the same time. We're not greedy, but the revenue goes directly into the company coffers to fund game development (aka pay our meager salaries). So it's a very strategic decision to make.

Any suggestions?
Edited on Jul 18, 2005 19:13 GMT

Michael \"Evic\" Wales   (Jul 18, 2005 at 19:31 GMT)
I can say this is probably the only factor that keeps me limited in my playing around in the TGE and T2D. It's difficult to debug, I love autocomplete, and dockable help windows. I'm also an IDE fanatic and any project I work on I feel 100% better about it's outcome if I have a stable and feature packed IDE to work out of - call it my security blanket.

On the topic of pricing: I would no brainer buy it at $20, anything over $40 and you're pushing your luck, > $50 is a definite no.

Brandon Maness   (Jul 18, 2005 at 21:11 GMT)   Resource Rating: 5
@Tom: I'd be happy to do some tutorials using your IDE, it would be way to show people the usefulness of advanced features like step line debugging with locals, etc. I think it would be great for non-programmers and scripters to see how these features aid in development and ease headaches, not to mention give you greater understanding as to what is really going on at runtime.

The tutorial would also be a great marketing tool to help support your endeavors, and I for one support all your hard work. My hats off to you for bringing your *pet* project up to this level of completion. I'm sure you have logged countless hours getting it this far into development, and I for one am excited that an alpha release is just right around the corner!

I have been gearing up the tutorial site for the first "real" tutorial that involves programming, so I'll put it on hold until I get a chance to spend a couple of evenings with what appears to be the hottest thing going for torqueScript!

B--

Robert Pierce   (Jul 18, 2005 at 23:03 GMT)
@Stefan:
Shortly after I set up the project with SourceForge, I got someone to work on a design (because I didn't have the time at that time). Since then, I still haven't had something to use.

I just used yours as a placeholder, hehe... Since it has been a few months and nothing has been heard from this person, I guess I should get to work on the design, since I have the time now.

I somewhat forgot about that site until you posted that, hehehe....

I am quite sorry... I hope everything is okay.

Edit: Since I had time, I fully converted the torque-ide site to the new design. :D

Robert
Edited on Jul 19, 2005 06:53 GMT

Brian Ramage   (Jul 19, 2005 at 18:14 GMT)
Very cool Tom, I'm looking forward to using this.

Tom Spilman   (Aug 01, 2005 at 05:50 GMT)   Resource Rating: 5
FYI. I just updated the Enhanced TelnetDebugger resource with some fixes and features, so please update and check it out. Also be sure to do delete all DSOs in your project (in Torsion hit the Project->Delete All DSOs menu).

NoobGank   (Aug 01, 2005 at 10:44 GMT)
The sickheadgames webvsite seems to be down - any particular reason?

Tom Spilman   (Aug 01, 2005 at 14:57 GMT)   Resource Rating: 5
@KC - It might have been some temporary downtime because it's up for me at this moment.

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