I do corners two different ways, depending on whether I have a full-width set of walls on the level below, but how about an explanation of how I do this?
It's tuned towards an arbitrary number of masons constructing. If you have just one, it also works, but you can do it in
other ways to better maximise the building time and minimise any waiting time.
Say I start with a set of walls below, you'll see "wall-tops" something like so:
+++++
+ +
+ ? + <- "?" is over the up or up/down stair on the level below
+ +
+++++
First of all, get the down or up/down defined and built:
+++++
+ +
+ X +
+ +
+++++
For this pattern, I'd then place floors /at least/ to access on wall-top, first thing:
+++++
+ +
++X +
+ +
+++++
Then I'd be able to define the corner pillars:
O+++O
+ +
++X +
+ +
O+++O
Note that access across the diagonal allows constructors to reach (and build) every corner.
(This also works with concave external corners.)
Then I'd set the rest of the floors. Also /some/ of the walls are already buildable before this,
in order (of completion, not necessarily assignment!) of 1..5...
O+32O
4 +
5+X 1
4 +
O+32O
You /can/ define more walls than this, especially if you're sure you're going to have floors to access them (or to exit by) by the time that issue is important for the builders concerned, but this is a good framework start.
An alternate plan I use is to assign all the floors (here in blocks 1x2 or 2x1 blocks,
arbitrarily seen as 1..4, but resize and reshape as appropriate for your plan):
+++++
+122+
+1X3+
+443+
+++++
At some point you're going to have one particular path to the edge completed before any others
+++++
+122+
++X3+
+443+
+++++
At this point, CANCEL all floors that are not currently being serviced, define to be built
all-but-one length of each wall, excluding the corners (sequences A..D), such that there's
always a corner-adjacent gap. Then designate the corners "*", then re-designate any
'missing' floors (each "5")
*+AA*
D525+
D+X3B
+555B
*CC+*
The "build queue" order (excluding anything already in progress from the floor designations)
will be the 5s *s, and then A..D (or, rather, D..A, but each subset order is arbitrary).
Numbers 1..4 that remain were already being serviced, so are at the front, /unless/ the job
gets suspended/cancelled for some reason. If so, cancel if still necessary and redo as another '5', now at the head of the queue.
The corners pillars will then appear in place pretty soon, with other bits and pieces of the
equation. including all (or a sufficient quantity of) the floor, and maybe some of the
non-corner walls, leaving just some of the A-D still to be serviced (prob. in progress):
O+OAO
O++++
D+X+B
++++B
OCC+O
When you /have/ all the external corners in place, desigaate the final gaps (here 'E'):
OEOAO
O+++E
D+X+B
E+++B
OCCEO
On the floor above, you may well have the following view:
+ +++
+
+ ? +
+
+++ +
This is enough to start putting in the floors to each edge (new 1..4 at /least/) and
as soon as this gives access to each side, set pillars up on /this/ (Godwinated?) layer:
* ++*
+ 2
+1?3+
4 +
*++ *
It might
seem like a lot of micromanagement, for a 5x5 room with a 7x7 wall-inclusive footprint, but for larger areas (and more complex shapes) this method actually has a lot of "fire and forget" capability, and you don't n3ed to micromanage each and every single construction...
And if you
don't have walls below (you're overhanging, for some reason, e.g. if you had a 3x3 "walls around a staircase" block on the ground level but are expanding out to a 5x5 "pillbox" on top, edged with fortifications[1]), then do the corners like this:
... . = eventual footprint (including walls)
... X = stairwell that you've already got in place
X..
...
+++ Add floors to adjacent to corner
X..
.....
aaaAA With a bigger gap, define the "A"+"a" squares,
aaAAa then cancel all "a" (or any similar pattern).
aAAaa (Or don't cancel them, if you're Ok with waiting.)
AAaaa
X....
Either way, when pathway is completed, set corner and one other wall to be built
.**
+++
X..
When both built, set to be removed the wall-spot floor
.OO
++-
X..
Continue as logical (filling in floors and walls) as and when you can.
Back to the bigger example (expanded to /all/ corners, you might well
be able to do something like this at the "corner define" stage,
depending on how you laid it down:
*+*******
*+.....++ (Access to top-left is a /similar/ stagered diagonal, but
*++...++* with different wall direction. Access to bottom left/right
*.++.++.* corners done via another 'scaffolding' method, that might
*..+++..* be quicker to build. Normally I work with reflectively
*...X...* or rotationally symmetrical patterns, for purely aesthetic
*...+...* reasons, but I'm varying it here for demonstrative purposes.)
*...+...*
*++++++++
*+*******
Although not all the "*" wall designations can /yet/ be built, they will queue up and get built when they eventually can. Just concentrate on getting the floor (and any other features) filled in.
Note that when you dismantle a "wall-space" floor (that let you build a corner, where there's no natural wall-top to stand on), the material falls down to the next solid level below. I don't know if in the current generation of the game (because I've been playing safe, generally) if this causes problems on the level below, but be aware of that if it might endanger anyone.
I also tend to reserve a particular stone (say Orthoclase, distinctively coloured) for scaffolding spots[2]), but it also means that if you're building over an area that you've not gained walking access to (in the caverns, or over magma/water) or that you've shut walking access off from (on the surface, in an isolationist fortress design) then you've lost the materials.
An alternate method of scaffolding is to make the wall-space platforms 1x1 bridges. Bear in mind that the corner-adjacent wall
must be built prior to the corner one (because the bridge itself will not support, as already mentioned, but
will allow building to be attempted) and that it needs an architect and so may be a slower process, but when you want to remove the access-to-stand-on bridge, the material it is made of will be deconstructed
onto solid floor adjacent, i.e. still usable. But it's a lot of effort unless you
really can't stand the idea of losing that Orthoclase or letting it litter the ground outside and beneath your impregnable fortress..
(This was written more or less in response to:
I advise placing the corners first, and then filling in the rest of the walls.
...I may have since been ninjaed in some aspects of the techniques.
Also, E&OE, it was written on-spec, so
may contain minor errors or rather badly explained parts. I'm sure you'll find out, if I've caused you to create a self-destructing tower or other Death Zone effect on your building site.
)
[1] With
constructed fortifications not supporting, or giving "wall tops" for constructing on the level above, these are also a reason for going for the temporarily-on-a-wall-spot floor.
In the past, I've had deconstructed 'scaffolding' floors sit in fortification tiles, on the level below, also, so I tend to coordinate to leave
these fortifications as being built only after the scaffolding from any/all layers above have passed down onto/through this tile.
[2] One thing it does, unless snow falls regularly in your embark area, is make clear which tiles are still to be removed. Olivine is another favourite of mine. But whatever you can use that doesn't match whatever you don't
already use to make the
actual adjacent construction area would be as good, if any of this is of any aesthetic or organisational importance to you...