-
Notifications
You must be signed in to change notification settings - Fork 0
Map and Biomes
Three-stage pipeline, ported from the original Java game. Each stage feeds the next, all driven by one seed:
flowchart LR
S([seed]) --> A[1 · DLA cave carving<br/>carve until ~35% open]
A --> B[2 · Voronoi biomes<br/>nearest-seed + smoothing]
B --> C[3 · Tile placement<br/>best color-match × 4 rotations]
C --> M([identical map<br/>server + every client])
- DLA cave carving — Diffusion-Limited Aggregation carves walkable space until ~35% of the map is open.
- Voronoi biomes — biome seeds scatter; each tile takes its nearest seed's biome (with smoothing passes).
-
Tile placement — for each walkable cell, score candidate tiles from that biome by matching color profiles to neighbors, trying 4 rotations (
ROT_MAP), and place the best match.
| Parameter | Value |
|---|---|
| Map size | 400 × 400 tiles |
| Walkable target | 35% |
| Tile size / overlap / effective | 128 / 48 / 80 px |
| Monster density | 0.5% of walkable tiles |
| Spawned monster levels | Lv. 1–5 |
Seed-deterministic (P0-T2 done): generation takes a seed and a seeded RNG, so the same seed reproduces an identical map on server and every client — verified by a determinism test. The online view draws culled, biome-colored tiles and a corner minimap; main-view camera zoom is a remaining polish item.
Biome definitions (name · rarity · size · speed). Speed is the movement multiplier applied to anyone standing in that biome (server-authoritative online, local in SP) — open ground is brisk, wet/rough terrain drags. Deterministic. The multiplier is bilinearly smoothed across biome boundaries (PT1-T22), so your speed eases over ~one tile when crossing rather than snapping at the edge. Stacks with sprint.
| Biome | Rarity | Size | Speed |
|---|---|---|---|
| Forest | 30 | 80 | 0.92× |
| Plains | 40 | 60 | 1.15× |
| Desert | 40 | 60 | 0.90× |
| Tundra | 50 | 80 | 0.88× |
| Volcano | 70 | 60 | 0.85× |
| Swamp | 40 | 60 | 0.72× |
| Metal | 70 | 60 | 1.00× |
| Stone | 30 | 60 | 1.00× |
| Mushroom | 70 | 40 | 0.90× |
| Astral | 90 | 40 | 1.10× |
| Water | 90 | 80 | 0.70× |
| Crystal | 60 | 50 | 1.05× |
Tamer's Quest — game-logic wiki. This GitHub Wiki is the canonical, code-mirrored spec (it superseded the in-app public/wiki.html, now archived, on 2026-06-11). Pair with docs/IMPLEMENTATION_PLAN.md and docs/REQUIREMENTS.md in the repo.
Tamer's Quest Game Logic Wiki
- Home
- Onboarding and Title
- Multiplayer and Networking
- Movement and Sprint
- Monsters Stats and Elements
- Combat and Taming
- Spirit Chains
- Progression
- Map and Biomes
- Extraction Round
- Rendering and HUD
- Open Questions
Legend
[CURRENT] implemented
[PLANNED] vision
[OPEN] undecided