Before you start, you should set up the view windows. I like to work in perspective mode (3d view similar to MB's level editor - right-click hold and use WASD to move around once you have enabled free cam in constructor's preferences and disabled draw target) so I have that biggest, and below it one 2d view (set to top, but I alternate it with bottom, right, and front as I see fit). Click the blue arrow buttons in the top left corner to change the content of that section, and click/drag on the section dividers to resize.
The first thing I ALWAYS DO when opening a map is set the sun color to a shade easier on the eyes. So, change the three color values to 100 each, which mimics MB's shading and doesn't blind you while building.
You may notice some info about the view in gray text near the bottom right corner. This tells you a couple important things 1) the mode you are in, normally select mode (if not, click the q key to cancel any other modify modes you may be in) and 2) the current grid zoom. I like to keep my grid zoom at 0.5m / 2m which means that each grid square fits exactly one texture square, useful to me. You can change this by holding right click - scroll mouse wheel.
So when moving around the map, use the WASD camera instead of zooming in/out to keep that 0.5m / 2m grid zoom. If you want to zoom in/out faster (say, when you initially load the map it starts you off far from where you will be building) hold down the shift key when moving the camera.
Building the cube
To start making platforms, you use the cube primitive. It is the first button under the tools section, create tab.
There are several ways to set the size of the initial cube. The one I use the most is typing in the size x/y/z values under the properties section, tool tab that appears once you select the cube button. The size of one top texture square, for example: is 2 units (x/y). The standard for most Marble Blast Gold levels and almost all Marble Blast Platinum levels is .5 units high/thick (z axis). Another way to create cubes is with the cube primitive selected, left-click and drag in one of the 2d views, preferably top or bottom. Then you can use the colored squares on the end of the cube to resize or the center square to move it. In the materials section, use the browse button to open the texture browser, choose a texture (I like to start with mbu_edge_white2 since that covers 4 out of the 6 sides in one fell swoop) and hit the active and close button to apply it and close the window. Then you can hit the make button to create the cube.
Texturing
To texture the top and bottom sides of your platform, you need to use the faces mode. By default Constructor starts in brushes mode (each cube is a brush, when you select one it selects the entire cube)- to change it to faces you either press the faces button near the bottom of the window or hit 2 on your keyboard. One important thing to remember is that the top textures by default are twice the size you want. So, with a face selected, change the x and y scale to 0.5. When you do this, it keeps the texture centered so to make it texture starting from a corner, you need to use the justify buttons. Select either the top arrow or the bottom arrow, then the right or the left arrow to snap the texture to the sides of the brush.
Alternatively, you can use the face button, which also serves to reset the face and it's position. When texturing the bottom side, mbu_pattern_cool2 is usually used (normally at its default 1 1 x/y scale).
If you texture a face with one of the textures associated with a friction, the face will automatically gain those friction properties in-game. Note that moving platforms textured with a friction will not gain the frictional properties.
Making a level from the cube
It would be very annoying if you had to re-create a new brush and texture it from scratch every time you need a new platform. Fortunately, constructor makes it easy: hold down shift and drag the platform on one of its axes (normally to move brushes, you hover over one of the axis arrows that originate from the brush center and drag it, so just do the same but with the shift key held). Then, you can switch to the faces mode and select one of the sides and drag it inwards to change the dimensions of the brush.
If you want to create a sloped platform, instead of dragging the side inwards you drag it up or down. In some cases you may want to skew the platform, to do this drag a face left or right. If you need to select multiple brushes/faces/vertices in one selection, hold down the shift key then select them. It can also be used to as the reverse, to deselect brushes/etc from a selection.
In addition to the brushes and faces select modes is the vertices select mode. This can be useful for things such as:
When moving vertices, remember to always select 2 vertices sharing an edge. Moving just one vertex will result in malformed platforms (denoted with red lines running through the platform). Also, if moving vertices results in red lines even though you have moved them correctly, that means that the vertices do not lie on the grid, so you need to first move the brush so it rests on the grid (use the rest on ground tool then move it back into position or just re-do the brush.. if neither is viable uncheck snap to grid in preferences then move the vertices again).
At times you may need to use other primitives than just the cube. The tube primitive to the right of the cube is used for circle platforms (not hollow tubes, which are made with the pie slices plugin to minimize conversion errors) and is pretty self-explanatory. The cone pyramid may be used for making cones (for scenery) or pyramids (for tower tops mostly).
Download the entities file if you will be creating moving platforms or powerups/pads/other game items. Both of these are created using the create entities button, located below the primitives mini-section. You can download the entities file and view the moving platform tutorial here and the game entities tutorial here. Note that the file is shared between them so you only need to download+install it once.
Converting your map
You cannot use constructor's built in exporters to convert your map to a .dif (interior) file. Assuming you are on windows…. Save your .map file (yes, you should use this format for saving instead of constructor's xml format) then drag the file onto the Marble Blast Map2Dif program (download that file here:
demos.garagegames.com/marbleblast/MarbleBlastLevelTools.zip
). Make sure the exporter is in the same folder as the map file. Also ensure that you have all the textures used in the map in a folder with the same name as the album the textures are located in for constructor (this should also be located in the same folder as the map and exporter).
Your setup before converting should look something like this:
If you are running Mac OS, you have two options:
A) Find someone running windows to convert your map for you
Download the shareware application Crossover, and follow this tutorial (intel macs only):
marbleblast.com/index.cgi?board=construc...=display&thread=6950
Other (basic) tools and options
Under the modify tab in the tools section you will notice some transform buttons. The first button is translate, which basically allows you to move the selection by a set amount. I don't use it a lot because I can just move brushes in selection mode, though it is useful for moving things by a distance that is not on the grid - for example, when aligning the game items to the platform by set distances.
Next is rotate, pretty self-explanatory though I don't recommend using it unless really needed. For example to create walls I suggest duplicating the platform then resizing it instead of rotating it to minimize problems and keep the correct texture orientations.
Planar scale and size bounds both let you resize platforms, the difference being that planar scale does it by percents (so 2 would be 200%, or twice the size) while size bounds does it by actual units (so 2 would set it to 2 units regardless of current size). I also don't use these often because it changes the texture scales as well so you would have to retexture.
Center 1D centers the selected brush(es) on a selected axis, never used.
Rest on ground, self-explanatory.
Quantize, well, if you figure out what it does and if it does something useful, let me know.
The CSG tools are also very useful: subtract lets you carve holes in brushes, intersect leaves you with only the overlap of 2 or more brushes (not useful), hollow makes a brush hollow inside though it does it odd sometimes so if possible create the room manually, knife slice and clip let you cut brushes. For more details on the CSG tools, you can download Josiah Reeve's pdf guide here. You can view the rest of his helpful constructor tutorials at his website.
Resetting the brush pivot center is for fixing a constructor bug in which when you select a brush, the axis controls are located outside of the brush. I believe this was fixed in a previous version, but if it ever happens you know what to do. Moving the brush pivot point, for example to a corner, can be useful for rotating brushes around a corner instead of the center, though this is more easily done via the center values for the rotate tool.
Constructor makes it easy to modify the interface to your liking. Selecting one of the blue arrow buttons located throughout the UI will let you do a multitude of things, such as change the content of that section or add/remove splits in the interface to divide it into sections. You may also resize each section by clicking and dragging on the small bezeled circle located on the edge of each section.
Once you have set the interface to your liking, you can save the layout (or it will automatically be saved on exit). You can save multiple layouts and easily change them, useful for example if you use a laptop both unplugged and plugged into an external monitor and need different sizes for different sections accordingly.
There are some options you may want to change (System - Preferences) in some situations. Here are the useful ones:
I like to keep the grid spacing at 0.5 for alignment purposes, though you may need to change it to lower values in special situations. If you do, make sure to keep it at a power of 2. Constructor can do basic mathematics, so if you need to get say from 0.5 to .03125 you can do 0.5 /2 (enter) /2 (enter) /2 (enter) /2 (enter), or just 0.5/16 (enter).
If you select a brush and hold down the control key, it lets you quickly rotate it. It snaps the rotation to 1 each move - it's more practical to have this at something like 22.5 or 45, or even simply 90. You can also change the scale amount for the quick scale tool (option key when selecting brushes); I don't use it, but if you do you may want it at 0.5.
The one click preference lets you click in one of the views to make a brush, instead of hitting the make button.
Lock to Selection makes it so you can only select faces and vertices on the previously selected brush. This is useful when you have two brushes that touch and for example you want to ensure you are only selecting a vertex on the correct brush.
Free cam for me is a must, it allows you to move the camera around the map like you would in MB's level editor. If you don't have it checked, you get a slightly different camera mode that although is harder to use, lets you move around the map quicker. You may also change the move speed for the camera; I have mine at 15.
Max memory for undo function allows you to change how many kb's constructor's undo system uses. More memory means more undos available. You should probably keep it in a power of 2.
Other (advanced) tools, tips, and options
The linear clone duplicate tool is used for primarily 1) pie slice curves, and 2) cyberfox's banked curves/spirals technique. More details on using it are available in those tutorials. The scale to zero user tool is also outlined in cyberfox's aforementioned tutorial.
To treat multiple faces as one face when texturing (say you have a wall made up of multiple brushes and you need to texture the whole wall at once), select the unify button or check the as one option in the faces tool alignment section. Remember to uncheck it after you are done using it.
When trying to extend sloped platforms, you will notice that this alters the slope's angle. You can make it flat, adjust the size, then adjust the angle back to normal or you can to use the extrude faces plugin (it should be included in constructor). Just specify the length of the extruded brush and check conform so it is the same angle as the slope. For trimming the top/bottom of a sloped platform, this way is a lot faster than copying+pasting the slope brush, making it flat then adjusting the size, moving it into position, then adjusting the angle to match the angle of the slope.
When creating high-degree sloped platforms, you may notice that the texture seems stretched. This is because when creating sloped platforms, Constructor increases the texture size to fit the same number of texture squares as would appear if it were flat. Think a2+b2=c2, the hypotenuse or sloped face is much longer than original so the textures are more stretched. To counter this, you will need to override Constructor's adjustments by using the align to face button. Once you do that, it will actually texture the slope with the 0.5 texture scale (and thus you will notice the squares do not fit perfect). In your head, round to the even amount (so you can texture the underside without it ending in half a mbu_pattern_cool2 square) then use the stretch to fit height button (looks like a vertical line and is next to the texture justify compass). Now divide the resulting scale value by the even number you calculated (which will be the number of top texture squares) in the scale value field (just do, for example /6 at the end of the value then hit enter and Constructor will do the math).
Before:
After:
After you do this, you will need to adjust the trim as well, so just take the final scale value for the top texture face and multiply it by 2 for the trim scale. Use the same new value for the bottom texturing (make sure to hit the face button first or it won't come out right.
If you are building massive maps that would take a long time to zoom from the first brush to the area in which you are working, you can set constructor to load the camera by a selected brush (where you are currently working). Just select a brush then in the view tab, workplace section select the button align workplace to selected brush's origin. Then save the workplace (first button in scene workplaces section) and you can later reload the camera position when you re-open the map by using the reload workplace button.
Under the options menu item are a few useful features: Group, which lets you select a set of brushes in one click; Lock, which you may want to use if you need to delete many brushes except for the specified brushes (locked ones); and Hide brushes, which lets you specify brushes to not be rendered in the display. This helps to cut down on lag when moving the camera around if you have huge levels especially with curves (just hide all the brushes that you aren't currently working on).
Under the select menu item are a couple useful tools. If you need to quickly change all faces with a certain texture to another texture, just select one face with the texture in question then use the Same - Material tool, and all faces with that texture will be selected.
Save selection/Load selection lets you save a group of selected brushes and then later reload it. This is useful for if you have a large group of brushes that you need to copy and paste several times.
To learn to create pipes (halfpipes, quarterpipes, and full pipes), view Perishingflames' Constructor Pie Slices tutorial:
www.youtube.com/watch#!v=mL7ZeBJiMl8
(Part 1)
www.youtube.com/watch#!v=RO97tPz0nWA
(Part 2)
To learn to create moving platforms and do interior tests, view Perishingflames' tutorial:
www.marbleblast.com/index.cgi?act....59&page=1#37895
To learn to add Marble Blast items to your map, view Perishingflames' tutorial:
www.marbleblast.com/index.cgi?act....9&page=1#114018
To learn to create smooth slopes / bumps, view Cyberfox's demo:
To learn to create banked curves and spirals (and get+use Scale to Zero plugin), view Cyberfox's tutorial:
www.marbleblast.com/index.cgi?boa....ay&thread=10657