235 lines
6.3 KiB
Markdown
235 lines
6.3 KiB
Markdown
---
|
|
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
|