Files
Space-Game/README.md
francy51 57633addfe chore: sync codebase remediation, gameplay systems, and docs
Security & infrastructure:
- Remove unused services/ (auth, spacetimedb) and auth.db
- Add .env.example template, expand .gitignore for env/db files
- Add GitHub Actions CI + commitlint config and workflows
- Add manual vendor chunking and source maps to docs/site vite configs

Shared UI & docs app:
- Add ARIA props and focus-visible rings to Button/Panel
- Add ButtonAsLink primitive; use shared Button in NotFound
- Wire @void-nav/ui into docs app; refresh content pages
- Replace Todo page with Kanban board

Gameplay (Bevy):
- Add ai module (behavior, faction, navigation, perception, spawning, states)
- Add narrative module (events, history, synthesis, ui)
- Refine galaxy contents and in-system flight/scene systems
2026-06-16 11:49:13 -04:00

83 lines
3.8 KiB
Markdown

# VOID::NAV
**A single-player narrative-driven space exploration experience** where you author your own mini-series. Inspired by Windward's open-world freedom, Stellaris's strategic depth, and AI-generated storytelling in the style of The Templin Institute. Every campaign generates a unique tale of exploration, commerce, diplomacy, and conquest.
You are a young captain with an entire galaxy to explore—and a story to write. Every campaign features a unique, procedurally generated galaxy. Trade between stations, broker alliances between factions, wage war or maintain peace, and watch as the **AI Story Director** weaves your choices into an evolving narrative. Prefer a quieter life? Simply sail the stars and let your story unfold.
Conflict occurs through **FTL-style tactical resource management**—not dogfighting. When combat happens, it's a dramatic beat in your story. Click a hostile, your ship auto-engages, and you manage reactor power between Weapons / Shields / Engines / Auxiliary. The skill is in *what* you power and *when*, not how fast you click. But combat is a feature, not the focus.
VOID::NAV is a pnpm workspace monorepo for the game website, living design docs, and game client. V1 focuses on single-player emergent storytelling with local persistence and AI-driven narrative generation.
## Core Pillars
| Pillar | Description |
|--------|-------------|
| **AI Story Director** | Emergent narrative generation tracks your choices, alliances, conflicts, and discoveries. The AI weaves your actions into an ongoing saga. V1: real-time emergent storytelling. Future: episodic mini-series generation. |
| **Exploration & Discovery** | Procedurally generated galaxy with fog of war. Discover anomalies, derelicts, new factions. Every discovery becomes part of your story. |
| **Trade & Diplomacy** | Stellaris-inspired economic and political systems. Supply factions, broker alliances, negotiate borders. Commerce and conversation are equally viable paths. |
| **Ship Customization** | Your ship is your narrative vessel. Customize for trade, exploration, or conflict. Multiple classes from nimble scouts to powerful cruisers. |
| **Dynamic Galaxy** | Your actions shape both the world AND the story. Faction relations, territory control, and world events evolve through your choices. |
| **Solo Adventure** | A personal galaxy to explore at your own pace. Your story, your pace. The architecture supports optional co-op servers later. |
### Secondary Features
- **FTL-Style Tactical Combat** — Power management combat exists as a dramatic beat in your story, not the gameplay loop
- Mining and resource gathering
- Mission and quest systems
## Layout
```text
apps/docs Living design docs and interactive demos
apps/site Public landing page / game website
apps/game Playable game client (Rust + Bevy)
packages/ui Shared UI primitives and CSS tokens
archive/legacy-static Legacy static prototype files kept for reference
```
## Prerequisites
- Node.js 24+
- pnpm 9+
- Rust toolchain (for the game client)
## Quick Start
```bash
pnpm install
pnpm dev
```
This launches the docs and site servers.
Open `http://localhost:5175` to play the game.
Press `Ctrl+C` to stop everything.
## Development
```bash
pnpm dev # Docs + site servers
pnpm dev:docs # Docs only (port 5173)
pnpm dev:site # Site only (port 5174)
cd apps/game && cargo run # Game client
```
Default ports:
- docs: `http://localhost:5173/docs`
- site: `http://localhost:5174`
- game: `http://localhost:5175`
## Builds
```bash
pnpm build # Build all apps
pnpm check # Typecheck all packages
cd apps/game && cargo build # Build game client
```
## Game Client
The game client (`apps/game`) is built with Rust and Bevy. It runs locally and persists game state locally with full single-player campaign support.