Mark Needham created these beautiful castle floorplans for the Time Ref – Medieval History website:

He used the Jon Robert’s Dungeon style released as the June issue of the Cartographer’s Annual 2001. This style is freely available for download and showcases the beauty of Jon Roberts’ artwork, as well as the value of the content of our Annual subscription.

Our users are a discerning bunch, so we thought we’d seek your input on a new front page.

(If you comment, bear in mind that the designs are displayed randomly.  We know which one you’ve voted for, but you’ll need to describe any others.)

[iframe_loader width=100% height=650  frameborder = 0 marginheight=0  marginwidth=0 scrolling=no   src=http://www.profantasy.com/contest/intro.asp ]

The RPG maps blog has been going for over a year now, and while some articles were topical, most have long term value, so here is a summary of those articles with links. Also, if you want to try your hand at some CC3 programming and scripting, check out the development blog.

General Map Making Advice

Example Maps

Overland

Floorplans

Dioramas

Science Fiction

Historical Maps

ProFantasy Software

Development

by Avotas

Eight months ago I took the digital plunge into a brave new world called “YouTube” and released my very first video tutorial explaining the how to integrate maps created in CC3 and DD3 into RPTools MapTools. Since that time, and after careful reflection, I have come to the determination that the video really does look like something someone does for a first project.  Still the advice is sound, and I wish to expand on concept.

In the video I used a PNG, which is a lossless compressed format, but not the best tool for streaming images across the internet. For that you should use JPEG.

Now we are talking about JPEG, if your file sizes are still too large (and I mean over 150K) export your image without a background. You will see an instant reduction in the file size as the computer discards all of that white space in the compression.

Use tiles! Wait not, not the stuff in the bathroom, well, kinda .. ok it’s close. If you want to sacrifice a little artistic direction, you can make tiles by photographing common materials (such as floorboards, walls, doors, furniture, etc) and build your own dungeon like you would assemble a puzzle. This will require a photo editing program such as Photoshop, or Paint .Net, but when you’re done you end up with a dozen tiny files that are repeated to make up a larger picture. The theory is sense these images are duplicated, the user only has to download a three 64×64 squares instead of a 4000×4000 image to cover the same ballroom floor. MapTools allow snapping, for ease of building, along with rotation tools to spin the images and scale tools to change the size.

Mark has been putting a lot of work into improving our users’ experience on the website. We wanted to make things easier to register, to find things, and let you download all your software there, not just upgrades and patches. We also added rewards and offers, and made tech support easier and quicker. Log in here to see more. If you have any problems, let us know.

Here is what’s on offer.

  • The new tabbed layout makes it easy to find what you need
  • You can register for the first time from any order page, or add an new order to your registration at the click of a button
  • You can see exclusive offers for registered users only
  • You can download all your registered products, even if they are 10 years old
  • You can earn vouchers or cold, hard cash (paypal, actually) through our rewards scheme, with instant totals
  • Support is streamlined, with the most common issues covered, a knowledge base and easy access to personal email support if you need it

First a warning – The .FCW file format is BINARY!  If you do not feel comfortable playing with bits and bytes, this may not be for you.  But if you do enjoy this type of challenge, the .FCW file format is one of the best ways to output to CC3.
Imagine you have a random maze generator and you want to output it to CC3.  You could export a script.  It would redraw your maze one line at a time.  
But there are also some problems with scripts:

  • You have to run them.  This may sound obvious but consider that you have to either know the text command to open and run a script file, or you need to know where in the menu system it is. 
  • Scripts are slow.  CC3 will have to take your script and run it line-by-line.  Its as if you had set down and typed in the commands directly into CC3.
  • Scripts are not exactly fragile, but they are not very robust either.  And, if your script fails, your users are the ones that are going to get frustrated.

Where as if you exported a .FCW file, simply the action of opening the file is all that is needed.
So … if you are still with me, here we go!

One last twist – the .FCW file could be compressed.

The .FCW file format is made up of many different “Blocks” of data.  The first 4 bytes of each block (except for the first block) contains the number of bytes that the following block contains.  It starts with the FileID block.  The FileID block is the only block that is guaranteed to be uncompressed.  This 128 byte block contains quite a bit of general info on the file.  It identifies what type of file it is to other programs, and the version and sub-version number of the file format is was built with.  Last, but not least, it informs the reader that bytes after byte 128 are compressed or not.  (To save an uncompressed file, after you have clicked “Save As …”, you will be presented with the save file dialog.  If you click on the options button, you will be presented with a small dialog box.  Uncheck the “File Compression” option)

For this first blog post on the .FCW file format, I will show you how to read a binary file into a byte array and how to display it, byte-by-byte in a textbox similar to all the binary editors display it.  Being able to look inside a binary file will come in very handy in the future.  Last but not least I will show you FILEID object.

Code Snippet – How to read an entire file into a byte array
  1. public byte[] ConvertFileToByteArray(string fileName)
  2. {
  3.     byte[] buffer;
  4.  
  5.     using (var fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
  6.     {
  7.         using (var binaryReader = new BinaryReader(fileStream))
  8.         {
  9.             buffer = binaryReader.ReadBytes((int)new FileInfo(fileName).Length);
  10.  
  11.             binaryReader.Close();
  12.         }
  13.  
  14.         fileStream.Close();
  15.     }
  16.  
  17.     return buffer;
  18. }

Once the file is read into a byte array, I pull the first 128 bytes out of the file byte array, using an extension method to Arrays to create sub-arrays.

Code Snippet – SubArray extension method
  1. public static class Extensions
  2. {
  3.     public static T[] SubArray<T>(this T[] data, int index, int length)
  4.     {
  5.         var result = new T[length];
  6.  
  7.         Array.Copy(data, index, result, 0, length);
  8.  
  9.         return result;
  10.     }
  11. }

Then I feed the sub-array to my FILEID object.  This object converts the bytes into the fields of the FILEID object.  We can then check the Compressed property.  If the file is compressed, the rest of the data is meaningless, so if the file is compressed, I set the background color of the textbox to a Rose color.

Code Snippet
  1. using System;
  2. using System.Text;
  3.  
  4. namespace DisplayBinaryFile
  5. {
  6.     public class FILEID
  7.     {
  8.         #region Fields
  9.         public char[] ProgId = new char[26];
  10.         public char[] VerText = new char[4];
  11.         public char[] VerTextS = new char[14];
  12.         public byte[] DosChars = new byte[3];
  13.         public byte DBVer;
  14.         public bool Compressed;
  15.         public byte[] Filler = new byte[78];
  16.         public byte EndFileID;
  17.         #endregion
  18.  
  19.         public int Length { get; set; }
  20.  
  21.         public FILEID(byte[] buffer)
  22.         {
  23.             ProgId = Encoding.ASCII.GetChars(buffer.SubArray(0, 26));
  24.             VerText = Encoding.ASCII.GetChars(buffer.SubArray(26, 4));
  25.             VerTextS = Encoding.ASCII.GetChars(buffer.SubArray(30, 14));
  26.             DosChars = buffer.SubArray(44, 3);
  27.             DBVer = buffer.SubArray(47, 1)[0];
  28.             Compressed = BitConverter.ToBoolean(buffer.SubArray(48, 1), 0);
  29.             Filler = buffer.SubArray(49, 78);
  30.             EndFileID = buffer.SubArray(127, 1)[0];
  31.  
  32.             Length = 128;
  33.         }
  34.  
  35.         public byte[] GetBytes()
  36.         {
  37.             var returnValue = new byte[Length];
  38.  
  39.             Array.Copy(Encoding.ASCII.GetBytes(ProgId), 0, returnValue, 0, 26);
  40.             Array.Copy(Encoding.ASCII.GetBytes(VerText), 0, returnValue, 26, 4);
  41.             Array.Copy(Encoding.ASCII.GetBytes(VerTextS), 0, returnValue, 30, 14);
  42.             Array.Copy(DosChars, 0, returnValue, 44, 3);
  43.             Array.Copy(BitConverter.GetBytes(DBVer), 0, returnValue, 47, 1);
  44.             Array.Copy(BitConverter.GetBytes(Compressed), 0, returnValue, 48, 1);
  45.             Array.Copy(Filler, 0, returnValue, 49, 78);
  46.             Array.Copy(BitConverter.GetBytes(EndFileID), 0, returnValue, 127, 1);
  47.  
  48.             return returnValue;
  49.         }
  50.     }
  51. }

Here is a link to the entire Visual Studio 2010 project

Both Profantasy and sister company Pelgrane Press are gearing up for GenCon. Here are some new posters that just arrived.

Poster Maps for Gencon

Have to climb a chair to take pics of these.


Book cover posters for GenCon

Looking forward to hold Ashen Stars in my hands ... I love the look of that book.


I also want to find out how my Ashen Stars galaxy map (created with Cosmographer 3) came out in the book…

Scrying Eye are also in the RPG cartography business, but they provide the end result, not the tools to do the job! Recently, they’ve used our Cosmographer 3 software to create detailed miniature-scale deckplans under license for Mongoose Traveller. James Miller of Scrying Eye talks about Cosmographer 3 and his deckplans at about 5:20 in the video below:

In this, the fourth part of our series on mapping cities, we will spend time setting up a district using Campaign Cartographer 3 (CC3).  We will be using the City Designer 3 (CD3) add-on because it makes the job of mapping cities much easier.  But pretty much everything we do in this tutorial can be accomplished with the based program – it’s just more work, and your style and building options are fewer.

When we get to the step of mapping individual buildings, you’ll definitely want to have a copy of CD3 because the end result is so much better.

We are going to rough out the entertainment district of our map (the red district just above center):

My original city map was created in an old version of CC3, so we’re going to copy the district and put it in a new map. Continue reading »

This month’s Annual issue on paper modeling is not the first time I’ve messed with Dioramas Pro, paper, glue and a trusty hobby knife.

Whitewash City

Whitewash City and Cardstock Cowboys

t all started with our Deadlands: Reloaded campaign. Savage Worlds was our first game system that put a really heavy emphasis on miniatures, and I started painting a few Western miniatures for our characters, as well as investing in some fitting paper minis. Then Eric Hotz’s beautiful series of Wild West buildings (Whitewash City) caught my eye and soon enough I was busy building paper models for our game.

MexicanFort 3d

Mexican Fort in Perspectives Pro

This was all well and good until our posse ventured south and into Mexico, and the American-style buildings suddenly didn’t fit the mood anymore. When it became clear that our characters would have to free a rebel leader from a fort, I started out by drawing a Mexican fort in Perspectives Pro. This came out very nicely, but it wouldn’t really help out on our gaming table.

Dioramas Pro then came to my mind and I asked myself, why I shouldn’t be able to design and build a few mexican-style buildings myself. They’d not come out as marvelous as the Whitewash City models, but probably good enough for ourselves. So I fired up CC3, loaded a Dioramas Pro template for the first time in quite some time and set about designing my own models.

Gatehouse Diorama

Construction Sheet for Gatehouse

There was a lot of trial and error at first, the project grew and grew, the paper bin overflowed, but I finally managed to create the complete set of buildings as shown in the Perspectives Pro map. I even added some extra goodies like cannons, the village fountain and a graveyard.

We had a blast in the two game sessions our posse stormed that fort and successfully freed the captive. The time I spent on building the model is of course way beyond what you’d normally spend on preparing one or two game sessions, but I had a blast and learned lots about paper-modeling (and Dioramas Pro) in the process. The fort even served as a display piece at Spiel’10 in Essen. And here it is on all its glory:
Fort in Action

More images of the fort and other props of our Deadlands campaign can be found in my online gallery.

Previous Entries