User Tools

Site Tools



This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
mapcraftweb [2010/01/09 13:00]
mapcraftweb [2015/02/04 22:39] (current)
Line 4: Line 4:
 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 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.
 +See also: [[/​mapcraftweb/​rest]],​ [[mapcraftweb/​ajax]]
 +===== Implementation =====
 +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 32x40 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 ===== ===== Initial Ideas =====
Line 13: Line 21:
   * Still tile based, or possibly just a big pixel image?   * Still tile based, or possibly just a big pixel image?
-==== Hex v Pixels ​====+==== Sectors ​==== 
 +Maps will be organised into sectors if 32x40 hexes, in the same style as //​Traveller//​ star maps. Each sector consists of 16 (4x4) sub-sectors,​ each of 8x10 hexes. This latter fits nicely onto an A4 sheet of paper, hence the choice. 
 +Each hex represents an area 5km across.
-The easy approach is maybe just to have big image (or lots of small tiles stitched togetherand display thatWe then can draw whatever we want on the map and have it look pretty. This gives no artificial tiles which constrain ​the look.+An entire sector can be represented by single hex (0101). If no other hexes are defined in the database, ​then the entire sector is assumed to be the same as this hex.
-The problem here is that the system doesn'​t //know// what a bit of land is. green pixel may be anything making it difficult to add intelligence to the mapYou could have multiple layers, at which point it starts getting complex ​to manage.+sub-sector can be represented with a single hex in the same wayThere is the possibility of falling back to sub-sub sectors (4x5 hexes).
-If hex tiles are small enough, and there is a good variety of terrain types, maps should look just fine. +This saves space in the database in areas with little detail.
-==== 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.+===== Current Status =====
-We will assume the smallest resolution will be 1 tile = 5km. Low res areas will not specify every tile, instead if no tile for 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 missingIf mod 5 is missingthen look at mod 25, then mod 125 etc.+Currently SVN has code which can display ​basic map things and paths aren't yet supportedThere is a REST interface for thiswhich works nicely for getting tiled map images.
-==== Tile Shape ====+  * REST interface to display maps. 
 +  * Display Things (towns, cities etc) 
 +  * Display map by named area. 
-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.+There is also a utility for importing maps from the old XML files, which is being used for testing. How best to do actual editing has yet to be decided.
-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 sizewhich looks very bad for square tiles.+Support for the REST interface has been added into the Alfresco Yagsbook implementationso that a Yagsbook encyclopedia can now reference these maps and embed them. Maps can currently ​be selected according to areaand the area is automatically scaled to a sensible size.
mapcraftweb.1263042044.txt.gz · Last modified: 2015/02/04 22:39 (external edit)