Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions region/brinstar/pink/Waterway Energy Tank Room.json
Original file line number Diff line number Diff line change
Expand Up @@ -303,12 +303,13 @@
"comeInShinecharged": {}
},
"requires": [
{"shineChargeFrames": 40},
{"shineChargeFrames": 20},
"canHorizontalShinespark",
{"shinespark": {"frames": 155, "excessFrames": 10}}
{"shinespark": {"frames": 152, "excessFrames": 10}}
],
"clearsObstacles": ["A"],
"flashSuitChecked": true
"flashSuitChecked": true,
"note": ["Enter with a small spin jump."]
Comment thread
osse101 marked this conversation as resolved.
Outdated
},
{
"id": 14,
Expand Down
301 changes: 292 additions & 9 deletions region/maridia/inner-pink/Aqueduct.json
Original file line number Diff line number Diff line change
Expand Up @@ -734,22 +734,54 @@
{
"id": 21,
"link": [2, 1],
"name": "Stutter Water ShineCharge",
"name": "Stutter Water Shinecharge",
"entranceCondition": {
"comeInRunning": {
"speedBooster": true,
"minTiles": 2.4375
"comeInStutterShinecharging": {
"minTiles": 2
}
},
"requires": [
"h_canUsePowerBombs",
"canStutterWaterShineCharge",
"canShinechargeMovement",
Comment thread
blkerby marked this conversation as resolved.
Outdated
"h_canShineChargeMaxRunway",
{"shinespark": {"frames": 25, "excessFrames": 11}}
{"or": [
{"shinespark": {"frames": 25, "excessFrames": 11}},
{"and": [
"canMidairShinespark",
{"shinespark": {"frames": 22, "excessFrames": 11}}
]}
]}
],
"clearsObstacles": ["A"]
},
{
"link": [2, 1],
"name": "Very Precise Stutter Water Shinecharge",
"entranceCondition": {
"comeInStutterShinecharging": {
"minTiles": 1
}
},
"requires": [
"h_canUsePowerBombs",
"canPreciseStutterWaterShineCharge",
"canInsaneJump",
"canShinechargeMovement",
Comment thread
blkerby marked this conversation as resolved.
Outdated
"h_canShineChargeMaxRunway",
{"or": [
{"shinespark": {"frames": 25, "excessFrames": 11}},
{"and": [
"canMidairShinespark",
{"shinespark": {"frames": 22, "excessFrames": 11}}
]}
]}
],
"clearsObstacles": ["A"],
"note": [
"With only 1 tile of runway, this requires a single-frame stutter (release forward then repress on the next frame), on the last possible frame."
]
},
{
"id": 22,
"link": [2, 1],
Expand Down Expand Up @@ -902,16 +934,69 @@
{
"id": 27,
"link": [2, 2],
"name": "Stutter Shinecharge, Shinespark Return",
"name": "Stutter Shinecharge, Leave With Spark",
"entranceCondition": {
"comeInRunning": {
"speedBooster": true,
"comeInStutterShinecharging": {
"minTiles": 2
}
},
"requires": [
"canShinechargeMovementComplex",
"canStutterWaterShineCharge",
"canShinechargeMovementComplex",
{"or": [
{"shinespark": {"frames": 12}},
{"and": [
"canShinechargeMovementTricky",
{"shinespark": {"frames": 3}}
]}
]}
],
"exitCondition": {
"leaveWithSpark": {}
},
"unlocksDoors": [
{"types": ["super"], "requires": []},
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
]
},
{
"link": [2, 2],
"name": "Water Shinecharge, Hero Shot Leave With Spark",
"entranceCondition": {
"comeInRunning": {
"minTiles": 0.4375,
"speedBooster": true
}
},
"requires": [
"canWaterShineCharge",
"canShinechargeMovementTricky",
"canHeroShot",
{"shinespark": {"frames": 29}}
],
"exitCondition": {
"leaveWithSpark": {}
},
"unlocksDoors": [
{"types": ["super"], "requires": []},
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
],
"note": [
"Start with low run speed by positioning exactly 2 pixels from the door."
]
},
{
"link": [2, 2],
"name": "Very Precise Stutter Shinecharge, Leave With Spark",
"entranceCondition": {
"comeInStutterShinecharging": {
"minTiles": 1
}
},
"requires": [
"canShinechargeMovementComplex",
"canPreciseStutterWaterShineCharge",
"canInsaneJump",
"h_canShineChargeMaxRunway",
{"or": [
{"shinespark": {"frames": 12}},
Expand All @@ -927,6 +1012,204 @@
"unlocksDoors": [
{"types": ["super"], "requires": []},
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
],
"note": [
"With only 1 tile of runway, this requires a single-frame stutter (release forward then repress on the next frame), on the last possible frame."
]
},
{
"link": [2, 2],
"name": "Precise Stutter Shinecharge, Leave Shinecharged (5-tile runway)",
"entranceCondition": {
"comeInStutterShinecharging": {
"minTiles": 5
}
},
"requires": [
"canPreciseStutterWaterShineCharge",
"canShinechargeMovementTricky",
{"shineChargeFrames": 130}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

150 at extreme

],
"exitCondition": {
"leaveShinecharged": {}
},
"unlocksDoors": [
{"types": ["super"], "requires": []},
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
],
"note": [
"With a runway of 5 tiles (open end) in the other room,",
"the ideal timing for the stutter is to release forward for 5 frames, and repress forward on the last possible frame before the transition.",
"Other timings can work, but will gain the shinecharge further from the door, leaving fewer shinecharge frames remaining.",
"After gaining the shinecharge, continue holding forward in order to make Samus stand.",
"Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge."
]
},
{
"link": [2, 2],
"name": "Precise Stutter Shinecharge, Leave Shinecharged (4-tile runway)",
"entranceCondition": {
"comeInStutterShinecharging": {
"minTiles": 4
}
},
"requires": [
"canPreciseStutterWaterShineCharge",
"canShinechargeMovementTricky",
{"shineChargeFrames": 140}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

155 at extreme

],
"exitCondition": {
"leaveShinecharged": {}
},
"unlocksDoors": [
{"types": ["super"], "requires": []},
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
],
"note": [
"With only a runway of 4 tiles (open end) in the other room,",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried 4 and 5 tiles for a while and couldn't get close to leaving with frames with either.
I was able to leave with ~15 frames using the moonwalk trick instead of jumping (moonwalk then switch to running forward on the next frame).

These strats don't scale down since you lose so many frames to a suboptimal input, so they need stronger requirements.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I think it makes sense to add "canInsaneJump" to all of these.

"the ideal timing for the stutter is to release forward for 4 frames, and repress forward on the last possible frame before the transition.",
"It also works well to release forward for 3 frames and repress on the last possible frame.",
"Other timings can also work, but may gain the shinecharge further from the door, leaving fewer shinecharge frames remaining.",
"After gaining the shinecharge, continue holding forward in order to make Samus stand.",
"Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge."
]
},
{
"link": [2, 2],
"name": "Precise Stutter Shinecharge, Leave Shinecharged (3-tile runway)",
"entranceCondition": {
"comeInStutterShinecharging": {
"minTiles": 3
}
},
"requires": [
"canPreciseStutterWaterShineCharge",
"canShinechargeMovementTricky",
{"shineChargeFrames": 150}
],
"exitCondition": {
"leaveShinecharged": {}
},
"unlocksDoors": [
{"types": ["super"], "requires": []},
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
],
"note": [
"With only a runway of 3 tiles (open end) in the other room,",
"the ideal timing for the stutter is to release forward for 3 or 4 frames, and repress forward on the last possible frame before the transition.",
"Other timings can work, but will gain the shinecharge further from the door, leaving fewer shinecharge frames remaining.",
"After gaining the shinecharge, continue holding forward in order to make Samus stand.",
"Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge."
],
"devNote": [
"The same shinecharge frames could be achieved with a closed end runway (effective length of 2.4375),",
"with a 3-frame stutter, but there doesn't appear to be any application."
]
},
{
"link": [2, 2],
"name": "Precise Stutter Shinecharge, Leave Shinecharged (2-tile runway)",
"entranceCondition": {
"comeInStutterShinecharging": {
"minTiles": 2
}
},
"requires": [
"canPreciseStutterWaterShineCharge",
"canShinechargeMovementTricky",
{"shineChargeFrames": 160}
],
"exitCondition": {
"leaveShinecharged": {}
},
"unlocksDoors": [
{"types": ["super"], "requires": []},
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
],
"note": [
"With only a runway of 2 tiles (open end) in the other room,",
"the ideal timing for the stutter is to release forward for 3 frames, and repress forward on the last possible frame before the transition.",
"Other timings can work, but will gain the shinecharge further from the door, leaving fewer shinecharge frames remaining.",
"After gaining the shinecharge, continue holding forward in order to make Samus stand.",
"Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge."
]
},
{
"link": [2, 2],
"name": "Precise Stutter Shinecharge, Leave Shinecharged (1-tile runway)",
"entranceCondition": {
"comeInStutterShinecharging": {
"minTiles": 1
}
},
"requires": [
"canPreciseStutterWaterShineCharge",
"canInsaneJump",
"canBeVeryPatient",
"canShinechargeMovementTricky",
{"shineChargeFrames": 175}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can get about 20 frames with the moonwalk trick, and at these requirements its probably the better approach

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting, looking into the moonwalk trick, then will update the requirements & notes

Copy link
Copy Markdown
Contributor Author

@blkerby blkerby Apr 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With a better stutter, I was able to get 30 shinecharge frames remaining: https://videos.maprando.com/video/6037. This is using a new, easier setup for the stutter which I found by accident (doing an arm pump by pressing up). It eliminates the need for the complicated subpixel normalization (to $3FFF), instead just using subpixels of $7FFF which can be obtained with the standard normalization, by backing into the corner below the door frame, then jump and mid-air turnaround (though that doesn't work here in Blue Boulder Room, because of the water). The simplified setup gives you the shinecharge a little further from the door but could be worth it for reducing the hassle.

Aside from the large impact on the 1-tile runway setup, the moonwalk tech also helps some with the 2-tile and 3-tile setups, so I updated those as well. The shinecharge frames are not really too optimized (e.g. put it in as 20 frames remaining for the 1-tile runway, though >30 is possible); I didn't want to push it too far since these strats are already very difficult. Could always be tightened later though.

],
"exitCondition": {
"leaveShinecharged": {}
},
"unlocksDoors": [
{"types": ["super"], "requires": []},
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
],
"note": [
"With only 1 tile of runway in the other room, this requires subpixel-precise positioning and a double frame-perfect stutter:",
"At the start of the run, Samus must be on the last pixel of runway with X subpixels of $3FFF or less.",
"Run toward the door, releasing forward for exactly 1 frame and pressing it again on the last possible frame before the transition.",
"After gaining the shinecharge, continue holding forward in order to make Samus stand.",
"Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge."
],
"detailNote": [
"Correct subpixels can be achieved using one of several methods:",
"1) press against the door ledge (or a wall aligned with it);",
"jump, and while mid-air, tap forward for exactly 1 frame to land with subpixels $BFFF,",
"moonwalk back for exactly 1 frame to end with subpixels $3FFF.",
"2) press against the door ledge (from a platform below, assuming one exists)",
"turn around (while on the ground), and moonwalk back two pixels,",
"then jump and mid-air turnaround onto the ledge;",
"if Samus jumped from the correct pixel but does not land on the ledge, then it was needed to moonwalk back 1 more frame;",
"in this case it is possible to retry by doing a mid-air turnaround back onto the platform, and moonwalking back for 1 frame.",
"3) if X-Ray is available, press against the door ledge (from a platform below, assuming one exists)",
"turn around (while on the ground), then jump and mid-air turnaround toward the door,",
"and use X-Ray to turnaround in place away from the door;",
"repeat this sequence 3 more times: jump, mid-air turnaround, X-Ray turnaround;",
"then do one more jump and mid-air turnaround, high enough to land on the door ledge,",
"and Samus should be in the correct position with subpixels $3FFF."
]
},
{
"link": [2, 2],
"name": "Water Shinecharge, Leave With Temporary Blue",
"entranceCondition": {
"comeInRunning": {
"minTiles": 0.4375,
"speedBooster": true
}
},
"requires": [
"canWaterShineCharge",
"canXRayCancelShinecharge",
"canXRayTurnaround",
"canLongChainTemporaryBlue"
],
"exitCondition": {
"leaveWithTemporaryBlue": {}
},
"unlocksDoors": [
{"types": ["super"], "requires": []},
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
],
"note": [
"Start with low run speed by positioning exactly 2 pixels from the door.",
"Use X-Ray to cancel the shinecharge early, to avoid getting hit by the angry snail."
],
"devNote": [
"This can also be done with a stutter shinecharge, which can shorten the temp blue chain,",
"but not by enough to remove the need for the canLongChainTemporaryBlue requirement."
]
},
{
Expand Down