Game Development Community

Constructor Reviewed...

by Kevin Rogers · 09/05/2007 (11:34 pm) · 35 comments

...Or, "Why I can't get a damn thing done in Constructor."

This has been a long time coming, but I finally decided to post it in hopes that the Constructor developers will take note -- I still hope that one day Constructor can and will become my CSG editor of choice; it has so much potential.

When I first heard about Constructor, I really, really wanted to like it. I thought, "Awesome! They're going to take all the coolness - while leaving out the lameness - from Hammer, Radiant, QuArK, 3D World Studio, 3DS Max, trueSpace, etc., and add all the features missing from those editors!" In other words, I was expecting Constructor to be the End-All-Be-All of CSG editors... CSG editor Utopia, Nirvana, Shangri-la, whatever. However, after trying it out and attempting to work with it several times, I am still utterly and completely disappointed.

Here is my list of issues which I hope will be improved in the (near) future. Some are total and complete show-stoppers for me; others are more of the "wish-list" variety.

Issues
1. Number-One-Top-of-the-List Issue (most of the other issues below come right back to this...): Constructor is - plain and simple - a PITA to work with. Too complicated. Too tedious. Maybe I need to work with it a little more, but it just seems to be so much fiddling around.

There are quite a few cases where it takes 3 different steps to accomplish what could be done neatly in one. Like pretty much all the Transform tools, for example. I end up feeling like I'm spending more time clicking on icons, tabs, buttons, etc. than actually building anything. Granted there are hot-keys but IMO, they barely smooth the workflow. And I shouldn't have to rely on them.

Other editors aren't like this! (Well, excepting QuArK, perhaps.) Sure, Radiant is kinda strange, but it's still easier to work with. 3D World Studio: pretty straight up. And Hammer/Worldcraft has always been a breeze...

2. The slowness! Gah, the slowness! Even wireframe rendering is obscenely slow. And there is always lag - Selecting a tool - whether in Create Primitives, Transforms, etc. - takes a full second for it to become active! WTF? (This is on a Core 2 Duo 6400 & NVidia 7300, which should be more than sufficient.)

3. Doesn't remember app window size & position...?! This should be a standard feature of ALL applications. Also, I despise applications that completely take over my desktop; I don't want it maximized by default! Who thought this was a good idea?!

4. Doesn't correctly handle file association for .csx and .map files... no drag-and-drop even? A professional-grade tool would allow this. Currently, double-clicking a .csx file fails with 'Failed to open "main.cs".' Likewise, "Open with..." on a .map file fails. Weak.

5. The current implementation of camera rotation is bizarre. IMO, it should rotate from the camera's position, i.e. first person perspective, not revolve around some point in the middle of the scene. But if you must have it revolve around something, then at the very least it makes sense to have it revolve around the currently selected object. But having said that.....

