Colour Bind

Level Editor Documentation

Colour Bind’s Editor Walkthrough

Hi folks. I wrote a little bit of documentation for the level editor some time ago, and it seems to have helped a few people get started with it, but I think it’d be better with a detailed tutorial of some concepts. Now that the game is out there in the world, and I have a bit more spare time up my sleeve, I’m going to take you all on a walkthrough of the level editor, make a level featuring a bunch of stuff, and then make the level available for download. We’ll start off simple, but by the end we’ll have a bunch of stuff set up. I’m not going to cover every single thing - the existing documentation is still more comprehensive in this regard - but hopefully this will be more readable (plus there are screenshots). Also, remember you can press F1 in the editor to get some reminders or concepts that might get missed here.

Starting off simple

So, the level editor will, by default, have an empty level set up in it. It will look a bit like this:

There are four things here you can select: Two cars, a white rectangle, and the level’s goal. But before we select anything, hit P to play the level. What you see should be pretty predictable.

We have here the empty level - you might have seen it if you’ve wandered into the Custom Levels screen from the play menu. You’ll notice that the white rectangle from the editor has become the grey outline of the world. You might also notice that the level, despite having two cars in the editor, only has one car in the game (and is indeed a single player level). We’ll worry about that shortly - for the moment, we’ll do the simplest thing we can think of, which is move the car around a bit. First off, you’ll need to select the car - do this by dragging a rectangle that intersects it (or just left-click on it). Careful not to select the white rectangle at the same time - if it turns green, you’ve selected it, and should deselect everything by left-clicking in empty space and trying again. If successful, things will look like this:

As you can see, there’s a funny looking thing called a transform gizmo on the car. It represents a few ways to move and rotate the car. The green line (the one pointing straight up) is for moving directly up and down, the blue line (pointing directly to the right) is for moving directly across. The square (between these two lines) can be grabbed to drag the thing in any direction, freely. Finally, the red line with the circle on the end (pointing south-west) is for rotating - click and drag in the red circle to see how this works. You can also use Z and X to rotate selected objects five degree increments. Put the car somewhere other than where it started and press P to see the effect.

This transform gizmo is used for moving and rotating all kinds of objects.

Level settings

A common first thing to want to mess with in the Colour Bind level editor is the direction of gravity. Select the level goal, like you did the car. You’ll notice that you can drag it around with the transform gizmo like you could for the car - you can rotate it too, kind of, but it doesn’t make any difference to anything. The important part of this is that while it’s selected, press E to turn on edit mode. This should get rid of the transform gizmo and bring up some other stuff. On this occasion, pay attention to the three lines coming out of the centre of the goal with circles on the end. The circles are the handles, and the arrows are the gravity vectors (by default green is up, blue is left, red is down). You can grab the handles and drag them around as you like. Because at the moment the player one car is red, dragging the red handle around is the one you’ll want to mess with. If you wanted red gravity to be down and to the left, and about double normal strength, you’d do this:

If you play the level now, your red car will fly to the bottom left corner of the rectangle rather quickly, though at this strength you can drive up a 45 degree slope with some difficulty.

One other thing you can do while in edit mode for the level goal is switch between single and coop mode. Simply hit tab, and you’ll see the circle of the goal double up into two concentric circles. If you play the level now you’ll see a split screen. We’re just making a single player level at the moment though, so back out into the editor (hit escape), go back into edit mode on the goal, and hit tab again to go back to single player mode. You can hit E again to toggle edit mode off again.

There’s also something called a gravity tie (see the built in level Connection to know what that is) that is set from here, but we’ll worry about that later.

Changing shapes

So far, we haven’t really done anything except screw up the level’s red gravity and put the car somewhere dumb (and learned some things). To het back to where we started, press N to start a new level. We should now be back to where we were at the start of this document, which makes it all seem a bit pointless, but your ability to transform things and change gravity and enter edit mode will doubtless come in handy later on.This seems like a pretty good time to mess with some shape editing. Select the white rectangle (click on one of the lines or drag a rectangle across one of the lines) - it should turn green. Now that it’s selected, it has a transform gizmo of its own, and you can drag and rotate it like you did the car, but instead of doing that, hit E to go into edit mode. Now you’ll see a little dark-red square on each corner, like so:

