Game Development Community

dev|Pro Game Development Curriculum

Deconstructing Constructor - Part 5

by David Wyand · 03/24/2006 (8:12 am) · 29 comments

Welcome to the fifth in a series of frequently infrequent talks about Torque Constructor. This is a continuation of my blog/.plans:

Part 1
Part 2
Part 3
Part 4

You may also want to read Matt's .plans:
Of mice and men and Constructor
When will Constructor ship?

And stop by Ron's .plan to find out about running under Linux:
TGE-L, Constructor and TSTPro

What is Torque Constructor
Torque Constructor is a .map (as in the .map file format) editing and .dif (the Torque interior file format) producing program being developed by Matt Fairfax, John Kabus, Ron Yacketta and myself under the direction of GarageGames. You may have seen the Development Snapshot of the Day posted back in March '05 where the project was first announced. If you're familiar with programs like Valve's Hammer, with a smattering of traditional 3D apps such as NewTek's LightWave or Luxology's Modo, then you'll understand Constructor.

Discussion: Objects Menu
In today's episode (for the GDC '06 demo impaired :o), I'll once again talk about what I've built in Constructor from my last update at IGC '05 until the end of the year. Specifically we'll look at what you'll find under the Objects menu today.

www.gnometech.com/torque/images/constructor/2006-03-23-ObjectMenu.jpgConstructor Objects Menu

I've divided the Objects menu into three sections. We'll go through each of them below.

Brush & Entity Grouping
There are times when you're working with a map that you'd like to group like items together. This could be a series of brushes, a collection of entities, or a combination of both. To make a group, you simply select the appropriate objects and use the Objects->Group menu item or its keyboard equivalent. Now whenever you select one item in the group, all the items in the group will automatically be selected.

www.gnometech.com/torque/images/constructor/2006-03-23-GroupedBrushAndEntity.jpgThe user has clicked on the rectangular brush and a grouped point light entity has automatically been selected with it

And if you'd ever like to select a single object without selecting everything within its group, you just hold down the CTRL key and click on the object. Something to note is that unlike selection sets (discussed last time) an object may only belong to one group at a time.

Lock Position & Orientation
There are times when you'd like to make an object unselectable so that you don't accidentally move it. You'd still like to see it for reference but not modify it. That's where object locking comes in.

www.gnometech.com/torque/images/constructor/2006-03-Locked.jpgLocked brushes are not selected with the yellow drag selection box

Using the Objects menu you may choose to lock those objects that you have selected, or everything that is not currently selected. You may also swap what is locked with what objects are not locked using the Objects->Inverse Lock menu item. When an object is locked it is drawn with dark blue edges to show its different state.

To remove the lock on the objects you use the Objects->Unlock All menu item. As you cannot select a locked item it is not possible to just unlock a few of them at a time -- you must unlock them all at once.

Hide from View
Sometimes you just need to get objects out of your way. For example you'd like to remove the roof of a building to make it easier to build its interior. In this case you'd like to hide the roof:

www.gnometech.com/torque/images/constructor/2006-03-23-Hidden.jpgThe top of the Orc Tower has been hidden to reveal its interior

As with locking an object, you may hide what is currently selected or hide everything that is not selected. When an object is hidden it is completely removed from the scene and does not block your mouse operations. And if you'd like to swap what is hidden with what is visible, you'd use the Objects->Inverse Hide menu item, just like you do with locking. As you can tell, locking and hiding are very similar to each other. :o)


That's it for today's quick run through of the Objects menu. I've attempted to make these operations feel familiar to anyone that has used a digital arts tool. Until next time...

- LightWave Dave

PS: If you've been paying attention, some of you may notice that the pictures have shown more than what I've talked about here. I'll shed more light on that in a future article...

About the author

A long time Associate of the GarageGames' community and author of the Torque 3D Game Development Cookbook. Buy it today from Packt Publishing!

Page «Previous 1 2
#1
03/24/2006 (8:23 am)
I see quite a few things I like in there, you might actually coax me away from my new love: gtkradiant
looking forward to trying this out.
#2
03/24/2006 (8:25 am)
Sounds like you need "Unlock by name" and "Unhide by name" to catch those instances where you may not want to unlock everything.
#3
03/24/2006 (8:30 am)
Clint:
I look forward to hearing your future comparison. :o)

Neil:
You are correct that being able to unlock and unhide by some identifier would be nice. It's just not in there today, and may not be for v1.0.

- LightWave Dave
#4
03/24/2006 (8:32 am)
Good group management is da bomb!
#5
03/24/2006 (8:38 am)
Dave, Looking really good! Can't wait to give it a spin.
#6
03/24/2006 (8:40 am)
Great looking tool. Get it out already! >:)
#7
03/24/2006 (8:49 am)
Thanks guys!

