feat: add persistent-world station game
Bevy ECS workspace with three crates:
- game_core: rsn data definitions, components, Tiled map loader, protocol
- game_server: authoritative simulation, Rune scripting, persistence,
dedicated server binary
- game_client: rendering, UI and input; embeds the server for
singleplayer and hosting
Items, recipes, buildings and skills are defined in assets/data, behavior
in Rune scripts under assets/scripts, and maps are made in Tiled.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-18 17:44:13 +00:00
|
|
|
# Changelog
|
|
|
|
|
|
|
|
|
|
All notable changes to this project are documented in this file. The format is
|
|
|
|
|
based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
|
|
|
|
|
|
|
## [Unreleased]
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
|
|
|
|
- Persistent-world station game with singleplayer, hosting (`--host`) and
|
|
|
|
|
joining (`--connect`), plus a dedicated `game-server`.
|
|
|
|
|
- Data-driven items, recipes, buildings and skills in `assets/data/*.rsn`.
|
|
|
|
|
- Rune scripting for item use, building interaction and crafting hooks.
|
|
|
|
|
- Tiled map support (solid tiles/layers; `spawn`, `building` and `item`
|
|
|
|
|
objects).
|
|
|
|
|
- Saving of the world and characters (autosave, and on exit, Ctrl-C or
|
|
|
|
|
SIGTERM).
|
|
|
|
|
- Crafting, construction/deconstruction, skills, hunger, health and respawning.
|
|
|
|
|
- Windows client builds for GitHub and Gitea CI; release builds run without a
|
|
|
|
|
console window.
|
2026-10-18 18:08:45 +00:00
|
|
|
- `cargo xtask pack` builds the client and server and packs them with their
|
|
|
|
|
assets into a distributable archive; CI publishes these archives.
|
2026-10-18 18:28:16 +00:00
|
|
|
- Machines (`machines` in data files): buildings with input/output slots that
|
|
|
|
|
process their own timed recipes, with optional custom window layouts and
|
|
|
|
|
background images. The furnace is now a machine (ore + log fuel), and a new
|
|
|
|
|
assembler makes tools.
|
2026-10-18 18:21:07 +00:00
|
|
|
- GitHub `Package` workflow builds archives for Windows (zip), Linux and macOS
|
|
|
|
|
(tar.gz).
|
2026-10-18 18:47:43 +00:00
|
|
|
- Worlds are stored with sqlx in SQLite (default) or PostgreSQL, keyed by a world
|
|
|
|
|
UUID so many worlds can share one database. Singleplayer saves are SQLite files
|
|
|
|
|
in the platform data directory. Autosaves run in the background. The server has
|
|
|
|
|
new `--database URL` and `--world NAME|UUID` options.
|
2026-10-18 19:41:58 +00:00
|
|
|
- The dedicated server is configured by `server.toml` plus command-line
|
|
|
|
|
overrides, and it accepts terminal commands for save, shutdown and live config
|
|
|
|
|
changes.
|
2026-10-18 18:47:43 +00:00
|
|
|
|
|
|
|
|
### Removed
|
|
|
|
|
|
|
|
|
|
- The rsn save file format and the `--save FILE` server option. Existing rsn saves
|
|
|
|
|
are not migrated.
|