Constructor Beta9 thru Beta14
by Matt Fairfax · 10/26/2006 (9:25 pm) · 93 comments
Just to give everyone a glimpse into how busy we have been with Constructor! This is extracted from our changelogs over the last 4 months.
Since this got a little long I had to split it up. This is continued from Constructor Beta3 thru Beta8.
And no, we do not have a firm release date yet =P






The older Properties Form on the current layouts has been replaced with a Tabbed Container Form that has also been given the name 'Properties'. It has been given tabs for the Tools Properties, Object Properties, Sunlight and Preferences Forms.




With the right mouse button held in a 3D View Form the WASD keys become active to move the camera as in a traditional FPS game. These keys work with either the Orbit or Free Movement camera modes. Holding down SHIFT will cause the camera to move 10x faster, while holding down CTRL will cause the camera to move 10x slower. These keys also work with the Rotate drag button in the top left of the 3D View Form.
A special unit of t has been set up that will convert a number of texture units (based on the map's geometry_scale parameter) into meters. This is very handy if you wanted to size a cube to match a particular texture size or to move geometry with the Translate tool a texture's width. For example if the following values were entered into the Build Cube tool's Size field:
Please note that not all text edit fields currently support this unit conversion. If they do not support expression evaluation then they also do not support the conversion. Over time more text edit fields will be upgraded. Forms that support unit conversion include: Tools Properties, Face tab under Object Properties, and Preferences.



The testscenes/fulltest.csx file has been included as a scene that utilizes most of the CSX format features such as grouping, static meshes and selection sets. You may use it to try out the Selection Sets Form's features until you build your own scene that includes selection sets. When combined with object hiding and locking, selection sets are a powerful aid in Constructor's workflow.





When opening a map, the game types from the default scene will be used, but no other information will be copied from the defaults.
Deconstructing Constructor - Part 1
Deconstructing Constructor - Part 2
Deconstructing Constructor - Part 3
Deconstructing Constructor - Part 4
Deconstructing Constructor - Part 5
Of mice and men and Constructor
When will Constructor ship?
Constructor Functional Beta Ships!
Constructor Beta2
Constructor Beta3 thru Beta8
TGE-L, Constructor and TSTPro
Torque Constructor Devshot 1
Torque Constructor Devshot 2
Since this got a little long I had to split it up. This is continued from Constructor Beta3 thru Beta8.
And no, we do not have a firm release date yet =P
Constructor Beta9 thru Beta14 Changes
Below is a list of all changes that have been made to Constructor between Beta9 and Beta14. This covers SVN revisions 782 through 999.Vertex Snap to Grid
Brush vertices will now correctly snap to the grid when moved with the tools or the Axis Gizmo. Previously they would only move by the amount of grid spacing but not stick to the grid as drawn.New Action Centers
Two new Action Centers have been added to the Edit->Action Center menu and Tools Form's Action Center popup:- World [ALT+W] - about the world's origin.
- Custom [ALT+C] - about a user defined action center that is stored in the current scene's detail level.
Brush Tab Update
- The Brush tab of the Object Properties Form now has a button underneath the parent entity's name called 'Edit Properties'. Clicking on this button will open the Manage Entities window and select the brush's parent solid entity.
- The Brush tab of the Object Properties Form now displays the selected brushes' group number or "None" if they do not belong to a group. If the selected brushes do not share the same group then the Group field will appear blank.

Select Same Brush Owning Entity
Added a new Select->Same->Brush Owning Entity menu item. With at least one item selected this operation will select like items that share the same owning solid entity ie: 'worldspawn' or 'detail'. This works with brushes, faces and vertices.New Sunlight Form
A new Sunlight Form has been added and may be used to modify the current scene's sun's orientation and color. This information is now saved in a scene's CSX file.
Manage Entities Window Update
The Manage Entities window opened from Scene->Manage Entities now displays the number of child brushes for each entity.
Scene Menu Update
The Scene menu now contains a list of the loaded scenes at the bottom with a check mark beside the current one. Selecting one of the scene names will make it the current scene. This is in addition to what may already be done from the Layers Form.
Tool Dynamic Control Update
- A new 'color3' dynamic control has been created. It provides three numeric text edit fields representing the RGB components of a color and a small color preview swatch.
- A new 'label' dynamic control has been created. It is used to add a single line of (usually unchanging) text.
Add Point Entity Tool Update
The Add Point Entity tool now allows for a mouse click anywhere within the 3D Views to move the new entity. This means you're not required to click on the handle to position the point entity.Radial Clone Tool
A new Radial Clone tool has been added to the Tools Form's Create tab. This tool will make multiple copies of the selected brushes (or all brushes if none are selected) radiate about a given center. Each copy has a given scale, rotation and offset (in that order) applied in a cumulative fashion. So the second copy will be scaled more than the first, etc. When the center handle is moved or the rotation axis is changed the duplicated brushes are updated in real time. At some point this tool will also work with shapes and entities.
Array Clone Tool
A new Array Clone tool has been added to the Tools Form's Create tab. This tool will make multiple copies of the selected brushes (or all brushes if none are selected) into an array with a given number of copies along the world X, Y and Z-axis. Each copy is given an offset from its neighbors as set in the tool's interface. It is perfectly valid to have zero copies along a particular axis to build 2D and 1D arrays. At some point this tool will also work with shapes and entities.
Quantize Tool
A new Quantize tool has been added to the Tools Form's Modify tab. This tool will force the selected brushes, shapes, point entities or vertices to snap to the grid. For brushes, shapes and point entities the Group and Origin Action Centers are honored and work as you'd expect. For vertices only the Origin Action Center operates specially and is likely what you'd use most of the time. All other Action Centers behave the same as Selection ie: snap at the selection center (Axis Gizmo location).
Drag Empty Area to Scroll
It is now possible to drag within a scroll control's body to scroll as if the scroll bars were used. Just hold down the mouse in an empty area (one that a child content control doesn't cover) and drag. This works better in some areas than others as child controls may take over more area than appears. An example of this is the Tree View control where its width is the longest line of text which leaves empty looking space around other rows. Good Forms to try this in are the Tools, Tools Properties and Preferences Forms.New Tabbed Container Form
A new Tabbed Container Form has been added. Using the Tabbed Container's Modify Tabs menu item on the Form's menu the user may customize the number of tabs and the Form contents of each tab. For example one tab may be the Materials Form, one is the Undo Form while a third is the Preferences Form. If the tabbed content has its own menu items they are accessible from the Form Menu when that tab is active. For example with a Materials Form tab active the Form menu contains the menu items to adjust its texture popup image preview.The older Properties Form on the current layouts has been replaced with a Tabbed Container Form that has also been given the name 'Properties'. It has been given tabs for the Tools Properties, Object Properties, Sunlight and Preferences Forms.

