Gielinor, Block by Block

The entire Old School RuneScape surface world, voxelized and rendered as an interactive Minecraft-style isometric map. Drag to pan, scroll to zoom — all the way from the world map down to individual blocks.

Jump to: Open fullscreen ↗
209.9 Mvoxels
187,232 × 93,632native pixels
~175,000map tiles
11zoom levels

What is this?

This map is the whole of Gielinor — every surface region of Old School RuneScape — turned into little cubes and drawn the way the Minecraft Overviewer draws a Minecraft world: a 2:1 isometric projection, sliced into a Leaflet tile pyramid you can pan and zoom like a slippy map. Nothing here is a Minecraft world, though — the game's real 3D geometry is voxelized and rendered directly, so every rooftop, fence and tree crown comes from the actual OSRS models and keeps its actual texture colours.

The full OSRS world map rendered isometrically

The full render, zoomed out: the Wilderness volcano smoulders in the north, the Kharidian Desert stretches across the south, Morytania broods to the east and the Kebos Lowlands and Kourend fill the west.

From game cache to 3D models

The pipeline starts at the OSRS game cache. The OSRS Environment Exporter is run headless over every map region — each one a 64 × 64-tile square of the world — and writes each region out as a textured glTF model: terrain, buildings, scenery and all, with the game's baked vertex colours and texture maps intact.

The Wizards' Tower and Draynor Village

The Wizards' Tower on its island south of Draynor Village.

Rellekka

Rellekka, the Fremennik province — longhouses, banners and longships at the docks.

Voxelization

Each region mesh is voxelized with trimesh at 300 voxels per region edge — about 4.7 voxels per game tile — producing a grid 13,813 voxels east-west, 9,907 north-south and up to 185 tall. Every voxel then gets its colour by finding the nearest point on the original surface and sampling that triangle's own texture per texel, so details as small as a market stall awning or a single window survive the trip. A few classes of junk voxels are culled along the way: samples that land on the transparent part of cut-out textures (tree leaves), degenerate triangles, and the exporter's stray pure-black vertex colours.

At this scale nothing fits in memory, so the world is processed as independent 256-voxel columns streamed through a bounded-RAM pipeline across all CPU cores — 2,057 chunks and just under 210 million voxels on disk by the end.

Lumbridge Castle and town

Lumbridge: the castle, the church, the bridge over the River Lum — and the swamp creeping in from the west.

Rendering the isometric view

The renderer is pure Python + PIL — no game engine, no GPU. Voxels are drawn back-to-front (painter's algorithm) in a 2:1 dimetric projection, and only the three faces that can ever be seen (top, right, left) are drawn, skipping any face hidden by a neighbouring voxel. Two quality passes give it the Minecraft look: ambient occlusion — Minecraft-style smooth lighting, where each face corner is darkened by the voxels crowding it and the shade is interpolated across the face — and 2× supersampled antialiasing for clean cube edges. Like everything else, rendering is streamed: the native zoom is drawn band by band straight into 256-pixel map tiles, so the 187,232-pixel-wide image never exists in memory at once.

Lumbridge Castle at native zoom showing individual voxels

Lumbridge Castle at native zoom: individual voxels, smooth ambient-occlusion shading in the corners, and antialiased edges. Note the guards' blue banners and the fountain in the courtyard.

The tile pyramid

Finally the render is served the way Overviewer serves its maps: a slippy-map tile pyramid under a custom Leaflet CRS where one image pixel equals one map unit at native zoom. Zoom level 10 is the native render (130,634 tiles); every coarser level is built by averaging 2 × 2 tiles already on disk, down to a single tile for the whole world at level 0. The viewer lets you overzoom four levels past native, which is where the voxels themselves become the texture.

Varrock

Varrock, largest city of Misthalin — the Grand Exchange at top left, the palace at centre.

The Wilderness

North of the cities the map goes dark: the Wilderness, all scorched earth and lava flows.