Perspective Ruins – Part 2: Battlements

Last time, we discussed how to do ruined walls in Perspectives 3. In this article, we’ll continue on the ruined perspectives track, and this time I will be looking at how to make battlements.

Battlements have been an important defensive feature of castles and keeps for hundreds of years. The crenelations gave archers on the wall a way to shoot at incoming enemies, while still having ample cover available to them. It would be a real miss if we couldn’t have these important features on our castles. We don’t want our fantasy castles to be too easily overrun, right?

I’ll start by making the actual battlements, and then I’ll turn them into ruins. For this, we will use a very different technique from last time, a technique that can also be applied to all manners of custom objects, not just ruins.

This article is also available as a video, if you prefer that format, or simply need to see me perform some of the steps from the article.
For this article I am using the Perspectives Dungeon Bitmap A style. I am continuing with my file from the previous article, so settings, such as grids and snaps will be what we set up there. I’ll assume you know your way round basic Perspective 3 concepts, such as setting up wall/floor styles using Perspective Settings

I’ll start by drawing a simple wall with corners in it. Height doesn’t matter much, but remember the value you used, it will come into play soon. For my wall, I went with 25 feet.

Now, for the battlements on top of the wall. Personally, I like to let the battlements hang out over the wall a bit, this gives room for machicolations below them. These won’t be visible in the drawing since our isometric perspective is from above, but extending the battlements indicates that these are here.

Now, drawing on top of the wall is actually a little bit tricky, because while the bottom of the wall lines nicely up with the grid (assuming we drew it with snap on), the top don’t. Well, it may, but it is really dependent on the height of the wall. So, we’ll actually going to draw down at the foot of the wall, and then move things up when we are done.

Start by drawing a floor. Let it extend half a grid square out from the wall (we use half a grid square because there are snap points there), and a few squares behind it. I’ve made the wall partially transparent in the image to easier show the floor location.

At this point, we should start thinking about sheets. As we draw things, Perspectives is going to place many entities on their default sheets, requiring us to move things to the correct sheet. This is an advantage for basic Perspectives, since figuring out the correct sheets for entities in a perspectives-drawing can be challenging. For a more complicated drawing, like this one, it does mean that we need to pay attention and move things ourselves to get the drawing we want.

Right now, that wall we drew isn’t very helpful, but we’ll want it back later. I could hide the WALLS sheet, but I know that several of the tools I am going to use will put things on this sheet, so hiding it won’t be a good move. What I am going to do instead is to create a new layer called WORK IN PROGRESS HIDE and set this layer to hidden. Then, I am using change properties to put my wall on this layer. Do make sure to NOT have this layer as your active layer, as you cannot set the active layer as hidden. We should then be left with just the floor for now.


We’ll now start by drawing the lower part of the parapet wall. For this, we’ll be using the wall tool again, drawing a 2 foot wide, 3 foot tall wall along the same edges of our floor where our main wall is. I am creating this in a different material than the main wall, so in my case, I also visited the Perspective settings first and picked a setting with a plain stone wall texture, but feel free to use what you prefer here.

When drawing the wall, you may notice that by default, the center of the wall will be aligned along our floor edge, but we really want the outer edge. This is simple to fix; after placing the first node at the edge, you’ll note that the command prompt informs it that we can hold shift to move the handle. All you have to do is to hold down shift and move your mouse away from the floor. You’ll notice a small white line from the wall segment preview to your mouse cursor. Now release shift and move your mouse slightly to update the preview, and you should see that the wall preview now aligns with the edge along the floor instead the center. If you didn’t get the expected result, just repeat the procedure, just make sure to get the alignment right before placing the second node. Once you get it right, just complete drawing the wall, making it 3 feet tall.

Now for the tricky part, we need the crenelations. The crenels are the holes in the walls, so we won’t be drawing those, we will be drawing the wall segments between them. Now, for this tutorial, I am going to go for straight crenels that are the same size as the wall segments. Historically, these have varied a lot, some being at an angle to minimize the hole at the caster defender side while still allowing for a wide shooting arc, some walls have really wide wall segments and narrow crenels, while others are more similar to what I will be drawing here today. Feel free to adapt my instructions to draw them the way you would like them to be.

One important piece of information to keep in mind right now is the size of our parapet wall. It was 2 foot wide, and 3 foot tall. I’ll make the crenels 3 foot tall, which means the total wall height will be 6 foot, enough for humans to hide behind. I’ll be making them a bit wide, so the gap will be 5 foot wide, same for the wall segments between the gaps. This means that the wall segments between the crenels will be boxes that are 5 foot wide, 2 foot deep and 3 foot tall. Great, that’s all we need to know to go to work.

