-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathtodo.txt
292 lines (284 loc) · 17.3 KB
/
todo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
v118:
- finish adding shinecharge and temp blue strats
- add `easyHeatFrames` logical requirement
- look into Kraid Eye Door grapple teleport strats: why [2, 19] is option from one door but not the other?
- after exhausting all item placement attempts, default to first key item in precedence order instead of last.
- add iframe spike jump remote runways: e.g. East Cac Alley, Bowling Alley, Crateria Supers
- new strats to add:
- crumble jump of LN escape PB room, leavewithplatform
- west cac alley CF clip
- mosaic:
- restore morph tunnel continuation behind morph tunnel transition
- add option to select specific start location
- map gen:
- measure map "clumpiness"
- sanity checks on save balancing
- measure save/map/refill distances using asymmetric graph distance
- measure graph distances (symmetric and asymmetric)
- apply Fake Lava patch (resolve conflict with complementary_suits?)
- add more strats from Incomplete videos
- add missing Red Tower grapple jump strats:
- missed entering from the right
- grapple jumping up only to the ledge (probably needs a new node)
- shinespark strats could get up that node too, with fewer shinecharge frames
v117:
- DONE: load node tile data from sm-json-data
- DONE: render map tiles using map_tiles.json
- DONE: cross-room grapple swings
- check out new Samus sprites
- DONE: fix logic for Cathedral Entrance start location
- DONE: Needs a canTrickyJump?: https://dev.maprando.com/logic/room/172/8/3/130
- prevent enter keypress from submitting generate form
- DONE: fix above-Samus tiles not being revealed in sloped rooms (Terminator, Croc Speedway)
- pull in new videos
- fix issue with oversized maps
- DONE: move canUseSpeedEchoes to VH, look at other Hard tech.
- DONE: fix issue with notable settings not matching selected preset: https://discord.com/channels/1053421401354285129/1079847747307446413/1330204371623084093
- DONE: fix issue with global zeela in dachora room
- map gen:
- DONE: decide which maps to keep
- DONE: rename "Tame" to "Standard"
- DONE: probably handle Toilet differently in Tame pool
Rom patching:
- DONE: refresh mini-map after it is re-enabled after boss fight (croc, any others?)
- fix garbled tiles that show up in door transitions
- instant unpause QoL option
- maybe combine with even faster pause transitions (fade-in to pause, fade between pause/equipment, and fade-out of pause)
- eliminate the gray door that spawns when leaving Mother Brain Room in escape
- instead, allow re-entering Mother Brain Room from left and having it look like it does at the start of the escape sequence
- Fix glass tunnel PLM drawing: https://github.com/amoebaOfDoom/subversion/blob/master/Project/ASM/PLM%20draw%20fix.asm
- currently the glass tunnel can look messed up when destroyed from below.
- investigate momentum conservation:
- eddie says first-frame jump loses momentum: https://www.twitch.tv/videos/2317357753?t=2h17m11s
- look into faster decompression:
- decompressor: https://github.com/tewtal/SHVC-LZSA2/blob/main/src/asar/lzsa2.asm
- compressor: https://github.com/emmanuel-marty/lzsa
- prevent empty tiles (grid lines only) from showing as explored on mini-map?
- e.g. in Green Brin Firefleas Room, or when x-ray climbing rooms like Dachora, Crateria Supers
- fix g4 start location problem: https://discord.com/channels/1053421401354285129/1053434532973510748/1230346387628101643
- fix OOB when leaving Kraid Room from right during fight
- clear SRAM more fully when saved seed does not match:
- save slot position is being retained, so cursor might start on slots 2 or 3 initially
- fix crash when pausing on frame when auto reserve triggers
- just cause death instead
- This patch may be relevant: https://metroidconstruction.com/resource.php?id=418
- look into possible quicksave/load patch (like save states but not emulator-dependent)
- could work better with music: continue playing same song or start from beginning if different
- could retain game timer shown in credits
- could retain map progress
- could expire when using a save station
- prevent accidental quickloads from losing lots of progress
- possible QoL option in Max:
- energy recharge stations also refill reserve energy
- make kraid camera act normal when entering from left?
- same thing with spore spawn entering from bottom?
- prevent MB1 death unless objectives cleared
Logic:
- PCJR: "Left-Side Shinespark" (and related strats): rename and add "canShinechargeMovementComplex" req
Other:
- remove dependence on ROM for seed generation
- maybe overhaul how randomization/customization phases work: run customization on client (with Rust WebAssembly?)
- make it so that customization can use matching version from when the seed was generated
- include more options for customization
- ROM won't need to be provided for generation, only customization
- new entrance/exit conditions:
- add comeInWithRunway/leaveWithRunwayExtension for Crateria Tube
- add leaveBlueRunning exit condition (matching with comeInShinecharging)
- but how to implement propagation of runway-length/speed info for this?
- add heat frames in processing ResetRoom requirement
- implement additional need for ResetRoom requirements where needed
- figure out how to express the heat-frame requirement to go back through a door
- expand tech & strat notes on X-ray climbs: indicate when it is safer to only release X-ray while turning around in one direction
(when there are air tiles not visible in the initial screen).
- add sm-json-data tests:
- check that if some implicit strats are overridden, then all applicable ones are.
- migrate existing farmings strats to new schema
- set up x-mode leniency in skill assumptions
- if strat includes doorUnlockedAtNode at destination node, then skip redundant unlock requirement.
- finish pass of adding shinecharge strats?
- heated elevator: mark with red platform?
- improve formatting of logic pages to make them easier to read
- convert and/or to bulleted lists?
- hyperlinks
- maybe have a toggle to switch between a code/JSON view, vs. a more broadly understandable view
- fix clippy lints and set up as part of CI
- set up a build process for the ASM patches
- simplify SeedData
- Make f_allItemsSpawn not be a flag?
- maybe add canTrickyDodgeEnemies to more places, e.g. Morph Ball Room?
- map hub: fast travel?
- embed some logic data in video site? (e.g. show strat note when uploading/editing)
- adjust auto-formatting for unlocksDoors
- handle steep starting down tile better: only should affect short-charging, not other uses of runways
- DONE: fix bug where dachora despawns global zeela in Dachora Room.
- model energy usage in the escape.
- can be necessary to ensure beatability of seeds with reduced items and disabled escape refill.
- add option to reroll seeds with not enough difficult required tricks?
- instructions on gmode and artificial morph
- update protogen sprite?
- fix weapon PowerBomb logic:
- take into account that double hit is not possible with PowerBombPeriphery
- take into account multiplier
- Remove unneeded items from last step in Desolate.
- Debug eddie desolate seed:
- https://maprando.com/seed/tPRO8Krh2LxvnQvA0HZzaw/
- Why placed Grapple and Wasteland ETank?
- debug door lock logic:
- door requiring heat frames to unlock from unheated side: http://localhost:8080/seed/UCp7ZDC5H6ZSmDlKOtYBXw/data/visualizer/index.html
- in logic pages From/To node selections, improve contrast for grayed-out nodes.
- fix vanilla map music when "Random" start puts you in room with no music change (plays title screen music).
- add more "carry shinecharge" strats.
- handle door locks and flags more precisely; account for them when considering which key item to place
- fix issue with pause map scrolling beyond bounds
- spoiler map: show pop-up when hovering over step, to show additional collectible items (with their quantities) and instructions
to double-click for details.
- rework QoL presets?:
- keep same map options between Low and Default?
- consider making shaktool room one-way in map generation (so Reverse Shaktool strat could be moved up to Medium)
- have pause map mark most recent save (like in vanilla)
- main street shinespark frames need some looking into: "frames": 35 doesn't make sense?
- convert area arrows vs. letters to customization option
- refine GT logic: not in logic with 7E+4R and 5 Supers, Grapple.
- make start locations and hub locations only use door nodes
- that way much less risk of getting broken (or made unsound) by logic changes
- link to twin room in logic room pages.
- add physics/heated override to runway geometry
- revamp strat page:
- embed the video directly near the top?
- collapse the room diagram
- List notable strats in the main logic page?
- add a logic page for each difficulty tier (similar to the sections within the Generate page)
- clarify gate glitch leniency: that it doesn't apply to Pink Hopper Room gate
- consider prioritizing item placement at closer item locations relative to previous key item(s)
- speed booster hall: heat frames could be slightly less?
- overhaul two-phase randomization/customization process
- create ROM in customization only
- make hub requirements consistent with new farm approach?
- actually probably don't need to define hub rooms anymore:
- just check for ability to refill each resource type from the start location and get back
- logic pages (tech/room/strat): add way to fill out items/flags/resources/obstacles to simulate logic
- add objectives:
- Larvas: 4 special items (replacing missiles)
- Improve save station balancing
- Define "distance" in a way that accounts for ease of access (e.g. possible item/tech dependencies)?
- incrementally build graph traversal with increasing difficulty tiers, acquiring flags in the process.
- will allow better accounting of the difficulty of boss fights in forced mode
- should be faster too
- improved spoiler log route
- show objective progress in pause menu (also zebes awake, phantoon defeated)?
- or maybe make objective X's fade after collection?
- help buttons for rest of settings (e.g. explain boss proficiency calculations)
- logic simulator
- handle sba attacks in "enemyKill"
- "fast cutscenes" QoL option?:
- fast big boy cutscene
- fast MB
- fast saves, refills, maps?
- item collection
- "item fanfare" option?
- "friendly" map pool option that tries to put easier rooms closer to ship, harder rooms further away
- not really helpful when using random start though
- remove dead code for drawing lava/acid on map tiles.
- strats to add to logic:
- tricky dash jump to get out of alcatraz with Morph + HiJump + SpeedBooster only (no wall jump or bombs)
- ice clip through crumble in Green Brin Main Shaft? (in case internal door is not blue)
- add notable (Medium) for reverse shaktool
- spore spawn plasma SBA
- enemy stuck moonfalls in Pink Brin Power Bomb and West Ocean
- R-mode forced stand-up clips (needs testing):
- GT Room
- double chamber: right side (CF grapple clip too), if no walljumps
- Acid Statue Room (no need for HiJump)
- Mickey Mouse Room (alternative to CF grapple clip?)
- West Ocean (alternative to ice clip?)
- Wrecked Ship East Super Room: alternative to CF clip (farm the Coverns)
- PCJR: up through crumble? (not sure if this can work, since enemy hit kills momentum and crumble respawns. If it works, where you can jump back up before crumble respawns, then CF clip would probably also work)
- make item music tracks consistent, to eliminate music restarts that can happen between two item rooms
- see if we can do something about silent snails with Zebes asleep music
- for forced mode, also use tier below Basic?
- possible enhancements to momentum conservation patch
- remove need to be holding dash or to be in spin (probably bad)
- retain speed when turning around with spin? (probably bad)
- on ground, retain horizontal speed when unmorphing
- by pressing up (or jump, if spring ball not equipped) while holding forward and dash
- in air, retain horizontal speed when soft unmorphing while holding forward and dash
- handle runways with conditional physics (Volcano Room, Amphitheatre, East Pants Room)
- check why Tourian Escape Room 1 runway isn't allowing Speedball strat into Wrecked Ship Main Shaft (on Expert)
- maybe move enhanced Samus controls into separate option (instead of Max QoL)?
- enforce tech dependencies:
- e.g. enabling "canPreciseWalljump" should enable dependency "canWalljump"
- disabling "canWalljump" should disable dependent "canPreciseWalljump"
- harder item progression mode, where new item may be required to be used for the return path.
- custom demos?
- include a check that the client and server are matching versions and give a more meaningful error when they aren't
- look into botwoon requirements:
https://maprando.com/seed/-yvSvwjFlrfJN1NRxDi-Jw/data/visualizer/index.html
- QoL option for save station fast travel (in Max)?
- fix escape timer tech mapping to use reverse Amphitheatre notable for can_acid_dive
- fix missing Samus tile in Bomb message box (issue with map tile expansion patch)
- add logic override for strat to run under tourian blue hoppers from left (except with ultra-low QoL)
- logic: killing 3 musketeers with ice should require patience?
- fix toilet tile in botwoon's hallway with "vanilla map" option.
- handle (steep) slopes in runway length calculations
- 10 super botwoon should be possible in Expert (and 30 missile in Insane?)
- fix problem with disappearing typewriter text when pausing as escape sequence starts
- add a tip that you can share a seed using the URL.
- make graph traversals faster by using previous step for initial local states (probably not worth it?):
- we'd have to do a full graph traversal to get spoiler route as a separate step, to avoid getting weird long paths
- in sm-json-data: use Ship refill in G-mode strats:
- for strats that enter G-mode into Landing Site, use it, and then go back out still in G-mode
- fix gray door after mother brain when entering baby kraid (& metal pirates, boss rooms, etc.?)
- add patch for handling crashes? (to display the stack & registers)
- if possible, debug crash in Mt. Everest from Scottycro42 (https://clips.twitch.tv/DarlingSavageDogeMcaT-zgV9PF33MiawTpL2)
- oats seed Apr 1:
- main street shinespark energy
- kronic boost heatframes
- metal pirates hitbox doesn't need plasma
- take double-hits into account correctly with reserve energy.
- check if pants room internal door connects correctly in logic
- add option (enabled on Challenge) to not treat tanks as filler items anymore after giving Varia (including the step where giving Varia)
- maybe more general option to postpone unneeded filler items aside from missiles
- spoiler visualizer improvements (see GitHub issue)
- find some way to have forced mode take into account difficulty of defeating bosses (and other flags)
- for each flag, identify its tier using just the flag edge (not redoing a full graph traversal)
- then for the item placement, have the graph traversal treat that flag not as free but as whatever difficulty it was.
- fix graphics in door transitions?
- fix (sometimes?) glitched right door in GT. X-Ray showed a plasma beam inside it
- make quick reload work while in pause menu?
- refine cross room shinesparks:
- slopes
- fix bug where suit color does not change when changing suits while taking damage (e.g. lava dive)?
- clean up the web service, to reduce the amount of boilerplate plumbing settings around.
- figure out why some rooms are dark (some FX other than palette FX?)
- make separate option for patching out major glitches?
- include GT code, Spacetime beam (currently patched out)
- make OOB cause instant death?
- others
- Better validation/error-handling of web service
- Add note to strat in Post-Crocomire farming room to get to top-left with HiJump
(run on platform enemy and jump)
- Use separate worker pool to run randomization (to avoid blocking web requests)
- Rust cleanup:
- Use `serde_json` instead of `json` crate for loading sm-json-data.
- Clean up error handling: get rid of a bunch of remaining unwrap()'s, etc.
- Make Gravity-only Samus palette different from Gravity+Varia?
- Figure out how this can work with custom sprites.
- Consider rejecting cases where the set of bireachable item locations grows too slow or too fast.
- fix tiny bug: when bottom-left door of landing site is an area transition, the arrow shows up from the beginning
of the game (due to running the door ASM while loading the game)
- fix internal checksum in output ROM
- fix suit graphics not showing after getting suit (consequence of skipping animation)?
- have forced mode take into account return path?
- probably bad idea, because returning may not be required (before getting another item that makes it easier).
maybe someday?:
- minimizer mode? (select rooms to include randomly, hand-picked, and/or user-selected)
- make map rando for other hacks (e.g. project base, subversion?)
- would be a lot of work. we could invite others to help implement the logic
- randomize which rooms are heated or submerged in water.
- requires all new logic
rejected ideas (probably):
- set boss flag immediately when boss dies.
- balance boss distribution (one boss per area, corresponding to vanilla?)
- consider moving the MB barriers to the right one tile (or two?), to make them interfere less with ice zeb skip.
- Option for anti-softlock patches (e.g. in Moat, Early Supers, etc.)?
- disable acid trigger in Leodox room?