00:04in this video I'll be explaining exactly
00:07what I do to collect watts for rolling
00:09rods in 0.5 a presses but first we need
00:13to clear something up because every time
00:15I post a half a press video I get the
00:17same comments over and over asking what
00:19it means even though I always have a
00:22whole paragraph in the description
00:23explaining it which even starts with if
00:25you're wondering what the half a presses
00:27read this before commenting to ask but
00:30maybe what you guys need isn't a
00:31paragraph maybe you guys need an example
00:34so consider wing Mario over the rainbow
00:37not even the whole star just consider
00:39getting for that cannon platform which
00:41is a necessary part of getting the star
00:44so how many a presses does it take to
00:46get there well if you say zero that's
00:49wrong because then Mario can't go far
00:51enough if you say one well it's true
00:54that Mario can get there with one but we
00:56can do a little better we can do it in
00:58half in a press to do that we start the
01:01level already holding a and then we use
01:04that a press to reach the platform now
01:06hold on I know what you're thinking and
01:08a press is an a press you can't say it's
01:11only a half well TJ Henry Yoshi hear me
01:15out and a press actually has three parts
01:18to it when a is pressed when a is held
01:21and when a is released and together this
01:25forms one complete a press now usually
01:28it's the pressing that's useful because
01:30that's the only part that makes Mario
01:32jump however sometimes it's sufficient
01:35to just use the holding part which
01:37allows Mario to do little kicks to swim
01:40in water to fall slowly while twirling
01:43and to fall slowly with the wing cap and
01:45as for the release well there's
01:47currently no cases where that's useful
01:49or important so don't worry about that
01:52part now if we map out the required a
01:55presses for wing Mario over the rainbow
01:57it would look like this we merely need
01:59to hold a through each the cannon
02:01platform we need to press a to launch
02:03from the first cannon and we need to
02:05press a again to launch from the second
02:07so how many heat presses is that total
02:10well it appears to be three and if we
02:13were doing this star in isolation and
02:15yes it would be three but in a full game
02:18a button challenge run there are other
02:20he presses that occur earlier in the run
02:22such as this a press needed to get into
02:24the course so if we take that a press
02:27into consideration as well then how many
02:29eight presses would it take the naive
02:32answer would be for one to enter the
02:34course and the three within the course
02:36that we established earlier however we
02:39can do better we can actually do it in
02:41three by simply holding out the first a
02:43press to be used for the half a press
02:45because the half a press only required a
02:48to be held not actually pressed so in
02:52this fashion winged mario over the
02:54rainbow only adds on an additional two a
02:57presses to the run since the first a
02:59press just leeches off of a previous a
03:01press so to capture this phenomenon we
03:04call it two point five a presses on a
03:08you'd round that up to three but in a
03:10full game run you'd round it down to two
03:13so in conclusion since that first a
03:16press counts in some contexts but adds
03:19no additional eight presses in other
03:21contexts we refer to it as a half a
03:24press so going back to the video you can
03:27see that I start the level with the a
03:28button already held as indicated in the
03:31bottom left corner and so in the full
03:33game run this a press will just leech
03:35off of a previous one and so it won't
03:37incur an additional a press okay glad
03:40that's explained now what am i doing in
03:44here I'm using a trick called skull bug
03:46transportation you see like most enemies
03:50scuttle bugs have a home
03:51which is just a point in 3d space and
03:53they'll patrol a certain radius around
03:56so if mario enters that radius they'll
03:59lunge at him to attack but unlike most
04:02other enemies ass cuttlebug home can
04:04change positions because of a scuttle
04:07bug bumped into Mario the skull bugs
04:09home will update to where the scuttle
04:11bug was when the collision occurred so
04:13by strategically lowering the skull bug
04:15to the edge of its radius and bumping
04:18effectively transport the skull a bug
04:20and it's home so that's what I'm doing
04:23here note that we can't actually
04:24transport a stellar bug to outside of
04:27its native room they actually get stuck
04:29with the door so if your dream was to
04:31bring all the Stella bugs together for
04:33one gate Jamboree I'm sorry but it's not
04:36gonna happen also worth noting is that
04:38skull bugs will actually disappear if
04:40they walk into a wall while too far
04:42below their current home so I do have to
04:45be careful to avoid that it's pretty
04:47weird if you've never seen it before but
04:49I'm pretty sure they did it so that if a
04:51Stella bug jumps into a hole it wouldn't
04:53just walk around down there anyway I'm
04:55transporting the scuttle bug to the
04:57corner right below the watch for rolling
04:59rock star because next I do a trick
05:02called scuttle bug raising and here's
05:04how it works on the left I show a
05:06bird's-eye view of the scene and on the
05:08right I show a view from the side now
05:10when mario leaves the rolling rocks room
05:13the scuttle bug deactivates that's
05:15because the room and everything in it
05:17are only active when Mario's in the room
05:19or standing in a smaller region right
05:21outside the door indicated here in
05:24yellow so if Mario isn't in the rolling
05:27rocks room or in the yellow region then
05:29the room will be completely black and
05:31everything in the room will be invisible
05:33and won't move conveniently this allows
05:36us to raise the scuttle bug by
05:37performing the following steps first
05:39mario enters the scuttle bugs radius
05:42although the skull bug is invisible and
05:44can't move around it can still turn
05:46towards mario and activate a lunge then
05:48mario leaves the radius and the skull
05:51bug returns to facing its home next
05:53mario enters the yellow region to
05:55activate the skull bug the scuttle bug
05:58will perform the lunge that it started
06:00but cleverly we have mario exit the
06:02yellow region right when the skull bug
06:04is at the peak of its trajectory thereby
06:07deactivating it so it won't fall down
06:08and finally since the skull bug moved
06:11past this home it turns around to face
06:13its home once more now we've gotten all
06:16the height we could out of the skull
06:17bugs current lunge but that's no problem
06:20because we can just activate another
06:21lunge by repeating this procedure
06:23activate a lunge while the skull bug is
06:26deactivated reactivate the skull bug
06:28just for the upwards portion of its
06:30trajectory and then repeat as
06:32simple as that so that's what I do here
06:34and I have a second screen to show it
06:36from the skull bugs perspective
06:38fortunately the skull bugs radius isn't
06:40a sphere but a cylinder that extends up
06:43and down infinitely so really no matter
06:45how high the scuttlebutt gets we can
06:48continue to enter its area to activate
06:50its lunges and move it upwards there's
06:52no limit to how high we can raise it now
06:54it's worth noting that I only activate
06:56the skull bug while I'm not inside its
06:58radius so the sky bug will always lunge
07:01towards its home and not towards Mario
07:03this causes the skull bug to effectively
07:06travel straight up above its home but
07:08alternatively I could have activated the
07:10skull bug while inside of its radius and
07:12in that case the skull bug would always
07:14lunge towards Mario instead of towards
07:16otoni so it would actually make its way
07:18towards the door and then travel
07:20straight up from there that meant it's
07:22actually a little faster because we
07:23wouldn't have to wait for the skull bug
07:25to turn back toward this home before
07:27each activation however it wouldn't work
07:30for what we're doing because we need the
07:32scuttle bug to be right next to that
07:33corner in fact the top of that corner
07:36has a special property which we call a
07:38misalignment basically in the game's
07:40code there's a discrepancy between the
07:42way the game handles collision checking
07:44with floors versus walls this results in
07:47a one by one unit area where Mario can
07:49get under the floor without being pushed
07:51away by the walls and if Mario's less
07:54than seventy nine units under a floor
07:56they'll snap right up on through it so
07:58that'll be important later for getting
08:00up there anyway now it's time to build
08:02up some speed and I mean a lot of speed
08:05so they get that speed we're going to
08:07use a trick called hyper speed walking
08:09and here's how it works you probably
08:12already know that there are some slopes
08:14in the game that are too steep to stand
08:15up Mario just slides off of them but did
08:18you know that you actually can stand on
08:20these slopes if they're submerged in
08:23in fact the underwater portion of these
08:25slopes has a special property if you try
08:27running uphill on them you'll end up
08:29running backwards at an increasing speed
08:31with no upper bounds but in most
08:34this would cause us to end up in the
08:37of any real speed we can get a little
08:39more speed by running nearly parallel to
08:42the slope but ever so slightly uphill
08:43but eventually the slope runs out or we
08:47move too fast around a corner but there
08:49are some ways to have Mario walk while
08:51staying in place for example if there's
08:54a wall perpendicular to the slope then
08:56we can use that that allows Mario to
08:58build up quite a bit of speed before he
09:01breaks through however if the wall isn't
09:03perpendicular to the slope then we end
09:06up sliding down into the water
09:08that's because walls are really just
09:09rectangles that push Mario out
09:11perpendicularly so if Mario moves into a
09:14wall at an angle the game will calculate
09:16his intended next position then the wall
09:19will push that position out and then
09:21Mario ends up having a net movement
09:23along the wall so ultimately he'll end
09:26up moving into the water so is all hope
09:29lost well no because Tyler came he
09:32figured out that we could actually make
09:33use of the game you see the bottom of
09:35the GAE is a ceiling and the game
09:37doesn't like putting Mario too close to
09:40the area right under a ceiling because
09:42it doesn't think he fits so if we have
09:44Mario moved backwards into the ceiling
09:46the game will choose not to move him so
09:49we're free to build up speed in place
09:50but not infinite speed because we end up
09:53breaking free if our speed moves past
09:55the gate so what do we do we turn to
09:58redirect their speed and abounds notice
10:00that we now have enough speed so that
10:02our intended next position is past the
10:04wall and add a bounds and since the game
10:07doesn't like placing Mario at abounds it
10:09doesn't move him and instead just lets
10:11him stay in place just like the ceiling
10:13but unlike the ceiling and of bounds
10:16goes on forever so we can essentially
10:18build up as much speed as we want
10:20without having to worry about breaking
10:22free so now I do just that open the gate
10:25use the ceiling of the gate to build up
10:27some speed and then redirect my angle at
10:29a bounds to build up the rest now you're
10:32probably wondering what I'm going to
10:33need all this speed forward after all I
10:35do build up speed for 12 hours but to
10:38answer that we need to talk about
10:40parallel universes and if you thought my
10:42other tangents were complicated just you
10:45wait okay so Mario's position is a
10:47floating point number
10:49it's converted to a short when the game
10:50uses it to test for collision with four
10:52triangles in other words
10:54Mario's position can basically be any
10:56decimal number but it's converted to an
10:59integer between negative 32 768 and
11:02positive 32 767 inclusive so any
11:06fractional portion is truncated a
11:08numbers too big or too small or moves
11:10into this range using the modulo
11:12operator graphically that means that the
11:15position used for floor detection is
11:17always inside of this box
11:18so if Mario's in that box then his
11:21actual position and the position used
11:23for floor detection are the same albeit
11:25maybe off by a single fraction due to
11:27the truncation but if Mario leaves that
11:29box then his actual position and the
11:31position used for floor detection will
11:33separate since the position used for
11:36floor detection will just loop back
11:37around to remain in the original box so
11:40now I ask you this here's the course so
11:43if Mario is standing way over here where
11:45there's no land but the position used
11:47for floor detection is on lands can he
11:50stand over here the answer is yes as far
11:53as the game sees it Mario is in fact
11:55above land over here because the game
11:57actually checks for land over here so
12:00for all intents and purposes there is
12:02essentially land over here a copy of the
12:05original map and this is what we call a
12:07parallel universe or a PU and this
12:10applies to every one of these boxes so
12:12there's actually a grid of nearly
12:14infinite P use here is it's a scale
12:16diagram of the PU grid as you can see
12:19that P use are actually pretty far apart
12:21but I'll be taking some creative
12:23liberties and drawing them closer
12:25together for the sake of clear visuals
12:27now P use aren't as glamorous as you
12:30the graphics are only found on the
12:32original map so that P use are
12:34completely invisible furthermore hues
12:36have no objects like elevators they're
12:38item blocks no enemies no items like
12:41coins or stars and not even any walls so
12:44really it's pretty barren furthermore
12:47the n64 console will actually crash if
12:49you go to a PU and let the camera follow
12:52you but luckily we can avoid that crash
12:54by fixing the camera in place on the
12:56original map before leaving it though
12:58that does make it even harder to tell
13:00what's going on in the
13:02use so as you just saw you can travel to
13:05appeal if you have enough speed but it's
13:08not as simple as you might think if you
13:10have just enough speed to reach the P
13:12you won over it won't actually work
13:14that's because the game actually checks
13:16if Mario is above land at each quarter
13:18step of his movement that means the
13:20simplest pu movement is moving over four
13:22P use at once that way each quarter step
13:25is above land and therefore valid for
13:27simplicity we call this quadruple P
13:30distance one QP you now up until this
13:33point I've been glossing over a very
13:35important detail which I now need to
13:37clear up what if I told you that
13:39distance Mario moves isn't necessarily
13:41equal to his speed for example look how
13:44fast Mario moves at thirty one speed on
13:46this flat slope and now compare it to
13:49how fast he moves at the same speed on
13:51this steeper slope in both cases he has
13:53about the same speed but clearly he's
13:55moving at different rates that's because
13:58the distance Mario moves is only a
14:00portion of his actual speed and this
14:02portion depends on the slope of the
14:04ground the steeper the slope the smaller
14:06this portion is note that it only
14:09depends on the steepness not whether
14:11Mario is facing uphill downhill or
14:13sideways on the hill in these visuals
14:15blue will represent Mario's actual speed
14:18and green will represent the portion of
14:20it that he moves which we call Mario's
14:22de-facto speed so in these three
14:25pictures mario has the same speed but he
14:28has different de-facto speeds
14:30since he's standing on slopes with
14:31different steepness so if we want to
14:34move one qpu it's not sufficient to have
14:37qpu speed we need QP u2 facto speed
14:40which often means our actual speed will
14:42need to be greater than one QP you to
14:44compensate so to reiterate we need to
14:47increase our speed until our de facto
14:49speed syncs up with one QP you and the
14:52speed needed to do this is called the
14:54syncing speed so in this diagram the
14:56blue arrow represents the syncing speed
14:58when we have that speed the quarter
15:01steps of the de-facto speeds sync up
15:03with the P use and we can move now what
15:06I'm showing here is just the lowest or
15:08first syncing speed aka the speed to
15:12if we increase our speed eventually our
15:15the facto speed would sync up again when
15:17it covers a distance of two qpu
15:19and so we'd be able to move at that
15:21speed which is two times as fast as
15:23before so in general any multiple of the
15:26lowest syncing speed is itself a syncing
15:28speed and we'll cover multiple qpu at
15:32so remember every slope has a different
15:34set of syncing speeds and this can make
15:36routing tricky for example in the video
15:39where I do PU movement to reach the
15:41secret aquarium I had to traverse
15:43several different slopes first this
15:45slope that I used for hyper speed
15:47walking then this slope at the edge of
15:49the water then the flat ground of the
15:51castle foyer then the castle stairs
15:53which is really a steep ramp and then
15:56the flat ground of the up stairs and
15:57note that the stairs you see there are
15:59actual stairs and not a ramp so they're
16:02just flat grounds here is a graph
16:04showing the sinking speeds for each of
16:06these slopes and so these are the speeds
16:08I need in order to have PU movement
16:10while standing on each of these slopes
16:11naturally the steeper slopes have
16:14greater sinking speeds now keep in mind
16:16that I can only build up speed while I'm
16:18on the hyper speed walking slope once I
16:21leave it I can't generate any more speed
16:23so my speed will only decrease from
16:26there so to successfully perform this PU
16:28out I better have generated enough speed
16:31to meet each slope sinking speed in turn
16:33for example let's say I build up enough
16:36speed to reach the first possible
16:37sinking speed and I use that to go to
16:39the next slope then I could let my speed
16:42drop until I reach this slope sinking
16:44speed go to the next slope let my speed
16:47drop again until I reach this slope
16:49sinking speed go to the next slope but
16:51then I have a bit of a problem I have
16:53less than the required sinking speed and
16:55no way to gain anymore
16:57so is this route just impossible well no
17:00because these are just the slopes first
17:02sinking speeds but remember any multiple
17:05of these will work as well so now let's
17:07factor in each slope second sinking
17:09speed as well these speeds allow Mario
17:11to move to qpu at once instead of one so
17:14now if I instead build up enough speed
17:16to reach the second sinking speed of
17:18that first slope then I'll actually have
17:20enough speed to meet each sinking speed
17:23complete the route and if that didn't
17:25work we could have considered each
17:27slopes third sinking speed and so on
17:28until we did get it to work however
17:30which sinking speed we need to reach
17:33initially is kind of a big deal because
17:35reaching that first sinking speed takes
17:37about 12 hours and reaching that second
17:39sinking speed takes about 25 hours so if
17:42there's a way to use a lower sinking
17:44speed initially then that's a 12-hour
17:46save so how much speed will we need to
17:48generate for the watch for rolling rock
17:50star well keep in mind that even with
17:53access to unlimited horizontal speed we
17:56don't have any improved vertical
17:57mobility so to get to the top of the
18:00course we need to travel up slopes and
18:02ride up elevators so this will be the
18:04basic route start on the hyper speed
18:06walking slope navigate along the path up
18:09from the lake ride up this elevator ride
18:11up this other elevator make your way
18:13onto the amazing emergency exit platform
18:16which is the highest point we can reach
18:18and then launch to the watch for rolling
18:20rocks platform by itself that still
18:23won't be enough height but the scuttle
18:25bug weak positions will provide the
18:27extra bounce we need so this is the
18:29graph of the sinking speeds of these
18:31unfortunately we run into a bit of an
18:34issue with the path up from the lake
18:35that area is actually made up of dozens
18:38of floor triangles that each have
18:40different slopes but that didn't stop me
18:42after careful observation and scrutiny I
18:45isolated six triangles which I named t1
18:48through t6 these triangles have strictly
18:51decreasing steepness so we can meet each
18:53of their sinking speeds in turn
18:55additionally their Heights span the
18:58entire vertical distance we need to
18:59cover to go from bottom to top without
19:01leaving any gaps in between so by using
19:04the slopes of those six triangles we can
19:06complete the blueprint for our route
19:08allowing us to utilize the first sinking
19:11speed of that initial slope so building
19:13up speed only takes 12 hours instead of
19:1525 now we're almost ready to go back to
19:18the video but there's just some final
19:20points I want to make for example you
19:22don't need to have exactly the sinking
19:24speed to traverse B use if you have
19:26slightly less than the sinking speed
19:28you'll move relatively forwards in the
19:30map if you have slightly more than the
19:32seeking speed you'll move relatively
19:35and the further you deviate from the
19:37sinking speed the greater this relative
19:39movement will be additionally if you
19:41adjust your angle slightly away from the
19:43cardinal direction you can move
19:45relatively sideways but keep in mind
19:48that even the smallest possible angle
19:50deviation will be magnified over the QP
19:52of distance and thus mario will be sent
19:55multiple feet to the side now based off
19:57what I've told you you might think you
19:59can only travel multiples of 4p use at a
20:02time but that's not actually true for
20:04example if one of your quarter steps is
20:07out of bounds or over a ceiling then
20:09that quarter step will be invalid and
20:11since Mario moves up to but not
20:13including the first invalid quarter step
20:15he can in fact end up stopping
20:17prematurely at one of the quarter steps
20:19separately if you change slopes during a
20:22quarter step your the fact of speed will
20:24change and you'll alter the distance of
20:26the next quarter step and so most likely
20:29it will no longer sync up with a PU and
20:31you'll end up stopping on the new slope
20:33finally for simplicity the set of P use
20:36that are multiples of four away we call
20:39the QP you grid and if Mario's on the QP
20:42you grid then we say he's QP you aligned
20:44remember moving a multiple afford to use
20:47is easy but moving a different amount
20:49required special conditions like added
20:51bounds or changing slopes so if your QP
20:55u aligns it's easy to stay that way and
20:57if your QP you misaligned it's easy to
20:59stay that way as well now if you become
21:02QP you misaligned you'll need to correct
21:04that in order to return to the main map
21:06but that can be difficult if you're not
21:09near at a bounds and your sequence of
21:10slope changes is predetermined so
21:13managing your QP you alignment is one of
21:15the many challenges of planning a pu
21:17route okay so now we're finally ready to
21:20resume the main video and watch the pu
21:22movement just kidding first I need to
21:24explain what these screens are these
21:26extra screens will help you follow along
21:27during the pu movement the standard view
21:30is just a view that the game shows but
21:32since I fixed the camera on the main map
21:33to prevent the game from crashing this
21:35screen won't tell you very much the
21:37relative view shows where I am and each
21:39to you this is what it would look like
21:41if I let the camera follow Mario around
21:43and if P use weren't invisible the
21:46relative map also shows where I am in
21:48each view but from an overhead
21:49perspective and finally the PU map shows
21:52where I am in the pu grid okay so now
21:54let's really start so as I explained
21:57earlier I navigate up the path from the
21:59lake using the six triangles I isolated
22:01and I've marked them in the relative map
22:03so you can follow along so basically I
22:06get onto a triangle let my speed drop
22:08until I'm around the sinking speed for
22:10that triangle slope then navigate uphill
22:12on the triangle and then move to the
22:14next triangle using what I taught you
22:16you should be able to follow along with
22:18my movement for example I'm able to move
22:20relatively backwards because I have
22:22slightly more than the sinking speed
22:24whenever I move sideways it's because
22:26I'm slightly angled away from the
22:27cardinal direction and every time I move
22:30from triangle to triangle my qpu
22:32alignment changes but cleverly I planned
22:34it in such a way that they'd all cancel
22:36out by the end and I'd end up qpu
22:38aligned so right now I'm on the sixth
22:40triangle so I do a little zigzag to
22:42bring me back towards the main map as
22:44you can see on the PU map screen
22:46remember I need to return to the main
22:48map in order to access the elevator
22:50since there are no objects in key use as
22:53you may have noticed right there the
22:54elevator didn't register me until I
22:56started kicking and that's actually the
22:58reason why I've been holding a this
23:00entire time by holding a I can press B
23:03to do these little kicks without these
23:05kicks I go through the elevator but with
23:07the kicks I can ride it up to gain
23:09precious height okay so now we're
23:11closing in on the end the final movement
23:13I do will be a kick on to the amazing
23:15emergency exit platform then turn and
23:17launch myself towards the skull bug that
23:19movement will bring me ten PU to the
23:21right and three PU down but since I want
23:23to end up on the main map I reverse that
23:25displacement and so position myself
23:27three PU up and ten PU left while doing
23:30that I simultaneously positioned myself
23:32in the correct relative part of the map
23:33to make the movement work okay now don't
23:38and there we go by bouncing on the
23:40Stella bug in ground-pounding in the
23:42misalignment I achieve just enough
23:44height to get on to the rolling rocks
23:45platform here I show an abridged version
23:48of the scale bug raising in case earlier
23:50viewing was too choppy to follow as you
23:52can see the scuttle bug moves back and
23:54forth above its home at the end you can
23:57see I do two special raisings purely to
23:59move him sideways and closer to the
24:00corner since he ended up being too far
24:02away for the bounce to work and here I
24:05show an alternate angle of the final PU
24:07movement the scuttle bug actually became
24:09active once I entered the PU version of
24:11this room so I really only had a handful
24:14of frames to get over here before he
24:15fell too far and there you have it
24:18watch for rolling rocks done in 0.5 a
24:20presses man I did not expect this video
24:23to become 25 minutes long when I started
24:25commentating but I guess there was just
24:27that much to explain hopefully you were
24:30able to follow along with my
24:31explanations and visuals learn something
24:33new and had an enjoyable experience so