Game Development Community

Torque: GUI Updates

by Phillip O'Shea · 04/11/2008 (6:54 pm) · 27 comments

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:

img297.imageshack.us/img297/1948/tgeaeditorconceptfj5.jpg
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 tag references a keyboard command like "Ctrl S" or "Shift-Ctrl S" and binds the button's command to the assigned shortcut.

The 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:

img410.imageshack.us/img410/1636/dropdownbutton1cu5.jpg
img396.imageshack.us/img396/5678/dropdownbutton2ni7.jpg
img395.imageshack.us/img395/672/dropdownbuttonnu9.jpg
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.

img297.imageshack.us/img297/9014/inspectorimagesr5.jpg
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.

About the author

Head of Violent Tulip, a small independent software development company working in Wollongong, Australia. Go to http://www.violent-tulip.com/ to see our latest offerings.

Page «Previous 1 2
#1
04/11/2008 (7:11 pm)
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.
#2
04/11/2008 (7:19 pm)
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.
#3
04/11/2008 (7:22 pm)
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' :)
#4
04/11/2008 (7:26 pm)
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?
#5
04/11/2008 (7:49 pm)
Phillip please continue with this. The IDE of TGEA currently is horrible. Yours is looking very very nice!
#6
04/11/2008 (7:59 pm)
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.
#7
04/11/2008 (9:08 pm)
Cool stuff keep up the good work!
#8
04/11/2008 (10:28 pm)
wow. awesome. i like it.
#9
04/11/2008 (10:37 pm)
This
is
cool
!
#10
04/12/2008 (12:02 am)
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!
#11
04/12/2008 (2:42 am)
Love your work!
#12
04/12/2008 (2:51 am)
Nice work!
#13
04/12/2008 (6:15 am)
That looks awesome and I would like to see you continue to work on it.
#14
04/12/2008 (7:30 am)
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.
#15
04/12/2008 (9:36 am)
Very elegant design. And I agree with Roland and Tornado.
#16
04/12/2008 (11:18 am)
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 :)
#17
04/12/2008 (2:54 pm)
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?
#18
04/12/2008 (3:06 pm)
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.
#19
04/12/2008 (5:23 pm)
Indeed, excellent aproach.
#20
04/13/2008 (4:34 am)
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.
Page «Previous 1 2