Procedural Terrain Generation

Height
Forge

Studio-grade heightmaps.
No subscription. No compromise.

View on GitHub
64K
Max resolution
4
Export formats
6
Biome presets
Downloads
HeightForge Studio 2.0.0 1. Island Mask 2. Forest Mask 3. Mountains 4. Rivers 5. Export Küste Form Rauheit ▶ Generieren

Compatible with

Unity
Unreal Engine
Godot
Houdini
Blender
GameMaker

Built for game developers,
not geographers

🎨
Paint + Generate
Draw masks with a soft brush, then let the engine fill in procedural detail. Full artistic control with zero frustration.
Workflow
⚗️
Visual Erosion Nodes
Connect hydraulic, thermal, and wind erosion nodes in a drag-and-drop pipeline. See results in real time.
Pro Feature
📤
Engine-Ready Export
PNG-16bit for Unity/Godot, EXR-32bit for Unreal, TIFF for Houdini. Every format, one click, up to 64K resolution.
Export
GPU Accelerated
Optional CuPy backend for NVIDIA CUDA and AMD ROCm. Silently falls back to CPU — no crashes, no setup headaches.
Performance
🧩
Plugin System
Extend HeightForge with one-file Python plugins. Install from GitHub, or buy premium packs for advanced terrain types.
Extensible
💾
Project Files
Save and reopen .hfproj files. All masks, parameters, and settings preserved. Pick up exactly where you left off.
Workflow
Open auf GitHub
Source-available · Proprietäre Lizenz · Issues willkommen
View Repository →

Start building worlds today

No account required. No watermarks. No export limits. HeightForge is free to use — forever.

Every tool an indie dev needs

Purpose-built for game development workflows — not academic cartography.

5-step terrain pipeline

A guided workflow that structures complex terrain into clear, manageable steps.

Island MaskCoastline + shape
Forest MaskDensity + clustering
MountainsRidge noise + roughness
RiversFluid flow simulation
ExportMulti-format output
01
Island Mask
Define your coastline
Paint a rough island shape or auto-generate with coast width, polygon shape, and roughness sliders.
02
Forest + Mountains
Layer terrain types
Forests cluster in valleys, mountains rise on ridges. Domain-warp filters ensure natural-looking transitions.
03
Rivers (Fluid sim)
Simulate water flow
Gradient-based fluid simulation carves river channels along the path of least resistance.
04
Erosion Pro
Apply erosion nodes
Chain hydraulic, thermal, and wind erosion nodes in a visual pipeline. GPU-accelerated, runs in background thread.
05
Export
Export for your engine
Choose format and resolution. From 1K to 64K, PNG to EXR. Tiled rendering ensures any resolution works.

Every format your engine accepts

.png
PNG 16-bit
Direct import into Unity Terrain and Godot HeightMapShape3D.
Unity · Godot
.tiff
TIFF 16-bit
Industry-standard, lossless, widely compatible.
Blender · Houdini
.exr
EXR 32-bit
Maximum floating-point precision for VFX pipelines.
Unreal · Houdini
.raw
RAW 16-bit
Binary raw for World Machine and custom importers.
World Machine

Extend HeightForge

One-file Python plugins that hook into the terrain pipeline. Install from GitHub in one click, or buy premium packs for advanced capabilities.

Plugin API Docs → Plugin Releases

Level up your terrain

🌑
ProCrater Pack
HeightForge Studio
Adds procedural impact craters to any heightmap. Scientifically-inspired Melosh crater morphology: bowl, raised rim, ejecta blanket, central peaks. Perfect for sci-fi, alien, and lunar worlds.
post-process sci-fi lunar alien
  • Melosh 1989 crater morphology
  • Bowl · Rim · Ejecta · Central peak
  • Erosion / geological age slider
  • Up to 40 craters, up to 40% radius
  • Reproducible random seed
  • Trial: 5 craters free, no time limit
4,99 € einmalig · keine Abo
🌿
Vegetation Placer
In Entwicklung
Automatic vegetation placement via Poisson-Disk-Sampling on the forest mask. Exports Unity/Unreal/Godot-compatible CSV with position, scale, rotation.
vegetationplacementunity
COMING SOON
🌋
Volcano & Caldera Pack
In Entwicklung
Parametric volcanoes with caldera depression, lava channels, ash plains, and configurable eruption intensity. Perfect for fantasy and sci-fi worlds.
volcanofantasypost-process
COMING SOON

Eigene Plugins bauen

Das Plugin-API ist eine einzige Python-Klasse. Eine Datei, ein Hook, sofort im Plugin-Manager sichtbar.