If you click somewhere in the middle of one of the green lines, you’ll notice that another little red rectangle appears where you click. Click four times on the rightmost line of the rectangle to create four vertices there. If you create extra stuff by mistake, you can right click a vert to delete it. Now, for moving verts - left click and drag within the rectangles to move them around. Pull out the inner two of the four verts you just created, until you have something like this:

That looks pretty ugly, and we can neaten it up, but to do that we should talk about the grid. You’ve no doubt noticed a grey grid behind everything in this level editor. Hold down the G key and move your cursor around - you’ll notice the white bit of it snapping to the intersections of the grid lines. Congratulations - this is how you use the grid! Grid snapping works at a fairly low level - you might need to release G to get the accuracy to actually pick up the vert you want to move, then press it again to lock it to a grid square. You can also use the bracket keys - [ and ] - to change the size of the grid, the keys below them - ; and ‘ - to rotate the grid by five degrees in either direction, and the H key to centre the grid to the current selection (or reset the grid to default if nothing is selected). Use the grid to make the platform a pleasant shape, then leave edit mode for the polygon you have selected and move the goal up above the platform you just made. You should have things looking like this:

So far, our level is pretty crappy. Next up, we’re going to create a laser. The level will then be moderately less crappy. Right click somewhere, and you’ll get the creation menu:

There’s a bunch of stuff here, but for the moment select “New laser”. You should have a black laser pointing in a fairly stupid direction and not achieving much. If you haven’t played much of the game you might not know this, but black lasers make objects black, and when objects are black they’re weightless (no colour, no gravity). Play the level to get accustomed to how the laser’s start and finish is represented in the editor. Once you’re satisfied with that, it’s time to edit the laser. Select it in the usual way, and you’ll see a thing appear in the top left corner of the screen (ish) - you would have seen this when you selected the car earlier, too. It’s called the colour edit panel, and it looks like this:

Those three dark squares are red, green, and blue (reading from left to right) - clicking them will toggle them between illuminated and not. This is how you set colours of objects in Colour Bind. If you want an object to be a secondary colour, illuminate both the primaries (a yellow object is red and green together, for instance). Set this panel to green - so, the red square dim, the green one lit, and the blue one dim. Then click ‘set’. The laser should now be green.

The laser is positioned pretty stupidly though. Go into edit mode and you will see that the laser now has two small dark red circles at the ends. You can grab these and drag them around. Drag the source of the laser up to the top of the level on the left, and the end a bit beyond the bottom of the level on the left (so that it’s hitting the floor). In game, you should now see this:

Okay so, that was boring, I know - we spent a lot of time and all we did was some basic stuff that you could maybe have figured out on your own if you were willing to mess about a bit. The next section, we’re going to have the laser turned off by default, and have a switch that turns it on. This means learning about switches and events, and then it’s a short trip to learning about doors.

Making things happen

Next up, we’re going to do something slightly more interesting - we’re going to switch our laser on and off. Specifically, we’ll make it so that it needs to be turned on via switch. First off, let’s make it so our laser is turned off by default. This is simple enough - remember how we pressed ‘tab’ while the goal was selected and it switched between single and coop modes? If you select a laser, tabbing with toggle between on and off. Select the laser and press ‘tab’ once and the line should go dark. Play the level to confirm that the laser is still there, and turned off.

Now, we need to create two new things. First, a switch. Right click to bring up the creation menu, and select ‘new switch’. Select the switch and drag it over to the wall on the right, near the bottom - you’ll notice that the switch will automatically orient itself to the wall you place it over. The second thing we must create is an event - go into the creation menu again and select ‘new event’. You will now have a circle with a capital E on it - put it wherever you like. The scene now should look like this:

