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.
@@ -11,95 +11,96 @@ This project is my way of learning Rust by recreating key aspects of Dwarf Fortr
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
#### Procedural World Generation
- [ ] Terrain generation
- [ ] Generate heightmaps and elevation
- [ ] Add water bodies and erosion effects
- [ ] Apply biome-specific textures
- [ ] Rivers, caves, and mountain ranges
- [ ] Implement river pathfinding algorithms
- [ ] Procedurally carve cave networks
- [ ] Generate mountain chains with fractal noise
- [ ] 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
#### 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
- [ ] 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
- [ ] 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
- [ ] 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
- [ ] 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
#### Building and Construction
- [ ] Rooms, workshops, and fortifications
- [ ] Design grid-based construction system
- [ ] Implement structural stability checks
- [ ] 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
- [ ] Mining and digging mechanics
#### Combat and Defense
- [ ] Squad management
- [ ] Develop squad formation and control UI
- [ ] Assign weapons and defensive equipment
- [ ] 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
- [ ] 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
#### Historical World-Building
- [ ] Generate civilizations, leaders, and conflicts
- [ ] Assign dynamic histories to regions and NPCs
- [ ] Model geopolitical relationships
- [ ] Events and narratives
- [ ] Random and scripted events
- [ ] Add contextual random events (e.g., resource scarcity, rival factions)
- [ ] 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