doc: new documentation helps
fix: issue with blank shop items
This commit is contained in:
234
roadmap.md
Normal file
234
roadmap.md
Normal file
@@ -0,0 +1,234 @@
|
||||
---
|
||||
layout: default
|
||||
title: Roadmap
|
||||
nav_order: 5
|
||||
---
|
||||
|
||||
# Development Roadmap
|
||||
{: .no_toc }
|
||||
|
||||
Future plans and upcoming features for ALttP Door Randomizer.
|
||||
{: .fs-6 .fw-300 }
|
||||
|
||||
## Table of contents
|
||||
{: .no_toc .text-delta }
|
||||
|
||||
1. TOC
|
||||
{:toc}
|
||||
|
||||
---
|
||||
|
||||
## Project Vision
|
||||
|
||||
Door Randomizer aims to provide the most comprehensive and flexible dungeon randomization experience for A Link to the Past while maintaining playability and logical consistency. Our focus is on:
|
||||
|
||||
1. **Robust Generation** - Ensuring seeds are always completable and logical
|
||||
2. **Feature Richness** - Providing extensive customization options
|
||||
3. **Community Engagement** - Responding to player feedback and needs
|
||||
4. **Performance** - Improving generation speed and reliability
|
||||
|
||||
---
|
||||
|
||||
## Bug Fixes
|
||||
|
||||
Critical and important bugs that need to be addressed:
|
||||
|
||||
### Critical Bugs
|
||||
- Dungeon Key HUD indicator issue (total is incorrect)
|
||||
- Links House on DM pathing issues (See OWR solution)
|
||||
|
||||
### Minor Bugs
|
||||
- Resolve Swamp Trench 2 draining issue (pot obtained but still drains)
|
||||
- Fix OHKO logic issues - Crystal Path backwards in GT
|
||||
- Fix MapCompass forbidden boss items mode (currently bugged)
|
||||
- Killing Certain Red Guards Kills Music
|
||||
|
||||
---
|
||||
|
||||
## Logic & Generation Improvements
|
||||
|
||||
Improving dungeon generation algorithms and logic:
|
||||
|
||||
- Enhanced key logic algorithms (experimental mode in New Generation)
|
||||
- Rework Uncle weapon/Escape small key
|
||||
- Make Sanctuary heart the logical one (simplify sanctuary heart logic)
|
||||
- Investigate rupee balancing issues causing failed generations
|
||||
|
||||
---
|
||||
|
||||
## New Features
|
||||
|
||||
New functionality and game modes, mostly planned for the NewGeneration branch:
|
||||
|
||||
- Portal placement flexibility (customizability and mixed dungeon pools)
|
||||
- Smarter trap door placement (reduce forced mirroring)
|
||||
- DR Keysanity menu improvements
|
||||
- PitWarp feature
|
||||
- Door Type pooling customizations
|
||||
- OWR ER standardization (District ER, Links on Death Mountain issue)
|
||||
- NewSwappedAlgorithm integration
|
||||
- Bonk Item Pool from Overworld Randomizer (downstream integration)
|
||||
- A better hint system
|
||||
- Prize Shuffle from Overworld Randomizer (downstream integration)
|
||||
- Map Screen from GK Randomizer (need to investigate)
|
||||
- Other downstream integrations? (custom goals, follower shuffle, flute shuffle?)
|
||||
|
||||
---
|
||||
|
||||
## Quality of Life Enhancements
|
||||
|
||||
Improving user experience and usability:
|
||||
|
||||
- Preferred location groups (control item placement with warnings/failures/retries)
|
||||
- Preset support
|
||||
- Control output ROM name (customize generated ROM filename)
|
||||
- Progress indicators for generations
|
||||
- Better entrance tracking for trackers (investigate race legality)
|
||||
- Super-tile split palettes (reduce hinting from palette colors)
|
||||
- Turn off Bob by default for enemizer (fewer graphical glitches)
|
||||
|
||||
---
|
||||
|
||||
## Performance Improvements
|
||||
|
||||
Making generation faster and more efficient:
|
||||
|
||||
- Reduce memory footprint
|
||||
|
||||
---
|
||||
|
||||
## Customization & Content Creation
|
||||
|
||||
Tools and features for creating custom content:
|
||||
|
||||
- Re-design customizer file format (improved YAML structure)
|
||||
- Presets for customizer (start from predefined base)
|
||||
- Easier enemy customization (simpler interface for customizing specific enemies - better integration with customization system)
|
||||
|
||||
---
|
||||
|
||||
## Multiworld
|
||||
|
||||
Enhancements for multiplayer seeds:
|
||||
|
||||
- Multiworld documentation
|
||||
- Ability to have similar randomizations across multiworlds (makes parts of it co-op)
|
||||
|
||||
---
|
||||
|
||||
## External Tools & Integration
|
||||
|
||||
Integration with external tools and platforms:
|
||||
|
||||
- Tracker integration features
|
||||
- Web-based API
|
||||
|
||||
---
|
||||
|
||||
## Technical Debt & Refactoring
|
||||
|
||||
Behind-the-scenes code improvements:
|
||||
|
||||
- Modernize Rules.py (improve readability and maintainability)
|
||||
- Python upgrade (3.10 deprecated in 2026)
|
||||
|
||||
---
|
||||
|
||||
## Research & Exploration
|
||||
|
||||
Experimental ideas that may or may not be implemented:
|
||||
|
||||
### Dungeon Randomization Ideas
|
||||
|
||||
- **Subroom randomization** - Randomize smaller rooms within a larger room (subtile vs. supertile doors)
|
||||
- **Euclidean dungeon layouts** - Dungeon randomization that makes spatial sense (rooms connected geographically)
|
||||
- **Swapped dungeon generation** - Create dungeons by swapping door destinations (requires new algorithms)
|
||||
|
||||
---
|
||||
|
||||
## Branch Strategy
|
||||
|
||||
### Current Branches
|
||||
|
||||
- **NewGeneration** - Active development branch for new generation system
|
||||
- **NewSwappedAlgorithm** - Experimental branch for swapped item algorithm
|
||||
- **DoorDevUnstable** - Main branch, maintenance mode - only bug fixes and patches (ready to be moved to official stable)
|
||||
- **DoorDev** - Stale development branch (needs update)
|
||||
- **Dev/Master** - Do NOT use for PRs. Used by upstream only.
|
||||
|
||||
### Planned Branch Changes
|
||||
|
||||
- Transition from DoorDevUnstable to DoorDev as main maintenance branch
|
||||
- Transition NewGeneration to main development branch
|
||||
|
||||
---
|
||||
|
||||
## Completed Features
|
||||
|
||||
Recent accomplishments:
|
||||
|
||||
- ✅ Dynamic colored pots
|
||||
- ✅ Free lamp cone
|
||||
- ✅ Experimental key logic improvements
|
||||
|
||||
---
|
||||
|
||||
## How to Contribute
|
||||
|
||||
Want to help shape the future of Door Randomizer?
|
||||
|
||||
### For Players
|
||||
- **Test seeds** - Play with different settings and report issues
|
||||
- **Provide feedback** - Share what you like and what could be better
|
||||
- **Suggest features** - Tell us what you want to see
|
||||
|
||||
### For Developers
|
||||
- **Submit PRs to DoorDevUnstable**
|
||||
- **Join Discord** - Discuss development in `#door-rando`
|
||||
- **Write tests** - Improve test coverage
|
||||
- **Improve documentation** - Help others understand the code
|
||||
|
||||
### For Creators
|
||||
- **Custom rooms** - Design interesting custom rooms
|
||||
- **Presets** - Create balanced preset configurations
|
||||
- **Tutorials** - Teach others how to use Door Rando
|
||||
- **Tools** - Build complementary tools (trackers, analyzers)
|
||||
|
||||
---
|
||||
|
||||
## Release Schedule
|
||||
|
||||
### Regular Releases
|
||||
- **Unstable builds** - Automated on every push to DoorDevUnstable
|
||||
- **Hotfixes** - As needed for critical bugs
|
||||
|
||||
### Upcoming Releases (Tentative)
|
||||
- **v1.5.x** (Q2 2026) - DoorDevUnstable becomes DoorDev
|
||||
- **v1.6** (Q3 2026) - Python upgrade
|
||||
- **v2.0** (Q4 2026) - New Generation branch release
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
How we measure progress:
|
||||
|
||||
### Technical Metrics
|
||||
- Generation success rate (target: >95%)
|
||||
- Average generation time (target: <10s for crossed seeds)
|
||||
- Memory usage (start measuring)
|
||||
- Test coverage (start measuring)
|
||||
|
||||
---
|
||||
|
||||
## Feedback & Discussion
|
||||
|
||||
Have thoughts on the roadmap?
|
||||
|
||||
- **Discord**: Join `#door-rando` to discuss
|
||||
|
||||
---
|
||||
|
||||
*This roadmap is a living document and will be updated regularly as priorities shift and progress is made.*
|
||||
|
||||
Last updated: 2026-01-30
|
||||
Reference in New Issue
Block a user