2006Scape Wiki:Map: Difference between revisions

Jump to navigation Jump to search
m
26 revisions imported
scape_>Ralpha
No edit summary
m (26 revisions imported)
 
(10 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{external|rs}}
{{otheruses|the cartography project|documentation and help creating maps|RuneScape:Create Map}}
This page contains documentation for the cartographer project. This project is still in development and is prone to changes. This project uses the codename ''Doogle'' or ''Doogle Maps'' sometimes.
This page contains documentation for the cartographer project. This project is still in development and is prone to changes. This project uses the codename ''Doogle'' or ''Doogle Maps'' sometimes.


Line 11: Line 14:


[[RuneScape:Create Map|Create a map]]
[[RuneScape:Create Map|Create a map]]
[[RuneScape:Map/mapIDs|Map IDs (for non-surface maps)]]
||
||
Report the problems you have here (follow link of item):  
Report the problems you have here (follow link of item):  
Line 16: Line 21:
* [https://gitlab.com/weirdgloop/doogle-maps/issues Interface on maps.runescape.wiki],  
* [https://gitlab.com/weirdgloop/doogle-maps/issues Interface on maps.runescape.wiki],  
* [https://gitlab.com/weirdgloop/extensions/kartographer/issues wiki interface, wiki integration],  
* [https://gitlab.com/weirdgloop/extensions/kartographer/issues wiki interface, wiki integration],  
* [https://gitlab.com/weirdgloop/extensions/kartographer/issues other issues, if not sure], or join us on [[RuneScape:Discord|Discord]] #cartographers)
* [https://gitlab.com/weirdgloop/extensions/kartographer/issues other issues, if not sure], or join us on [[meta:Discord|Discord]] #cartographers)


[[RuneScape:Map Tests|Test if maps are displayed correctly]]
[[RuneScape:Map Tests|Test if maps are displayed correctly]]
Line 22: Line 27:
* Design documents: https://docs.google.com/document/d/1xv7iVBkG6eWDrXFhIYi77AVodJc0D-4Aqn0ncZXKJfw
* Design documents: https://docs.google.com/document/d/1xv7iVBkG6eWDrXFhIYi77AVodJc0D-4Aqn0ncZXKJfw
* Muckups (UI): https://sketch.cloud/s/Eq5O2
* Muckups (UI): https://sketch.cloud/s/Eq5O2
* [[RuneScape:Discord|Discord]]: #cartographers
* [[meta:Discord|Discord]]: #cartographers


Code repo's:
Code repo's:
* Map tile generator: https://gitlab.com/weirdgloop/map-tile-generator ''(not published at the moment)''
* Map tile generator: https://gitlab.com/weirdgloop/map-tile-generator
* Stand alone map: https://gitlab.com/weirdgloop/doogle-maps
* Stand alone map: https://gitlab.com/weirdgloop/doogle-maps
* Kartographer extension for wiki: https://gitlab.com/weirdgloop/extensions/kartographer
* Kartographer extension for wiki: https://gitlab.com/weirdgloop/extensions/kartographer


Want to help with the development? You are more then welcome! Join the Discord channel above and let us know.<br/>  
Want to help with the development? You are more then welcome! Join the Discord channel above and let us know.<br>  
(You don't have to know programming, we also have a need for other skills.)
(You don't have to know programming, we also have a need for other skills.)
|}
|}
Line 107: Line 112:
       "properties": {
       "properties": {
         "title": "Pick-up an egg",
         "title": "Pick-up an egg",
         "iconWikiLink": "File:Egg.png",
         "iconWikiLink": "Egg.png",
         "iconSize": [15,20],
         "iconSize": [15,20],
         "mapID": 0
         "mapID": 0
Line 171: Line 176:
=== Old School RuneScape ===
=== Old School RuneScape ===
The map for OSRS are created using modified version of the [https://github.com/runelite/runelite RuneLite] [https://github.com/runelite/runelite/blob/master/cache/src/main/java/net/runelite/cache/MapImageDumper.java MapImageDumper] script. It uses the game cache as the source for the maps. This provides easily updatable maps.
The map for OSRS are created using modified version of the [https://github.com/runelite/runelite RuneLite] [https://github.com/runelite/runelite/blob/master/cache/src/main/java/net/runelite/cache/MapImageDumper.java MapImageDumper] script. It uses the game cache as the source for the maps. This provides easily updatable maps.
The code for this can be found at: https://gitlab.com/weirdgloop/map-tile-generator ''(not published at the moment)''
The code for this can be found at: https://gitlab.com/weirdgloop/map-tile-generator


This script creates map regions at different resolution levels:
This script creates map regions at different resolution levels:
Line 180: Line 185:
File:Map region_Zoom_3.png|Zoom level 3, 512x512px, 16px per game square
File:Map region_Zoom_3.png|Zoom level 3, 512x512px, 16px per game square
</gallery>
</gallery>
These map regions include ground color, roads, buildings, doors, walls, trees and other objects. Icons are not included in these renders.
These map regions include ground colour, roads, buildings, doors, walls, trees and other objects. Icons are not included in these renders.


There map regions are then processed into maptiles that can be used for viewing the map. These tiles are all 256x256px but created using different map regions. This process uses [https://www.imagemagick.org/ ImageMagick] ([https://www.imagemagick.org/script/montage.php montage] and [https://www.imagemagick.org/script/convert.php convert]) to combine and split image to create the desired result. This process is automated using a [[wikipedia:en:Shell_script|Bash shell script]]:
There map regions are then processed into maptiles that can be used for viewing the map. These tiles are all 256x256px but created using different map regions. This process uses [https://www.imagemagick.org/ ImageMagick] ([https://www.imagemagick.org/script/montage.php montage] and [https://www.imagemagick.org/script/convert.php convert]) to combine and split image to create the desired result. This process is automated using a [[wikipedia:en:Shell_script|Bash shell script]]:
Line 191: Line 196:
</gallery>
</gallery>
These tiles are directly used by Leaflet to display the map.
These tiles are directly used by Leaflet to display the map.
==== Layering Creation ====
[[File:OSRS_Layers_of_Map_creation_example.png|thumb|400px|Combining of tiles to create zoom layer 2 and 3 tiles and names]]
Combining and splitting images for use in Leaflet we have different zoom levels: 3,2,1,0,-1,-2,-3
The map scales exponential (2^x) for each zoom level. This is the same as most [https://wiki.openstreetmap.org/wiki/Slippy_Map slippy map] systems / GIS systems.
It comes down to, if you zoom in each tile splits into 4 pieces, if you zoom out each tile is a combination of 4 pieces.
So zoom level 4 (400%) is created by splitting the image into (2^2)*(2^2)=16 images of 256x256 like this (but this is not used on our OSRS maps):
<pre>
0  1  2  3
4  5  6  7
8  9 10 11
12 13 14 15
</pre>
At zoom level 3 (200%) is created by splitting the image into (2^1)*(2^1)=4 images of 256x256 like this:
<pre>
0 1
2 3
</pre>
Zoom level 2 (100%) just the same image (2^0)*(2^0)=1 image. (that is why in the script zoom level 2 just copies all the images (that are in the range we are working on). This is the same size as a region in OSRS.<br>
Zoom level 1 (50%) is created by combining 4 images (128x128) to create a 256x256 image.<br>
Zoom level 0 (25%) is created by combining 16 images (64x64) to create a 256x256 image.<br>
...etc...


=== RuneScape 3 ===
=== RuneScape 3 ===
Line 235: Line 263:
The map tiles are available under the path: <code>tiles/{mapID}_{cacheVersion}/{z}/{p}_{x}_{-y}.png</code>  
The map tiles are available under the path: <code>tiles/{mapID}_{cacheVersion}/{z}/{p}_{x}_{-y}.png</code>  
; Definition lists
; Definition lists
; mapID : the map bounds (0=RuneScape Surface, 1=Acient Cavern), mapID's smaller then 10000 are exported from game cache, mapID's larger then 10000 are user defined
; mapID : the map bounds (0=RuneScape Surface, 1=Acient Cavern), mapID's smaller then 10000 are exported from game cache, mapID's larger then 10000 are user defined. Map ids can be found at [[RuneScape:Map/mapIDs]]
; cacheVersion: version numbering for when a map has been updated. (in format: YYYY-MM-DD_{1-9}, with the last digit being the update of that day, usualy 1 )
; cacheVersion: version numbering for when a map has been updated. (in format: YYYY-MM-DD_{1-9}, with the last digit being the update of that day, usualy 1 )
; z: zoom level, supported zoom level from -3 (zoomed out) to 3 (zoomed in), map can zoom to level 5 but this just scales the zoom level 3 images.
; z: zoom level, supported zoom level from -3 (zoomed out) to 3 (zoomed in), map can zoom to level 5 but this just scales the zoom level 3 images.
Line 420: Line 448:
       "type": "Feature",
       "type": "Feature",
       "properties": { // This point uses an image from the wiki as its icon
       "properties": { // This point uses an image from the wiki as its icon
         "iconWikiLink": "File:Egg.png", // Link to image, not this value is case sensitive
         "iconWikiLink": "Egg.png", // Link to image, not this value is case sensitive
         "iconSize": [15,20], // The size of the icon on the map [width,height], if image is a different size is will be scaled
         "iconSize": [15,20], // The size of the icon on the map [width,height], if image is a different size is will be scaled
         // if both (iconWikiLink and iconSize) properties are not given it will fall back to a grey marker
         // if both (iconWikiLink and iconSize) properties are not given it will fall back to a grey marker
Line 477: Line 505:
|-
|-
| Path finding  
| Path finding  
|| How to get from point A to point be as fast as possible? Navigation with teleports, items, [[sailing]] ;) or just running.<br/> Tailored to the transportations you have unlocked.  
|| How to get from point A to point be as fast as possible? Navigation with teleports, items, [[sailing]] ;) or just running.<br> Tailored to the transportations you have unlocked.  
|| Working prototype, need more data
|| Working prototype, need more data
|| [[User:Cook_Me_Plox]]
|| [[User:Cook_Me_Plox]]
Line 488: Line 516:
| Maps for RS3  
| Maps for RS3  
|| Maps for RS3  
|| Maps for RS3  
|| Inactive
|| Active
|| /
|| [[User:Cook_Me_Plox]]
|-
|-
| Labels  
| Labels  
Line 498: Line 526:
| GeoJSON.io for RS  
| GeoJSON.io for RS  
|| Create maps using a variant of http://geojson.io for RS
|| Create maps using a variant of http://geojson.io for RS
|| No stated, not planned at the moment
|| [https://mejrs.github.io/ Working prototype]
|| /
|| [https://runescape.wiki/w/User:Mejrs User:Mejrs]
|-
|-
| ...
| ...

Navigation menu