My next step is to use the 3D Box command to draw just such a design. Since the wall is already neatly aligned along the grid, we can utilize snap points when drawing instead of getting into the angles. That will be required if you have walls that do not align with the grid. Just keep snap on, place the first corner neatly in a grid intersection, and the second corner halfway along the grid line (should be a snap point there). Then just enter 2 for the width, and 3 for the height. All done.

Once drawn, it need to be copied up to the top of the parapet wall. Because the top of the parapet probably isn’t at a snap point, this is slightly technical. You can of course go for the purely “doing it by the eye” approach, but if you wish it to be perfectly placed, follow these steps.

Start by using the Copy command on the wall segment. When asked for the copy origin, pick the first corner (the one placed in the grid line intersection). When placing it, use the Endpoint modifier on the vertical line at the top left of our parapet wall. This action will ensure that the origin point of your copy will appear neatly in the top corner of the wall, just like we want.

With the first one down, placing the rest is simple. Just use the copy command on it, this thime the origin point for the copy doesn’t matter at all, and when asked to place it, simply type in <330,10 and hit enter. You may remember from our previous tutorial that coordinates starting with < are polar coordinates, and what this will do is to place the copy 10 feet in a direction of 330 degrees. I know the direction is 330 because the wall goes along the grid, and the grid lines in a perspectives grid have a bearing of 330 and 30 respectively. If you need a different direction, for example if your wall is not neatly aligned along the grid direction, you can use the Bearing command from the Info menu to figure out you bearing. The great thing about the copy command is that after placing the first one, you can just type <330,10 again to place the next one, and it will be offset from the previous copy placed, not the original, so continue typing those exact same coordinates for each copy you need till you get to the wall corner.

Note that you may consider making custom blocks for the corners if the lengths don’t match up. Also, don’t be afraid of subtly changing the crenel width between different walls if that makes things line up better.

For the next wall segment, the procedure is exactly the same. You need to make a new block since it is a different direction, and this wall is on a 30 degree angle instead of 330, the rest is the same.

Now, for the final part, I want to bring the ruined look to these as well. In our previous article, we created an artificial hole in the wall using the color key. Today, we will be using another technique where we will be drawing a ruined box for our wall segment, based on the existing box we drew. This ruined box can be copied into multiple positions instead of the shiny new ones we just drew. I’ll draw a single variation here in this article, but for a good result, I recommend you make a couple of variations. If you look at the header image at the top of this article, you can see that I have made a couple of different ones, but you can also clearly seeing that several are repeated when you look for it.


For the following steps, everything I do will be on the WALLS sheet.

We need to start by drawing a wireframe version of our wall segment block. There are multiple ways to go about this, including copying from the existing block and change properties. This drawing is quite simple though, so I am going to draw it from scratch. This wireframe will be my construction lines, so I am making them purple and putting them on the CONSTRUCTION layer (create it if you don’t have it). I trust you can actually draw this box yourself based on the image. Basically, it is drawn using the basic line command, and using polar coordinates to get them right. There are really only 3 directions to worry about, which is 330 and 30 degrees to match the direction of the grid lines, and 90 degrees for the side lines that go straight up. Snaps and the endpoint modifier are also very helpful here. Once drawn, change to a different layer and freeze the construction one so we don’t accidentally edit the lines. The result should look as in my image.

For the next steps, I will be using straight lines for undamaged sections, and fractal lines for the damaged sections. The whole point with the wireframe is to get things right, and ensure that I don’t draw outside the size of a normal box. So, for this one, I’ll draw a shape that is fine on the left side, but slopes down in a broken path towards the right. So, I start by drawing the lines for the undamaged parts, using the purple construction lines as a guide, using modifiers like endpoint to target them precisely. Again, I use the basic line tool. I then get something like the black lines in this image. (I used wide lines to make them more visible in my screenshots, but you should really just be using lines with a width of 0.)

Next step is to add some partial lines to the broken section. I assume the breakage doesn’t start right at the corners, so I add in some straight lines near the corners. Let us go half way here, meaning that the upper right quadrant is broken off. To get the line to end halfway along the construction line, the Midpoint modifier is great, or the On modifier, which allows us to put the point anywhere along the guideline, but ensuring that it is actually on it and not just nearby. I used the On modifier here because I didn’t want it to be exactly midway, this is a ruined segment after all, and not a precise machined cut.

For the final lines, I will be using the fractal path. We need four lines here, basically connecting each nearby line end to each other. For these lines, we need to use the endpoint modifier on the black lines and not the construction lines, so at this point, it might be helpful to hide the CONSTRUCTION layers to ensure we don’t pick the wrong line with out modifiers. when drawing the fractal path, make sure that it is basically a continuous gentle slope. If it doubles back on itself you get a shape which is much more difficult to get right with the perspectives view, so avoid that. Remember you can always hit Space to re-randomize the path preview before placing it. Also make sure to increase the fractalization a bit by hitting the right arrow key a couple of times like we discussed in the previous article. Also, make sure to make those fractal paths as four separate paths, don’t just continue one path around, we’ll need those individual lines later.

