Home / Level Design / 3D Map Generator

3D Map Generator

Pick terrain, dungeon or voxel island, type a seed and shape the world with a few sliders: hills or mountains, water level, erosion, terraces, trees and rocks. Turn it around in 3D to check it. Download the heightmap and a screenshot for free, and with Pro get a game kit: the map as a GLB with collision names for Godot, a 16-bit RAW heightmap for Unity Terrain, a splat map, props and spawn points as JSON, and scripts that place your own prefabs.

Pro game kit · The map as a GLB with collision names Godot reads, a 16-bit RAW heightmap for Unity Terrain, colour and splat maps, props and spawn points as JSON, and Godot and Unity scripts that place your own prefabs. See plans

Drag to turn, right drag or two fingers to move, scroll to zoom. Green pole is the player spawn. Yellow poles are flat spots. Red is the dungeon exit.

What this tool does

It builds a 3D level from a seed. The same seed and settings always give the same map, so you can share a seed or save it in your game and rebuild the world at runtime. There are three kinds of map. Terrain is a heightmap world with hills, mountains, beaches and water, worn down by simulated rain so valleys and ridges look natural. Dungeon is a grid of rooms and corridors with real walls, pillars, chests, torches, a start and an exit. Voxel island is a block world like Minecraft, with grass, sand, stone, snow and blocky trees.

How the terrain is made

Layers of simplex noise make the base shape. Island shapes fade the edges into the sea, and mountains use ridged noise for sharp peaks. Then thousands of virtual rain drops run downhill, carry soil away and drop it lower, which carves gullies and smooth valleys. Terraces turn slopes into steps, which is handy for strategy games and farming games. Colours come from height, slope and a moisture map: sand at the shore, grass and forest in the middle, rock on steep slopes and snow on top.

Using it in Godot

Drop map.glb into your project. Meshes named with the -col suffix, such as terrain-col, get a collision body on import, so the player can walk on them right away. The markers spawn and spot_1 are empty nodes in the scene, so read their positions to place the player and towns. To use your own trees, untick the props box, add gsk_map_props.gd to a node, point it at props.json and fill in a scene for each prop type. If the colours look white, open the material and turn on Vertex Color, Use as Albedo.

Using it in Unity

For a Unity Terrain, create a terrain, open its settings, choose Import Raw and pick heightmap_16bit.raw. Use 16 bit, Windows byte order, the resolution and the size written in README.txt. Then paint the terrain layers with splat_rgb.png as a guide. GskMapProps.cs reads props.json and places your prefabs on the terrain by their map position and the terrain height. For dungeons and voxel maps, import map.glb with glTFast and add Mesh Colliders.

Is anything uploaded?

No. The map is made in your browser.