Game Development Community

Constructor Testing Observations

by Alex Swanson · in Artist Corner · 02/05/2007 (5:22 pm) · 2 replies

I am doing some internal testing of Constructor for GG, trying to get up to speed and use it to produce game-quality content. It has been quite some time since my last look at it, and my task is to find anything that really needs to be seen to before we can be happy shipping 1.0. Many of these issues will be repeats of things that are already known issues, but I've included them here for the sake of completeness.

This is the list that I came up with for day 1 of testing.

Critical Fixes:
These are the issues that I think are "ship blockers" - that is, things that keep Constructor from feeling like a viable commercial alternative to what is now available for map editing.
  • FACE TRANSLATION: right now you can't do anything at all with the transform gizmo when using face selection. If it does nothing, it should not be visible.
  • Edge Mode: Edge mode? completely non-functional?
  • Error Checking: Some way to highlight broken brushes. Preferably while editing them, but a separate diagnostic process would be acceptable.
  • Tools: single-clicking does not select objects unless you have no tool selected, you can't drag-select from a blank background either. You have to switch back and forth between tools every time you want to edit something new. I appreciate that this is intended to be so that you can drag-transform objects by clicking anywhere in the scene, but this is not what people using most modern 3D tools will expect, and makes for a very stilted and inefficient workflow.
  • Axis Gizmo: visible all the time, but cannot always be used to move things. E.g. "size bounds" tools, axis is visible but not able to be manipulated. Axis and other gizmos should always be hidden when they cannot be used, and always be functional when visible.
  • Create: Delay on create sometimes very long - why is this so erratic? It is bad when your main tool leaves the user hanging in the middle of its operation.
  • Selection: ignores objects to select objects behind them if they are higher on the hierarchy (?)
  • Subtract: if coplanar or sharing an edge with another brush, subtract sometimes destroys that brush, which cannot then be recovered by undo or any other means (unless you undo to a previous change that directly effected that brush). These brushes still appear in the list, but cannot be selected.
  • Lighting: walls get shadows from other walls that intersect them, creating the illusion that all surfaces are slightly offset from one another.
UI Improvements
These are UI improvements woiuld greatly improve workflow and bring Constructor closer to professional art tool conventions.
  • Keybinds: Redo should be ctrl-shift-Z for ease of moving up/down the history tree. This could be in addition to ctrl-y, but ctrl-shift-z should be the encouraged method in documentation.
  • Face Mode: If face mode is going to be geared toward modeling (I think that it should be), it may be useful to have a separate "Texture Mode" that is entirely focused on manipulating and positioning textures.
  • Tools: as with object creation, tools should complete/exit when you press return, and cancel the current operation when you press escape. Right now escape cancels creation tools, but completes modify tools.
  • Keybinds: Right-click should drag view in orthographic views (in addition to middle click)
  • Keybinds: Consider Mimicking Maya/Max basic tool shortcuts? (q for select, w for translate, e for rotate, r for scale) This makes for a quick set of keys for the common functions for modeling (along with the use of 1234 to switch modes) and would be familiar to many artists.
  • Platform: if nothing has been previously opened, import shapes/static meshes dialogues should default to appropriate directories w/in constructor folder
  • Platform: As above... All open dialogues should default to better locations? All go to root Desktop now.
  • Texture Preferences: Be able to set the default texture scale - this is handled in the worldspawn properties in other editors - right now it seems to be about 32 pixels/meter by default, but that is really around Quake 2-era resolution and looks bad at modern monitors (not to mention is way too low a resolution for normal maps to look good). We should encourage (or at least give the option) for people to use 64 or 128 pixels per meter as the default.
  • Size Bounds: alt should scale from center, shift should uniform scale. (only scale in visible axes when editing from orthographic view?)

#1
02/05/2007 (5:22 pm)
Observations/ Suggestions:
These are other changes that I think would improve the program, but that are probably non-critical.
  • File Organization: Prefabs are in root directory, but static shapes are buried...?
  • Preferences: Better tooltip on Back Plane options to clarify the differences between the two choices.
  • Preferences: Back Plane grid rendering off by default
  • Tools / Keybinds: arrow keys should nudge objects in plane of whatever view is currently moused-over. This would default to the ground (XY) plane if no orthographic view was under the mouse (maybe with the option to hold down the alt-key to move things in the (XZ) plane?)
  • Size Bounds: option to not scale textures would be very useful for extending flat surfaces without having to re-adjust the textures as well. Alternately, this could be accomplished by allowing face translation.
  • Menu Structure: I did not even realize that I had multiple maps open until I closed one. I thought that it was creating a new map w/out prompting to save the old ones. This is a cool feature, but confusing, especially considering that the files that are open are listed under the "scene" menu, which is otherwise specific to managing the current scene's options. The file menu would be a more logical choice, as this is a file management issue.
  • Face Mode: texture overdraw - being able to see the full plane for ALL of the faces selected is really annoying, as it just blocks the whole viewport with garbage. The full-plane texture should probably only show the texture Ref for the most recently selected face.
  • Keybinds: Customize key binds w/in editor?
  • Create Ramp: Geometry: option to flip axis
Bugs:
Things that make the program act in unexpected ways.
  • Selection: objects' selection boxes are often vastly different from the actual extents of the object, making it impossible to select other objects that are several units away...
  • Texturing: sometimes a texture appears to be projected in the wrong direction on a face, and reports odd X or Y scales (near zero) that don't seem to respond to editing. Telling such faces to stretch to fit height or width can cause Constructor to lock. This state usually occurs as a result of editing multiple faces' scale, where one of the faces is aligned to the XY axis.
  • Lighting: Lightmapping stops working after adding a second light, and will not work again until you reopen the file.
  • There seems to be an unusually large "leeway" for selection of brushes that makes it very difficult to select a small brush that is near a larger brush if Constructor thinks that the larger brush is in front. Zooming in doesn't seem to help. Maybe this selection distance should be counted in screen pixels instead of torque units?
  • UI: Close w/o save dialogue options should be "Don't Save" "Cancel" "Save"
  • UI: Up and Down arrows beside tool properties numeric entries do not function?
  • Modes: Entering Face/ Vert mode, then selecting a static mesh, does not allow for manipulation or normal de-selection of that mesh (you must click on it again to deselect instead of normal clicking on another object or the scene background)
  • Subtract: should not cut coplanar objects. Example: I am cutting a door in a wall that is resting on a floor. The bottom of the wall and the cutting piece are both coplanar with the surface of the floor. The floor gets split when I subtract from the wall. This doesn't always happen? rounding errors on grid?
  • Subtract: w/ multiple objects selected... only subtracts with one of the brushes selected. Many editors differentiate between the whole selection and the most recently selected brush - and use the most recent brush to subtract from the other selections
  • Tools: Arch tool doesn't work. Will other advanced tools be available? Stair makers, some of the standard arch implementations (inner arch, upper arch, full arch), ring, etc...
  • Lighting: Faces that are not struck by any light default to sunlight value? (creates very bright spots in what should be deep shadows....)
#2
02/06/2007 (12:10 pm)
I have re-organized these a bit to be more clear. I'll be continuing to use constructor today and trying to build some fairly large structures, and will report any new issues that I come across.