Previous Blog Next Blog
Prev/Next Blog
by date

Of mice and men and Constructor

Of mice and men and Constructor
Name:Matt Fairfax
Date Posted:Jul 26, 2005
Rating:4.9 out of 5
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Matt Fairfax

Blog post
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!

Recent Blog Posts
List:09/20/08 - TGEA 1.8 on a Mac
06/20/08 - Barricade Demo
06/13/08 - Follow Through - TGEA 1.7.1 Released
04/05/08 - TGEA 1.7 is Officially Released!
03/29/08 - Torque Game Engine Advanced Open Beta 2
03/19/08 - Torque Game Engine Advanced Open Beta
01/18/08 - Big Update to TGEA on the way!
09/15/07 - A Week in Oregon

Submit ResourceSubmit your own resources!

Rodney (OldRod) Burns   (Jul 26, 2005 at 10:57 GMT)
Constructor is looking better all the time! Can't wait for this one ;)

Martin Schultz   (Jul 26, 2005 at 11:07 GMT)   Resource Rating: 5
I'm blasted. This is awesome. Can't wait to buy this one!

Fantastic work!

Hokuto   (Jul 26, 2005 at 11:28 GMT)
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!

Luis Anton Rebollo   (Jul 26, 2005 at 11:36 GMT)
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!!!
Edited on Jul 26, 2005 11:36 GMT

Aaron e   (Jul 26, 2005 at 11:50 GMT)
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).

Michael Cozzolino   (Jul 26, 2005 at 11:52 GMT)
Pretty sweet. I'm thinking of all of the resource scripts the community comes up with and shares.

Nick Zafiris   (Jul 26, 2005 at 12:11 GMT)   Resource Rating: 5
Some of the greatest news so far this year! Thanks for Map2Dif Plus and the update on Constructor.

Nick

Trent "mittens" Polack   (Jul 26, 2005 at 12:26 GMT)
Looks very sexy, nice work.

Grugin   (Jul 26, 2005 at 13:13 GMT)
Constructor, constructor, constructor !!

Skye Gellmann   (Jul 26, 2005 at 13:15 GMT)
heeeeeps coolies.. that kind of is very very cool.

Rex   (Jul 26, 2005 at 13:32 GMT)
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....

Keith Frampton   (Jul 26, 2005 at 13:45 GMT)   Resource Rating: 5
.
Edited on Apr 04, 2007 14:44 GMT

Timothy Aste   (Jul 26, 2005 at 14:06 GMT)   Resource Rating: 5
This plan is so full of awesome!

James Laker (BurNinG)   (Jul 26, 2005 at 14:09 GMT)
Constructor: Wow! You're really gonna pull it off that good ... Simply freakin amazing!

David Montgomery-Blake   (Jul 26, 2005 at 14:23 GMT)
This rocks HARD! I especially love the fully scripted objects.

Brett Fattori   (Jul 26, 2005 at 14:47 GMT)
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.

Gary Preston   (Jul 26, 2005 at 15:39 GMT)
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 :)

David Stewart   (Jul 26, 2005 at 15:44 GMT)
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
Edited on Jul 26, 2005 15:56 GMT

David Stewart   (Jul 26, 2005 at 15:46 GMT)
Ack!
The cyclinder screenshot answered by question (mostly) about the texture adjustments.
Who knew screenshots could talk? ;-)

Matthew Langley   (Jul 26, 2005 at 15:47 GMT)
Quote:

This plan is so full of awesome!


Couldn't put it any better

Torquescript manipulation of 3D creation... *shivers*

Simon Love   (Jul 26, 2005 at 16:05 GMT)
And here I thought Constructor would be a simple Quark replacement...The possibilities this script-driven creator open up are mind-blowing. It makes some projects I had possible again...thank you thank you thank you thank you. If GG was a girl, I'd marry her.

David Stewart   (Jul 26, 2005 at 16:28 GMT)
Is it possible that Constructor can implement a collision system to help allign objects?

Jeff Gran   (Jul 26, 2005 at 17:07 GMT)
Matt, that freaking rocks. My mind is reeling thinking about all the possibilities. Given that I have recently fallen in love with writing scripted tools for artists, I will definitely be making the most of that aspect of Constructor. Keep on it, dude!

