Of mice and men and Constructor
by Matt Fairfax · 07/26/2005 (3:52 am) · 49 comments
Map2Dif Plus
I spent the weekend finishing up Map2Dif Plus and porting it over to TSE to help on our Xbox 360 project (which I can't talk much about ;) Hopefully, I caught all of the bugs. This is far from the last of my work on map2dif so there is plenty more cool stuff to come!
Stencil Shadows
I also recently have been working on a stencil shadow implementation for TSE:


* Click for larger images
This is for use on our Xbox 360 project but I have written it against TSE HEAD and plan to release it as a free resource for the community at some point very soon. It won't be a complete lighting/shadow solution for TSE (that is Milestone 4) but it should be fun to play with until then =)
Constructor

When I am not working on the Xbox 360 stuff, Josh locks me in a closet and makes me work on Constructor ("finish face selection or no 80's Night for you this week!")
This project has been rocking along great and I can't *wait* to get into your hands! We went Alpha about a month ago and are driving as hard as possible for Beta. Unfortunately, I can't give you much more of a timeline than that so don't bother asking =P
Hopefully none of you missed out on Dave Wyand's excellent .plan on Constructor where he laid out a few of the cool things about Constructor's gui interface.
For this plan I wanted to talk a little about our primitive tools:

As you can see in the shot above we already have a Box, Tube, Cone, Ramp, Arch, and Sphere tools available (to be fair the Arch and Sphere tools are still work-in-progress). In the shot above you can see an example of me setting up a Tube. If you take a look at the Tool Properties on the right you can see a few of the things you can edit while adding a Tube. As you would expect there are fields that allow you to type in a position and a size for the Tube. You can alternatively use the handles on the bounding box (the red, green, and blue dots) to drag the Tube around and resize it as you watch.
Below that is is where you can set the number of the side of the Tube (notice the 120 sides...instantaneous creation ;) and the axis that the tube is aligned upon (no more creating the primitive and then having to rotate it into the facing the right direction). Below these properties are the initial texturing options.
Now, why did I just go into detail about such seemingly simple properties? Because everything you see in those Tool Properties is *totally* script defined:

Constructor and all of its tools are completely TorqueScript driven. Take a moment to let that sink in...
This means that everything you can do to a brush, from movement, to scale, to rotation, to texturig, to lightmapping, to creation is completely accessible from scripts. You can add new primitive tools, bind keys to any action in the editor, and write new scripts to help you out as you create your Interior. For example, imagine you need to run through and resize every other brush by half. Few lines of script, a keybind, and *bam* done...no tedious by hand resizing. Want to switch toggle your Layouts between a 4 view editing Layout and a fullscreen 3D view with only Texture tools? Again, few lines of script, a keybind, and there you go (this is actually how we plan to handle fullscreening a viewport ;). And, did I mention that the Tools scripts are *really* heavily documented =)