Bryan:
I really want to release Constructor too. :o) Every week it gets a little closer, but its not quite there yet. It's tough when team members come and go, and come back, and then go, and then come back again. Although right now they're gone. But they'll be back. :o)

- LightWave Dave
#8
03/24/2006 (8:53 am)
Dave, will Constructor support all the exisiting entities like triggers, and the various light types?
#9
03/24/2006 (8:57 am)
You know what would be cool, if constructor let you apply shaders to your obects so you could see how it would look before placing in the game. Or maybe this is something the TSTpro should do? Anyway great job. This tool is going to be huge.
#10
03/24/2006 (9:21 am)
Informative as always David.

Looking forward to seeing more information about your lighting solution (: It looks like it's realtime in the editor, which is something I've missed.

Thanks for the interesting plan!
#11
03/24/2006 (9:31 am)
Can't wait for this app! A standard will be so nice!
#12
03/24/2006 (9:35 am)
Shades of lightwave....

From the UI, to the Hide mesh, to the locking...

Will layers make it? or are you going with just the locking to acomplish that.

Also, the coloring you have on the drop downs that group sets of options... is that photoshop? or is it realy like that?

I think you should keep it in, take a tip from Illistrator CS2, Illistrator natave "fillters" are grouped and seporated from the raster ones from photoshop... Before this i think alot of uses had a hard time understanding how to use them, the lableing and seporating them (with a line and some text) helped alot.

eh.. 2c.
#13
03/24/2006 (11:05 am)
Hurry... I am dying a slow death waiting for it :)
#14
03/24/2006 (11:14 am)
useful stuff
#15
03/24/2006 (11:50 am)
Thanks again guys!

Anthony:
Constructor currently supports all entities as defined in the torque.fgd file. There are also two Constructor-specific light entity types that are cleaned up versions of those in Torque that may be used when you compile a map directly from Constructor. You may also set up your own entities and use them on your map. These are organized by game type.

Bryan:
Constructor is currently being built on TGE so there won't be any direct shader support. Once TSE goes cross platform, then we can see about adding cool things like shaders -- but that won't be for a while. :o)

As for TST Pro allowing you to set up your shaders: I have a version of TST Pro that works with TSE that is in a tech demo stage at the moment. What I'd like to do is allow the user to set up and modify their shaders directly from TST Pro and save out the appropriate script files for TSE. Lots to do after Constructor is complete. :o)

Stefan:
The lightmapping code is currently being worked on by John K -- that's why we keep him around. :o) If he doesn't have a chance to write about how the lighting works, I'll be sure to write about it in my Deconstructing Constructor series down the road. I'd like to step up the frequency of these featurettes to get more information out to you guys, but it is always a trade off between writing code and writing these.

Allyn:
A smattering of LightWave, a bit of Modo, some Photoshop and Illustrator thrown in, among others -- and of course the existing map editors out there. The advantage of creating something new is that you get to build upon what is already out there based on what seems to be working. The disadvantage is that it is difficult to have the same breadth and still actually release a product. :o)

I've always tried to mold Constructor into a regular 3D modeling application rather than a 'map builder'. There are certain limitations and compromises that must be made just because of the underlying technology -- by which I'm mean BSP's. Once we get Constructor out to testers and then finally released, we'll see how close I was able to reach this goal.

As far as layers go: I'd like to include them if I can. I couldn't imagine using a regular polygon 3D application without layers -- they're just too handy. Stripping layers down to the basics, they are a special combination of locking and hiding. Hiding objects on those layers that aren't wanted, and locking those objects that are in a background layer. So the basics are in Constructor and it'll just come down to priorities and time.

As for the colouring in the menus: yes I just did that in Photoshop to highlight the distinction. Constructor makes use of the platform's (ie: Windows and OSX) own menu system, so doing something like that natively would be a challenge (although not impossible with application drawn menus). Hopefully the sorting I have in the existing menus will help out. If we need to label the separators (and the platform supports this) then I'll look into it.

- LightWave Dave
#16
03/24/2006 (11:59 am)
Wow. I can't wait.
#17
03/24/2006 (12:34 pm)
Man I so want this!
#18
03/24/2006 (12:38 pm)
*pant* *pant* *pant*

Ship iiiitttt!

*pant* *pant* *pant*

Looks good! I bet everyone is at GDC though... lol..
#19
03/24/2006 (3:10 pm)
Quote:It's tough when team members come and go, and come back, and then go, and then come back again. Although right now they're gone. But they'll be back. :o)

What? I am still here, havent gone nor come back.. just hanging around here


-Ron
#20
03/24/2006 (3:35 pm)
Hey Ron.

No worries -- you've always been here and available. We can't get rid of you. :o)
Page «Previous 1 2