6. ...It would be huge to have a toggleable pseudo-in-game "fly" camera mode where you can navigate the 3D scene just like you would in-game with WASD. (Currently this only works if the right button is held down and like I mentioned in #5, it's wonky.) And have it maximize/restore the perspective view automatically.

7. In the orthographic views in particular, zooming with mousewheel should zoom at cursor's location, not at center of the view. Or alternatively, it should zoom on the selected object.

8. A placeable camera in orthographic views would be nice. Sometimes it's extremely convenient to be able to say, "Look in this exact direction from this exact point at this exact distance..."

9. The grid display is completely useless! The whole point of displaying a grid is to provide a visual reference, right?. A consistent reference, one would hope, not only within a single view, but between different views. However, with the current implementation, the reference is constantly changing based on the zoom level! In other words, the grid is no longer providing a valid reference! For example, an object can appear to be 4 units in size in one view, 1 unit in another, and 0.25 unit in a third, all depending on where the zoom is in each view.

10. The current implementation of the Planar Scaling tool is just trouble waiting to happen. For example, after scaling an object it's next to impossible to re-align it to the grid or with surrounding objects without resorting to the Size Bounds Tool, which then changes the scale again, requiring further editing to maintain the scale. Meh.

11. When moving objects, the selected object should snap to the grid point closest to the mouse cursor. For example, if I click and drag in the upper right quadrant of a brush, it should snap based on the upper right corner. (Other editors, like Hammer, allow this.)

12. Should allow object movement with arrow keys. It's huge to be able to nudge objects into position with a few key taps.

13. Hotkey to maximize/minimize current view...?

14. When using the Create tools, the current tool should remain selected after creation. If I want to build several primitives in sequence, it becomes extremely tedious to be required to click the tool icon each time I need to create a new object.

15. Also, it would be fantastic if one could place the initial foundation for the object by dragging with the left mouse button on the currently selected plane, and then extend it out with the right mouse button. (Similar to how 3ds Max and trueSpace do it, but off any surface.)

16. If I select a Create tool, there doesn't seem to be any reason to keep the current object selection, so why is it still selected...?

17. When importing a DTS mesh, it should allow immediate placement at cursor location. Dropping it at the origin is just ridiculous, especially in a complex scene where the origin is likely to be completely obscured.

18. And while on the subject, snap (and align) the DTS mesh to the brush face that's under the cursor! It's next to impossible to accurately align DTS's with brushes. Instead of just being able to place things on or against surfaces, time is wasted making sure a object isn't halfway into a wall, or floating above the floor.

19. And how about a Snap to Face/Object tool? This would be far more useful than the Rest on Ground tool.

20. Paste should follow cursor, i.e. place the copy at the location under the cursor. And see #18.

21. If object(s) are selected, the Size Bounds and Translate Tools should be enabled by default. i.e. there should be control points to allow scale/rotate/skew - like Hammer or Radiant. Having to switch to separate tools for these simple tasks is tedious, time consuming and unnecessary.

22. Shift-click-drag to clone an object should work all the time. Separating functions by Tool/window/tab types is arbitrary and just adds to the busy work.

23. Should always show the size of selected object(s) in status bar/area. Hiding this info under a properties tab is non-useful.

24. Vertex editing: Should always show vertices. For one thing, it makes it obvious that you are indeed in vertex editing mode.

25. Vertex editing: Not capable of welding/merging vertices? No "split face" functionality? No edge selection?

26. Would be nice to be able to click anywhere on an object to move it, or if I click-drag on an empty area it should just move the selected object. Why? Because generally it's just hella tedious to have to always be trying to click precisely on those skinny control gizmos. And they really serve no purpose outside of the perspective view. (...oh and the selection rubber-band could use CTRL-click-drag or something similar.)

27. Customizable keys! 'Nuf said.

28. No color picker?! Color selection should use the TGE Color Picker UI control at least.

29. Can't customize grid or window background colors...?

30. The "Pause" button on the loading dialog.... What purpose is this supposed to serve?! It doesn't
even pause - just makes it look like Constructor has locked up until the level is done loading. "Cancel" is not really super-useful either.

31. For whatever random reasons, menu items are getting disabled. Once it was only a few things like Recent Scenes and everything under System. Another time, it was nearly everything, including every single item under the File menu, making it so I couldn't even save my work. What a neat feature. =(

32. Hitting Enter should apply the current tool, but doesn't always work. This seems to coincide with the menu items becoming disabled.

33. Should be able to use keyboard in Texture Browser dialog: Arrow keys and Page-Up/Page-Down... Enter to "Make Active and Close"

34. Texture application - would be huge to be able to drag from materials to any brush and/or face and have it apply - not just the selected object(s).

35. A Texture application/painting mode would be huge. (Like Hammer's texture editing mode - you can right-click on arbitrary brush faces to apply the current texture and texture settings.)

BTW, this is 1.0.2, so if any of this has been resolved in 1.0.3, nice work!

About the author

Recent Blogs

Page «Previous 1 2
#1
09/05/2007 (11:55 pm)
I agree with many of your points. Also, there are quite a few *massive* bugs in 1.0.3:

http://www.garagegames.com/mg/forums/result.thread.php?qt=66790
#2
09/06/2007 (12:34 am)
Agree with you on all points, would be a great tool if these issues where resolved :)
#3
09/06/2007 (1:17 am)
It's slow and crashes everytime :( ... but they (GG team) did a good work for making creation .DIF file easy, free too.
#4
09/06/2007 (1:21 am)
All of the reasons above are why they don't charge for this horrible program. I was expecting much from Constructor. I do however like the array functions it has.
#5
09/06/2007 (1:31 am)
Yeah.. simply put it crashes and getting usable .map/.dif files from it can be a chore.
I cross my fingers most times that it doesnt delete or break stuff.
#6
09/06/2007 (2:44 am)
.
.

I used to be working endless nights, days off and weekends with the GG Suite of products.
I did make alot of progress, learned how to build my characters and all that...Weapons, mounting objects!
Learned how to mod the engine and get basic AI and things working. A great learning tool!
I had been praying to the Torque Gods for Constructor since the very first post way back in the day.

Ever since Constructor came out, i've really lost my intrest in the product.
Basically I agree with the reasons posted by Kevin. And thats just for starters.
Its just the WANKY way things work..or dont..or almost do.or.or just..damn did it just freeze on me?..CRASH!
I feel like Constructor should be made to work seamlessly with the scene, and its always a up-hill battle.

I want to be able to work in the editor like Im in the game itself.
Im a GG supporter, and I have been a patient man. But it should all be so much more fluid i think!

-SURGE


....The Array tool is very cool...
....The interface is pleasing......
..Come on make it Kick ass GUYS!...

.
.
#7
09/06/2007 (2:56 am)
I really hope Constructor keeps getting better and better - for me at least, it's just a few bugs (missing faces/collision) that create bottlenecks. There are smaller problems, but it's free and usually easily fixable so I'm fine with that.

I'm sure it's being worked on, so a list like this is surely helpful.
#8
09/06/2007 (4:37 am)
I knew Constructor wouldn't work out. The problem in my mind isn't with a tool; it's with the DIF format.
#9
09/06/2007 (7:38 am)
Um, what?

Not to put down the problems you guys are experiencing, but just to provide a counter view, for me Constructor is an absolute joy to work with. My productivity has skyrocketed, and if you are familiar with 3DS Max CTors interface is pretty familiar (its actually much simpler).

Saying it has some bugs still, sure. Saying you "can't get a damn thing done" though, huh? I've managed to get "something" done with the tool despite being a programmer :

http://www.garagegames.com/mg/snapshot/view.php?qid=1500

http://www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=13254

I've also recently converted Steve of Arteria Gaming to CTor, he was rather surprised by how productive he can be with it :

http://www.garagegames.com/mg/snapshot/view.php?qid=1513

BTW :

5 & 6 > Um, there is already a FPS camera as you describe. Hit Ctrl-C I believe it is and you go into WSAD camera navigation.

14 > I believe there is a "build and remain in tool" button. You click it, it creates a shape then stays with that create tool with those settings. I'm not sure it has a hot key though, since I generally just clone objects using shift.

Now if you want to help, post bug lists or suggestions on the forum. But comments like "All of the reasons above are why they don't charge for this horrible program." annoy me just a little bit. GG have done and continue to do a fantastic job on this tool (and thats not rabid fanboyism, I've clocked dozens of hours on the tool, creating art and dealing with it's issues.). Especially when comments like "wheres the FPS camera navigation mode?" indicate a lack of basic document reading.
#10
09/06/2007 (8:23 am)
I would have to disagree my friend:) I know it feels a little weird, and probably a lot of frustration is being aimed at going into a new type of work flow, and lets face it Constructor is lacking in the flow Dept. a little, but I have built not only HUGE and COMPLEX buildings, but they also import most of the time into TGEA without a problem, I haven't used it for TGE, but I imagine there are less problems with that export than TGEA from the responses in the forums. And as far as the camera, you can change how that all works, i know I was frustrated like you about it, but if you look through all the little buttons you ll see that is not all that bad and you FPS movment can be had. I also notice you kind of put Constructor in the same category as 3DSMAX, maybe you made a mistake because like you said constructor is a BSP editor, which mean by design there are some limits when working with shapes(brushes)in a BSP editor. The only thing I want different is a "UV" editor like MAXfor the textures placement/Painting, other wise I'm a happy little programmer/Artist. Sorry it hasn't worked out for you, I would be happy to assist with your on going problems having to do with the big C, drop me an Email and Ill see what i can do, but try no to swamp me;)
#11
09/06/2007 (8:51 am)
For me, the problems i always had running a 3d assett site is the multiple game formats i have had to produce. The main % of my my customers are torque based and over the years i have been running arteria i have always had requests for me to return to the map/dif format. I was a little hesitant to say the least, due to my thoughts of 'limitations'. Recently speaking with Gareth Fouche i decided to give it another go, especially as i saw it had just got an extrude tool which is a must for me when im modelling, especialy with difs where the geometry has to be airtight from gaps and leaks.

