formatting

This commit is contained in:
StephenAdamson
2024-12-12 18:01:08 +00:00
parent b1ec0a6e5b
commit c14851616b
+69 -68
View File
@@ -1,4 +1,4 @@
# dorf # 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. 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.
@@ -11,95 +11,96 @@ This project is my way of learning Rust by recreating key aspects of Dwarf Fortr
Work in progress. Work in progress.
## Features ## Features
### Core Systems ### Core Systems
- [ ] Procedural world generation
- [ ] Terrain generation
- [ ] Generate heightmaps and elevation
- [ ] Add water bodies and erosion effects
- [ ] Apply biome-specific textures
- [ ] Biome distribution #### Procedural World Generation
- [ ] Define biome attributes (temperature, rainfall, etc.) - [ ] Terrain generation
- [ ] Map biomes to regions based on attributes - [ ] Generate heightmaps and elevation
- [ ] Add transitional zones between biomes - [ ] Add water bodies and erosion effects
- [ ] Apply biome-specific textures
- [ ] Rivers, caves, and mountain ranges - [ ] Biome distribution
- [ ] Implement river pathfinding algorithms - [ ] Define biome attributes (temperature, rainfall, etc.)
- [ ] Procedurally carve cave networks - [ ] Map biomes to regions based on attributes
- [ ] Generate mountain chains with fractal noise - [ ] 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 #### Resource Management
- [ ] Gathering raw materials - [ ] Gathering raw materials
- [ ] Implement tree-cutting and stone-mining mechanics - [ ] Implement tree-cutting and stone-mining mechanics
- [ ] Add dynamic replenishment or exhaustion of resources - [ ] Add dynamic replenishment or exhaustion of resources
- [ ] Stockpile mechanics - [ ] Stockpile mechanics
- [ ] Create system for defining and assigning stockpiles - [ ] Create system for defining and assigning stockpiles
- [ ] Optimize pathfinding for resource transport - [ ] Optimize pathfinding for resource transport
- [ ] Crafting items and tools - [ ] Crafting items and tools
- [ ] Develop crafting recipes and progression - [ ] Develop crafting recipes and progression
- [ ] Add tools with different qualities and effects - [ ] 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
- [ ] Colony simulation - [ ] Needs and mood systems
- [ ] Individual dwarves with unique traits - [ ] Model basic needs (hunger, thirst, rest)
- [ ] Generate personality traits and preferences - [ ] Implement mood modifiers and stress responses
- [ ] 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
- [ ] Job assignment and task automation
- [ ] Create task queue and priority system
- [ ] Enable task reassignment dynamically
### Gameplay Mechanics ### Gameplay Mechanics
- [ ] Building and construction
- [ ] Rooms, workshops, and fortifications
- [ ] Design grid-based construction system
- [ ] Implement structural stability checks
- [ ] Mining and digging mechanics
#### Building and Construction
- [ ] Rooms, workshops, and fortifications
- [ ] Design grid-based construction system
- [ ] Implement structural stability checks
- [ ] Combat and defense - [ ] Mining and digging mechanics
- [ ] 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
#### Combat and Defense
- [ ] Squad management
- [ ] Develop squad formation and control UI
- [ ] Assign weapons and defensive equipment
- [ ] Economy and trade (possible) - [ ] Enemy invasions
- [ ] Trading with caravans - [ ] Generate enemy waves with scaling difficulty
- [ ] Generate trading caravans based on world events - [ ] Simulate AI pathfinding and strategies
- [ ] Add barter or currency-based exchange
- [ ] Currency and wealth system
- [ ] Track wealth and its effects on game dynamics
- [ ] Introduce theft and economic threats
- [ ] 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 ### Procedural Storytelling
- [ ] Historical world-building
- [ ] Generate civilizations, leaders, and conflicts
- [ ] Assign dynamic histories to regions and NPCs
- [ ] Model geopolitical relationships
- [ ] Persistent world history #### Historical World-Building
- [ ] Save and load historical data across game sessions - [ ] Generate civilizations, leaders, and conflicts
- [ ] Link events and characters to history dynamically - [ ] Assign dynamic histories to regions and NPCs
- [ ] Model geopolitical relationships
- [ ] Events and narratives - [ ] Persistent world history
- [ ] Random and scripted events - [ ] Save and load historical data across game sessions
- [ ] Add contextual random events (e.g., resource scarcity, rival factions) - [ ] 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 ### User Interface
- [ ] Visual grid-based interface - [ ] Visual grid-based interface