It get's even cooler =) For our prefab system we plan on exporting the prefab brushes as a series of script commands. You can then turn around, drop these into the Tools interface, replace a few values with the appropriate scripted properties (like size, position, number of sides), and you have a brand spanking new Tool as quick as that!
Imagine for example, exporting a basic stadium, then exporting a couple different roofs for it, then a couple different style bleachers/seats, and combining these into an instant Stadium Maker Tool which allows you to mix and match the different pieces. Throw in some script-placed spawn points and a toggle for the lights and you've just customized Constructor for the mod community for your football game (or BoomBall ;). You can easily imagine doing a similar thing for a Race Track Builder or a City Generator.
Now, scripting languages are hardly a new thing for the high-end 3D modelling applications but I think it is going to be pretty awesome to have your coders and your artists sharing the exact same scripting language! I can barely imagine what this community will be able to do with that kind of power but I know for sure that I want to be around when they do!
I spent the weekend finishing up Map2Dif Plus and porting it over to TSE to help on our Xbox 360 project (which I can't talk much about ;) Hopefully, I caught all of the bugs. This is far from the last of my work on map2dif so there is plenty more cool stuff to come!
Stencil Shadows
I also recently have been working on a stencil shadow implementation for TSE:


* Click for larger images
This is for use on our Xbox 360 project but I have written it against TSE HEAD and plan to release it as a free resource for the community at some point very soon. It won't be a complete lighting/shadow solution for TSE (that is Milestone 4) but it should be fun to play with until then =)
Constructor

When I am not working on the Xbox 360 stuff, Josh locks me in a closet and makes me work on Constructor ("finish face selection or no 80's Night for you this week!")
This project has been rocking along great and I can't *wait* to get into your hands! We went Alpha about a month ago and are driving as hard as possible for Beta. Unfortunately, I can't give you much more of a timeline than that so don't bother asking =P
Hopefully none of you missed out on Dave Wyand's excellent .plan on Constructor where he laid out a few of the cool things about Constructor's gui interface.
For this plan I wanted to talk a little about our primitive tools:

As you can see in the shot above we already have a Box, Tube, Cone, Ramp, Arch, and Sphere tools available (to be fair the Arch and Sphere tools are still work-in-progress). In the shot above you can see an example of me setting up a Tube. If you take a look at the Tool Properties on the right you can see a few of the things you can edit while adding a Tube. As you would expect there are fields that allow you to type in a position and a size for the Tube. You can alternatively use the handles on the bounding box (the red, green, and blue dots) to drag the Tube around and resize it as you watch.
Below that is is where you can set the number of the side of the Tube (notice the 120 sides...instantaneous creation ;) and the axis that the tube is aligned upon (no more creating the primitive and then having to rotate it into the facing the right direction). Below these properties are the initial texturing options.
Now, why did I just go into detail about such seemingly simple properties? Because everything you see in those Tool Properties is *totally* script defined:

Constructor and all of its tools are completely TorqueScript driven. Take a moment to let that sink in...
This means that everything you can do to a brush, from movement, to scale, to rotation, to texturig, to lightmapping, to creation is completely accessible from scripts. You can add new primitive tools, bind keys to any action in the editor, and write new scripts to help you out as you create your Interior. For example, imagine you need to run through and resize every other brush by half. Few lines of script, a keybind, and *bam* done...no tedious by hand resizing. Want to switch toggle your Layouts between a 4 view editing Layout and a fullscreen 3D view with only Texture tools? Again, few lines of script, a keybind, and there you go (this is actually how we plan to handle fullscreening a viewport ;). And, did I mention that the Tools scripts are *really* heavily documented =)

