User Tools

Site Tools



Mapcraft - Fantasy map designer

WorldGen - SciFi universe generator

Mapcraft Web - Web based fantasy map designer

All code for the project is released under the GPL, and is copyright Samuel Penn.

The text on this wiki is dual licensed CC-BY-SA and GPL.

You can contact the author at


This is an old revision of the document!

Mapcraft Web

Since Mapcraft was begun ~10 years ago (it went through several iterations before the version now on Sourceforge was started) things have changed a bit. The most important change is that I now have access to my own web servers, so the requirement of generating static images is no longer there.

This then is a holding page for ideas on how to move Mapcraft into a more dynamic, web based, environment. Navigation similar to GoogleMaps would be good, with support for much larger maps stored in a database.


This supersedes the Initial Ideas section below. We have hex based tiles, with an assumed resolution of 1 tile = 5km. The map is divided into sectors - each 32×40 tiles in size. Dynamic resolution is based on the sector/sub-sector etc.

A sector is sized so that it fits nicely onto a single sheet of A4 paper. The back end also supports a caching mechanism to we read/write whole sectors at a time for hopefully better performance.

Initial Ideas

  • Map data stored in the database. Possible use Hibernate to get away from my 10 year old set of database libraries.
  • Maps can be displayed online, and can be scrolled/zoomed/searched dynamically.
  • A single world will have one very big map, with dynamic resolution.
  • Should editing use a thick client, or web front end?
  • Still tile based, or possibly just a big pixel image?

Hex v Pixels

The easy approach is maybe just to have a big image (or lots of small tiles stitched together) and display that. We then can draw whatever we want on the map and have it look pretty. This gives no artificial tiles which constrain the look.

The problem here is that the system doesn't know what a bit of land is. A green pixel may be anything making it difficult to add intelligence to the map. You could have multiple layers, at which point it starts getting complex to manage.

If hex tiles are small enough, and there is a good variety of terrain types, maps should look just fine.

Dynamic Resolution

It's a fantasy world, so maps don't need to be accurate, however to ensure that they don't look too blocky, we need to store them at a reasonable resolution.

We will assume the smallest resolution will be 1 tile = 5km. Low res areas will not specify every tile, instead if no tile for a given location is found, then we look for a mod 5 tile, e.g. tile 0 will define tiles 0-4, if the others are missing. If mod 5 is missing, then look at mod 25, then mod 125 etc.

Tile Shape

I've assumed tiles will be hexagons, but is this necessary? Squares are much easier to work with, and if the resolution is high enough won't look out of place.

At the resolution we show at however, I think we need to stick with hexagons. i.e., maps will often be displayed with hexagons of 8-16 pixels in size, which looks very bad for square tiles.

mapcraftweb.1263076131.txt.gz · Last modified: 2015/02/04 22:39 (external edit)