Previous Blog Next Blog
Prev/Next Blog
by date

Torque: GUI Updates

Torque: GUI Updates
Name:Phillip OShea 
Date Posted:Apr 12, 2008
Rating:4.8 out of 5
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Phillip OShea

Blog post
TGB was my first port of call when I joined the GG community. It was a great starting point for a game development hobby, but ultimately I would want to move onto bigger and better things.

Despite being derived from similar code the differences between TGEA and TGB made it difficult for me to get my head around things. If you take a look at each of the level editors in the Torque engines you will notice that they are quite unique, but dated.

I had the crazy idea that I would give the editors a bit of an update.

My idea was simple: Create a GUI system that is consistent between each Torque engine and is easily extendable.

Here is my first concept:



The entire toolbar is derived from an XML sheet and is processed through TS. Here is a small example of the toolbar:


<LevelEditorToolBar>
<ToolBarPage>
<Text>Mission</Text>
<ToolBarStack>
<Text>Project</Text>
<LargeButton>
<iconBitmap>newIcon</iconBitmap>
<ToolTip>New Mission</ToolTip>
<Command>EditorNewMission();</Command>
<Shortcut>New</Shortcut>
</LargeButton>
<LargeButton>
<iconBitmap>openIcon</iconBitmap>
<ToolTip>Open Mission</ToolTip>
<Command>EditorOpenMission();</Command>
<Shortcut>Open</Shortcut>
</LargeButton>
<DropDownButton>
<LargeButton>
<iconBitmap>saveIcon</iconBitmap>
<ToolTip>Save...</ToolTip>
</LargeButton>
<MenuButton>
<Text>Save</Text>
<Command>EditorSaveMissionMenu();</Command>
<Shortcut>Save</Shortcut>
</MenuButton>
<MenuButton>
<Text>Save As</Text>
<Command>EditorSaveMissionAs();</Command>
<Shortcut>SaveAs</Shortcut>
</MenuButton>
</DropDownButton>
</ToolBarStack>
</ToolBarPage>
</LevelEditorToolBar>


Because the toolbar is derived from XML it is easily extendible. The <Shortcut> tag references a keyboard command like "Ctrl S" or "Shift-Ctrl S" and binds the button's command to the assigned shortcut.

The <DropDownButton> references a quasi-control that I have created. It is just like a regular pop up control, except it is a button and looks like a regular toolbar menu with shortcut labels as well. See below:







Note: This drop down menu is a "Radio" type menu. The "Normal" button has been depressed and the other one is highlighted with the mouse (though the screenshot neglected it).

The toolbar pages are either permanent or conditional. Permanent pages are there, permanently and the conditional pages are only visible when criteria have been met (i.e. mission creator/inspector is active). This aspect hasn't been properly implemented yet, but it is the plan.

The next idea that I had is the idea of widgets: small scripts that you can add into the editor to make it work the way that you want it to. I want the user to be able to dictate the type of environment they want to work in and how they work in it.



Now, here is the bad news. My time with gaming and game development is becoming quite limited and I really need to select my projects carefully. I want to gauge community enthusiasm towards this project. If there is enough interest in this, then I will pursue the project and roll it out eventually, otherwise I will have to put it aside and give way to profitable projects (this project will be released for free to the community).

Just leave a post or give the blog a rating and let me know what you think.

Recent Blog Posts
List:05/16/08 - Torque: Gui Updates v0.1
04/12/08 - Torque: GUI Updates
03/16/08 - Platformer Starter Kit - New feature incoming!
02/26/08 - Platformer Starter Kit (TGB)

Submit ResourceSubmit your own resources!

Thomas Oliver   (Apr 12, 2008 at 02:11 GMT)
I like the new concept for the interface there and I would put it to use. My only thing is that I don't much mind the interface the way it is now. That may just be that I have been using it forever now and its somewhat grown on me.

Rubes   (Apr 12, 2008 at 02:19 GMT)
I think it's a great idea, and it looks great. I'm only a TGE guy, though, so if you can get it working in TGE I'd be excited.

Brett Seyler   (Apr 12, 2008 at 02:22 GMT)   Resource Rating: 5
This looks awesome Phillip. You should also take a look at what John Kanalakis is doing with Torque X's 3D editor. It's big pimpin' :)

Phillip OShea   (Apr 12, 2008 at 02:26 GMT)
I wish I had read his blog before I started work on this project. Jeebers! Do you know of any plans to update TGE/A's tools in the near future?