The first pack i made using constructor was my new elven city pack. Ironically i had already made all the standard mesh versions of the models in my regular 3d model program which is hexagon 2, but then on the strengths of the new extrude tool and also a desire to give my torque customers difs, i took the plunge and opened up constructor, and i must say i was pleasantly pleased. I have tried constructor over the time since it was released, but never found my ground with it until the 1.3 version.

With version 1.3 im findinf quicker ground for modelling my buildings, and also i have to say that the quick and easy texture tools - e.g. being able to slide up the value quickly back and forth to move the texture over the face is tremendous and adds to a very intuitive work experience.

Also the fact that GG give this tool away free is amazing and everyone should be very greatful.

Here is the pack i made using constructor. As you can see, the dif format or constructor didnt cause me any limitations. All i can say, is if constructor was tedious to use i for one would not be using it, as i run a full time company with arteria and time is of the essence in releasing product lines

www.mmo-kingdoms.com/elvencity.htm
#12
09/06/2007 (8:59 am)
1. Using the axis gizmo with either control or alt held down makes the Transform tools a "one-click" operation.

How would you propose speeding up the Transform tools other than using hotkeys and the like?

2. This seems quite odd given that Constructor was developed on a laptop with a P4 1.73 GHz Centrino and a nVidia 6800 Go and it runs quite smoothly there. Perhaps there is a video driver issue? Maybe your dual core? I know there was some odd bugs with older versions of Torque (Constructor is loosely based on TGE 1.3) when you don't set a processor affinity.

