Text Only -- The basic stuff
Assuming you start with a newmap...
- e to edittoggle,
- /gamespeed 300
- move up above the plane, viewing down
- MW + G until your grid shows the plane as 4 by 4
Since this walkthrough was first written, a lot has changed in the engine, so I'd suggest you put the following into your autoexec.cfg instead of using the gamespeed command:
editbind LSHIFT [ floatspeed 723; onrelease [ floatspeed 100 ] ] editbind RSHIFT [ floatspeed 30; onrelease [ floatspeed 100 ] ]
This will make your left and right shift keys toggle your floatspeed -- a personal value, unlike gamespeed, so it works in spectator and coop-editing too -- to a fast (left shift) or a slow (right shift) setting. Of course, you might wish to tweak the exact values to your own liking.
Remove the outer layer of cubes completely. MW scrolling on the active cube will push/pull geometry. The active cube is either the off-white pointed at cube or it's the one you left-clicked to select. Selection can be enlarged/reduced by dragging - even while moving; but the easiest way to select structures is to:
- select two corners opposite on all 3D planes
- select the first by left-click, the second by right-click
continue the process of removing the outer layer, take note of the depth of the map.
- move down along the borders of the central pillar
- remove the lower row of cubes to make it a free floating cube
- /savemap my_first_map
You just excavated only on the lower half of an octree. The initial map was a completely half-filled octree. Manage your space wisely!
The grid is your friend! Since textures align to the grid it is vital when geometry is deformed, great care needs to go into texture/geometry combinations when detailed areas are created.
If you followed Part I : /map my_first_map If you don't load the map, you might still want to /gamespeed 100 - maybe use history. Drag a single cube-border on your map by following these steps: Assuming you just have a central block inside your map ...
- select any cube on the border of your map
- MW + G until your grid won't go any smaller
- MW it as far as it will go, that's border #1
- /gamespeed 300
- continue a row of cubes at the border .. 4 rows actually
- use the 1st/2nd selection to quickly select known fields as soon as you've done the first couple of faces completely :)
If you followed Part II : /map my_first_map Remember /gamespeed 100 .... or less - for delicate movements.
Go to the center of your map, you will be placed there if upon mapload, since no spawn is yet placed. We will change this. /newent playerstart then move a bit up from the sparkle of the playerstart entity. /newent light 128 64 64 64 place yourself somewhere looking nicely onto your platform /calclight 2;savemap on linux you could even do /fullscreen 0;fullbright 1;calclight 2;savemap;fullscreen 1
Now your map has an entity to spawn and a light to see. Everything else is more of the same with your knowledge of the documentation.
Illustrated example - building with the grid
Say you want to make a map that contains some curved walls .. .. but we only have a rectilinear grid on which to place corners of our cubes - what to do?
We will try to create the closest fit to a curved line by interpolating - using the different gridsize and edges of the octree.
When preparing for the layout of your map, you should try having your required rotation variants already too. So when you've done one curvature: copy/paste/flip that building block once across every plane of the world (XY, YZ, XZ) - imagine you need to make one crossroads of hallways with every corner a curved one. This is also good to take a close look at your cubes orientation - meaning: which edge goes in how far, could maybe the face to the side be better suited .. because of texture-mapping seamlessness/beauty/verisimilitude - also note exactly how you've postitioned your geometry on the grid in relation to the size of your texture(s) - meaning: when you paste it somewhere, on what gridcount of which gridsize will you have to snap your target-area(s).
Pics to shoot .. Text to write ..