I really like the game, but there are some problems with the controls. Please consider the following changes (I'm a student of interaction design, so I know at least something about what I'm saying
* Move tool:
- Clicking and dragging on an object moves only that object
, no matter where it's clicked.
- Clicking and dragging in the middle of a connector (rod) moves the entire connected design
. (as currently)
- Clicking and dragging near the end of a connector (rod) detaches and moves that connection point
- Clicking and dragging on a connection point of an object detaches and moves all of the connected connection points
. (If there are no connected rods, it of course moves the object).
* A good idea would be to add a pipette tool, maybe behind ALT, or behind a single key stroke. This tool would change the tool into whatever is clicked on. If you click on a wood rod, the wood rod tool becomes selected, click on a clockwise wheel and the clockwise wheel tool is selected, and so on. If you click on empty space, the move tool is selected.
What I'm trying to aim at with the changes, is minimizing tool selection (from keyboard or top line), and making the tool effects use a natural model.
Move tool should always move the object it's clicked with, no matter where the object is clicked upon. However if clicked on a connection point, then the connection end
is the natural object to be moved. Also when clicked on an object, the natural effect is to move only
the targeted object. (Shift-down would be a great "overall object" modifier here, but unfortunately it already has better use.) Since connectors themselves have no natural way to be moved, they can be used to provide a quick way to move the entire design. It's at least somewhat intuitive, since they are indeed what makes the design be a signle design, not just detached parts.
The tool selection is already reduced a lot if connectors can be moved around. The pipette would also make tool selection faster, since it in a sense makes the objects themselves into tool selection buttons.