Plugin API ansehen →
# Minimales HeightForge Plugin from plugin_api import HFPlugin import numpy as np class MyPlugin(HFPlugin): PLUGIN_NAME = "My Plugin" PLUGIN_ICON = "✨" def on_heightmap_computed( self, hm: np.ndarray ) -> np.ndarray: # hm is a float32 array [0..1] return np.clip(hm * 1.2, 0, 1)

Terrain made with HeightForge

Echte Projekte von echten Entwicklern. Zeig was du gebaut hast.

🏔️
Noch keine Einreichungen
Der Showcase wartet auf dich. Schick einen Screenshot deines Terrains — das erste Bild hier könnte deins sein.
0
Einreichungen
GitHub Downloads
Mögliche Terrains

Terrain einreichen

01
Terrain bauen
Erstell ein Terrain mit HeightForge und exportiere einen Screenshot oder ein Render aus deiner Engine.
02
Bild posten
Erstell einen neuen Post in GitHub Discussions mit deinem Screenshot und kurzen Infos zum Projekt.
03
Hier erscheinen
Genehmigte Einreichungen landen direkt im Showcase. Name, Engine und Format werden angezeigt.

Was qualifiziert sich?

Alles, was mit HeightForge erstellt wurde — egal ob Unity, Unreal, Godot, Blender oder ein eigenes Tool. Heightmap-Screenshots oder In-Engine-Renders sind beide willkommen.

✅ In-Engine Screenshots ✅ Heightmap Previews ✅ Renders (Blender, Houdini) ❌ KI-generierte Bilder
Jetzt einreichen →

Getting Started

Requirements

HeightForge runs on Windows, macOS, and Linux. You need Python 3.11 or newer.

  • Python 3.11+ (3.12 recommended)
  • 4 GB RAM minimum, 8 GB recommended for 4K+
  • Any GPU optional — CPU mode works fine

Note: HeightForge is distributed as source for beta. A standalone binary is planned for v1.0.

Installation

1. Clone or download

# Clone the repository git clone https://github.com/DuskforgeStudios/Heightforge cd HeightForge

2. Install dependencies

# Core (required) pip install numpy opencv-python PySide6 opensimplex # Optional: 3D viewport pip install pyqtgraph PyOpenGL # Optional: EXR export (Unreal Engine) pip install openexr

3. Launch

python main.py

4. GPU acceleration (optional)

# NVIDIA CUDA 12.x pip install cupy-cuda12x

GPU fails silently — HeightForge auto-detects and falls back to CPU without crashing.

Your first terrain

Step 1 — Island Mask

Click Automatisch Generieren. Adjust Küste (coastline), Form, and Rauheit, then regenerate or paint manually with the brush tools.

Steps 2–4

Work through Forest, Mountains, and Rivers. Use Ctrl+Z freely — undo is 20 levels deep.

Erosion Pro

Click ⚗ Erosion Pro, add nodes, drag connections. Start with Hydraulic → Thermal → Normalize for realistic results.

Tip: Run erosion last. It's the most GPU-intensive step and works best on a near-final heightmap.

Export to your engine

Unity (PNG 16-bit)

Export PNG 16-bit. In Unity use the Terrain Tools package's Import Heightmap.

Unreal Engine (EXR)

Export EXR 32-bit. Landscape Editor → Import → select EXR, set Height Type to Float32.

Godot (PNG 16-bit)

Export PNG 16-bit. Create HeightMapShape3D and load via Image.load().

Version 2.0.0 Beta

Download HeightForge

Free to use. No account. No watermarks. No export limits.

BETA — expect rough edges
🪟
Windows
x64 · Win 10 / 11
Download .zip
python 3.11+
pip install -r requirements.txt
python main.py
🍎
macOS
Apple Silicon + Intel
Download .tar.gz
brew install python
pip install -r requirements.txt
python main.py
🐧
Linux
x64 · Ubuntu, Arch, Fedora
Download .tar.gz
python3-pip python3-pyside6
pip install -r requirements.txt
python main.py

Quick install (alle Plattformen)

# 1. Repo klonen git clone https://github.com/DuskforgeStudios/Heightforge cd HeightForge # 2. Abhängigkeiten installieren pip install numpy opencv-python PySide6 opensimplex # 3. Optional: 3D + EXR pip install pyqtgraph PyOpenGL openexr # 4. Optional: GPU (NVIDIA) pip install cupy-cuda12x # 5. Starten python main.py

Lizenz

HeightForge ist kostenlos nutzbar — für kommerzielle und private Projekte. Der Quellcode ist proprietär. Weiterverteilung oder Modifikation sind nicht gestattet.