If you play the level now, you’ll find the switch resides on the wall where you put it. It’s entirely pressable - it makes a click when you press it in, but it pops out again shortly after. However, there’s no sign of the event - it disappears when you go into the level.

Triggers, events, and receivers

For this to work, we have three kinds of thing: Triggers, events, and event receivers. A trigger is something that causes an event to happen, and event is something that happens, and the receiver is the thing it happens to. In this scenario, where we are trying to set up a switch that turns on a laser, the switch is the trigger, and the laser is the receiver. The event is an abstract entity, which in this case is the conceptual notion of turning on a laser.

Triggers usually have one or more events which they cause to occur. Events are attached to exactly one receiver. So to get this to work, we need to do the following:

  1. Make the event a “turn on laser” event.
  2. Attach the event to the laser we want turned on.
  3. Make the switch trigger the event.

So to start with, select the event and go into edit mode in the usual way. You should see a little dialogue thingy pop up near the event icon, like so:

The text “Undefined Type” is the type of the event - not defined yet since it’s a new event. To the right of that you see two square buttons one above the other, and to the right of those you see a third rectangular button. Writing out these instructions, I realise how completely non-obvious it is that these things are buttons, and this will be fixed in a future version of the editor, but for the moment let’s just accept that they’re buttons and you can click them. The square buttons select the event type - click these repeatedly to see the different types of events that there are. If you do this, you will eventually see “Turn laser on” come up where once we had “Undefined Type”.

Leave that there, and now click the button on the right - it will turn red, like this:

This button you have just clicked is the ‘select target’ button, and is for attaching the event to a receiver. When it’s red, that means the next (appropriate) thing you click will receive this event, so click on the laser. The button should turn black again, and now you’ll see a pair of white circles at the base of the laser - that means the event is now attached to the indicated laser. Congrats! But we still have step 3 to go.

Now, select the switch, and once again go into edit mode. You’ll see an odd little dialogue box with ‘Switch on events’ and ‘Switch off events’ written, along with some other stuff. These are two (currently empty) lists of what will happen when the switch is pushed, and when it pops out. For the moment, we’re interested in having something happen when the switch is pushed - press the little green plus button to the right of where it says “Switch on events”, and then click the event icon. You should see something like this:

Now, the ‘Switch on events’ list contains one item - a “Turn laser on” event. Notice how when the switch is selected, the white circles are back around the laser’s base. This means that one of the events in this switch is attached to the laser. Now, play the level, and press the switch.

At this point, what should happen, is the switch will turn on the laser. Hooray, hopefully! But it’s not quite optimal, because the switch pops out again, and then when you press it again nothing happens, which is a bit unpolished. Go into edit mode on the switch again, and notice the button down the bottom that says “Hold”. Click it a few times, and you’ll see you cycle through a couple of switches. Click it until it says “Push”, then play the level again. This time, when you press the switch, it ought to stay in.

Okay! So that’s a sort of interesting level made! Press ‘S’ in the level editor to save your work - type in a level name (don’t worry about a file extension, but do leave it in the levels directory or else it won’t show up in the custom levels list). When you’re done hit Enter and you work is saved. If you want to quit now you can - when you load the editor again, hit ‘L’ and type the level name again to bring it back. I chose to name my level ‘TutorialLev1’ but you can name it something more appropriate, like ‘ReallyBoringLevel’.

Physical Object Interlude

Okay, I’m going to call upon your earlier skills, and trust you to change the shape of the world polygon until it looks something like this:

Once that’s done, bring up the creation menu again and select ‘New circular object’. You should have a black circle now. Drag it to somewhere inside the level (so that it’s not intersecting with world geometry, the player, etc). Change its colour to red (same way you changed the laser’s colour to green earlier) and place it in the nook in the bottom left of the level, like so:

