Cynimal
Optimal No Turn Strats (10% speed)
updated
There are various ways to trigger a lagback. In general, they require that the player has at least 0.25m/t of horizontal speed, and is not in creative mode. Some known triggers are:
- moving in a cobweb
- moving close to a wall
- sneaking while landing in such a way that the player is at least 1 block above the ground on the tick before landing.
- sneak glitch (this video)
Additionally, here are some triggers that don't have a speed or gamemode requirement:
- getting stuck inside a block
- colliding with a boat
The reason why lagbacks happen is due to the built-in anticheat verifying that the player’s expected movement matches their actual movement: in order to do that, it recalculates the player’s motion starting from their previous position. However, it forgets to reinitialize the side-effects of the original movement, notably the onGround and inWeb flags, which may cause a discrepancy.
See https://www.mcpk.wiki/wiki/Lagback for more detailed info. This glitch is still being looked into.
-
Done with macro because I’m lazy and have skill issues. Actually not difficult at all. 6bm is for convenience and easy setup, less momentum is possible. Probably less consistent in multiplayer, tap jump instead of holding.
Unedited footage: youtu.be/_2moLW5cLyQ (tickrate 1)
TAS performed with MPKmod (github.com/kurrycat2004/MpkMod)
This is a bit different from my usual parkour videos, but I figured I should expand my content to all sorts of movement in Minecraft, and this strat idea has been sitting in the back of my mind for a while.
COMPARISON (reminder: tick = 0.05s)
-Holding jump makes you go up by 1 block every 10 ticks (avg speed: 2b/s)
-Timing your jumps makes you go up by 1 block every 9 ticks (avg speed: 2.22b/s)
-This new strat makes you go up by 2 blocks every 12 ticks (avg speed: 3.33b/s)
INPUTS:
Fortunately this strat can be repeated with the same inputs, because the player's speed is cancelled against a block at the start of every cycle.
Initial movement:
Position yourself at the edge, facing forward. Move 1t backward.
The player has to start on an elevated block as shown in the video.
Repeated Cycle:
Sprint, jump, and hold forward for 3 ticks. All the while, place a block then light it on fire.
Wait a few ticks, place a block, move 3t backward before landing.
NOTES:
- Footage shown is in 1.8, but it should work up to 1.16 (there is a slight difference in 1.9+ as the player jump 0.003b higher).
- Not guaranteed to work 100% consistently (singleplayer uses an internal server which does some funky stuff) - this strat will work better with a low tickrate and low CPU usage. (I recorded it at 1tps)
- Probably doesn't work on servers (not reliably at least)
- Probably too precise for non-TAS (and even no-playback TAS)
- It may be possible to improve this strat to make the player go up 2 blocks every 10 ticks instead of 12 (fire damage cooldown is exactly 10 ticks, so that's the lower bound). Improving it by just one tick is useless for reasons that are a bit technical (in 1.8, this strat is supposed to be 11 ticks per cycle, and the first cycle may actually be that long, but the following cycles conform to the even ticks rule)
- There is a way to jump up 2 blocks in 9-10 ticks, but from my testing it is very inconsistent and cannot be used repeatedly. (jump and take fire damage at the same time, no need to move the player back and forth)
EXPLANATION
When the player jumps on the edge of a block, it causes the internal server to think the player hasn't jumped at all - in this state, taking damage causes a weird behavior, and can activate a jump remotely. I'm not gonna go on detail here because I don't fully understand how or why it works yet.
This glitch is related to the "slime glitch" which makes you bounce higher when taking damage (same causes)
Once you understand how stepping works, it's quite easy to visualize why blip-ups happen.
Slight update to the color scheme of the animation - I find this version more faithful to Minecraft's aesthetic (the previous sky color was way too saturated, and the lighting was off). Still improvements to be made.
The next videos will cover jump-cancelling, and wall blips (which are harder to explain because it involves all three axes)
0:00 - Introduction
0:25 - "Normal" Blips
1:32 - Blip-ups
Essentially, the only thing that sets blips apart from regular stepping is that the game resets the bounding box to the player's current height when attempting to step up (it would be more natural to have it reset below the player, at ground level).
Blips are basically the same in Pre-1.8. The 1.8+ alternative method is not mentioned in the video because it involves ceilings, which are not relevant to blips in general, but you can imagine the difference this could potentially have for Pre-1.8 vs 1.8+.
Also, carpets don't have a collision box in 1.7.
Blip-ups are patched in 1.14+, but interestingly that version introduces a new blip variant, the "blip-down", which is not quite as useful.
(you can ignore the following if you don't care about version 1.8.0 specifically).
One thing to note (and I'll mention it again in the video concerning jump-cancelling) is that 1.8.0 has a slight caveat to the way it handles "moving the bounding box back down" (e.g. 1:17) in the context of blips - it moves 0.6b downward regardless of the amount it was previously brought up. When no ceiling is present, this doesn't matter as the height is increased by 0.6, then decreased by 0.6. But if there is a ceiling, the resulting height could end up lower than expected, and entities can even glitch into the ground (especially noticeable when attempting to grind in 1.8.0, which doesn't work in that version).
Ocean by KV youtube.com/c/KVmusicprod
Creative Commons — Attribution 3.0 Unported — CC BY 3.0
Free Download / Stream: http://bit.ly/2OCvpHU
Music promoted by Audio Library youtu.be/a8ctDtA7OK8
cf: bugs.mojang.com/browse/MC-3337
A short footnote following my previous video on the topic of stepping (youtu.be/Awa9mZQwVi8).
This bug is very situational and has limited applications (if any), but I thought it was interesting that the pre-1.8 bug was still present in some way.
I don't think this warrants a bugfix, as it would require a major rehaul of the movement code to fix completely (something which Mojang hasn't proven to handle very well. I'm looking at you, 1.14)
Finding a setup is the hardest part: you need to have the right ceiling heights and exactly 1 pixel distance between the first and second blocks (that's because you would have ~0.098 speed when moving against the wall, so a gap of 0.125b would be too much).
Fortunately I found this very simple setup for 1.8 (6 layers of snow, small cocoa)
0:00 - Introduction
0:14 - Stepping up a slab
1:05 - Stepping up a block?
1:54 - Stepping up a repeater under a ceiling (1.8+)
The information in this video should be accurate up to version 1.13, as the collision code was reworked in 1.14 to "fix" blip-ups.
Pre-1.8 bug: bugs.mojang.com/browse/MC-3337
Note: a "bounding box" is a cuboid that represents the player's collision space (dimensions: 1.8x0.6x0.6). Every tick, it gets moved independently of the player's position to check for collisions with the environment. Blocks have a "collision box" that is composed of one or multiple bounding boxes.
I don't explain what "moving the bounding box down" does in detail, because that's the part which causes blips to exist (next video). For now, imagine it snaps to the nearest floor below it (within a reasonable range).
The code doesn't behave exactly as described in this video, but this is the simplest way visualize how it works, and it's basically equivalent. (in particular, the 1.8 method is done before the legacy method, but the order doesn't matter in the end,).
0:00 - Introduction
0:53 - Vertical Movement
2:15 - Horizontal Movement
5:00 - Application: the 5 block jump
10:40 - Theory: the 6 block jump
I might have gone a bit too quickly over the notion of ticks. In summary, a tick is the standard unit of time in Minecraft, equal to 50ms. For a more detailed explanation, ub3r made a video on the subject:
youtu.be/0k1d6U04uC0
If you enjoy this kind of explanation video on technical parkour, be sure to stick around as I’ll make more of these in the future, hopefully with better production quality.
Note: I skip over some details to make this video concise. If you’re interested in the complete documentation, check out the Minecraft Parkour Wiki.
Here’s the link to the Movement Physics page: https://www.mcpk.wiki/wiki/Movement_Physics
If you're wondering where these formulas come from, they are based on the source code, and were confirmed experimentally.
===================================
Media:
Dream's video:
youtu.be/mkmSks-M3tc
ub3r's 5 block jump video:
youtu.be/Qw5dyML-KJE
Music:
Slime Rancher OST - Dry Reef Relaxed
Slime Rancher OST - Ranch Wistful
Slime Rancher OST - Indigo Quarry Relaxed
Slime Rancher OST - Indigo Quarry Late Night
Composed by Harry Mack
http://www.harrymack.com
These are advanced strats for every short momentum configuration (from 0.125bm to 1bm).
Note: optimal strats for Tier 0 jumps. See Edit for more info.
10% speed raw footage (with details in the description): youtu.be/r9J_WnAz5SQ
I consider a strat to be "optimal" if its jump distance for Tier 0 is less than 0.0005 away from the "perfect" strat (i.e. a strat that would use as little backward speed as possible). The difficulty here is to find strats that satisfy that condition while still being feasible by a human in real-time.
You'll notice that for some momentums, I use a cocoa or skull. It doesn't actually matter, as -0.25 is still Tier 0, so it's still "flat" despite the appearance.
I do that either because the momentum cannot be built otherwise, or because the jump cannot be built otherwise.
I selected some precise jumps to demonstrate these strats:
0.125bm T(1) 3.9375b (poss by 0.0009)
0.1875bm T(3) 3.375b (poss by 0.0005)
0.25bm T(-4) 5.375b (poss by 0.0050)
0.3125bm T(0) 4.25b (poss by 0.0007)
0.375bm T(-7) 6.25b (poss by 0.0045)
0.4375bm T(2) 3.6875b (poss by 0.0032)
0.5bm T(-5) 5.6875b (poss by 0.0085)
0.5625bm T(-1) 4.5625b (poss by 0.0004)
0.625bm T(-8) 6.5625b (poss by 0.0071)
0.6875bm T(1) 4.0b (poss by 0.0016)
0.75bm T(-4) 5.4375b (poss by 0.0050)
0.8125bm T(-2) 4.875b (poss by 0.0014)
0.875bm T(3) 3.4375b (poss by 0.0012)
0.9375bm T(-2) 4.9375b (poss by 0.0013)
1.0bm T(5) 2.875b (poss by 0.0033)
Where T(X) means Tier X.
Of course, you could combine 45° strafe with these strats to jump further.
======================================
Edit:
Fire told me something I've never considered: Running for 1t before jumping makes a strat less adapted for low tiers, as you jump with further distance but less speed.
All these strats were calculated with Tier 0 in mind, but I mistakenly use them for other tiers in this video.
- For 1t-run strats shown, they are still better for positive Tiers.
- For 0t-run strats shown, they are still better for Negative Tiers.
Determining when 1t or 0t run is more suitable is a more tricky problem, and depends on the height of the jump considered.
Also, Fire found a better strat for 0.875bm: youtu.be/kE4SSKuk8rQ (better by ~0.0007).
There are also better strats that involve sneaking mid-air. I'll make an improved version of this video at some point, which will cover the run 1t / 0t differences mentionned above.
======================================
Music: Slime Rancher OST - Reef Night
Done with macros and Tickrate Changer
Inspired by wolf2115's vid (they did it with 3bc mm)
youtu.be/etFYDXfW5C0
For an RTA-viable strat, I think you could just use the 2t-backwalk strat, in that case you shouldn't worry about doing a perfect 45° for the first jump as you would overjump the momentum otherwise.
Done with macros and tickrate 2.
Requires 2 strafes, done with macros and tickrate 2.
Jump length: 3.678654645
Max flat mm distance: 3.678743857
Possible by 0.00004 (with the strat shown)
Probably possible with less strafes, but I didn’t feel like finding the minimum momentum required for such a precise jump.
This is the most precise linear jump for tier 2. I might even say this is the most precise linear jump for tiers 5 to -5.
Tiers explanation by ub3r: youtu.be/1tWXifGkNVw
This jump is only possible with the use of an extremely precise mechanic called Half Angles, which I already used in my sprintless 3b video: youtube.com/watch?v=19CNqn5r95o
Half Angles are specific facings that exploit the sin() and cos() functions through floating point errors and type-casting inacurracies. The player's facing is a floating point number, but Minecraft only considers 65536 angles.
Half Angles lie in between these 65536 angles. Example: https://i.imgur.com/osfu7TH.png
Tier 2 max flat mm distance:
without HA: 3.678653691 (135°)
with HA: 3.678743857 (135.0055°)
difference: + 0.00009
I made a program to bruteforce jump configurations to find the most precise ones.
Here's the output for tier 2 (top 10):
X pixels: 40, Z pixels: 60, delta: 0.000089 (this jump)
X pixels: 32, Z pixels: 64, delta: 0.001789 (youtu.be/71cLK6qb9Zk)
X pixels: 47, Z pixels: 55, delta: 0.002426
X pixels: 43, Z pixels: 58, delta: 0.003382
X pixels: 16, Z pixels: 68, delta: 0.006891
X pixels: 26, Z pixels: 66, delta: 0.007743
X pixels: 22, Z pixels: 67, delta: 0.008488
X pixels: 38, Z pixels: 61, delta: 0.008488
X pixels: 34, Z pixels: 63, delta: 0.009339
X pixels: 48, Z pixels: 54, delta: 0.009871
Thanks to ub3rl337z4ur for helping with macros and gathering jump distances.
Music: Slime Rancher OST - Desert Firestorm
Quad triple does require 45° strafe.
Sensitivity setting at "0%" (minimum).
Technical Block:
Under 3bc and without 45°, you can jump at most 3,9792m.
Ideally, to chain 3bc triple neos, you'd want to jump exactly 4m for each triple.
Therefore, you lose ~0.02m per jump, which is unsustainable for extended chained triples.
Using the yaw 5898194.5, you can make no sprint 3b by 0.007 in vanilla!
old description:
Yes, this jump is optifine-only (with Fast Math activated)
Normally, this jump would be impossible by 0.0005 on Vanilla MC.
The facing I use might seem random, but is actually very precise (134.82422°)
A few notes about this glitch:
The player's facing (yaw) is a floating point number, but Minecraft only considers 65536 angles (4096 with Fast Math).
The trick is to exploit sin() and cos() functions through floating point rounding errors.
This exploit is only possible for a few values, which I call "half angles" due to their strange properties.
This glitch is not specific to Optifine, but Fast Math amplifies the effect of half angles by up to 16x.
In summary, this is a sort of "advanced 45° Strafe" that has minimal effect on movement.
Here I do a penta triple in a breeze. All I need to do is tap the left direction key every 12 ticks, while holding sprint and jump.
Finding the right angle, set of inputs, and coords was the hardest part, and even still, I only managed to push this strat up to 5 chained triples.
I'll look more into this, but I'm confident there exists a set of coords for 20, perhaps even 100.
Sorry for the freeze cuts in the footage, the original demontration doesn't have that issue:
youtu.be/c9VpOFuSW0U
I like to call this "grinding": it's reminiscent of a Super Mario 64 TAS trick where you gain speed by going on and off a ledge.
Here's how it works:
Tick 1: run outside the headhitter.
Tick 2: Adjust the angle towards the inside of the HH and jump.
Tick 3: Readjust the angle towards the outside and run for a tick.
Etc...
Why is it better than regular HH momentum?
a regular jump below a 2 block ceiling lasts for 3 ticks: this means you can only jump every 3 ticks. However, this trick allows to jump every 2 ticks, which is more efficient to gain momentum
Note that it's increasingly harder to perform this trick, as the angles are very precise and difficult to chain.
By repeatedly going in and out of the 2bc, and jumping every 2 ticks, we can gain a lot more momentum on HH jumps.
This strategy gives the same properties as trapdoor HH momentum,but requires an inhuman amount of precision.
For 5b, 3 jumps of hh momentum are needed. Unfortunately, backward momentum is required to achieve this, on top of grinding and pressing spacebar 10 times per second.
Therefore, this jump is unlikely to be possible in real time.
By repeatedly going in and out of the 2bc, and jumping every 2 ticks, we can gain a lot more momentum on HH jumps.
This strategy gives the same properties as trapdoor HH momentum,but requires an inhuman amount of precision.
For 4+1, 3 jumps of momentum are necessary. Fortunately you don't need backward momentum for it and can focus on grinding the edge
0.4bm (1bm walled on both sides) should be impossible with linear momentum, even with strafes.
Impossible without falling (Tier -1 mm at least)
Possible by less than 0.001
It turns out falling is the best momentum for walking.
Horizontal speed while airborne is given by the formula f(V) = V*0.91 + 0.0196 (// + 0.02 if strafing)
This speed asymptotes to 0.2177... (// 0.222... if strafing) which gives enough momentum to do 3b
Couldn't be arsed to find the minimum height to gain sufficient speed so I just tested from y=256.