Skip to content
joric edited this page Jan 9, 2025 · 293 revisions

Welcome to the stalker2_tileset wiki!

Tiles

This is Stalker 2 (1.0.3) PDA map in the original 65536 x 65536 resolution (4 gigapixels) in 512 x 512 px jpeg tiles.

I've uploaded it on GitHub to have an access from other projects and support the community. It's just a little bit under 1GB allowed on GitHub Pages. I cannot use LFS storage because serving LFS files is not supported. Usage:

L.tileLayer('https://joric.github.io/stalker2_tileset/tiles/{z}/{x}/{y}.jpg', {tileSize: 512, maxNativeZoom: 7});

You don't need to scrape GitHub to get all the files. You can use it in a map as a tileserver or use the links below.

Download

You can download the entire tileset here (Google Drive, medium quality 512 px JPG tiles, full map is 65536x65536):

The tileset was cut with gentiles.py from the 32k image (the first 6 zoom levels) and then the last zoom level was cut separately from the 64k images using those scripts on the Google Drive. The JPEG compression was PIL default (75%).

More info on extracting the tileset is here: https://github.com/joric/maps/wiki/Stalker-2#tileset

Extras

Added some extra layers (2024-12-20), you can also download them from my Google Drive folder (extras.zip):

  • extras/wb: Stalker2/Content/_Stalker_2/maps/WorldMap/T_GLOBAL_MAP_BASE.uasset (12951x12951 -> 16384x16384, jpg)
  • extras/ld: Stalker2/Content/_Stalker_2/maps/WorldMap/T_WorldMap_LDScheme.uasset (4096x4096, png)
  • extras/s1: https://www.nexusmods.com/stalker2heartofchornobyl/images/212 (8599x7452 -> 8192x8192, png)

With the added extras, the repository size is almost precisely 1GB allowed on GitHub Pages.

Example

You can use this repository as a tileserver, minimal example:

<!DOCTYPE html>
<html>
<head>
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"/>
<style>
html, body, #map {width:100%; height: 100%; margin: 0; padding: 0; }
</style>
<div id="map"></div>
<script>
window.onload = function() {
  const map = L.map('map', {
    crs: L.CRS.Simple,
    zoom: 0,
    center: [-256, 256],
    layers: [
      L.tileLayer('https://joric.github.io/stalker2_tileset/tiles/{z}/{x}/{y}.jpg', {
        tileSize: 512,
        maxZoom: 7,
        bounds: [[0,0],[-512,512]],
      })
    ],
  })
}
</script>

In-game markers use square CRS (about 812900 units wide). Drawing all markers would need an OpenGL layer (e.g. Leaflet.PixiOverlay) or Leaflet.markercluster. I use leaflet mostly for prototyping, then I convert to Maptalks.

Issues

There are random visible seams in the map, it's NOT from converting, it's in the game (1.0.3). Looking forward to update.

Upd. The seams are still there in 1.1.3 (see Rostok factory):

image

References

Clone this wiki locally