With the lines in place, we can now build our 3D-object. We’ll do this side by side. As you can see, each side is built from four or five lines, and we have four visible sides, these being the front, the right side, the flat top, and the ruined slope. I’ll start by deleting the lines from the wireframe which won’t be visible in the final result, as well as hiding the construction lines. That result in the lines in this image. This image now gives a much clearer view of what the final result will look like.

Now, notice that many of the lines actually belong to several of the surfaces, which means we will need to do some copying. We’ll also need that wireframe shape to outline the final form anyway, so we’ll actually copy all the lines for each surface. The trick when doing this copying is to just keep snap on. That makes it super easy to create a copy one grid square over.

First, make sure the current fill style is set to the correct fill. Since we are building these manually, we don’t get to take advantage of the perspective settings either. You can figure out which fill you have been using by using the List command on one of the wall segments we made, or by opening up the perspective settings dialog and go to advanced to see which fill is set for the wall. The just click the fill style indicator and set that fill. For my example here, it is Stone Brown Flat P3A. Also set the current line width to 0.

Then, for each individual surface (front, side, top, slope), identify the four or five lines that form it, and copy those lines one grid square over. Then use the Line to Path command on the lines you just copied (This command is found by right clicking the explode button). Assuming you where using 0-width lines and you did precise node placements using the modifiers as described, this will form into a surface. Now just repeat for the rest of the surfaces. Remember it is important to do the steps in this paragraph individually for each surface, don’t try to copy all the lines in one go as you won’t get enough copies. When you select the lines for the Line To Path command for the second surface and onward, make sure to NOT include the already created surfaces at the same time (Hint: You can hold control to deselect an accidentally selected entity). Once you have done these steps, the result will look like the image. Note that we are still missing shading and outline, so it is difficult to separate the surfaces at this time.

Let us do the shading first. We want the shading to be the same as the block we drew with 3D-box command and the wall. What we need to figure out here is mainly the angle and the pitch of the shading used. We can learn this using the list command. Start by unlocking groups (button in lower right corner of the CC3+ window) so we can access the individual surfaces of the box. Then use List on one of the sides. The list output will show information about the shading used (click the image for larger version). As we can see here, the angle is 30 degrees, and the pitch is 70. (Ignore the minor precision errors in the numbers).

Now, armed with this knowledge, you can now right click the Polygon button on the right toolbar, and select Shaded Polygon. Use this command on the same side of our ruined construct as the side we extracted the data from our box on. Input the data as the command line requests them. Repeat for the other side. Note that the top doesn’t have any shading. Remember to lock the groups again when done with this step.

Then there is just one more step to the puzzle, and that is to copy all the lines from our wireframe over our surfaces, giving them a nice outline (Note that I have changed them back to 0-width lines in my screenshot to match the existing 3-D box, which is why they look thinner than the standalone wireframe). Then finish it up by grouping all the entities in our new shape (Tools Menu -> Groups)

We should now have a broken segment that actually look like a broken version of the normal wall segment. It was a few steps to get here, but you have now learned how to create proper perspective shapes from scratch. Unfortunately, there is no simple way to rotate it, so you’ll need to build versions for other directions from scratch, but that is also a good opportunity to make them look slightly different.

Now, all that remains is to copy our new shape to the wall to replace some of the intact ones.



Of course, right now everything is at ground level. We did draw a wall in the beginning to put this up on, so let us do the final steps.

Start by making a new sheet called BATTLEMENT. This sheet must be below the WALLS sheet in the sheet order. Then, move the floor, and our parapet wall (both bottom and top parts to this new sheet). Next, use Move on these same entities. The move from point doesn’t matter (click anywhere), but when asked for the move to point, type in <90,25 followed by enter on the command line. Again, this is polar coordinates, so this means the entities will be moved straight up (90 degrees) for a distance of 25 foot (the height we used for our wall in the beginning. Finally, finish up by unhiding the WORK IN PROGRESS HIDE layer we made earlier, and when the wall is visible, move it to a better layer, such as WALLS. And just to make the illusion of 3D-space work better, add a Wall Shadow, Directional to the battlement sheet. Go for a shadow length of 3 map units, blur radius 1, and set the direction to 270 (Straight down) and opacity 50%. Note that in this case, I am tailoring the shadow to get the illusion I want, I don’t care about the actual light direction in the scene.

And here we are, all done. You can grab my map file.



The comment field below the article is not a well suited location for questions if you need help or clarification. Instead, I recommend you ask your questions over at the ProFantasy Community Forums instead. The forums are a much better format for discussions, and I am much more likely to see and answer your questions in a timely fashion. Simple comments on the article that don’t require an answer is fine leaving below though.

Comments are closed.