PS Did Josh really tell you you can't go to 80s night? :P

Clint S. Brewer   (Jul 26, 2005 at 17:08 GMT)
thanks for the new map2dif, I will try it out today.

Any particular reason you chose stencil shadows over shadow maps?

Pat Wilson   (Jul 26, 2005 at 17:39 GMT)
Quote:


I think it's necesary release this tool as "open source" to the community.


That doesn't make any sense. First it was "Constructor should be free" now it's "Constructor should be open source." Matt and Dave have been working a long, long time on this and they're gonna get paid for it. We are not re-starting the debate over if this should be free or not. There are free tools out there, go use them if you want to.

@David: That is NDA, sorry.
Edited on Jul 27, 2005 06:42 GMT

Craig Fortune   (Jul 26, 2005 at 17:47 GMT)
@Clint. One would assume its because Stencil shadows are nice looking, can shadow over objects accurately and also update with movement (animation etc)

@Pat. I have a feeling that he actually meant have the source available to purchasers of TC rather then it being open source. i.e. he used the wrong term. Or he could just be a bit dim ;)

edit: just to say I see no need to have the source available at all, especially with the way most of TC seems to work with scripting.
Edited on Jul 26, 2005 17:48 GMT

Adam deGrandis   (Jul 26, 2005 at 17:54 GMT)
Holy crap, man! You really busted out the big guns for this one. :)

David Stewart   (Jul 26, 2005 at 18:19 GMT)
@Pat. I'm guessing the NDA response is about the xbox 360 question. That's cool.

---------------------------
To be a little more revealing on what I feel about the open source thing:
I agree with Pat. It's just dumb. Why do we need to know how it runs? It's capabilities are all we need.
Should we be demanding Discreet (or whatever they are called this month) and Alias to open source Max and Maya?
What benefit does it have?
What are the benefits to have the parts and instructions to a soda fountain, when you go to your favorite restaurant?
It's what it produces that you really want, not the machine.
---------------------------

Clint S. Brewer   (Jul 26, 2005 at 18:27 GMT)
Quote:

@Clint. One would assume its because Stencil shadows are nice looking, can shadow over objects accurately and also update with movement (animation etc)


@Craig maybe you are thinking about different shadow maps than I am, there's a few different ways you can do it. Quite a few games these days are using shadow maps instead of stencil, they can be made to look rather nice, even with soft shadowing. the artifacts for shadowing other objects can be dealt with, and they work absolutely fine with animated objects in your scene. Plus you don't have to deal with those nasty shadow volumes, it's more sort of a fullscene post processing type of effect. They of course have their own problems, but I'm sure on xbox 360 you'll get plenty of room and speed to use high res shadow maps.

Mark Storer   (Jul 26, 2005 at 18:36 GMT)   Resource Rating: 4
About the whole "Open Source" thing:

1) You need to differentiate between "people who buy it have access" and "everyone has access".

The people doing all this work deserve to be compensated. No objections there.

2) But having access to the source of Torque has done Good Things for it, and I don't see a problem with letting people who buy it have The Source.

And something else people need to keep in mind: Any script you write for composer can be made available to everyone else through a resource. Based on Matt's description, I'd guess we'll have access to some of it... (in a controlled way: "we plan on exporting the prefab brushes as a series of script commands"), but not all.

It's theirs. They're building it. They can do anything they want to with it. "Best for the community" arguments aren't going to get very far when they need to pay their bills. And going by Pat's reaction, I'd say they've heard more than enough of those arguments, so trying again is only going to Piss Them Off. Ain't gonna happen.

--Mark

Ben Garney   (Jul 26, 2005 at 18:58 GMT)
On the shadowmap/stencil shadow thing - we needed stencil shadows in TSE for a project we're working on, so Matt implemented them. This does not represent some policy decision or an endorsement of one technique over the other. Very sharp shadows generated from relatively low-poly level geometry was exactly what we wanted for this project, so we used stencil shadows.

If I was to guess (and I don't work closely with Matt/Dave on Constructor, so take what I say with a grain of salt), I would imagine that the goal with Constructor is to a) make it so scriptable that you won't _need_ C++ level access, and b) roll some of the more useful features into Torque, so that the community can benefit from them.

