4640f5e5775186bab28011f84c1f24470b79ad5f
Design: docs/SURVIVAL_DESIGN.md (core loop, systems, architecture, phases). Survival core (M1a): - Items/recipes as data (data/*.json) in the addon SDK's define_item / define_recipe shape; procedural item meshes and offscreen-rendered icons - Inventory class (40 slots, hotbar = row 1) shared by player and chests; click / right-click split / shift-click quick-move - Actions autoload: the intent layer (craft, pickup, harvest_hit, place, transfer) that validates every change; becomes the RPC surface in M2 - Gathering: ground pickups (sticks, stones, flint); trees chopped with an axe fall and leave stumps; boulders mined with a pickaxe shrink per hit - Crafting screen with station checks (workbench); placement mode with green/red ghost, rotation and overlap/slope validation - Pieces: campfire (light, flames, embers), workbench, chest (16 slots) - HUD: hotbar, held tool view model with swing, prompts, toasts Menus and saving: - ESC pause menu: resume, controls, fullscreen, mouse sensitivity, quit - Title screen over a flyover of the island: Continue / New World (name + seed) / Load World (with delete) / Quit - Saves autoload: one folder per world under user://worlds, atomic writes with a .bak; stores only player changes (player, pieces, chest contents, harvested resources, taken pickups) and regenerates the rest from the seed - Autosave every 2 min, Save & Quit to title/desktop, save on window close Fixes: UI screens now fill the viewport (were pinned top-left); title backdrop no longer captures the mouse. Tests: test_survival_core (31 checks), test_save_load (round trip + slots), test_terrain_edges now checks 8 seeds for deep pits / unbanked water.
Valheim-like Survival Game (working title)
A stylised-realistic, low-poly survival game built in Godot 4, inspired by Valheim (look/feel) and Rust (survival depth, player-run servers). Cross-platform (Windows / macOS / Linux). Self-hosted authoritative dedicated server. Sandboxed addon SDK with guard rails.
North star
- Look: low-poly meshes + atmospheric lighting + fog/post-processing. Mood over texture detail. (Valheim recipe — a 5-person team made it run on potatoes.)
- World: mesh/heightmap terrain, procedurally generated, biomes. NOT voxels.
- Building: snap-together prefab pieces (walls, floors, roofs) with structural rules.
- Survival loop: gather → craft → build → defend. Health/stamina, day/night, enemies.
- Multiplayer: authoritative headless dedicated server, same codebase, self-hostable on any OS. Clients are never trusted.
- Addons: sandboxed (Lua), capped API, CPU/memory quotas, no host filesystem/network/escape. Guard rails from day one.
Status
See docs/ROADMAP.md for milestones and docs/ARCHITECTURE.md for the design.
Current milestone: M0 — playable single-player world skeleton (scaffolding on disk; needs Godot 4 installed to open & run).
Requirements
- Godot 4.3+ (standard build; no C# needed — this project uses GDScript).
- Git.
Quick start (once Godot is installed)
# Open the project
godot --path . --editor # or open Godot and import this folder's project.godot
# Run the game
godot --path .
# Run the headless dedicated server (later milestone)
godot --headless --path . -- --server
Layout
project.godot Godot project definition
scenes/ game scenes (.tscn)
scripts/ GDScript (.gd)
core/ shared systems (world, net, save)
player/ player controller, camera
world/ terrain, chunks, generation
building/ snap-together building system
addons_sdk/ the sandboxed addon host + API
addons_examples/ example mods written against the SDK
assets/ models, materials, textures (low-poly)
docs/ architecture, roadmap, addon SDK spec
License
TBD (lean toward MIT or a source-available license — decide before first public release).
Description
Emberwild 0.5.0
Latest
Languages
GDScript
94.5%
Python
3.9%
Shell
1.2%
HTML
0.4%