Jeramy79   (Apr 12, 2008 at 02:49 GMT)   Resource Rating: 5
Phillip please continue with this. The IDE of TGEA currently is horrible. Yours is looking very very nice!

Tornado   (Apr 12, 2008 at 02:59 GMT)   Resource Rating: 5
YEEEEEES! This is EXACTLY what is needed! Great, great stuff!
I don't want to feel like a programmer when using an interface.
This solves it all. Keep at it, please!
I'd pay for it if it becomes an update!

Please, feel free to go bold and also name commands differently to make more sense for artists/newbies.
Edited on Apr 12, 2008 03:01 GMT

mb   (Apr 12, 2008 at 04:08 GMT)
Cool stuff keep up the good work!

T Squared (Thanhda Tie)   (Apr 12, 2008 at 05:28 GMT)   Resource Rating: 5
wow. awesome. i like it.

Stefan *Shaderman* Greven   (Apr 12, 2008 at 05:37 GMT)   Resource Rating: 4
This
is
cool
!

Ryan Jaeger   (Apr 12, 2008 at 07:02 GMT)   Resource Rating: 5
I think a nice addition would be some terrain editor curve presets and a way to save a specific one as a default. :)

Looking very nice!

Glen C   (Apr 12, 2008 at 09:42 GMT)   Resource Rating: 5
Love your work!

Taras (TSK) Anatsko   (Apr 12, 2008 at 09:51 GMT)   Resource Rating: 5
Nice work!

Nicholas Bogart   (Apr 12, 2008 at 13:15 GMT)
That looks awesome and I would like to see you continue to work on it.

Roland Orr   (Apr 12, 2008 at 14:30 GMT)
Nice work so far Phillip, i would really like to see how this develops. If it can be ported to TGE then even better. Plus, as said i too do not want to feel like i am in a Programming IDE when level designing. I can get that by opening Visual Studio.

Nice work man, keep it up.

Ben Acord   (Apr 12, 2008 at 16:36 GMT)
Very elegant design. And I agree with Roland and Tornado.

Novack   (Apr 12, 2008 at 18:18 GMT)
Excellent! Actually the design GUI is one of the most dated parts of the engine, this work of yours its not only cool but VERY useful. I applaud your design :)

James Ford   (Apr 12, 2008 at 21:54 GMT)
What is the reason for using XML to describe the editor?

Does this mean that all GUI's are defined in XML now? It looks very similar to the nested layout of controls you would find in a .gui file now, so, what was the motivation for moving from torquescript to xml?

Phillip OShea   (Apr 12, 2008 at 22:06 GMT)
Firstly, I have no association with GG, this is a personal project and will not become a Torque standard. I just wanted to provide people with an alternative.

I use XML so that I can define GUI elements really easily. If I were to export the toolbar as a .gui file, it would be massive and difficult for users to edit. The whole toolbar is 300 lines long, compared to the 1000+ of a gui file.

Novack   (Apr 13, 2008 at 00:23 GMT)
Indeed, excellent aproach.

Mikael Pettersson   (Apr 13, 2008 at 11:34 GMT)   Resource Rating: 5
I realy would like to see this project be worked on.

And the modular/extendable design that you have come up with, would make it easy for studios to add tools of their own.

Another plus is the fact that you have added icons.
Artists understand and work better with icons then a purly text based interface. So if you published this backend system, i would absolutely add it to my "Must have" list.

Tip:
A great addition to this would be to have the available models show up as rendered models rather then a simple text tree like it is now.

Chris "DiGi" Timberlake   (Apr 14, 2008 at 03:06 GMT)
wow . . . thats hott...

James Laker (BurNinG)   (Apr 14, 2008 at 07:19 GMT)   Resource Rating: 5
Very very coool

Ross \"Boaz\" Leland   (Apr 17, 2008 at 16:12 GMT)   Resource Rating: 5
I really like how all the basic commands are visibly present as it makes it look very friendly and less intimidating. If you cannot finish it, perhaps you can post as far as you get and let someone else finish it?

Jeramy79   (Apr 17, 2008 at 23:25 GMT)   Resource Rating: 5
@Phillip

Anymore development on this project? You've got an interested following here.

Phillip OShea   (Apr 17, 2008 at 23:35 GMT)
The interest has definitely given me more motivation to get this underway again. I still have to find the time do it, however.

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