It get's even cooler =) For our prefab system we plan on exporting the prefab brushes as a series of script commands. You can then turn around, drop these into the Tools interface, replace a few values with the appropriate scripted properties (like size, position, number of sides), and you have a brand spanking new Tool as quick as that!
Imagine for example, exporting a basic stadium, then exporting a couple different roofs for it, then a couple different style bleachers/seats, and combining these into an instant Stadium Maker Tool which allows you to mix and match the different pieces. Throw in some script-placed spawn points and a toggle for the lights and you've just customized Constructor for the mod community for your football game (or BoomBall ;). You can easily imagine doing a similar thing for a Race Track Builder or a City Generator.
Now, scripting languages are hardly a new thing for the high-end 3D modelling applications but I think it is going to be pretty awesome to have your coders and your artists sharing the exact same scripting language! I can barely imagine what this community will be able to do with that kind of power but I know for sure that I want to be around when they do!
About the author
I am a Game Designer at PopCap who has worked on PvZ Adventures, PvZ2, Peggle Blast, and Bejeweled Skies. I am an ex-GarageGames employee who helped ship TGE, TGEA, Torque 3D, and Constructor.
#3
Life is pretty busy right now and I can only progress slowly with TGE/TSE and T2D... but by the time pace will pick up it will be great to have an even better version of TSE and mostly 'Constructor' about to pop out ready to be used!
07/26/2005 (4:28 am)
What can I say... amazing!Life is pretty busy right now and I can only progress slowly with TGE/TSE and T2D... but by the time pace will pick up it will be great to have an even better version of TSE and mostly 'Constructor' about to pop out ready to be used!
#4
I think it's necesary release this tool as "open source" to the community.
thx and great work!!!
07/26/2005 (4:36 am)
Any news respect source-code/.cs Constuctor release? or they are a stand alone application?I think it's necesary release this tool as "open source" to the community.
thx and great work!!!
#5
@Luis
I'm sure it will be standalone (which is fine by me).
07/26/2005 (4:50 am)
Looks great. I recently bought CS and Tom's .DIF plugin, but I'm still planning on getting Constructor. I can't wait to see it in action. @Luis
I'm sure it will be standalone (which is fine by me).
#6
07/26/2005 (4:52 am)
Pretty sweet. I'm thinking of all of the resource scripts the community comes up with and shares.
#7
Nick
07/26/2005 (5:11 am)
Some of the greatest news so far this year! Thanks for Map2Dif Plus and the update on Constructor.Nick
#8
07/26/2005 (5:26 am)
Looks very sexy, nice work.
#9
07/26/2005 (6:13 am)
Constructor, constructor, constructor !!
#10
07/26/2005 (6:15 am)
heeeeeps coolies.. that kind of is very very cool.
#11
07/26/2005 (6:32 am)
I think it's brilliant that all these new tools are surrounded by the Torque Script[and TGE in general], and Quote:Now, scripting languages are hardly a new thing for the high-end 3D modelling applications but I think it is going to be pretty awesome to have your coders and your artists sharing the exact same scripting language!, is so true....
#12
07/26/2005 (6:45 am)
.
#13
07/26/2005 (7:06 am)
This plan is so full of awesome!
#14
07/26/2005 (7:09 am)
Constructor: Wow! You're really gonna pull it off that good ... Simply freakin amazing!
#15
07/26/2005 (7:23 am)
This rocks HARD! I especially love the fully scripted objects.
#16
- Brett
PS: If I were to try doing those again.. I think it would come out wayyyy better.
07/26/2005 (7:47 am)
Looking awesome Matt.. I remember when a certain someone was trying to retrofit stencil shadows on the TGE. I heard you were really helpful...- Brett
PS: If I were to try doing those again.. I think it would come out wayyyy better.
#17
07/26/2005 (8:39 am)
Can't really add much more to what everyone has already said, it's looking great and I can't wait to get my hands on it and start using it :)
#18
You may not be allowed to answer, but does the xbox 360 use a variation of DX9 or DX10? (I know DX10 has a different name, but cant remember what its called)
Editing out silly question about map2dif ...
I am sure this is already possible or will be in soon, but want to ask.
Will Constructor allow you to move and stretch the textures around?
In the cylinder screenshot the textures aren't aligned to the edges. Can they be stretched to fit or realigned visually?
Editing out silly question about Quark and Cartography shop importing
I apologize if these questions have been answered.
------------------
Luis Ant
07/26/2005 (8:44 am)
This is great stuff Matt.You may not be allowed to answer, but does the xbox 360 use a variation of DX9 or DX10? (I know DX10 has a different name, but cant remember what its called)
Editing out silly question about map2dif ...
I am sure this is already possible or will be in soon, but want to ask.
Will Constructor allow you to move and stretch the textures around?
In the cylinder screenshot the textures aren't aligned to the edges. Can they be stretched to fit or realigned visually?
Editing out silly question about Quark and Cartography shop importing
I apologize if these questions have been answered.
------------------
Luis Ant
#19
The cyclinder screenshot answered by question (mostly) about the texture adjustments.
Who knew screenshots could talk? ;-)
07/26/2005 (8:46 am)
Ack! The cyclinder screenshot answered by question (mostly) about the texture adjustments.
Who knew screenshots could talk? ;-)
#20
Couldn't put it any better
Torquescript manipulation of 3D creation... *shivers*
07/26/2005 (8:47 am)
Quote:This plan is so full of awesome!
Couldn't put it any better
Torquescript manipulation of 3D creation... *shivers*

Torque 3D Owner Rodney (OldRod) Burns