From Golems Universal Constructor
This is the Wiki edition of the Golems PDF Manual. Feel free to update it as necessary. When significant and beneficial revisions are made to this manual, they may be incorporated into the PDF.
Golems is broken into two parts. The first is the Editor. This is the stage that you are presented when the game loads. The editor allows you to build, paint, and program your 3-D machines. The second is the Simulator. When the simulator is activated, the machines move naturally as dictated by the laws of physics. The simulator allows you to control the speed of the simulation, and view the action from the machines’ perspective through the use of cameras.
Activating or deactivating the simulator is done by pressing the button at the top-right corner of the screen.
Using the Editor: Basics
The editor is very easy and intuitive to control. There are four basic skills to master: Creating objects, manipulating objects, camera controls, and using wire mode, which allows you to program your creation.
To create an object (such as a cube or a sphere), simply move the mouse to the left of the screen. A menu will appear, called the Tool Menu, with a list of different options. The buttons are colour-coded. White buttons allow you to manipulate objects; blue buttons create objects of different shapes; red buttons create joints; green buttons create various sensors; yellow buttons are for miscellaneous components. Try using the blue buttons to make basic objects: cubes, spheres, cylinders, pyramids, capsules, cones, and ellipsoids. They will appear in the center of the editor, at the origin.
Use the red buttons to make moving parts, called joints. Golems has four types of joints: Axles, hinges, hydraulics, and ball-and-socket joints. Axles allow for continuous rotational motion in one direction, like a car wheel. Hinges restrict rotational motion to 180 degrees, like on a door. Hydraulics allow for linear motion – moving forward and backward. Ball-and-socket joints allow for rotation in all directions.
To move an object around in the editor, left-click on the object and drag the mouse. When the object is selected, it will turn bright green, and a movement direction disk will appear. This indicates the plane of movement of the object. In three-dimensional space, there are three planes of movement: The XZ-plane, which is horizontal; the XY-plane, which is vertical; and the YZ-plane, which is also vertical. The XZ plane is the default plane of movement. Holding ‘z’ or ‘x’ on the keyboard will change the plane of movement, and the movement direction disk will follow accordingly.
To make precise movements, use grid mode or axis mode. Grid mode, activated with the ‘caps lock’ key, creates an invisible grid of points are moved on. This makes it very easy to line up a wheel with an axle, for example. Axis mode is activated with the ‘tab’ key, and restricts movements to one direction at a time.
Selecting Multiple Objects
There are 4 ways to select multiple objects.
1.) Hold down the control key, and select each object you wish to move. The selected objects will be highlighted in green.
2.) While holding the control key and clicking on blank space you may draw a selection box around items you wish to select.
4.) Layer select. The bottom-right menu has a 'Layer' mode. Objects assigned to a specific layer can be selected by pressing the Layer select button in the dialog box.
To stretch an object, select the object with left-click, and press ‘alt’. Alternatively, press the white resize button on the Tool menu and select an object. A series of control points will appear which are specific to the type of object. Control points are white spheres that can be moved back and forth to control the dimensions of an object. For example, cubes have six control points, allowing each face to be stretched independently. A sphere has only one control point, which sets its radius. Left-click on the control point and drag it with the mouse to alter the size of an object.
To make precise stretches, use grid mode. This locks size increments to the grid.
Linux Note: On some Linux variations (Debian, Ubuntu/Mint) Alt is a hotkey to move the currently selected window. Although you can disable this key in your system preferences, it is recommended to use the button on the Tool menu.
Copy, Delete, Undo, Redo
To copy an object, select the object (with left-click), and press ‘c’. This creates an identical object at the same location as the original. To delete an object, select the object and press the ‘delete’ key. You can undo a mistake at any time by pressing control-z, and redo it by pressing control-y.
Objects have customizable properties, accessible from the object properties menu. To open the menu, left-click on an object and press enter. From this menu, you can adjust an object's material properties (like its density), change its colour, or for components like joints and rockets, adjust various parameters. You can also use this to make objects static or sticky.
The camera is manipulated with the mouse. To pan the camera, left-click and drag the mouse about the screen. You will see the camera follow your mouse. To zoom the camera, roll the scroll wheel. Rolling forward zooms in, and backward zooms out. You can also zoom in and out by holding ‘q’ and using left-click and drag. To rotate the camera, right-click and drag the mouse about the screen. To focus on an object, select it and press ‘f’ (for focus). If focus is pressed with no object selected, the camera returns to its default orientation.
Wire Mode Basics
Wire mode allows you to make your machines intelligent, by powering joints and reading sensors. To access wire mode, press the Wire mode button in the tool menu. When in wire mode, all physical objects will appear in a transparent blue colour. Joints will appear with brightly-coloured terminals in two colours: yellow (output) and green (input).
The green battery button in the tool menu creates a battery. This is a source of power for joints. Creating a battery takes you automatically to wire mode. The battery has one yellow output terminal, and a green switch. Batteries can be moved, rotated, copied, and deleted like any other object.
To power a joint, simply left-click on the output terminal of a battery and drag to the input terminal of the joint. Doing so creates a wire, in yellow, which indicates that there is a connection. The wire carries the signal from the battery to the joint, causing it to actively spin (for an axle or hinge) or push (for a hydraulic). A powered joint is referred to as a motor.
Wires carry a signal from the output of one object to the input of another. They are normally yellow. Sometimes it is convenient to be able to change the polarity of a signal - for example, if the motor is spinning the wrong way when powered. The easiest way to do this is to use a red wire. Hold the ‘alt’ key when creating a wire, and that wire will turn red. A red wire carries the opposite-polarity signal of a yellow (positive) wire. If a wire is created between two terminals that are already connected, the new wire will replace the old one.
Wires can also be deleted. To delete a wire, select it with left-click and press the ‘delete’ key, just like any other object.
An important part of wire mode is the function editor. Normally when a battery is created, it sends a steady, maximum-power signal. However, it’s easy to make it send signals that vary over time. To do this, select the battery and press the ‘enter’ key. This opens the function editor.
Using the Simulator
The simulator is activated by clicking the button at the top-right hand corner of the screen; it can be paused by pressing this button again, and you can return to editing mode by pressing the button yet again (or continuing the simulation by pressing the green button on its left). You are able to adjust the strength of gravity and the rate at which time progresses from the [Main menu#Environment|Environment menu]].