Window Title
Constructor's window title now displays the name of the current scene.Undo / Redo
Undo functionality from Beta3 thru Beta8:- Creating and deleting a brush
- Transforms (move, rotate and scale) using the axis gizmo
- Brush selection and deselection
- Selection
- Adding / Deleting
- Grouping
- Locking
- Hiding
- Transforms (rotation, scale, position)
- Replace Shape
- Undo of vertex and face selection
- Undo of brush geometry changes (e.g. vertex tweaking)
- Undo of brush texturing
- Implemented paging of the undo stack to disk. This should sort out the memory issues of Beta 11.
- Undo entries that have been paged to disk show in the stack as blue. Paged out redo entries are light blue.
- Added a couple of preferences to the prefs form to allow setting undo options. You can enable / disable paging entirely and set the maximum memory usage (in kilobytes) before entries are paged out.
- Added a preference to limit the size of the undo stack. Set to zero for unlimited.
- When changing scenes, the inactive scene will fully page out it's undo stack if it's inactive for at least a minute.
- Undo for entity properties
Tool Created Brush ID Compression
While working with a tool it may create and delete a number of brushes during its operation. A good example is the Hollow Brush tool and the various Clone tools. All of these transient brushes change the next unique brush ID number and you may end up with large ID number gaps from using a tool. Now brush ID's are compressed after using a tool to help with this problem. This won't affect existing brushes but only those newly created by a tool. If a tool does not support brush ID compression it may set the tool.RFLAG_NOIDCOMPRESSION() flag at registration.3D View Toolbar and 2D Alignment Tools
The Single 3D View Form may now display a toolbar. Its optional drawing and position within the window are setup from the Form menu's Toolbar Display item. The toolbar current has four tools: Align 2D Left, Align 2D Right, Align 2D Top and Align 2D Bottom. The tools currently operate in the orthographic display modes and are relative to the current view. So for a Top view left is considered the -x Axis while the Right view considers the -y Axis as the left. These tools are limited to only brushes and do not take groups into account ie: align to the individual brush bounds.
Undo Form Update
The bottom of the Undo Form now displays the amount of memory used by the current scene for the undo stack and the total amount of memory dedicated to undo for Constructor. To clear the current undo stack use the trashcan button at the bottom right corner.
Slice and CSG of Vertex Edited Brushes
You can now Slice, Knife, Clip, and perform CSG operations on vertex edited brushes without having to worry about losing your edits. Be warned though that a vertex edited brush that is not convex will not save or export properly.
WASD Camera Controls
A new Free Movement camera option has been added to the 3D View Form. To toggle between the original Orbit camera and the Free Movement camera use the 'c' keyboard shortcut or check the 'Free Cam' checkbox under the Preferences Form's 'View Camera' section. While in Free Movement mode the right mouse button will rotate the view about the camera's location and move the camera's target along with it.With the right mouse button held in a 3D View Form the WASD keys become active to move the camera as in a traditional FPS game. These keys work with either the Orbit or Free Movement camera modes. Holding down SHIFT will cause the camera to move 10x faster, while holding down CTRL will cause the camera to move 10x slower. These keys also work with the Rotate drag button in the top left of the 3D View Form.
Preferences Form Update
The Preferences Form has a new 'View Camera' section with two new parameters. The 'Free Cam' checkbox is used to toggle between the 3D View camera's Free Movement and Orbit modes. The 'Move Speed' text edit control is the number of meters per second that the camera will move using the WASD keys.Prompt for Save Before Close
If a scene has been modified the user will now be prompted before the scene is closed or Constructor is closed.Unit Conversion
All text edit controls that are based on the Dynamic Control system (the Tools Properties Form is an example) now support units of measurement. When a unit is included with a number and Return or TAB is pressed, that number will be converted to meters (Torque units). Supported unit suffixes include: mm, cm, m, km, in for inches, ft or feet, yard or yards, mi or miles. These units may be combined with the existing ability to enter an expression that is automatically evaluated. For example if the following were entered into the Build Cube tool's Center X field:5cm + 2mmand Return or TAB is then pressed, the field would evaluate to: 0.052
A special unit of t has been set up that will convert a number of texture units (based on the map's geometry_scale parameter) into meters. This is very handy if you wanted to size a cube to match a particular texture size or to move geometry with the Translate tool a texture's width. For example if the following values were entered into the Build Cube tool's Size field:
Size X: 128t
Y: 128t
Z: 128tyou would end up with cube that perfectly fits a 128x128 size texture regardless of the map's geometry_scale setting. In the above case this would produce a 4x4x4 cube with a geometry_scale of 32.Please note that not all text edit fields currently support this unit conversion. If they do not support expression evaluation then they also do not support the conversion. Over time more text edit fields will be upgraded. Forms that support unit conversion include: Tools Properties, Face tab under Object Properties, and Preferences.
Keyboard Shortcut List
Created a Help->Documentation->Keyboard Shortcuts menu item that opens a window display all of Constructor's keyboard shortcuts. The list may be sorted by the various columns using the arrow buttons along the top.

3D View Camera Update
- Changed the Orbit camera zoom system's modifier keys. It is now consistent with the Free Movement (FPS) camera. SHIFT will increase the zoom speed while CTRL will slow it down. Holding down ALT with either modifier will double or half the speed respectively. The zoom speed multiplier may be customized with the ZoomFastMultiplier and ZoomSlowMultiplier preferences with each currently defaulted to 5x.
- The algorithm for the orbit camera zoom system has been modified to remain consistent at all zoom levels while still providing the acceleration when the camera is further from the target.
New Locked Brushes Mode
A new Preferences Form check box has been added: Lock Blocks. When checked, locked brushes behave as in the past by blocking selection by the mouse. When unchecked locked brushes now draw in wireframe in all 3D Views and do not block mouse selection. This allows for locked brushes to remain as a reference while allowing the selection of geometry behind them. By default the Lock Blocks preferences is set to off. The 'l' keyboard shortcut may also be used to toggle the locked brush blocking state.
New Selection Sets Form
A new Selection Sets Form has been created. It lists all of the defined selection sets for the current scene with two buttons beside each entry. The '+' button will add the selection set to the scene while the '-' button will subtract it from the scene. At the bottom of the Form is a Create button to save the current selection into a new or existing set, and a Delete button to delete the chosen selection set from the scene. To highlight a selection set to delete, click on its name in the list.The testscenes/fulltest.csx file has been included as a scene that utilizes most of the CSX format features such as grouping, static meshes and selection sets. You may use it to try out the Selection Sets Form's features until you build your own scene that includes selection sets. When combined with object hiding and locking, selection sets are a powerful aid in Constructor's workflow.

New Selection Form
A new Selection Form has been created. It is used to select or deselect objects based on the given criteria using the same '+' and '-' buttons as the Selection Sets Form. It mirrors much of the functionality found under the Select menu and also includes some special features of its own. It currently supports:- All objects
- All geometry (brushes, faces etc.)
- All point entities
- All static meshes
- All reference shapes
- All geometry that uses the chosen material
- All objects that are part of the chosen selection set

New Keyboard Shortcuts
- . (period) - Will zoom in the view under the mouse pointer
- , (comma) - Will zoom out the view under the mouse pointer
Selection Form Update
The Selection Form has two new popups. The first is used to select all point entities of the chosen class ie: light_omni. The second is used to select all brushes that are children of the chosen entity. This popup lists entities as 'name (ID)' similar to parent field of the Object Properties' Brush tab.
UV Texture Display
First pass at a UV texture display. To try it out change one of the 3D View Form's to a 'Texture (UV)' display mode (left popup) and select a brush face on a map. The face will be rendered in texture space ie: transformed vertex distance from the two texture planes. You may need to zoom in the display to see the textured face. Still lots of work to do but it appears to be correct and operational.
New Build Sphere Tool
The Build Sphere tool is now operational. The user may choose the number of sides around the sphere's equator and the number of segments that make up its height. Right now only the 'Per face mapping' texturing choice is valid and will mirror the results of Quark. The texture scale and offset parameters all work.
Default Scene Settings
New scenes now inherit their setup from the default scene. The game types for the default scene can always be edited through the prefs window. You can also edit the default scene directly in Constructor to add any other default settings, entities, brushes, etc that you wish. The filename for the default scene is defaultScene.csx and lives in the same directory as the executable.When opening a map, the game types from the default scene will be used, but no other information will be copied from the defaults.
More Information on Constructor
If you are interested in knowing more about Constructor please be sure to read the rest of posts about it:Deconstructing Constructor - Part 1
Deconstructing Constructor - Part 2
Deconstructing Constructor - Part 3
Deconstructing Constructor - Part 4
Deconstructing Constructor - Part 5
Of mice and men and Constructor
When will Constructor ship?
Constructor Functional Beta Ships!
Constructor Beta2
Constructor Beta3 thru Beta8
TGE-L, Constructor and TSTPro
Torque Constructor Devshot 1
Torque Constructor Devshot 2
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.
#82
While it *is* irritating when every post seems to be an "I want it now!" post, after a while the silence from GarageGames leads people to make choices like this. If a tool they need doesn't appear, exactly how wedded to Torque are the devs? In a scripted environment like TGE, the answer is often "a bit, but not so much I can't leave." Art is transferable, algorithms are transferable, there are other choices out there.
We all appreciate that Constructor is a big piece of work, and we all want it done right. What a lot of the "I want it now!" crowd need - in fact pretty much *all* they need - is some hint that it's coming along.
Putting it in a business sense, no customer would have much faith left after over a year of "coming soon" project updates. Customers will complain and then leave. That's what we're seeing here. GarageGames needs to put out another project update, or risk developers looking elsewhere.
02/15/2007 (7:52 pm)
I've seen a few comments like Brian Peal's one, in forums for other game engines. While it *is* irritating when every post seems to be an "I want it now!" post, after a while the silence from GarageGames leads people to make choices like this. If a tool they need doesn't appear, exactly how wedded to Torque are the devs? In a scripted environment like TGE, the answer is often "a bit, but not so much I can't leave." Art is transferable, algorithms are transferable, there are other choices out there.
We all appreciate that Constructor is a big piece of work, and we all want it done right. What a lot of the "I want it now!" crowd need - in fact pretty much *all* they need - is some hint that it's coming along.
Putting it in a business sense, no customer would have much faith left after over a year of "coming soon" project updates. Customers will complain and then leave. That's what we're seeing here. GarageGames needs to put out another project update, or risk developers looking elsewhere.
#83
If that isn't progress, I don't know what is? GG is in the business of making tools, not a single one. I don't kiss ass, ever, but I do give credit where credit is due. I have on many occasions started or commented on threads that are critical or worse towards GG and their products/services.
We were never given a timeline on it and it is a HUGE undertaking to build a product like Constructor.
I'm not saying it doesn't make sense to use something else or even abandon Torque all together, that can only be decided on by you. I'm not saying not to ask for updates. What I am saying, is stop complaining that your work is on hold or that you can't do something until an unreleased product with no release date is finally released.
02/15/2007 (8:08 pm)
I can see your point, but feel people are looking at this the wrong way. Is it irritating to see info about an upcoming product and then take a year or more and still not have it released. I look back at what has happened since constructor was announced and I see something completely different. I see a game store filling out with great games, a completed TGB, a completed TGEA, incredible progress on TXE, revamped website that's much easier to use now and GGE.If that isn't progress, I don't know what is? GG is in the business of making tools, not a single one. I don't kiss ass, ever, but I do give credit where credit is due. I have on many occasions started or commented on threads that are critical or worse towards GG and their products/services.
We were never given a timeline on it and it is a HUGE undertaking to build a product like Constructor.
I'm not saying it doesn't make sense to use something else or even abandon Torque all together, that can only be decided on by you. I'm not saying not to ask for updates. What I am saying, is stop complaining that your work is on hold or that you can't do something until an unreleased product with no release date is finally released.
#84
We've been making rapid progress on Constructor lately (I just squashed 2 of the 3 nasty runaway memory leak bugs). As I mentioned in my recent post, when I have a bit more frontend/visible changes to talk about, I will do an update to let you guys know where we are at.
02/16/2007 (2:35 am)
Hey guys!We've been making rapid progress on Constructor lately (I just squashed 2 of the 3 nasty runaway memory leak bugs). As I mentioned in my recent post, when I have a bit more frontend/visible changes to talk about, I will do an update to let you guys know where we are at.
#85
The biggest issue I see out there among all the engines is the fact that standardization has not occurred yet. In the business world this is rapidly happening with the use of XML and web services. In the gaming world, Sony has made a push with a standard for art object formats. These formats are being used by Multiverse, Google, ORGE and others.
The major advantages to a universal standard is the fact that there will be many new art pipeline tools spring up and the elimination of import/export scripts. If TSE/Constructor was to incorporate these standards, it would make them a better game world citizen. It may even allow them to capture a market share from other engines?
02/16/2007 (7:02 am)
Please keep in mind that part of an indie is to create works of art weither that is a movie, music, or a game. It is not healthy for an indie to have to spend 10x more time and energy to figure out how to convert the movie track from one projector's format to another as this is not creative. The biggest issue I see out there among all the engines is the fact that standardization has not occurred yet. In the business world this is rapidly happening with the use of XML and web services. In the gaming world, Sony has made a push with a standard for art object formats. These formats are being used by Multiverse, Google, ORGE and others.
The major advantages to a universal standard is the fact that there will be many new art pipeline tools spring up and the elimination of import/export scripts. If TSE/Constructor was to incorporate these standards, it would make them a better game world citizen. It may even allow them to capture a market share from other engines?
#86
Thanks for commenting. I think an update soon will make a lot of difference in how Constructor is perceived. I'm still looking forward to buying it!
02/16/2007 (2:35 pm)
Hi Matt,Thanks for commenting. I think an update soon will make a lot of difference in how Constructor is perceived. I'm still looking forward to buying it!
#87
02/23/2007 (11:15 pm)
Uggghhh!!! If Constructor isn't here soon I'm going to shave every hair off my body and bungie jump off of the Empire State Building using my Wii controller !! lololol just kidding!! lmao !! I'm a clown!! .. ok.. I look at it like this.. everything else I got from GG is super-excellent stuff... Up to this point I love GarageGames.. (although not in the way I love hot chicks!!) so a little (.. or a lot) of patience as usual will likely result in mucho satisfaction!! ...so in the meantime i'll just drool over Matt's snapshots!!
#88
02/28/2007 (4:53 pm)
Quark sucks! I NEED CONSTRUCTOR!
#89
03/01/2007 (10:33 am)
Recommend using 3D World Studio or use Delgine
#90
03/04/2007 (9:56 am)
looking good ready to buy!
#91
03/16/2007 (7:34 am)
definatly something i am going to buy once it's released. Hammer is ok, but doesnt get the job done in a lot of cases.
#92
Also, my project is more of a hobby so I got no real deadline ...
03/21/2007 (5:55 pm)
Keeping my project on ice until this baby is released. Been keeping an eye on other similair tools but they all seems to fall flat due to annoying and sometimes even obnoxious ways of cooperating with Torque.Also, my project is more of a hobby so I got no real deadline ...
#93
04/01/2007 (9:19 am)
i already have a solution for this that i purchased (deledpro + torque export plugin. Works very well) but i would love to give this a spin. It is looking quite good. I can't wait till it is released. 
Torque 3D Owner Scott Peal
That is exactly why we dumped GG and went to Multiverse.