Clint S. Brewer   (Jul 26, 2005 at 19:16 GMT)
@Ben "This does not represent some policy decision or an endorsement of one technique over the other." heh, not looking for policy decisions, just curious, and wanted to reccomend shadow maps to Matt if he hadn't looked at them lately.

Ben Garney   (Jul 26, 2005 at 19:18 GMT)
@Clint: Gotcha. :) But we don't _want_ shadow maps for this project, you see... ;)

Clint S. Brewer   (Jul 26, 2005 at 19:23 GMT)
@Ben, yes ...yes I do see, you winker you.
edit: although it would be funny if you would preceed all your posts with: This does not represent some policy decision or an endorsement of one technique over the other :)
Edited on Jul 26, 2005 19:41 GMT

Paul Scott   (Jul 26, 2005 at 19:41 GMT)
Wait a sec... Wow.
Ok... wow! All tools are script based plugins??

Level - making tools are always a need on any project. Scripters and artists sharing the same language will, I think, greatly facilitate the some cool project - specific tools. I hope we're gonna see some really cool hacks from the community with this one!

I knew this project rocked, but I had no idea how much. Truth, this doth rock. A lot.

Brian Ramage   (Jul 26, 2005 at 21:40 GMT)
Very cool Matt, didn't know it was that scriptable. Very, very cool.

John Rockefeller   (Jul 27, 2005 at 01:45 GMT)
I can't even believe this.

Constructor looks out-of-this world. Looks like I joined the Torque community at the right time! I can't wait for this...

Also, the stencil shadows look totally wicked (can't wait for that either) and I'm glad you're releasing that free.

I will definitely buy Constructor when that sucker comes out.

*Will be making Torque games for years to come*

David Montgomery-Blake   (Jul 27, 2005 at 03:57 GMT)
One thing I would like to see is an import/export function available in script to allow me to export maps in OBJ or 3DS and import them into Lightwave for correct DTS scaling. Kind of like map23ds, but available in an interface where we can import/export to our favorite format (providing there is a spec).

But even if it were only a Quark/CS knock-off, I'd pick it up to have a legal native OS X map editing package. The rest is candy. Beautiful, and succulent, but candy on top of what I was hoping to gain.

Misifu   (Jul 27, 2005 at 07:17 GMT)
Will it be easy to create a path(with some pathmarkers) in Torque Constructor?
Edited on Jul 27, 2005 07:18 GMT

Luis Anton Rebollo   (Jul 27, 2005 at 10:32 GMT)
Sorry, i don't want this tool for free :P I only want soure code or cs files for modify and learn. when purchase this tool

Josh Williams   (Jul 29, 2005 at 06:48 GMT)
Yes, we will be shipping much of the script file source code.

Greg Gardinier   (Aug 02, 2005 at 13:11 GMT)
Oh man, you should give this to me right now! :P If this thing has even small amounts of stable functionality I could use it right away. I can't wait until its all done.

Kevin Lee   (Aug 20, 2005 at 13:47 GMT)
Can't wait until I can get a copy, it will make things much easier.

Peter Carter   (Sep 15, 2005 at 15:06 GMT)   Resource Rating: 5
matt i guess with constructor you will not get "ninja" leaks or lightmap problems that you get exporting from Quark and cshop? am i right in saying that constructor is a true wysiwyg editor or is the lighting going to be emulated? anyway great news that it is on its way even if we do have to wait a while.
Edited on Sep 15, 2005 15:07 GMT

Matt Fairfax   (Sep 15, 2005 at 19:59 GMT)
It will be a true WYSIWYG editor.

Joe Melton   (Dec 29, 2005 at 00:26 GMT)
Is it done yet. ;)

Hege Berntsen   (May 17, 2006 at 08:20 GMT)
Just a few questions:

1. Do you need to own SDK to buy it?
2. Do you need to learn scripting to be able to use the program?
3. Will you be able to find the scripts you can add to the program, if you dont own SDK?

Ben Garney   (May 17, 2006 at 14:32 GMT)
No, no, yes.

Constructor is completely stand alone. :)

Hege Berntsen   (May 18, 2006 at 22:12 GMT)
Thanks Ben!
Thats what i needed to know. No more building in several other programs, only to mez up on the import to torque part. Since Constructor launch soon, i will just slack and enjoy the summer until it gets relised. Yahoo :)

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