Okay, the scene is set - it’s time for your first door! We’ll be making use of a bunch of the same concepts as making the laser turn on, so this won’t take as long maybe. First off, we’ll make the object that will be the door. Just above you made a circle that can be pushed around the world - now we’ll make a square. Go to “New polygonal object” in the creation menu - the resulting black square will behave much as the circle did - just float in space. Make it blue. Then, go into edit mode, and you’ll find you can change the shape of this object in much the same way as you can the world outline. Put it in the little ‘doorway’ we made near the goal, being sure to use the grid to make it a snug fit:

If you run the level now, you’ll notice that all you’ve done is created a rectangular blue block. If you made it fit snugly enough it will be clamped in place by the world geometry, but since blue gravity is to the left, it will probably slowly slide left until it slips out of its doorway and falls to the left, perhaps through the green laser if you turned it on. In other words, this is a crappy door. To make a door you actually need two things - the physical body, and the body constraint. Think of this as kind of like the door and the hinges that attach it to the frame - but in fact, the constraint in Colour Bind will be a sliding constraint, because the doors in Colour Bind slide. Select “New body constraint” from the creation menu, and a funny little yellow thing that looks like an imbalanced dumbbell will appear. First off, you need to attach it to the door - select the body constraint, go into edit mode, and then click the blue rectangle you created earlier. A pair of white circles now should show up on the door, similar to when you targeted the laser with the event - this means that the constraint is now constraining the door object. You should see something like this:

So what does this mean? If you play the level now, you’ll see that the blue object no longer has a bright outline (like a door in the game, if you’ve played past the first couple of levels), and just sits still. It is constrained! But so what?

Well, now I’m going to call on some of your earlier skills from the laser event thing. You’re going to need an event and a switch. Make the event of type “Move to Open” and attach it to the body constraint (NOT the door - attach it to the little dumbbell thing). Now create a switch, put it in the little niche at the top, and add the “Move to Open” event to the “Switch on events” list. Feel free to go back and remind yourself how to do this. Once you’re done, go into the level, turn on the laser, turn green, and then press the door switch. The results may be a bit disappointing - the door should move slightly to the right and then stop.

You might have been wondering earlier “How does the door know which direction to open in?” It doesn’t, as we’ve just seen. That little dumbbell thing is the key. See how one of the yellow circles is bigger than the other? The line from the big circle to the little one is the direction and distance that the door will move - hence, a little bit to the right by default. Select the body constraint and go into edit mode again. Last time we were here we attached this to the door, but this time we’re going to drag the circles around. If you end up with three circles instead of two it’s because you accidentally pressed tab - tab again to get back to two, and I’ll explain what just happened later. Ultimately, place the circles in the way you want the door to open - experiment a bit with this if you like, to get a feel for how it works. I’d like the door to open downwards so I put it like this:

Try it now - the door should open properly! But we’re not done yet. The switch pops up when you release it (assuming you left it as a hold switch - if not, set it back to being a hold switch) - if that’s going to happen, the door should probably close again, right? Create a new event, set it to type “Move to closed”, and attach it to the body constraint (now two events target the body constraint, which is fine). Now, go to the switch, and attach the new event to it, but attach it to the “Switch off events”. This is the list of events that happen when the button pops out. If you play the level now, the door should close again when you’re no longer holding the switch down.

What we’d like is a cunning and brilliant puzzle where you have to go and push the red ball to the right before turning on the green laser, and then turn the ball green and use it to hold down the switch for the door. Unfortunately, instead, what we have is a door that you can just drive through quickly. Using the skills you’ve learned, move the switch and it’s little nook over to the left - this will involve using edit mode to move the vertices for the nook, and then the transform gizmo to move the switch. You should end up with something like this:

See, that’s the brilliant puzzle solved! But there’s one thing we’ve forgotten. It’s easy to forget when you’re making a level that the hapless player will have no idea what the switches do unless you label them, so let’s add some labels. We’ll need two, one per switch. Go to “New label” in the creation menu, and drag the resulting label next to the laser switch over on the right. You’ll notice that the label has a colour associated with it, and is also has the letter B on it (for ‘blank’). First off, this is for the switch that turns on the green laser, so colour it green (same method as with the other coloured objects so far). Second, go into edit mode and hit tab a few times - you’ll notice that it goes through a bunch of different letters (and an exclamation mark). For a full run down of what symbols these refer to, look up ‘label’ in the official documentation - in this tutorial I’ll limit myself to saying that L stands for laser, so select that. Put it near the switch that turns on the laser. Run the level, and you will see this:

Pretty good, but the laser isn’t pointing east, it’s pointing south, and the label should reflect that. I’ve used a unit circle-inspired method for remembering how this all works - in a future version I will just make it reflect in the editor how it will look in the game, but the basic way to remember is that if the letter is oriented upright, that means the direction the label ‘points’ is to the right (ie 0 degrees on a unit circle). To point this laser down, you’ll want to rotate it 90 degrees clockwise. I’ll let you play around with that until it makes sense.

Of course, we want one more label, for the door switch. The door is blue, so create a label, make it blue, and put it near that switch. Select the letter M (for ‘mover’) to get the label conventionally used for doors in the main game, and orient it like the laser label (pointing down).

This tutorial is almost over - the level itself is finished. But one somewhat important thing remains. If you go into the custom level selection at the moment, you’ll see “TutorialLev1.cbl” or something. Wouldn’t you rather something nicer than that, like perhaps a proper name and description? In the level editor, hit D. You’ll be prompted to name your level. Hit enter once you have done this, and you’ll be prompted to enter a description. This stuff shows up both in the level selector and in the Workshop, should you upload it there. If you want to continue with the feel of Colour Bind’s built in levels, I’d recommend a stupid pun for the level name, and then maybe something really vague and cryptic as the description, to help put the player on edge. But that’s just me.

Next time I get my act together and write a tutorial, we’ll cover the curve editor, variable mass properties, different trigger types (timers and proxy switches), in-level text, and gravity ties! So stay tuned. If I’ve already done that by the time you read this, I’ll replace this paragraph with a link to the next section, so in that case, never mind.

Level Editor Documentation

Viewport navigation: To move the camera around, move the mouse to the edge of the screen you want to scroll towards, and hold down the right mouse button. To zoom in and out, use + and -.

Grid: To force the cursor to snap to the grid, hold down ‘g’. To centre the grid to the current gizmo (if you have something selected), press ‘h’. Press ‘h’ with nothing selected to return it to the origin. To rotate the grid around its centre, use ‘[‘ and ‘]’. To scale the grid up and down, use ‘{‘ and ‘}’.
Note that the grid snapping implementation is pretty low level - it literally just snaps the cursor to the nearest grid point no matter what. This can lead to some shenanigans with menus and translation gizmos if you’re not careful.

Loading and saving: To load a level, press ‘l’ (that’s a lower case L), then type in the name of the level you want and hit enter. To save the level, do the same with ‘s’. Saving over levels will happen without warning if you name the same thing, so be careful. You can create a new level by pressing ‘n’.

Loadscreen

Autosaves: Instead of an undo feature, the Colour Bind level editor saves the current level every so often (you can change the frequency in config.txt). Use the chevrons (< and >) to cycle through these saves - so, if you make a mistake, press < repeatedly to cycle back through autosaves to find a spot before you messed up. If you go too far, press > to go forward again.

Creating new stuff: To create stuff, right click somewhere, then left click on the menu thing that comes up for whatever you want to create. Below is a big section describing each object type and how to manipulate it.

Right Click Menu

Selecting stuff: This is pretty much as you’d expect and for once conforms mostly to convention. Click something to select it, or drag out a rectangle to select multiple things. Hold shift doing either of these things to add to the selection instead of replacing it.

Moving stuff around: When you have one or more things selected, a little transform gizmo thing will appear. You can do four things with this by clicking and dragging in different places. Free translate (in the square), translate constrained to one axis (one of the axes), or rotate (the red circle).