How many brushes/meshes do you have in your scenes?

3. Duly noted. We simply dodn't have the time to make this a pref.

4. Torque doesn't handle this well out of the box and we didn't have time to look into it.

5. Hitting 'c' or checking the "Free Cam" option in the Prefs will put you in WASD first person camera mode (hold the right-mouse button down to look around). If you hit the Target icon in the top right corner of any viewport (see the docs) it will switch you to a targeted camera mode that will rotate the camera around anything you have selected.

6. See #5.

7. If you are using the targeted camera it will zoom in and out on your selected options. As far as zooming into the mouse cursor, this is something that changes widely from application to application and since it wasn't what any of the developers preferred, it didn't get added.

8. The problem here is that there isn't a single perspective view that you can attach a camera to (like in Hammer) so which "camera" do you rendering the orthogonal views. There may not be a perspective view at all.

9. This is a pretty standard feature in most 3D modelling applications.

10. How would you improve this?

11. These feature was cut due to lack of time. It also didn't handle very well in the Perspective views.

12. Cut due to lack of time.

13. Numpad 0.

14. Either use the "Make & Cont" button or shift-enter.

15. Good idea.

16. This could be useful to help identify where you want to create the new geometry in a complicated scene. It is also useful if you end up cancelling the creation so that you don't lose what you were doing. Is there a compelling reason to deselect?

17. Well...I do see one problem with this...your cursor is going to be in the File menu and not over any of the viewports. Even if we tracked where your cursor exited the viewports it would always drop it on the edge of a view which would be odd. Since there is no concept of a currently "active" viewport like in 3D Studio Max, we can't even drop it into the center of a viewport. I agree that dropping it at the origin is a pretty sucky way of doing things but I didn't see a clear alternative without adding a bunch more to the workflow (the active viewport thing in Max actually slows me down a lot).

18. Select a surface and align the Workplane to it (under the View tab or hit 'home'). Then you can select other objects in the scene and use the Rest on Ground tool to snap it to that surface. Then you can reset the Workplane (also on the View tab or hit 'end').

