# Generowanie terenu z szumu i fraktali

EN: **Noise- and fractal-based terrain generation** · id `noiseterrain` · aliases: noise-based terrain generation, fractal terrain generation, generowanie terenu z szumu, generowanie terenu fraktalnego

Path: [AI Atlas](https://aiatlasgraph.com/llms.txt) › [AI w grach](https://aiatlasgraph.com/t/gameai.md) › [Proceduralne generowanie treści gier](https://aiatlasgraph.com/t/pcg.md) › Generowanie terenu z szumu i fraktali

## Description

- PL: Klasyczne PCG terenu: mapy wysokości z szumu gradientowego lub wartościowego sumowanego w oktawach oraz algorytmy podziału (diamond-square) przybliżające ułamkowy ruch Browna.
- EN: Classic terrain PCG: heightmaps from gradient or value noise summed over octaves and subdivision algorithms (diamond-square) approximating fractional Brownian motion.

## In one sentence

- PL: Krajobrazy gier – góry, doliny, wyspy – powstają z matematycznego „szumu” ułożonego warstwami od dużych kształtów do drobnych szczegółów.
- EN: Game landscapes – mountains, valleys, islands – grow from mathematical 'noise' layered from big shapes down to fine detail.

## Problem it solves

- PL: Ręczne modelowanie ogromnych, otwartych światów trwałoby latami, a każda nowa rozgrywka wyglądałaby tak samo.
- EN: Hand-modelling huge open worlds would take years, and every new playthrough would look the same.

## What it does

- PL: Jak zgniecenie kartki: duże załamania dają pasma gór, a coraz drobniejsze zmarszczki dodają skały i kamienie.
- EN: Like crumpling a sheet of paper: big folds make mountain ranges, and ever finer wrinkles add crags and stones.

## Everyday example

- PL: Zaczynasz nową grę survivalową i dostajesz świat z innymi wzgórzami, dolinami i wyspami niż poprzednio, wyliczony z jednej liczby startowej.
- EN: You start a new survival game and get a world with different hills, valleys and islands than last time, computed from one seed number.

## This concerns you if you…

- PL: robisz grę z otwartym, losowanym światem
- PL: chcesz zrozumieć, skąd się biorą nieskończone mapy
- PL: tworzysz tekstury chmur, ognia lub marmuru
- EN: make a game with an open, randomised world
- EN: want to know where endless maps come from
- EN: create textures of clouds, fire or marble

## Keywords

Perlin noise · simplex noise · fractional Brownian motion · diamond-square · hydraulic erosion · heightmap · domain warping · FastNoise

## How it works

- PL: Na rzadkiej siatce losuje się wartości lub wektory gradientu i interpoluje między nimi gładką krzywą, co daje szum Perlina. Kilka warstw o podwajanej częstotliwości i połowionej amplitudzie (oktawy) sumuje się w teren o szczegółach w wielu skalach. Diamond-square osiąga podobny efekt rekurencyjnym uśrednianiem z malejącym losowym zaburzeniem.
- EN: Values or gradient vectors are randomised on a coarse lattice and interpolated with a smooth curve, giving Perlin noise. Several layers with doubled frequency and halved amplitude (octaves) are summed into terrain with detail at many scales. Diamond-square achieves a similar effect by recursive averaging with shrinking random displacement.

## Limits

- PL: Wynik jest dość losowy, a parametry są nieintuicyjne, więc projektant słabo kontroluje, gdzie powstaną góry i rzeki. Mapa wysokości nie zapisze jaskiń ani nawisów; woksele potrzebują dużo więcej pamięci. Realistyczne doliny wymagają osobnej symulacji erozji.
- EN: Output is fairly random and parameters are unintuitive, so designers have little control over where mountains and rivers appear. A heightmap cannot store caves or overhangs; voxels need far more memory. Realistic valleys require a separate erosion simulation.

## Key terms

- PL: **mapa wysokości**: Siatka liczb, z których każda oznacza wysokość terenu w danym punkcie.
- PL: **oktawa**: Kolejna warstwa szumu, dwa razy drobniejsza i słabsza od poprzedniej.
- PL: **ziarno (seed)**: Liczba startowa, z której zawsze powstaje ten sam świat.
- EN: **heightmap**: A grid of numbers, each giving terrain height at one point.
- EN: **octave**: Another noise layer, twice as fine and weaker than the last.
- EN: **seed**: A starting number that always produces the same world.

## Sources

- [Fractals, noise and agents with applications to landscapes (Procedural Content Generation in Games, ch. 4)](<https://www.pcgbook.com/chapter04.pdf>) `pcgbook-ch04-noise` · by Noor Shaker, Julian Togelius, Mark J. Nelson

---

AI Atlas revision 122 (2026-10-30) · HTML: https://aiatlasgraph.com/t/noiseterrain · index: https://aiatlasgraph.com/llms.txt · everything: https://aiatlasgraph.com/llms-full.txt · updated 2026-10-30
