Files
Emberwild/README.md

73 lines
3.2 KiB
Markdown

# 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)
```bash
# 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
```
## Packaged builds
```bash
tools/export.sh # build/Emberwild-<version>-macos.zip and -windows.zip
tools/export.sh macOS # or just one ("macOS" / "Windows")
```
Needs the Godot export templates for your Godot version (Editor > Manage
Export Templates). The version number is `application/short_version` in
`export_presets.cfg`.
- **Mac:** a universal .app, ad-hoc signed but not notarised. On another Mac,
the first launch needs right-click > Open (or System Settings > Privacy &
Security > Open Anyway).
- **Windows:** unzip and run `Emberwild.exe` (keep `Emberwild.pck` beside
it). It's unsigned, so SmartScreen says "Windows protected your PC":
More info > Run anyway.
- A packaged copy is also a dedicated server:
`Emberwild.app/Contents/MacOS/Emberwild --headless -- --server` (Mac) or
`Emberwild.exe --headless -- --server` (Windows). Saves and settings live in
the same user folder as a copy run from source.
## 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).