Yes, this is a few more keystrokes (3) than you might like but it is *very* flexible. You could also very easily make it into its own tool or keystroke.

19. See #18

20. Good idea.

21. Ultimately, the workflow was intended to be driven around the axis gizmo and its modifiers (see #1). This differs from Hammer but is more in line with Max and Maya (even easier).

Since the tools are all script-driven you could pretty easily extend the Size Bounds tool to do everything you want. It just wasn't a high priority since it wasn't the main way of using the tool.

22. See #21.

23. I agree...this feature simply did not make it in. It would be pretty easy to add if you dive into the TorqueScript.

24. In a scene with a lot of brushes you really couldn't make anything out anything with all of the vertices rendering. It also cut into the performance a lot since most OpenGL drivers are not optimized for point rendering. Usually when people are asking for this they are really asking for a way to limit vertex/face selection to selected brushes (which is a pref toggled by 'b').

25. Dragging a vertex onto another vertex should merge them. Splitting a face can lead to concavity problems really quickly. Remember, this is a convex brush editor and not a generic mesh editor.

26. I think this mostly boils down to personal preferences and Constructor simply isn't catering to your exact style of doing things.

27. It is true that it is a pain to customize your keys for Constructor but it is doable by using a SQLite Database browser on the config.db database.

28. As I mentioned in #2, Constructor is based loosely on the Torque 1.3 codebase which did not have a color picker. Merging the one from TGE 1.4 turned out to be problematic and had to be cut.

29. The windows background color is controlled by a GuiProfile. I can't remember the name of it off the top of my head but a single line of TorqueScript can fix you right up. Ask on the Constructor forums and I will provide it when I have more time. I don't know if there is a way to customize the grid color.

30. I had to get a progress bar in place really quickly at the end of the project so that it would be more obvious that Constructor was not locking up during loading and exporting so I re-purposed the one used by the lighting system (which does respect the Pause). I didn't have time to special-case remove the Pause button for when it wasn't useful.

31. This is a bug. If you can provide a reliable way to reproduce it then we would greatly appreciate it!

32. See #31.

33. Good idea.

34. No good way to do this in Torque 1.3. Perhaps someday when we can get this functionality moved over from TGB 1.5.

35. You could probably do this pretty easily with some Tools scripting but I haven't looked into it in-depth. The entire texture application process could really use some love.


I'm sorry that you are unable to use Constructor. It was never really intended to be "the End-All-Be-All of CSG editors... CSG editor Utopia, Nirvana, Shangri-la". It was intended to allow us to add features that don't exist in other editors like Torque lighting and static meshes. It was also intended to help with the WYSIWYG problems that 3rd party editors have where it is very difficult to get what you have on your screen through the exporting process and into Torque. Another important reason for doing Constructor was that there wasn't a reliable or free brush eidting tool available on the Mac (gtkRadiant did finally become available just before Constructor launched). Along the way, we attempted to make an "easier-to-use" brush editor, but we obviously couldn't make it be all things to all people. It also can't change the fundamental constraints of brush editing (specifically the convex/concave problems).

Ultimately, brush editing is going away as the speed of computers allow us to move into "easier" generic polysoup collision and occlusion schemes. At this point GarageGames can either pour more resources into delivering a polysoup solution (check out the stuff Ben Garney, Clark Fagot, and TorqueX is doing) or into further improving a tool with a limited lifetime. Since most people are clamoring for the polysoup we are more focused there and Constructor is definitely in a back seat. This doesn't mean that there are *no* resourcecs going into Constructor, it just means that they are necessarily very limited resources.

If you feel like you are more productive using another brush editor then go for it =) It really won't hurt my feelings (or anyone elses at GarageGames) and, since it is free, it won't hurt our pocket books either =P Personally, I am more productive with Constructor than I have been with any previous brush editor (Hammer does come close in many ways but the legal issues there are too sticky for my tastes) so I use it, quirks and all, for my personal level building.
#13
09/06/2007 (8:59 am)
I agree with all the issues listed above, and there are a few more that I came up with myself and personally I thing GG should set the next Constructor update as a higher priority than any update to their engines I mean what good is an engine update if the pipeline is goofed up, right? Ok maybe they can release another TGB update, but jesus I dont even think Tim uses this tool, its really annoying to work with and a huge disappointment.
#14
09/06/2007 (8:59 am)
I fall into the "pleased as punch with Constructor" crowd. I've had mostly positive experiences with the app and only a few minor problems. Being a polysoup kinda guy, I hate 'brush' based level design, but Constructor makes it bearable for me.

