From eefab0efe549b26cefdcd020f9aff86a6690c524 Mon Sep 17 00:00:00 2001 From: StephenAdamson Date: Thu, 12 Dec 2024 17:49:31 +0000 Subject: [PATCH] Readme --- README.md | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/README.md b/README.md index c69672a..49be993 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,102 @@ # dorf +This project is my way of learning Rust by recreating key aspects of Dwarf Fortress in Bevy. The aim is to build a feature-rich, procedurally generated simulation game, combining colony management, world-building, etc. + +## Project Goals +- Learn Rust by implementing complex game systems. +- Explore procedural generation techniques. +- Develop an engaging simulation game inspired by Dwarf Fortress. + +## Current Status +Work in progress. + +## Features +### Core Systems +- [ ] Procedural world generation + - [ ] Terrain generation + - [ ] Generate heightmaps and elevation + - [ ] Add water bodies and erosion effects + - [ ] Apply biome-specific textures + - [ ] Biome distribution + - [ ] Define biome attributes (temperature, rainfall, etc.) + - [ ] Map biomes to regions based on attributes + - [ ] Add transitional zones between biomes + - [ ] Rivers, caves, and mountain ranges + - [ ] Implement river pathfinding algorithms + - [ ] Procedurally carve cave networks + - [ ] Generate mountain chains with fractal noise + +- [ ] Resource management + - [ ] Gathering raw materials + - [ ] Implement tree-cutting and stone-mining mechanics + - [ ] Add dynamic replenishment or exhaustion of resources + - [ ] Stockpile mechanics + - [ ] Create system for defining and assigning stockpiles + - [ ] Optimize pathfinding for resource transport + - [ ] Crafting items and tools + - [ ] Develop crafting recipes and progression + - [ ] Add tools with different qualities and effects + +- [ ] Colony simulation + - [ ] Individual dwarves with unique traits + - [ ] Generate personality traits and preferences + - [ ] Assign skill proficiencies and growth over time + - [ ] Needs and mood systems + - [ ] Model basic needs (hunger, thirst, rest) + - [ ] Implement mood modifiers and stress responses + - [ ] Job assignment and task automation + - [ ] Create task queue and priority system + - [ ] Enable task reassignment dynamically + +### Gameplay Mechanics +- [ ] Building and construction + - [ ] Rooms, workshops, and fortifications + - [ ] Design grid-based construction system + - [ ] Implement structural stability checks + - [ ] Mining and digging mechanics + - [ ] Create voxel-based terrain alteration + - [ ] Balance tool efficiency and time costs + +- [ ] Combat and defense + - [ ] Squad management + - [ ] Develop squad formation and control UI + - [ ] Assign weapons and defensive equipment + - [ ] Enemy invasions + - [ ] Generate enemy waves with scaling difficulty + - [ ] Simulate AI pathfinding and strategies + - [ ] Traps and defenses + - [ ] Add trap-building interface + - [ ] Implement trigger mechanisms and consequences + +- [ ] Economy and trade (possible) + - [ ] Trading with caravans + - [ ] Generate trading caravans based on world events + - [ ] Add barter or currency-based exchange + - [ ] Currency and wealth system + - [ ] Track wealth and its effects on game dynamics + - [ ] Introduce theft and economic threats + +### Procedural Storytelling +- [ ] Historical world-building + - [ ] Generate civilizations, leaders, and conflicts + - [ ] Assign dynamic histories to regions and NPCs + - [ ] Model geopolitical relationships + - [ ] Persistent world history + - [ ] Save and load historical data across game sessions + - [ ] Link events and characters to history dynamically +- [ ] Events and narratives + - [ ] Random and scripted events + - [ ] Add contextual random events (e.g., resource scarcity, rival factions) + - [ ] +### User Interface +- [ ] Visual grid-based interface + - [ ] Add visual overlays for resources, paths, and zones +- [ ] Keyboard and mouse input + +## Roadmap +1. Build procedural world generation prototype. +2. Implement basic colony simulation. +3. Add crafting and resource management mechanics. +4. Introduce combat and defense systems. +5. Polish user interface. +6. Expand procedural storytelling and events. \ No newline at end of file