mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-14 02:27:21 -07:00
Updated Home (markdown)
parent
49df9d102d
commit
961a0838c3
1 changed files with 1 additions and 73 deletions
74
Home.md
74
Home.md
|
@ -1,73 +1 @@
|
|||
# Wishes v3/v4/etc
|
||||
|
||||
## 1. Source Interaction
|
||||
|
||||
- [x] Different approach for giving items, one that can be used for all (most?) checks - rando changes branch is the proof of concept for this
|
||||
- [ ] Piggy-backing on the above ^ attempt to be less invasive on vanilla code paths in every way possible ***(mostly complete)***
|
||||
- ^ [ ] Also a piggy back. Cleaner ways to hook/replace original code functions for rando code paths (less in line changes, and more of a patch/redirect to handle the rando ideas) (ala 3ds rando patch system maybe?) ***(mostly complete)***
|
||||
|
||||
## 2. Data Optimization/Unification
|
||||
|
||||
- [ ] Unify all randomizer data structures under one umbrella (ala CheckTrackerData to CheckData) ***(partially complete, tracker data is all that's left)***
|
||||
- [x] De-duplication - Creating a new option, check, item, etc should be as seamless as possible, I should only need to define things in one centralized place, one time
|
||||
- [ ] Investigate removal of extendedVanillaItemTable (move to randomizerItemTable)
|
||||
- [x] Internals of randomizer playthrough utilize gSaveContext to simulate game playthrough (this will have benefits post-generation, and simplify some of our code, i think)
|
||||
- [x] Convert rando code to utilize SoH data structures, or other way around (target: live playthrough for check availability)
|
||||
- [x] things like RCObjects as class with function members
|
||||
- [ ] Extensible language support (more than just "OoT" languages, but also all regional languages like Japanese)
|
||||
- [x] Also, we should be able to make it so that the hints and such can be created on file create, or even on the fly, instead of relying on hint text in the spoiler, that way people who share spoilers across primary languages can still get the rando texts in their language.
|
||||
- [x] Spoiler file generation becomes optional
|
||||
- [x] Spoiler file settings section 1:1 with randomizer setting cvars
|
||||
- [ ] Change spoiler logs to have both human friendly data, and computer friendly data, so we don't have to worry about doing parsing. Or at least have the "strings" be defined once so that typos aren't possible between parsing and spoiler log generation.
|
||||
- [ ] Name parity with Archipelago (for spoiler file loading)
|
||||
|
||||
## Logic
|
||||
|
||||
- [ ] Rewrite logic to work based on a "room by room" basis with clear indications as to what is needed to beat the room. E.g. rooms which need certain enemies defeated to progress will have Can\_Defeat(ENEMY\_STALFOS, numEnemies).
|
||||
- [ ] Tie enemy rando to logic
|
||||
|
||||
## General Rework:
|
||||
|
||||
- [x] Swap item checks to CanUse to allow for glitch manipulation of conditions (timeless equipment or equip swap situations)
|
||||
- [ ] Ice traps -\> traps
|
||||
- [ ] Support latest DJ formats for sequences (i think they allow custom samples now?)
|
||||
|
||||
## Playthrough Rework
|
||||
|
||||
- [ ] Refactor rando code to align with n64 code patterns/structures (not features) ***(partially complete)***
|
||||
- One example is playthrough calculation/multiworld considerations so that things like Archipelago or multi-world are easier/free thanks to n64 kicking things off
|
||||
- [ ] Built-in multi-playthrough logic support (multi world)
|
||||
|
||||
## **Eventual Glitch Logic:**
|
||||
|
||||
- [ ] V1 - Include all major glitches as individual toggles
|
||||
- ^ excluding wrong warping/void warping/text transfer glitch/item manipulation/srm etc
|
||||
- [ ] V2 would aim to have closed/challenge option where woth items are delayed in the playthrough
|
||||
|
||||
## General Gameplay
|
||||
|
||||
- [ ] Don't start twinrova flight until we get into the room ([GH issue](https://github.com/HarbourMasters/Shipwright/issues/707))
|
||||
- [ ] Allow dpad boots in all situations ([GH issue](https://github.com/HarbourMasters/Shipwright/issues/623))
|
||||
|
||||
## Hints
|
||||
|
||||
- [ ] Hint distribution/options parity with zootr (I'm not super familiar with this, but people always complain "our hints arent like zootrs")
|
||||
- [ ] Move gossip stone hints out of RandomizerCheck structures
|
||||
- [ ] Dynamic hint - dynamically finds a woth item within reach
|
||||
|
||||
## Developer Experience
|
||||
|
||||
- json junk hints (possibly loaded from soh.otr during seed gen?)
|
||||
- [ ] Text box custom syntax ([GH discussion](https://github.com/HarbourMasters/Shipwright/discussions/3691))
|
||||
- [ ] Logic testing framework? (n64 does snapshot testing for example)
|
||||
- Improvements to custom message system:
|
||||
- [ ] Most messages should be created on the fly
|
||||
- [x] Auto line break based on length
|
||||
|
||||
## UI/Menu Interaction
|
||||
|
||||
- Move/refactor settings collision logic/setting group randomization to one place (think of indicating in the UI that a setting can't be toggled, but also the logic doing that for us. Currently 3ds does some safeguards for example)
|
||||
- [ ] Randomizer settings UI is data driven (title, description, and combobox options come from tables, not hardcoded)
|
||||
- [ ] Graceful handling of seed generation errors (ideally with useful error messages to help people adjust settings so it won't fail next time)
|
||||
- [ ] Possible stretch goal: have pre-generation validation of settings?
|
||||
- [ ] Full starting inventory options ([GH issue](https://github.com/HarbourMasters/Shipwright/issues/726))
|
||||
*Insert pithy empty page text here*
|
Loading…
Add table
Add a link
Reference in a new issue