39 lines
1.4 KiB
Markdown
39 lines
1.4 KiB
Markdown
# RoadRunner Development Plan
|
|
|
|
## Phase 1: The Foundation (Setup)
|
|
- [x] Initialize Project Boilerplate (Stonecutter/Architectury)
|
|
- [x] Configure Project Metadata (RoadRunner, com.bnair.roadrunner)
|
|
- [ ] User: Install Java 21 and IntelliJ IDEA
|
|
- [ ] User: Run `./gradlew build` to verify setup
|
|
|
|
## Phase 2: The Mathematician (Core Logic)
|
|
- [ ] Implement `BezierCurve` class (Cubic Bezier math)
|
|
- [ ] Implement `RoadProfile` data structure:
|
|
- Lanes (Width, Type, Material)
|
|
- Banking logic
|
|
- Snapping logic (Tangents)
|
|
- [ ] Create debug "Planner Item" to visualize curves with particles
|
|
|
|
## Phase 3: The Architect (GUI & Blueprints)
|
|
- [ ] Integrate **Owo-lib** for GUI
|
|
- [ ] Create "Blueprint Planner" item
|
|
- [ ] Implement Top-Down Map GUI (DrawContext)
|
|
- [ ] Implement "Ghost" rendering for planned roads (WorldRenderEvents)
|
|
|
|
## Phase 4: The Foreman (Survival Mechanics)
|
|
- [ ] Create "Site Office" Block
|
|
- [ ] Implement Resource Consumption logic
|
|
- [ ] Implement "Virtual Crew" construction mechanic (Progressive building)
|
|
- [ ] Add sound effects and particles for construction
|
|
|
|
## Phase 5: The Civil Engineer (Advanced Features)
|
|
- [ ] Terrain Mode: "Follow Terrain" vs "Cut & Fill"
|
|
- [ ] Bridges and Tunnels automation
|
|
- [ ] "Demolition Tool" with undo capability
|
|
|
|
## Technical Decisions
|
|
- **Loader:** Multi-loader (Fabric & NeoForge) via Architectury & Stonecutter
|
|
- **Language:** Kotlin
|
|
- **GUI Lib:** Owo-lib
|
|
- **Rendering:** Fabric API / Architectury Rendering API
|