Auto Warz — World Generation & Planet Types¶
Document Type: Design Document Version: 0.1 Last Updated: 2026-02-26 Vault destination:
01_Design DocumentsRelated Documents:[01_Master GDD](<./01_Master GDD.md>)·[04_Factory & Resource System Design](<./04_Factory & Resource System Design.md>)·[01_World Bible](<../05_Reference/01_World Bible.md>)·[01_Technical Architecture Document](<../02_Technical Documents/01_Technical Architecture Document.md>)Folder:01_Design Documents
Overview¶
The Auto Warz universe is procedurally generated from a session seed. Every galaxy, solar system, planet, terrain layout, and resource distribution is deterministic — the same seed always produces the same universe. This enables multiplayer clients to generate identically without syncing planet data, and allows players to share seeds.
The universe is infinite but lazy — solar systems do not exist until a Scanner building reveals them. When revealed, the system is generated on-demand from the seed + system coordinates. Nothing is stored for undiscovered systems.
Generation Architecture¶
Seed Model¶
Session Seed (int)
└── Galaxy Layer — star positions via seeded noise across 3D space
└── System Layer — planet count, star type, orbital layout
└── Planet Layer — biome, size, resources, alien tier
└── Terrain Layer — heightmap, resource node placement
Each layer derives its RNG from a combination of the session seed and spatial coordinates, ensuring uniqueness without storing data:
# WorldGenerator.gd
static func get_system_rng(galaxy_seed: int, system_coords: Vector3i) -> RandomNumberGenerator:
var rng := RandomNumberGenerator.new()
rng.seed = hash(str(galaxy_seed) + str(system_coords))
return rng
static func get_planet_rng(galaxy_seed: int, system_coords: Vector3i, planet_index: int) -> RandomNumberGenerator:
var rng := RandomNumberGenerator.new()
rng.seed = hash(str(galaxy_seed) + str(system_coords) + str(planet_index))
return rng
Galaxy Layer¶
- Stars distributed across 3D space using seeded FastNoiseLite
- Star density increases toward a galactic centre — creates a sense of scale and direction
- Stars are never "created" — their positions are calculated on demand when the scanner reveals them
- Each star has a type (Main Sequence, Red Dwarf, Binary, Neutron, Giant) affecting planet count and resource richness
System Layer¶
- Each star has 3–6 planets in stable orbits
- Planet count, orbital radii, orbital speeds, and axial tilts are all seeded per system
- Planets orbit at increasing distances — inner planets hotter, outer planets colder
- Planet type influenced by distance from star (hot types closer in, cold types further out)
Planet Layer¶
- Each planet has: type, size, biome variant, resource set, alien tier, hazard level
- Alien difficulty scales with distance from the starting system
- Starting planet is always Terrestrial — guaranteed Metal Ore and Coal nearby
Terrain Layer¶
- Noise-based heightmap (FastNoiseLite) for terrain shape
- Second noise pass for resource node placement
- Resource types determined by planet type and biome variant
- Starting planet guarantees accessible Metal Ore and Coal within Genesis walking distance
Session Start¶
The player sees only their starting planet — nothing else is visible. The rest of the universe is fog of war until Scanners are built.
Session Start
├── Starting system generated
├── Starting planet always: Terrestrial, Medium size, Rocky biome
├── Metal Ore + Coal guaranteed within starting area
├── No other systems or planets visible
└── Scanner must be built to reveal nearby systems
Discovery — The Scanner System¶
Players build Scanner buildings on their current planet to reveal nearby solar systems.
| Building | Research Tier | Reveal Radius | Information Shown |
|---|---|---|---|
| Basic Scanner | Early game | 5 units | System exists, star type |
| Advanced Scanner | Mid research | 15 units | Planet count, rough planet types |
| Deep Space Array | Late research | 40 units | Full biome types, resource hints |
- Scanning costs power and takes simulation ticks to complete — not instant
- Each scan reveals all systems within radius, not just the nearest
- Revealed systems persist — you never lose discovery data
Planet Classification¶
For full vertical level counts and Core Energy Ratings per planet type, see [06_Vertical Layers & Core Power System](<./06_Vertical Layers & Core Power System.md>).
Landable Planets (Factory Floor)¶
Players can land, deploy Genesis, and build a full factory on these planet types.
1. Terrestrial Planet (Rocky Planet)¶
Description: Earth-like rocky worlds with solid surfaces, moderate gravity, and varied terrain. The most common starting world type.
Terrain: Rolling hills, rocky outcrops, flat plains, river valleys
Size Range: Small → Large
Gravity: Normal (no movement modifier)
Atmosphere: Breathable — no hazard gear needed
Resources: - ✅ Guaranteed: Metal Ore, Coal - ✅ Common: Stone, Sand - 🔶 Uncommon: Iron, Copper - 🔷 Rare: Rare Earth Elements
Alien Faction: Ground Crawlers — medium aggression
Special: Most beginner-friendly planet. Starting planet is always Terrestrial.
2. Super-Earth¶
Description: Larger than Earth but still rocky and solid. Higher gravity makes construction slower but resource deposits are massive.
Terrain: Towering mountain ranges, vast mineral plains, deep canyons
Size Range: Large → Massive
Gravity: High — Genesis movement speed reduced 20%
Atmosphere: Dense but breathable
Resources: - ✅ Guaranteed: Metal Ore, Iron, Stone - ✅ Common: Coal, Copper - 🔶 Uncommon: Dense Alloys, Heavy Minerals - 🔷 Rare: Core Fragments (only found deep in canyon biome variants)
Alien Faction: Armoured Heavies — tough, slow
Special: Larger grid area than standard planets. Resource deposits are 2× larger than Terrestrial.
3. Ocean Planet (Water World)¶
Description: Entirely covered in deep oceans. Buildable area is limited to floating platforms, volcanic island chains, or shallow shelf zones.
Terrain: Shallow reef zones, volcanic island clusters, deep ocean (unbuildable)
Size Range: Medium → Large
Gravity: Normal
Atmosphere: Humid, breathable — occasional storms reduce power output temporarily
Resources: - ✅ Guaranteed: Salt Minerals, Biological Matter - ✅ Common: Water (infinite), Hydrogen - 🔶 Uncommon: Deep Sea Minerals, Thermal Vents (geothermal power source) - 🔷 Rare: Abyssal Crystals
Alien Faction: Aquatic Swarmers — fast, attack from water
Special: Buildable grid limited to island/platform zones. Pipe system required for fluid transport. Unique geothermal power buildings available.
4. Lava Planet¶
Description: Geologically hyperactive world covered in magma flows and volcanic activity. Extreme heat hazards but rich in energy resources.
Terrain: Cooled lava plains (buildable), active magma flows (hazard zones), volcanic calderas
Size Range: Small → Large
Gravity: Normal
Atmosphere: Toxic — Genesis requires Heat Shielding module (research unlock)
Resources: - ✅ Guaranteed: Coal, Sulphur, Thermal Energy (infinite — geothermal) - ✅ Common: Obsidian, Magma Rock - 🔶 Uncommon: Rare Minerals (volcanic ejection) - 🔷 Rare: Magma Crystals, Volcanic Diamonds
Alien Faction: Lava Crawlers — fire resistant, emerge from magma flows
Special: Magma flows deal damage to buildings placed in them. Geothermal generators are highly efficient here. Heat Shielding research required before landing.
5. Carbon Planet¶
Description: Mantle and crust composed largely of carbon compounds — graphite, diamond, and exotic carbon allotropes. Eerie dark terrain with immense material value.
Terrain: Black graphite plains, diamond spire formations, carbon dust fields
Size Range: Small → Medium
Gravity: Slightly lower than normal
Atmosphere: Reducing atmosphere (methane/CO) — requires Atmospheric Filter module
Resources: - ✅ Guaranteed: Graphite, Carbon Compounds - ✅ Common: Raw Diamond - 🔶 Uncommon: Exotic Carbon Allotropes - 🔷 Rare: Perfect Diamond (extremely high value, used in advanced components)
Alien Faction: Crystal Constructs — slow but extremely high armour
Special: Diamond and carbon resources are critical for late-game component manufacturing. Atmospheric Filter required before landing.
6. Rogue Planet (Interstellar Planet)¶
Description: Planets ejected from their solar systems, drifting alone in deep space. No star — permanently dark and frozen. Appear randomly between solar systems.
Terrain: Frozen plains, cracked ice sheets, deep impact craters
Size Range: Small → Medium
Gravity: Variable
Atmosphere: None or trace — requires Sealed Habitat (research unlock)
Resources: - ✅ Guaranteed: Frozen Volatiles, Ice - ✅ Common: Primordial Rock, Metal Ore (from original system) - 🔶 Uncommon: Exotic Ices, Preserved Organics - 🔷 Rare: Ancient Artefacts (fragments of the original solar system — used in research)
Alien Faction: None — no alien life, but extreme environment hazards
Special: No solar power available. Must use thermal or nuclear generation. Ancient Artefacts unlock special research nodes. Sealed Habitat required before landing.
7. Chthonian Planet¶
Description: Former gas giants whose atmosphere was stripped by proximity to their star, leaving only a bare metallic core. Extremely hostile but resource-rich.
Terrain: Exposed metallic core surface, extreme radiation zones, magnetic field anomalies
Size Range: Large → Massive
Gravity: Very High — Genesis movement speed reduced 40%
Atmosphere: None — requires Heavy Shielding (late research)
Resources: - ✅ Guaranteed: Dense Metals, Core Alloys - ✅ Common: Exotic Metals, Radiation Crystals - 🔶 Uncommon: Magnetite, Compressed Core Material - 🔷 Rare: Stellar Core Fragments (highest tier manufacturing material)
Alien Faction: Radiation Constructs — immune to radiation, extremely tough
Special: Highest value manufacturing materials in the game. Most hostile landable environment. Heavy Shielding research required. Magnetic anomalies periodically disrupt power grids.
8. Mini-Neptune (Gas Dwarf)¶
Description: Smaller gas planets with a solid rocky/icy core beneath thick hydrogen and helium atmospheres. Can be landed on at the core if atmosphere is penetrated.
Terrain: Rocky/icy core surface, dense atmospheric pressure above
Size Range: Small → Medium
Gravity: Medium-High
Atmosphere: Crushing gas layers — requires Pressure Hull (mid research)
Resources: - ✅ Guaranteed: Compressed Gas, Hydrogen - ✅ Common: Helium-3, Atmospheric Minerals - 🔶 Uncommon: Noble Gases, Core Ice - 🔷 Rare: Metallic Hydrogen (Phase 2 fuel research)
Alien Faction: Atmospheric Drifters — float in upper atmosphere, dive to attack
Special: Upper atmosphere can be harvested with atmospheric collectors (no landing required for basic gas extraction). Landing at core requires Pressure Hull research.
9. Hot Jupiter¶
Description: Gas giants orbiting extremely close to their star. Tidal locking creates a permanent day side (scorching) and night side (frozen). Buildable on the terminator line.
Terrain: Terminator zone — narrow habitable band between extreme heat and cold
Size Range: Large → Massive
Gravity: Very High
Atmosphere: Superheated gas — requires Thermal Isolation (late research)
Resources: - ✅ Guaranteed: Solar Energy (extreme — day side collectors very efficient), Hydrogen - ✅ Common: Heavy Atmospheric Gases, Ionic Compounds - 🔶 Uncommon: Exotic Plasma Compounds - 🔷 Rare: Storm Crystals (formed in the permanent atmospheric storms)
Alien Faction: Storm Entities — creatures adapted to extreme atmospheric conditions
Special: Buildable zone is narrow — the terminator line grid is smaller than other planets. Extreme solar power generation on day side. Thermal Isolation required before landing.
Orbital Station Only (Non-Landable)¶
Players cannot land on these planet types. Instead, they build an Orbital Station above them and manage it remotely with Genesis aboard the ship/station.
10. Gas Giant¶
Description: Massive hydrogen/helium planets with no solid surface. Beautiful banded atmospheres with violent storms. Orbital stations harvest atmospheric gases via descent probes.
Interaction: Orbital Station required — Genesis operates station remotely
Resources (via orbital harvesting):
- ✅ Guaranteed: Hydrogen, Helium-3
- 🔶 Uncommon: Ammonia, Methane
- 🔷 Rare: Metallic Hydrogen, Anti-Matter Traces
Special: Highest volume gas production in the game. Orbital stations are large infrastructure investments but provide huge fuel supply chain value. Storm events periodically disrupt probe operations.
11. Ice Giant¶
Description: Uranus/Neptune-type planets with deep mantles of water, ammonia, and methane ices under high pressure. Orbital stations harvest via deep atmosphere probes.
Interaction: Orbital Station required — Genesis operates station remotely
Resources (via orbital harvesting):
- ✅ Guaranteed: Methane Ice, Ammonia
- 🔶 Uncommon: Water Ice, Nitrogen
- 🔷 Rare: Diamond (formed under extreme pressure), Exotic Ices
Special: Diamond formation under pressure makes Ice Giants the only non-surface source of raw diamond. Slower harvest rate than Gas Giants but higher material value.
Planet Size Classes¶
| Size | Grid Area | Resource Deposit Size | Notes |
|---|---|---|---|
| Small | 64×64 | Limited | Faster to exploit fully, fewer resources |
| Medium | 128×128 | Standard | Default for most Terrestrial planets |
| Large | 192×192 | Rich | Super-Earths, large Ocean worlds |
| Massive | 256×256 | Abundant | Chthonians, Hot Jupiters, Gas Giants |
Alien Difficulty by Distance¶
Alien tier scales with distance from the starting system. This creates a natural risk/reward gradient — better resources further out, but harder aliens to defend against.
| Distance from Start | Alien Tier | Description |
|---|---|---|
| 0–10 units | Tier 1 | Scouts — small, low damage, infrequent raids |
| 11–20 units | Tier 2 | Warriors — medium strength, regular raids |
| 21–35 units | Tier 3 | Elites — tough, coordinated attacks |
| 36–50 units | Tier 4 | Commanders — large raids with mixed unit types |
| 50+ units | Tier 5 | Apex — massive assaults, rare but devastating |
Research Unlock Gates¶
Certain planet types require research before Genesis can operate on them. This creates a natural progression gate — players must invest in research before accessing higher-value planets.
| Research Unlock | Unlocks Access To |
|---|---|
| Heat Shielding | Lava Planets |
| Atmospheric Filter | Carbon Planets |
| Sealed Habitat | Rogue Planets |
| Pressure Hull | Mini-Neptunes (core landing) |
| Thermal Isolation | Hot Jupiters |
| Heavy Shielding | Chthonian Planets |
| Orbital Station Blueprint | Gas Giants, Ice Giants |
GDScript Data Structures¶
# PlanetData.gd
class_name PlanetData
extends Resource
enum PlanetType {
TERRESTRIAL, SUPER_EARTH, OCEAN, LAVA, CARBON,
ROGUE, CHTHONIAN, MINI_NEPTUNE, HOT_JUPITER,
GAS_GIANT, ICE_GIANT
}
enum PlanetSize { SMALL, MEDIUM, LARGE, MASSIVE }
@export var type: PlanetType
@export var size: PlanetSize
@export var orbital_radius: float
@export var orbital_speed: float
@export var alien_tier: int # 0–4
@export var resources: Array[ResourceDeposit]
@export var is_landable: bool
@export var required_research: Array[String] # research IDs needed to land
@export var grid_size: Vector2i # derived from size enum
# SystemData.gd
class_name SystemData
extends Resource
enum StarType { MAIN_SEQUENCE, RED_DWARF, BINARY, NEUTRON, GIANT }
@export var star_type: StarType
@export var coords: Vector3i # position in galaxy grid
@export var planet_count: int
@export var planets: Array[PlanetData]
@export var is_revealed: bool = false
Open items for this document are tracked in docs/open-items.md, area world.
Revision History¶
| Version | Date | Changes |
|---|---|---|
| 0.1 | 2026-02-26 | Initial document — 11 planet types, generation architecture, scanner system, size classes, alien difficulty scaling, research unlock gates, GDScript data structures |