This reminds me a little bit of a glitch in Portal 2. The player's hitbox for colliding with all props and physics objects is separate from the one that collides with walls. Upon touching any physics object (e.g. turret, cube, companion cube, chair), the physics hitbox takes over and teleports your other hitbox to it whenever possible. Otherwise, your normal hitbox teleports the physics hitbox towards it at all times. However, this does not account for rotation, and by carefully jumping and messing around with certain objects in the right way, you can rotate the physics hitbox along a certain axis without rotating the normal hitbox. Then you stop touching that object, get in the right spot against a thin wall and the rotation means that your physics hitbox is now inside of the wall, while your normal hitbox is not. You can touch that object again to bring the physics hitbox into action, which sees that it is inside of a wall and then teleports to the nearest open space (on the other side of the wall). This trick, called PPD (player physics deformation), is used in Portal 2 least portals speedruns to solve certain levels without portals. You can watch ruclips.net/video/d4A0l39GBTo/видео.html to know more about the uses of PPD.
People saying that Boats weren't meant to be raced on seem to forget the fact that Minecraft is supposed to allow you to do whatever you can think of with its mechanics. It's a sandbox afterall.
that’s not what sandbox means, if you can do it, it doesn’t mean you should do it. for example if you can leave the border of the map because of a glitch it doesn’t mean the developers intended for you to leave the map with a glitch
14:37 the counter argument is that the only limit is your imagination. if you want a boat racing minigame, then that is what minecraft is for that specific purpose
a sandbox game should have mechanics that support the sandbox, not harm it some bugs support the sandbox and player innovation (quasi-connectivity for example). others do not (like how laggy redstone dust is)
These are poor implementations and it obviously shouldn't work like that. Its fine for casual singleplayer on the water but imo in a sandbox game things should be refinded to work together. Afterall boats on ice is an intended mechanic. This is a multiplayer issue and I think fixing it could have benefits in many other areas with boats and minecarts in the future.
Wait so you want ice boats to be nerfed now? I thought you guys liked exploits and bugs and thought that players abusing them was in the spirit of Minecraft as a sandbox game?
That is basically how most of the multiplayer game are created - they not only need to calculate position and speed but it also has to PREDICT where players will be. Why? Because not everyone has the same internet speed and server is only ONE so it has to predict for every player where entities are. That is why in shooters shooting someone in the head will happen 2 meters off because game calculated via server that player's hitbox will be in this position. Same goes with minecarts, boats or shooting someone with bow and arrow. That is also why players who fall from very high position in multiplayer DIE multiple blocks up in air because game calculated sooner that THAT player already hit the ground
Minecrafts netcode isnt as refined and i assume its not based on rollback netcode at all, which would make a lot of these issues not happen or rather, not as often
Actually your explanation for shooter games is not quite right. It's because the player who is shooting gets the leeway. It feels worse to shoot and not get the shot rather than get shot
@@spin4team4096As a person who has friends on different continents, I constantly get half of that ping. It feels bad and often unfair but not completely unplayable.
@dudemanem it's like if you had 5 of yourself working on a game for 15 years, and half of the time you spend breaking your own code because past you or you #4 did an oopsie poopsie with the code.
Boats might be broken now, but at least it's not the old days where they had terrible controls and would shatter upon bumping into a lily pad I do hope they can improve the boats one day, maybe in a drop with the minecart improvement experiments?
My temporary solution to the problem: instead of lightning rods, use player heads, and make them face the direction of the user. And in the future add a plugin that re-syncs the boat and marker.
To be honest, most issues like the wall priority or clientside boat bumping seem easy to fix, only issue is that it needs a client mod. And when the client and server are modded anyway, might as well increase the update rate to every tick.
Hello! Video game physics programming teacher here, wall priority is an actual problem in many games. That zig zag pattern is meant to solve another problem: how do you tell the direction of the wall you hit? If you checked collisions diagonally, when you find a wall, you have no way of knowing the orientation. If you check one direction first and then the other, you can tell the orientation of the wall you hit because it has only one possibility. It does cause issues at high speeds, and there are ways to mitigate it, but it seems minecraft doesn't really try to mitigate it.
A lot of these issues revolve around the fact boat positions are handled weirdly and delayed. So why not... Make a plugin that removes player v player collision in boats? That would remove around 80% of the issues boats have, it would make races more skill dependent and less random, as you don't have to worry about a bunch of factors like server or internet delay. Sounds like a win win situation.
it makes racing a time trialling for 20-30 minutes and its not interesting at all also 1 small mistake will lose you a lot of positions which makes everything insanely stressful
@@paperyoshii I disagree. I think boat racing, which is essentially just racing, should not at all revolve around random variables. When the environment can randomly screw you over for no particular reason, e.g. being lagged into a boat and bumped, you cannot really do anything. It wasn't your fault, yet it still happened and you're now losing a lot of ranks from people over taking you. That's stressful, cause it's down to a throw of a die. It's unfair. When the environment is sanitized of all randomness, all the variables at play can be influenced and everything that happens happens for a reason. You cannot get randomly screwed over, everything depends on your skill. Now the only thing that determines the winner is skill and track knowledge. Everyone has equal odds and every mistake you make is your fault. That's fair and you can only blame your shortcomings.
@@jackg2568 right now we have learnt to live around bumping and with boatlag removed, it's pretty much fair game if you just respect your opponent's ghost boat and pit if they really slow you down that much. with pit strategy and all to account, racing is going to stay as it is and will continue to be exciting. most things are consistent and fair and most things will be your fault anyway this is coming from a professional here btw
The lightning rod thing reminds me of a game called Need For Madness Multiplayer, and the lag trails players abused to destroy other racers without being damaged themselves
6:39 The best option is to kick things up a notch and drive the balls out of your boat while in tandem. You can deliver the same bump to your opponent if you're fast enough ;)
to the people saying sandbox doesn't mean infinite possibilities, minecraft has map making tools baked into the game from command blocks and structure blocks to data packs and resource packs, race maps have always been popular in the game from parkour to capture the wool, so yes boat racing is indeed an intended machanic that should be fixed.
the problem with the boat bumping into the wall with the zigzag pattern can actually be useful, im not sure how but i know that its possible to glitch through walls using that bug
collision detection (or rather, collision *handling*) is honestly the hardest part of making a game i think people forget this when you're using a game engine that handles all that stuff, but to do it properly from scratch is just a MONUMENTAL effort.
the same hitbox problem happens with minecarts. Try using an execute at player summon armor stand command, then ride a minecart at speed 1000 and you will see it very quickly.
Boats can: -Clip through multiple solid blocks (more than 2) -Be somewhere different than they appear, even when stationary -Sometimes break after falling a certain distance, but not always -Time travel
Hey Purplers, I saw your videos on Redstone in Minecraft Java Edition and wanted to say I'm also a big fan of Redstone! I've been playing Minecraft for years and have built all sorts of Redstone contraptions. Like the 2x1 vertical doors which use pistons
Visual and backend disparity never has a good reason to exist whatsoever. Things happening out of your vision and control is inherently *not fun* which is why its incredibly important to make lag as much of a non-issue as possible
I'm surprised you didn't even mention the hitbox of the boat not rotating. Just like all hitboxes in minecraft, they are always aligned with the xyz axes to make collision detections easier. However, when you're close to diagonal walls, the hitbox may collide with the wall when the boat model doesn't.
The boats are a bit laggy because of interpolation: Everything in Minecraft actually lags slightly because the game is interpolating from the previous server tick to the current server tick. This stops the 20 tps movement of entities on the server from looking choppy on your screen, and the 0.5s measured is probably up to additional smoothing to reduce jitter from slight deviations in server TPS or network latency. It can't try to predict the next server tick to have the boat be where the server would place it when the next tick does happen without just running the next tick on the client, and even then it would have to know player's inputs before the players even press them. Add on network latency and perfectly synchronized clients are basically impossible. What's weirder is that the boats on your client also run at 20 TPS. Because programming.
Cool to see my fancy animated leader board appear in some clips. It's awesome to see the community I've been in (since 2021) and the things we've struggled with explained so nicely. -Luckyw0lf
This gives me the idea for a racing game in scratch where whenever the boats crash eachother all of their velocities get interchanged (THAT INCLUDES ROTARY VELICOTIES)
Remove the visual of everyone else's boat, and them, then make an npc ride a boat instead of the lightning rod, i know that you can do this but idk if it'll fix you bumping into their now unexisting boat?
Can't someone make a mod and server plugin that fixes the boat delay and bumping? It would probably have to reimplement boat movement completely, but would maybe be a quite useful mod…
I think that these bugs make the race more challenging and difficult because you have to constantly watching enemy boat and the path you will go so which add more content and entertainment in boat racing because for me i think just going to the path and skipping the enemy is boring but having these bugs made this racing more entertaining. i think it is a good bugs. Note: this is just my opinion 😅
3:59 erm ackshually, due to the laws of physics, a server on the same lan as you will still have ping (especially on a geographically-larger network such as at a school or office building, or if you are using wi-fi links in the path of the connection since those need to spend longer modulating and demodulating to do it correctly) in practice it should be very low (indeed, for some intents and purposes you could consider it nonexistent) in almost every case on a single LAN, but its still nonzero.
desynced boats and minecarts can be a hassle to deal with in redstone and comamnd contraptions too i had made a redstone railway switcher which relies on the player hitting a noteblock to switch tracks, and due to the desync the player only is able to hit the noteblock way after the minecart had already switched tracks on the server side, i just moved the noteblock forward a lot and fixed it but its really unintuitive this way
Janky fix idea for the zig zag movement issue. Could we maybe just check the slower direction when we detect a collision on the faster one? It should prevent collision in the example provided but im not sure if it wouldn't cause issues somewhere else
Okay, as a game dev I feel like it would be better to actually explain why a number of these are the case. Granted, in today's age of Microsoft owning Mojang, we could *probably* do better but it's also a matter of legacy and maintaining old gameplay and things of that nature. That being said: *Server sends boat packets every 0.15s* - If this is actually "server sends position packets every 0.15s" then this is a feature, not a bug. Generally, the strategy for packet optimization is "less packets = less data = better latency" so I could see minecraft servers sending position data every 3 ticks. This was most likely a limitation back in the early days of minecraft, and just has been kept since the packet sizes for servers are ever-increasing. And this _also_ means that yes, being "in tandem" is an intentional behavior, it's just that, minecraft boats weren't designed for racing originally so this feature isn't taken into consideration. *Wall priority* - This is a consequence of the collision algorithm. Admittedly, it's a topic that should have way more info than a youtube comment can contain, but I'll try to simplify it. The player's hitbox is a rectangular prism, which means it's _very_ easy to do simple calculations on an axis-by-axis basis, and therefore significantly faster. While there is a more correct solution for this, _(nerd warning: you can create a minkowski sum of the player against a velocity vector and use GJK with ERA against that)_ it's very slow, and given that Minecraft is designed to run on almost anything, and it's using almost an industry standard, it makes sense that they've gone with this route. *Boat lag* - This is actually a consequence of the standard entity-entity collision condition that Minecraft uses, and it's also while entities get velocity when cramming. Normally, if two entities are "inside" one another, the strategy is to push them apart. This is why on servers, you can push your friends around a bit, it gives "tangibility." Applying this to boats and their absurd speeds, Minecraft just uses the relative distance as the basis to push back, and the fact that the client is moving per-frame and the adjacent player "server" is moving per 3 frames, means that you get repeatedly changing distances which makes it all wonky. All that BoatLagFix does is just say "boats cannot collide with other entities" and that's how that gets fixed, from the Casual Minecraft Experience it still makes sense. *0.5 second desync* - What it *should* be is a 0.15 second desync, which makes sense with aligning against the every 3 frames rule from earlier... but yeah there's honestly no reason this should be a 0.5 second desync, it should at maximum align with the packet sending rule. Perhaps it _used_ to be a 0.5 second desync? Just my... lot more than 2 cents from the perspective of game designing and maybe it helps give insight into what Mojang or Notch were thinking/doing at the time.
I wonder how hard it would be to increase TPS serverside. Run three times faster (60TPS), but also decrease the speed per tick of everything to 1/3 so things are moving the same amount, just with more simulation steps in between.
There's so much more problem with boats. For example, the levitation effect works on then as long as nobody's in them. If someone's in them, they just fall
Mojang developers have to deal with 15 year old buggy notch code im not surprised a feature as old as boats don’t work so well nowadays. Unfortunately fixing a lot of these issues would probably require rewriting most of the boat code.
Good thing is they seem to be actively hunting down and fixing unwanted behavior in the game lately. They have significantly improved minecart behavior too. So maaaybe boats will see a update in the near future
Click this link sponsr.is/bootdev_purplers and use my code PURPLERS to get 25% off your first payment for boot.dev
Can I touch your hat?
Yippee first WAIT this is a a A SPONSER ahhhh come one
yay i can finally have a purplers on my shelf!!!!
My am fourth to reply
This reminds me a little bit of a glitch in Portal 2. The player's hitbox for colliding with all props and physics objects is separate from the one that collides with walls. Upon touching any physics object (e.g. turret, cube, companion cube, chair), the physics hitbox takes over and teleports your other hitbox to it whenever possible. Otherwise, your normal hitbox teleports the physics hitbox towards it at all times. However, this does not account for rotation, and by carefully jumping and messing around with certain objects in the right way, you can rotate the physics hitbox along a certain axis without rotating the normal hitbox. Then you stop touching that object, get in the right spot against a thin wall and the rotation means that your physics hitbox is now inside of the wall, while your normal hitbox is not. You can touch that object again to bring the physics hitbox into action, which sees that it is inside of a wall and then teleports to the nearest open space (on the other side of the wall).
This trick, called PPD (player physics deformation), is used in Portal 2 least portals speedruns to solve certain levels without portals.
You can watch ruclips.net/video/d4A0l39GBTo/видео.html to know more about the uses of PPD.
i think it's time we bring pig racing back
Just try not to fall of a cliff with them again.
Fr
Grabbing pigs with fishing rods just isn’t the same
*reciting lyrics of banana man*
i bought your plush but it still needs like 180 more orders :(((
at least they dont turn into sticks and planks on every moment anymore
make the Titanic look indestructible by comparison
I still get PTSD flashbacks whenever I see a squid
now it's only when you drop from extremely specific heights
@@azuquirtle or your crash outside the world border
it wasn't so bad, with this material, you could do a wooden axe and get way more wood!
People saying that Boats weren't meant to be raced on seem to forget the fact that Minecraft is supposed to allow you to do whatever you can think of with its mechanics. It's a sandbox afterall.
Yes i agree
Exactly what I think about when I hear people say boats weren't meant to be raced on
Just because you CAN do anything doesn't mean it's intended purpose was everything you can think of
There is the comment I’m looking for
that’s not what sandbox means, if you can do it, it doesn’t mean you should do it. for example if you can leave the border of the map because of a glitch it doesn’t mean the developers intended for you to leave the map with a glitch
14:37 the counter argument is that the only limit is your imagination. if you want a boat racing minigame, then that is what minecraft is for that specific purpose
a sandbox game should have mechanics that support the sandbox, not harm it
some bugs support the sandbox and player innovation (quasi-connectivity for example). others do not (like how laggy redstone dust is)
These are poor implementations and it obviously shouldn't work like that. Its fine for casual singleplayer on the water but imo in a sandbox game things should be refinded to work together. Afterall boats on ice is an intended mechanic. This is a multiplayer issue and I think fixing it could have benefits in many other areas with boats and minecarts in the future.
This was really fun to make! Thanks for having me on 😁Now for Mojang to fix the boat issues!
hey craftyz lol
The minecart knows where is it not supposed to be but goes there anyway
Mainly the fact that all of these mistakes would have been so easy to fix 10 years before but arent now
Wait so you want ice boats to be nerfed now? I thought you guys liked exploits and bugs and thought that players abusing them was in the spirit of Minecraft as a sandbox game?
@@quazimanipulation4121 Boats going fast on ice isnt a bug and neither is bumping. Dislocation and being ping based ofc i want that fixed
God that bumping compilation was painful
yeah
That is basically how most of the multiplayer game are created - they not only need to calculate position and speed but it also has to PREDICT where players will be. Why?
Because not everyone has the same internet speed and server is only ONE so it has to predict for every player where entities are. That is why in shooters shooting someone in the head will happen 2 meters off because game calculated via server that player's hitbox will be in this position. Same goes with minecarts, boats or shooting someone with bow and arrow.
That is also why players who fall from very high position in multiplayer DIE multiple blocks up in air because game calculated sooner that THAT player already hit the ground
Minecrafts netcode isnt as refined and i assume its not based on rollback netcode at all, which would make a lot of these issues not happen or rather, not as often
Actually your explanation for shooter games is not quite right. It's because the player who is shooting gets the leeway. It feels worse to shoot and not get the shot rather than get shot
For the FPS players, half a second behind is the equivalent of extra 500ping on top
yeah pretty much
Imagine playing with 500 ping tho 😭
@@spin4team4096 I play games with 500 ping (I always lose)
@@spin4team4096As a person who has friends on different continents, I constantly get half of that ping. It feels bad and often unfair but not completely unplayable.
@@spin4team4096 Me when 67 thousand ping
If boats are broken can't u just craft another?
That’s what i was thinking
Not enough wood
i smell an r/wooosh in here
@@ibrahimali3192 Sorry that was me I farted
My ranked teammates:
*Bumplers*
I knew about wall priority, but im so glad someone finally explained why it happens. W video!
hi newkiddo
hi newkiddo3
Once you begin developing in minecraft, you realize the pile of spaghetti code it actually is. It's a miracle anything works at all.
Ah so it’s basically like every single game I’ve tried to make, but if I actually kept working on it for 15 years.
@dudemanem it's like if you had 5 of yourself working on a game for 15 years, and half of the time you spend breaking your own code because past you or you #4 did an oopsie poopsie with the code.
@@link2012Philanthropist I don’t even need five of myself to do that, just one can do enough damage.
as a modder of mc, this is true
8:57 sponsor ends
Thanks bud
you are a legend
just use sponsorblock
@@Luna5829 yeah gonna say same thing sponsor does the same thing
@@Luna5829some people aren’t on computer
Knowing mojang this will take at least 10 years to get fixed
Maybe in the minecart experiment 🙏🙏🙏🙏
@@ThijquintNLnow they will make a boat experiment in 15 years and never put it in the real game
Or fix it in april fool's update
@@syderotykoYeah, and then remove it in an actual update.
this seems related to MC-811, so I think it’s already been 10 years
12:03 "Nooo minecraft, don't do the stupid thing I think you're gonna do... NOOOOO"
Boats might be broken now, but at least it's not the old days where they had terrible controls and would shatter upon bumping into a lily pad
I do hope they can improve the boats one day, maybe in a drop with the minecart improvement experiments?
0:14 Ultrakill P-3 leaked
YEHHHHHH +REFERNCE +PARRY +NO HEAD
My temporary solution to the problem: instead of lightning rods, use player heads, and make them face the direction of the user. And in the future add a plugin that re-syncs the boat and marker.
it would be really distracting though and i think lightning rods are good enough already
REALLY WELL EXPLAINED MAN! GOOD JOB! 🔥🔥🔥🔥
You're freind right?
To be honest, most issues like the wall priority or clientside boat bumping seem easy to fix, only issue is that it needs a client mod. And when the client and server are modded anyway, might as well increase the update rate to every tick.
1:51 im famous...
*your name and avatar
Hi famous, I'm dad
1:19 this is so wholesome. Every time the piano does a loud key another bump
2:03 Ay, I know that guy
That’s you
I am still the Duke of Lag... thanks for bringing up that fateful day... 6:51
Very true xD
The man the myth the legend
xd
Hello! Video game physics programming teacher here, wall priority is an actual problem in many games. That zig zag pattern is meant to solve another problem: how do you tell the direction of the wall you hit? If you checked collisions diagonally, when you find a wall, you have no way of knowing the orientation. If you check one direction first and then the other, you can tell the orientation of the wall you hit because it has only one possibility. It does cause issues at high speeds, and there are ways to mitigate it, but it seems minecraft doesn't really try to mitigate it.
did you know that you can phase trough 3-block thick walls with just 1 boat?
And 2 block thick floors.
ruclips.net/video/3iAfMz8BouQ/видео.html
There's also clipping through 2 block floors by using boat down clip + shuddery ritual
1:25 chuck nasty mentioned
1:24 beautiful
A lot of these issues revolve around the fact boat positions are handled weirdly and delayed.
So why not... Make a plugin that removes player v player collision in boats?
That would remove around 80% of the issues boats have, it would make races more skill dependent and less random, as you don't have to worry about a bunch of factors like server or internet delay.
Sounds like a win win situation.
it makes racing a time trialling for 20-30 minutes and its not interesting at all
also 1 small mistake will lose you a lot of positions which makes everything insanely stressful
@@paperyoshii I disagree. I think boat racing, which is essentially just racing, should not at all revolve around random variables.
When the environment can randomly screw you over for no particular reason, e.g. being lagged into a boat and bumped, you cannot really do anything. It wasn't your fault, yet it still happened and you're now losing a lot of ranks from people over taking you. That's stressful, cause it's down to a throw of a die. It's unfair.
When the environment is sanitized of all randomness, all the variables at play can be influenced and everything that happens happens for a reason.
You cannot get randomly screwed over, everything depends on your skill.
Now the only thing that determines the winner is skill and track knowledge. Everyone has equal odds and every mistake you make is your fault. That's fair and you can only blame your shortcomings.
@@jackg2568 right now we have learnt to live around bumping and with boatlag removed, it's pretty much fair game if you just respect your opponent's ghost boat and pit if they really slow you down that much. with pit strategy and all to account, racing is going to stay as it is and will continue to be exciting. most things are consistent and fair and most things will be your fault anyway
this is coming from a professional here btw
@@paperyoshii With the existence of a video purely complaining about it, I beg to differ.
Agree to disagree, I guess.
@jackg2568 damn okay
14:33 Minecraft wasn't intended for most things minecraft is used for. it just grew into it
Minecraft was made for self-expression. Human ingenuity manages to outmatch its capabilities at every step.
The lightning rod thing reminds me of a game called Need For Madness Multiplayer, and the lag trails players abused to destroy other racers without being damaged themselves
Gerg has dubbed this "Shrödinger's hitbox"
6:39 The best option is to kick things up a notch and drive the balls out of your boat while in tandem. You can deliver the same bump to your opponent if you're fast enough ;)
Can get some amazing battles when that happens
to the people saying sandbox doesn't mean infinite possibilities, minecraft has map making tools baked into the game from command blocks and structure blocks to data packs and resource packs, race maps have always been popular in the game from parkour to capture the wool, so yes boat racing is indeed an intended machanic that should be fixed.
the problem with the boat bumping into the wall with the zigzag pattern can actually be useful, im not sure how but i know that its possible to glitch through walls using that bug
wait until he covers how jank the hitboxes are and tick rng
boats are like babies that scream and cry a lot and we love them anyways
collision detection (or rather, collision *handling*) is honestly the hardest part of making a game
i think people forget this when you're using a game engine that handles all that stuff, but to do it properly from scratch is just a MONUMENTAL effort.
Ive grown to love boat desync, and would be quite sad to see it go. Nonetheless great video
Most of these issues can be solved with mods. (zig zag gets fixed by using a diagnol line, packets are sent every tick, you keep using your boat mod)
I had only watched chucknasty’s gameplay of the race. Now a lot more things make sense
the same hitbox problem happens with minecarts. Try using an execute at player summon armor stand command, then ride a minecart at speed 1000 and you will see it very quickly.
Boats can:
-Clip through multiple solid blocks (more than 2)
-Be somewhere different than they appear, even when stationary
-Sometimes break after falling a certain distance, but not always
-Time travel
BOATS ARE ELECTRONS!
Hey Purplers, I saw your videos on Redstone in Minecraft Java Edition and wanted to say I'm also a big fan of Redstone! I've been playing Minecraft for years and have built all sorts of Redstone contraptions. Like the 2x1 vertical doors which use pistons
9:14 But there is probably a reason why there is a half second delay
Visual and backend disparity never has a good reason to exist whatsoever. Things happening out of your vision and control is inherently *not fun* which is why its incredibly important to make lag as much of a non-issue as possible
I'm surprised you didn't even mention the hitbox of the boat not rotating.
Just like all hitboxes in minecraft, they are always aligned with the xyz axes to make collision detections easier.
However, when you're close to diagonal walls, the hitbox may collide with the wall when the boat model doesn't.
Can't wait to encounter all these problems when I make my own multiplayer game!
The boats are a bit laggy because of interpolation:
Everything in Minecraft actually lags slightly because the game is interpolating from the previous server tick to the current server tick. This stops the 20 tps movement of entities on the server from looking choppy on your screen, and the 0.5s measured is probably up to additional smoothing to reduce jitter from slight deviations in server TPS or network latency.
It can't try to predict the next server tick to have the boat be where the server would place it when the next tick does happen without just running the next tick on the client, and even then it would have to know player's inputs before the players even press them. Add on network latency and perfectly synchronized clients are basically impossible.
What's weirder is that the boats on your client also run at 20 TPS. Because programming.
Cool to see my fancy animated leader board appear in some clips. It's awesome to see the community I've been in (since 2021) and the things we've struggled with explained so nicely.
-Luckyw0lf
Bro this is the First yt ad that i actually found really good!! Thank you for including it in the video or i wouldent have found it!!!❤
This gives me the idea for a racing game in scratch where whenever the boats crash eachother all of their velocities get interchanged (THAT INCLUDES ROTARY VELICOTIES)
Remove the visual of everyone else's boat, and them, then make an npc ride a boat instead of the lightning rod, i know that you can do this but idk if it'll fix you bumping into their now unexisting boat?
Bumping compilation is so weirdly satisfying andfustrating
These are parity changes to make Java edition as bugged as Bedrock XD
as a modder lemme fix the 0.15 delay aswell as the 0.50 delay
Hey… thats me!
Can't someone make a mod and server plugin that fixes the boat delay and bumping? It would probably have to reimplement boat movement completely, but would maybe be a quite useful mod…
I've been boatracing for 3 years now and have never heard of wall priority. It was nice to learn something new today!
I think that these bugs make the race more challenging and difficult because you have to constantly watching enemy boat and the path you will go so which add more content and entertainment in boat racing because for me i think just going to the path and skipping the enemy is boring but having these bugs made this racing more entertaining. i think it is a good bugs. Note: this is just my opinion 😅
I've never seen Minecraft boat racing before I watched this video. Normally I don't like racing, but Minecraft boat racing looks like so much fun!
But wait! There is more, you can use boats to glitch trough 2 block thick walls (the only usefull Bug on the list)
The coconut mall theme during the bump montage makes so much sense
3:59 erm ackshually, due to the laws of physics, a server on the same lan as you will still have ping (especially on a geographically-larger network such as at a school or office building, or if you are using wi-fi links in the path of the connection since those need to spend longer modulating and demodulating to do it correctly)
in practice it should be very low (indeed, for some intents and purposes you could consider it nonexistent) in almost every case on a single LAN, but its still nonzero.
great explanation, even tho ive been boatracing for over half a year now, i still learned something new 🔥
what i love about boat desyncs is being able to glitch through floors and ceilings with intentional client to server boat desync
*4:50** "The Driver Is Gojo" Ahh Moment 😭*
You forgot the most important thing: You get speeding tickets for going so fast!!
FIRE VIDEO, WILL BE SENDING THIS TO CONFUSED NEWBIES
The entire time I was watching this I was like why isn't there a mod to fix this
The opposite definition of "The missile knows where it is and where it isnt"
Banger video 😂
desynced boats and minecarts can be a hassle to deal with in redstone and comamnd contraptions too
i had made a redstone railway switcher which relies on the player hitting a noteblock to switch tracks, and due to the desync the player only is able to hit the noteblock way after the minecart had already switched tracks on the server side, i just moved the noteblock forward a lot and fixed it but its really unintuitive this way
Janky fix idea for the zig zag movement issue. Could we maybe just check the slower direction when we detect a collision on the faster one? It should prevent collision in the example provided but im not sure if it wouldn't cause issues somewhere else
The zigzag movement is probably because it makes collisions much easier. I’m sure it could be fixed but also boats weren’t really made to go that fast
A modpack that recreates racers at the lightning rod position would help
Somehow Minecraft has become a living advertisement for pre-made game engines
Huh :P
why have i found the only good sponsorship on youtube ever
Okay, as a game dev I feel like it would be better to actually explain why a number of these are the case. Granted, in today's age of Microsoft owning Mojang, we could *probably* do better but it's also a matter of legacy and maintaining old gameplay and things of that nature. That being said:
*Server sends boat packets every 0.15s* - If this is actually "server sends position packets every 0.15s" then this is a feature, not a bug. Generally, the strategy for packet optimization is "less packets = less data = better latency" so I could see minecraft servers sending position data every 3 ticks. This was most likely a limitation back in the early days of minecraft, and just has been kept since the packet sizes for servers are ever-increasing. And this _also_ means that yes, being "in tandem" is an intentional behavior, it's just that, minecraft boats weren't designed for racing originally so this feature isn't taken into consideration.
*Wall priority* - This is a consequence of the collision algorithm. Admittedly, it's a topic that should have way more info than a youtube comment can contain, but I'll try to simplify it. The player's hitbox is a rectangular prism, which means it's _very_ easy to do simple calculations on an axis-by-axis basis, and therefore significantly faster. While there is a more correct solution for this, _(nerd warning: you can create a minkowski sum of the player against a velocity vector and use GJK with ERA against that)_ it's very slow, and given that Minecraft is designed to run on almost anything, and it's using almost an industry standard, it makes sense that they've gone with this route.
*Boat lag* - This is actually a consequence of the standard entity-entity collision condition that Minecraft uses, and it's also while entities get velocity when cramming. Normally, if two entities are "inside" one another, the strategy is to push them apart. This is why on servers, you can push your friends around a bit, it gives "tangibility." Applying this to boats and their absurd speeds, Minecraft just uses the relative distance as the basis to push back, and the fact that the client is moving per-frame and the adjacent player "server" is moving per 3 frames, means that you get repeatedly changing distances which makes it all wonky. All that BoatLagFix does is just say "boats cannot collide with other entities" and that's how that gets fixed, from the Casual Minecraft Experience it still makes sense.
*0.5 second desync* - What it *should* be is a 0.15 second desync, which makes sense with aligning against the every 3 frames rule from earlier... but yeah there's honestly no reason this should be a 0.5 second desync, it should at maximum align with the packet sending rule. Perhaps it _used_ to be a 0.5 second desync?
Just my... lot more than 2 cents from the perspective of game designing and maybe it helps give insight into what Mojang or Notch were thinking/doing at the time.
Was looking forward to the Lasagne rant 😢
i saw you on frosthex and was so surprised, this explains it.
14:48 it’s a little bit useful because it allows for phasing though walls with boats
Love the vid and quality of the explanasions how boats work
I wonder how hard it would be to increase TPS serverside.
Run three times faster (60TPS), but also decrease the speed per tick of everything to 1/3 so things are moving the same amount, just with more simulation steps in between.
1:26 Brasil mentioned. Ayrton Sennaaaaas
petition for you to make your own redstone handbook
There's so much more problem with boats. For example, the levitation effect works on then as long as nobody's in them. If someone's in them, they just fall
purplers needs to narrate a documentary i swear to god
Mojang developers have to deal with 15 year old buggy notch code im not surprised a feature as old as boats don’t work so well nowadays.
Unfortunately fixing a lot of these issues would probably require rewriting most of the boat code.
You uploading videos is extremely rare… I WANT MORE REDSTONE VIDEOS
2:25 whats that last thing called „a friend“
"You didn't have to cut me off" is all I'm hearing in my head right now
Boat racing and clipping through 2 block thick walls. BALANCED
Removing collision with other boats could fix a bunch of thoses issues. Don't know if it's feasible though.
Could you disable bumping entirely? Would that have negative effects for normal gameplay?
As someone who likes boat racing but never understood this... thanks! I'll definitely use this knowledge going forward
now imagine this is only mentioning the janky behavior of boats while racing, there are so many other strange behaviors in just survival not mentioned
Mojang has experimented with fixing minecart desync recently, which can give us hope that they'll fix boats too.
using coconut mall at 1:12 was perfect
Good thing is they seem to be actively hunting down and fixing unwanted behavior in the game lately. They have significantly improved minecart behavior too. So maaaybe boats will see a update in the near future
2:25 no need to call out your target audience 😢
Using renokas as a “friend” is crazy 😂