Readme
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user