Moving Stuff Around

Edit panels: Edit panels are things that show up when you have certain types of object selected. The one that shows up the most is the colour edit panel - lots of things have a colour and you can set it here. The other two are mass properties, for rigid bodies, and world geometry type, for world geometry. I’ll go into more detail about this stuff later on, but basically you select the thing you want to edit, click buttons on its edit panel, and then click the Set button to apply that edit panel to all the objects you’ve got selected (the objects for which it’s not appropriate just ignore it - like, if you select a rigid body and a gravity flag and then set colour and mass properties, the colour will apply to both but the gravity flag won’t receive any mass properties.

Edit mode: When a single object is selected, pressing E will toggle edit mode. This allows you to mess with the object in more detail - a big description of how edit mode works for each object type is contained below.

Edit Mode

Level description: If you press ‘d’, this will let you type in a name and a description of the level - this affects how the level shows up in the level selector.

Steam Workshop upload: If you’re playing the Steam version of the game, pressing ‘u’ will take you to the upload screen. Make sure you’ve entered a level description (see above) and select the difficulty of the puzzles and the skill-based challenges so people can search according to those criteria, then hit enter and it should upload. Note that you’ll have to find the level on the Colour Bind Steam Workshop page to do final publishing, set a screenshot for the level, etc.
Note: To add a custom Steam Workshop icon to your level currently you have to replace the SinglePlayerPreview.jpg or CoopPreview.jpg files in the Levels/ Directory inside the Colour Bind install directory (By default this is C:/Program Files (x86)/ Steam /steamapps /common /colourbind/). If the level is single-player then SinglePlayerPreview.jpg will be uploaded, if the level is co-op, then CoopPreview.jpg will be uploaded.

Upload

Object types!

World Polygon: This is world geometry - it stays still. It comes in three flavours. Standard, which is light grey foreground geometry that objects collide with, lasers bounce off, etc. Background, which is dark grey and doesn’t interact with physical objects - in the main levels, I have only used this for decoration and other visual purposes, but lasers also collide with it which might be useful for certain things. Finally, Slippery geometry is similar to standard but with a white outline and a much lower coefficient of friction.

Edit Mode: Edit mode for the world poly allows you to change the polygon’s shape. You can do this by adding, deleting, or moving verts, as well as changing the smoothing properties of the verts. To add a vert in edit mode, simply click on or near an edge. To delete a vert, right click on it (note that it won’t work if the poly is already down to its last three verts). Left clicking and dragging moves a vert. You can also select mulitple verts by dragging a rectangle with left click - this will highlight selected verts yellow. You can drag them (they won’t animate while you do but it will work) and delete them. Finally, to change the smoothing properties of a vert, you can use the keys 1-4 while you either have a vert picked up, or selected. 1 and 2 will decrease and increase the smoothness of the point, and 3 and 4 will decrease and increase the pointiness.

World Polygon

Polygonal object: This is a physical object. It collides with other objects, gets hit and coloured by lasers, affected by coloured gravity, and can be constrained to make a door (or other stuff). It has a physical property window that lets the player change its mass properties - the higher ‘slider’ is the density, and the lower ‘slider’ modifies the moment of inertia. Once you’ve moved the sliders hit ‘set’ to apply the changes.

Edit mode: This works the same as world polygons.

Polygonal Object

Physical circle: This is like above, but a circle, not a polygon. It works the same except for changing its shape in edit mode.

Edit mode: The only thing that changes here is the circumference of the circle - click and drag anywhere on the edge of the circle to change its radius.

Laser: Lasers have a colour that can be changed and set like a physical object. In edit mode, you can drag the start and end of the laser to reposition it. Lasers can also have the Turn On Laser and Turn Off Laser events sent to them. If you place a laser with its base over a physical object, it will be attached to that object - however, this functionality is a bit buggy as it was never used in the built in levels - use with caution!

Laser

Switch: Switches can be dragged around and they will automatically orient themselves to the edges of world geometry. Switches keep lists of events - one list for events they trigger when they are pressed in, and another for events they trigger when they pop out. They can also receive ‘move to open’ and ‘move to closed’ events (‘closed’ means ‘pressed’ in this case, so ‘move to open’ will make a pressed switch pop out, for instance). To add an event to either list, click the green plus sign next to the appropriate list then click on the event’s icon. In theory, if an event is in a switch’s list, and the event is tied to a triggerable object, the triggerable object will draw with a white circle on it while the switch is selected. You can also change the type of the switch with the bottom left button - hold switches pop out automatically, but toggle and push switches will automatically have an event added that makes them stay pushed when you push them (essentially an event that makes itself move to closed). To make a toggle switch work with other switches you have to manually add ‘move to open’ events to all the switches in the group that pop all the other switches out. You can also attach a switch to an object - click ‘attach to object’ then click the physical object in question - you’ll want to move the switch over to the object to make this a bit more convincing. Unfortuntaely at the moment you’ll have to orient it to the object’s surface manually. Note that the button in the bottom right of the switch info doesn’t do anything and soon it’ll get removed - try not to look at it.
Note: Press tab while a switch is selected and it will swap its default state (on or off). Note that this change isn’t reflected visually in the editor yet.

Switch

Events: Events are pretty useless things until you mess with them in edit mode. Basically the way an event works is, it means ‘do something’. An event has a target, which is the object that does something, and one or more triggers, which is the thing that causes the event to happen (a switch or a timer). In edit mode, there are three buttons on the right hand side of the thing - the rightmost vertical rectangle-looking thing, if you click it, it turns red - this means you can now select the target of the event. If you a type of event to a target that can’t handle it, nothing will happen. The other two buttons cycle through the event types. They are as follows:
Move to closed: Move a prismatic constraint to its starting position, or ‘press’ a switch.
Move to open: Move a prismatic constraint to its other position, or ‘release’ a switch.

Event Target

Start timer: Starts a timer ticking.
Note that if a timer has just finished, you’ll have to reset it before starting it will do anything.
Pause timer: Stops a timer from progressing.
Reset timer: Moves a timer’s time back to zero.
Note: The way the timers work is currently pretty awkward. If a timer runs its course, you will have to pause it (cos it’s still going, behind the scenes) and then reset it (to move it back to zero), to get it back to its original state and start it again
Turn on laser: Self-explanatory.
Turn off laser: See above.
Set red/green/blue gravity: These special events come with a line that you can adjust. It sets the world’s gravity of the stated colour to that line’s value. Toggle switch: Pops a switch in if it’s out, or out if it’s in. Not used in the game but potentially could be used to make binary counters and other shenanigans.
Show/hide text: Turns on and off a text element. Note that showing text that’s out of the range of your car won’t make it visible (see Text Element, below).
Text Tag: Attach this to a text element, and when you activate it, the content of the text tag will get printed to the console output with ‘text activation’ next to it. No but seriously, this doesn’t do anything - it’s used for achievement detection in the built-in levels but requires native code hooks.

Timer

Label: An in game label, that you might have seen next to a switch. The character on it means different things - press tab to cycle through symbols.
T: Clock
A: Arrow (used in the built in levels to mean ‘sets gravity to this direction’)
M: Mover arrow (used to mean ‘activate door’ or similar)
L: Laser-looking thing
F: Fail label
B: Blank
!: Exclamation point (used in the built in levels to mean ‘This switch does lots of crazy stuff’)
Edit mode: If you go into edit mode on a label you’ll see a dark red probe thing that you can drag around. If you move it onto a timer, that label will then display the progress of that timer (and also emit those tick sounds to correspond to it).

Body constraint: A body constraint is used to make either a door (the default state), or a hinge. Which state the constraint is in is indicated by its appearance - for historical/stupid reasons, if the constraint is in door mode (a prismatic constraint) it will appear as two yellow circles connected by a line. In hinge mode, it will be three circles (the third one can be dragged around but it won’t do anything). To switch modes, press ‘tab’ while the constraint is selected. For a hinge to work, you’ll need to attach it to an existing physical object - enter edit mode on the constraint then click the physical object to attach it.
Edit mode: Edit mode works differently for prismatic and rotational constraints. Primsatic constraints, the bigger circle represents the initial position, and the smaller circle represents the position of the object after a ‘move to open’ event has been sent. On hinge constraints, the biggest circle represents the hinge point - the second biggest circle has no physical effect, but creates the point on the object to which a line will be drawn to illustrate how the hinge moves to the player.

Bridge: These are pretty straight forward. Change their end positions in edit mode by dragging the ends around, change the colour outside edit mode like you would a physical object. The number of segments is generated automatically, but bear in mind that these can make the physics engine a little unstable if they’re really long, or lots of force is applied to them.

Bridge

Level goal: This contains a bunch of info about the level other than the location of the level goal. First off, you can hit ‘tab’ while the goal is selected to toggle between a single and multiplayer level. It is also where gravity is controlled for the level via edit mode.
Edit mode: In edit mode, the goal will have three vectors visible - these colours can be dragged around to set different gravity directions for the level. There are also three small coloured dots - these control gravity ties. Each colour can have its orientation controlled by the orientation of an object (such as in the built in level “Connection”) - click one of the small dots, then click on a physical object to make this connection. Click the dot on the level info again to break the connection. Attaching arrow labels to the object, etc, is up to you.

Toggling laser with a switch: I’ll give you a step-by-step walkthrough of setting up a laser that is turned off at the start and has a switch to turn it on.

  1. Go into the level editor, and in the empty level, place a laser somewhere.
  2. Select the laser (just the laser) and press the E key to enter edit mode. This will highlight the two ends of the laser, which you can drag around to position it as you want it. Press the E key again to leave edit mode.
  3. With the laser still selected, press tab - the laser line should look slightly darker than before. Now it’s turned off - if you play the level now you should just see the source of the laser, not the laser itself.
  4. Create a switch from the creation menu, and drag it to the edge of some world geometry - it should automatically align with the edge of the geometry. If you play the level now, you should be able to hit the switch and hear a click (but the switch will pop out again, and nothing will happen).
  5. Create an event somewhere, select it, and use E to go into edit mode. It should be labelled ‘undefined type’. Over on the right of the rectangle that pops up in edit mode, are three ‘buttons’ (and as I write this, I realise how unclear and unusable that is - I’ll have to fix this in a patch). The smaller square buttons, clicking them should cycle through event types - select a ‘Turn laser on’ event by clicking the bottom button six (I think?) times.
  6. Still in edit mode on the event, click on the taller rectangular button to the right of the edit dialogue. It should turn red. While this rectangle is red, you can select the target of the event - click somewhere on the line of the laser. The button should stop being red, but there should be two white circles around the base of the laser now, whenever this event is selected and in edit mode - that means it’s attached to the laser!
  7. Now, over to the switch. Select it, and go into edit mode. First off, there is a button that says ‘Hold’ - this means it is a switch you have to hold down. Click that until it says ‘push’. This isn’t strictly required but it will look nicer (because the switch won’t pop out again). Now, go to the little green plus to the right of where it says “Switch On Events”, and click it, and then without doing anything else in between, click on the event you created earlier.
  8. It should now say “Turn on laser” under the “Switch On Events” heading in the switch’s edit dialogue. Now, you should be good to go! Play the level - hopefully pressing the switch will turn the laser on. If not, please email me the .cbl file (it will be in the Levels directory of the game) you’ve created and I’ll try to figure out what’s happening.
    What’s happening here conceptually is that an event is an abstract thing that causes things to happen to other objects. So, you attach a ‘turn on laser’ even to a laser, to cause the laser to turn on. A switch (or a timer or a proxy switch) is a trigger - it triggers events. So the switch is hooked up to the event, which is hooked up to the receiver (a laser in the case).