✅ Kommerzielle Spiele ✅ Unbegrenzte Exports ✅ Export kommerziell nutzen ❌ Software weitervertreiben

Changelog

v2.0.0
May 2026 · Current Beta
  • NewProject save / load (.hfproj)
  • NewUndo / Redo — 20-level stack (Ctrl+Z / Ctrl+Y)
  • NewPNG-16bit, TIFF-16bit, EXR-32bit export
  • New6 biome presets
  • NewPlugin system with GitHub registry
  • NewErosion pipeline in QThread — no UI freeze
  • ImpExport resolution up to 32K×32K
  • FixUndo snapshot pushed before each brush drag
  • FixErosion error surfaces as dialog, not crash
v1.0.0
March 2026
  • NewInitial release
  • New5-step workflow: Island, Forest, Mountains, Rivers, Export
  • NewVisual erosion node editor (Hydraulic, Thermal, Wind)
  • NewGPU acceleration via CuPy (CUDA + ROCm)
  • NewTiled RAW export up to 65536×65536
  • New3D viewport, Brush tools, Organic domain-warp filter

Impressum

Angaben gemäß § 5 TMG

Johannes Pingold
Lilling 4
91322 Gräfenberg
Deutschland

Hinweis: Da dieser Dienst kostenlos und nicht gewerblich betrieben wird, besteht nach aktueller Rechtslage möglicherweise keine Impressumspflicht. Ein Impressum ist trotzdem empfehlenswert sobald Premium-Plugins verkauft werden.

Kontakt

GitHub: github.com/DuskforgeStudios/Heightforge
E-Mail: johannes@pingold.de

Verantwortlich für den Inhalt

Johannes Pingold, Anschrift wie oben

Haftungsausschluss

Die Inhalte dieser Website wurden mit größtmöglicher Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte wird keine Gewähr übernommen. Als Diensteanbieter sind wir gemäß § 7 Abs. 1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich.

Urheberrecht

Die durch den Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Software HeightForge ist proprietär. Eine Vervielfältigung, Bearbeitung, Verbreitung oder jede Art der Verwertung ohne schriftliche Genehmigung des Urhebers ist untersagt. Die kostenlose Nutzung der Software (nicht des Quellcodes) ist dauerhaft gestattet.

Datenschutzerklärung

1. Überblick

Diese Website erhebt keine personenbezogenen Daten, setzt keine Cookies und verwendet kein Tracking oder Analytics.

Beim Besuch dieser Website werden durch den Hosting-Anbieter (GitHub Pages) automatisch technische Verbindungsdaten verarbeitet (IP-Adresse, Zeitstempel, aufgerufene Seite). Dies liegt außerhalb unserer Kontrolle und ist in der Datenschutzerklärung von GitHub beschrieben.

2. Hosting

Diese Website wird über GitHub Pages (GitHub, Inc., San Francisco, USA) gehostet. Beim Aufruf der Seite wird Ihre IP-Adresse an GitHub übertragen. GitHub ist unter dem EU-US Data Privacy Framework zertifiziert.

Weitere Informationen: GitHub Pages – Data Collection

3. Schriftarten (Bunny Fonts)

Diese Website verwendet Web-Schriftarten des Dienstes Bunny Fonts (bunny.net, Slowakei/EU). Beim Laden der Seite wird eine Verbindung zu fonts.bunny.net hergestellt, um die Schriftdateien zu laden. Bunny Fonts ist DSGVO-konform und speichert keine personenbezogenen Daten. Es werden keine Cookies gesetzt.

Weitere Informationen: bunny.net/fonts

4. Keine Cookies

Diese Website verwendet keine Cookies. Es findet keine Nachverfolgung Ihres Nutzungsverhaltens statt.

5. Externe Links

Diese Website enthält Links zu externen Diensten (GitHub, GitHub Discussions). Beim Anklicken dieser Links gelten die Datenschutzbestimmungen der jeweiligen Anbieter. Wir haben keinen Einfluss auf deren Datenschutzpraktiken.

6. Ihre Rechte (DSGVO)

Da diese Website keine personenbezogenen Daten erhebt oder speichert, gibt es seitens des Betreibers keine Daten, die ausgekunftet, berichtigt oder gelöscht werden könnten. Für Daten, die durch GitHub Pages erhoben werden, wenden Sie sich direkt an GitHub.

Kontakt für datenschutzbezogene Anfragen:
Johannes Pingold, johannes@pingold.de

7. Änderungen

Diese Datenschutzerklärung kann bei Änderungen am Dienst (z.B. Einführung eines Plugin-Shops) aktualisiert werden. Der aktuelle Stand ist immer auf dieser Seite abrufbar.

Stand: Januar 2026