By the way, whoever decided to call this stuff brush-based should take a long, hard look at Painter, Photoshop, Silo, and ZBrush. If any workflow doesn't have pressure-sensitive drawing tablet support, then it shouldn't be described as brush-based. ;)
#15
09/06/2007 (9:11 am)
I'd have to poke around to find the source but I read somewhere that the artists working on Quake decided to call them "brushes" after the tools they were using in their 2D art program at the time so Carmack went with it and it somehow stuck.
#16
09/06/2007 (9:19 am)
@Matt

Thanks. The history sounds about right. Carmack and co. geniuses, but calling convex shapes 'brushes' feels so wrong. :)

I definitely appreciate all the work you did on Constructor, though.


[Edit]

@Stevie and Gareth

Excellent work guys. Those designs look great.
#17
09/06/2007 (2:20 pm)
Why does this Constructor reviewed not show up in the News Feed?

BTW I find Constructor a bit... clunky? but overall it speeds up my workflow with TGEA, so in that sense I'm happy.
#18
09/06/2007 (3:02 pm)
@Matt Fairfax - I should not be required, and will NEVER, edit the code (Script in Constructors case, or GUI) of a ART tool i am using to get the functionality i need. (Not talking about plugins, but base program)

Constructor is clunky, Compared to 3dWS and others, it does some things backwords. As far as the grid, hes right, it does work this way in poly-soup tools, but not CSG, the grid needs to be a static size (For reference), that you can change, but not tied to zoom.

I think, its main flaw is, the guys at GG made it they way they worked, and familiar to the tools (mostly poly-soup) they use. And tried to reinvent the wheel, while not taking into account commonality's to other tools of the same category, or reasons why they are that way.

IE: To much trying to reinvent, not enough adherence to standards, and methodology of like tools. Case in point, Textures on faces stretching and distorting when resizing using points.... That eats up allot of time and kills flow.. Make one edit, and you need to reset the entire texture on that surface (especially if you only wanted it to tile anyway). You said it yourself, many times in your post, its mostly patterned after poly-soup programs, and specific ones at that, that have there own unique features..... Easer for you, as you use those tools, but has no relation to other BSP editors..

Constructor is good, has some neet things, but it wont replace what i am currently using... Especially since allot of the "Torque" only features do not even work together (smoothing, portals, etc..)..so the gain is marginal.

The OP gave allot of the same feedback as my self, and many others have given (Beyond the "DOH! should have read the book"), and you gave the same responses... I hope the tool improves with the feedback we have given, even if it doesn't seem that you think its valid.

@Aaron Ellis - IIRCC Zbrush doesn't use brushes, it uses "Tools" ;)
#19
09/06/2007 (3:22 pm)
@Allyn

:)

The ZBrush Wiki
#20
09/06/2007 (4:30 pm)
hmm, i agree and at the same time i dont
with constructor, ive been able to make things i wasnt with for example QuArK(havent worked with other apps)
Constructor makes a lot of things a lot easier, but at the same time it doesnt.

I guess, when building something, i have to rely on luck
I may have luck that i make something good withouth Constructor crashing.. And then im happy
and sometimes i dont have luck and i end up making something that crashes a minute before saving

ofcourse, because of this, i dont always want to work with constuctor when i want to build something

i was one of those people who was disapointed with constructor, and i think this is partially because my expectations were way to high

anyhow, i appreciate the tool, and since GG is very tight with the community, i bet in time constuctor will grow into a fine tool(i hope so xD)


oh yeah btw
i aint a brush person, actually i hate brushes, and so if TGE or TGEA gets a concave collision system build in, and the same options as a DIF, i will defenitly never make DIF's again, so if I have to choose between waiting for a better constructor or better DTS collision, i think the answer is clear =D
Page «Previous 1 2