High Definition Standard Definition Theater
Video id : eQt7TwCr6ao
ImmersiveAmbientModecolor: #b5c3c0 (color 2)
Video Format : 22 (720p) openh264 ( https://github.com/cisco/openh264) mp4a.40.2 | 44100Hz
Audio Format: Opus - Normalized audio
PokeTubeEncryptID: f11fc6c90da9846d3a6c0d37e0ffddbd1c8f12cf9f2aed3fa30aeab6fe3e3925fbb6c31a54f3f1bea5d47760f28a58d0
Proxy : eu-proxy.poketube.fun - refresh the page to change the proxy location
Date : 1716032223773 - unknown on Apple WebKit
Mystery text : ZVF0N1R3Q3I2YW8gaSAgbG92ICB1IGV1LXByb3h5LnBva2V0dWJlLmZ1bg==
143 : true
386,162 Views • Sep 7, 2021 • Click to toggle off description
I finally decided to tackle some of the more complex issues I was having with multiplayer, and this is how it went...

Next devlog:    • How I Fixed the Ocean in My Pirate Game  
Pirate game playlist:    • Multiplayer Pirate Game Devlogs  

⎯⎯⎯⎯⎯⎯

More about client prediction & reconciliation: www.gabrielgambetta.com/client-side-prediction-ser…

Discord server: tomweiland.net/discord
Support me on GitHub Sponsors: github.com/sponsors/tom-weiland
Support me on Ko-fi: tomweiland.net/kofi
GitHub: tomweiland.net/github
Project's Trello board: trello.com/b/vJwk0iwS/pirate-game
Website: tomweiland.net/

⎯⎯⎯⎯⎯⎯

Gear & Software I Use

Developing
⮞ Engine - Unity: store.unity.com/#plans-individual
⮞ Code Editor - Visual Studio: visualstudio.microsoft.com/vs/
⮞ 3D Modeling - Blender: www.blender.org/download/

Recording & Streaming
⮞ Screen Recorder - OBS Studio: obsproject.com/
⮞ Camera - Panasonic G85: amzn.to/39P77GK
⮞ Microphone - Maono AU-PM422: amzn.to/2LsTIuG

Computer Parts & Peripherals
⮞ Mouse - Logitech G604: amzn.to/3mqUSoy
⮞ CPU - AMD Ryzen 7 2700X: amzn.to/3pU06K9
⮞ GPU - GeForce GTX 1050 Ti: www.newegg.ca/p/N82E16814125915
⮞ Motherboard - ASUS Prime X470-Pro: amzn.to/3p20h5f
⮞ SSD - Gigabyte 240GB: amzn.to/39UPWDQ
⮞ HDD - WD Blue 1TB: amzn.to/2O37EMI
⮞ RAM - 8GB x2
⮞ Case - Fractal Design Meshify C: amzn.to/3q6FgHy
⮞ Power Supply - EVGA 750 GQ: amzn.to/2N3T3A0

Other
⮞ YT Channel Management Tool - TubeBuddy: www.tubebuddy.com/tomweiland
⮞ Webhosting - Bluehost: www.bluehost.com/track/tomweiland/

I personally use all of the above products and services, so they are genuine recommendations. Some of these links are affiliate links, which means I get paid a small commission (at no extra cost to you) if you sign up or buy through them. Thanks for supporting the channel!

⎯⎯⎯⎯⎯⎯

#LatencyIsTheEnemy #Devlog #PirateGame #GameDev #IndieDev #IndieGame #Multiplayer #Unity

In this multiplayer devlog I finally decided to tackle some of the more complex problems I've been having with multiplayer. Latency is the enemy, and makes building multiplayer games 1000 times more painful and time consuming. While I've managed to get latency mitigation techniques like client prediction working on dry, non-moving land, it's a whole other story when you're standing on a moving boat, and this video is a summary of my experiences over the last 3 months.

⎯⎯⎯⎯⎯⎯

The music used in this video is sourced from the YouTube Audio Library and StreamBeats.
Metadata And Engagement

Views : 386,162
Genre: Entertainment
Date of upload: Sep 7, 2021 ^^


Rating : 4.932 (290/16,894 LTDR)
RYD date created : 2022-04-09T17:51:29.254662Z
See in json
Tags
Connections
Nyo connections found on the description ;_; report a issue lol

YouTube Comments - 1,429 Comments

Top Comments of this video!! :3

@nocultist7050

2 years ago

That's why I chose to do LAN multiplayer. That way, if a cheater is stealing your fun you can just go to him and punch him in the face.

1.5K |

@plank2490

2 years ago

"It doesn't work and I don't know why " "Now it works and I don't know why" -every programmer's cycle in a nutshell

2.2K |

@PatriotZest

2 years ago

"Give a man a software he will enjoy it, teach him to code he'll never enjoy in his lifetime' -Suz Tzu art of coding

1.6K |

@MrLasse6001

2 years ago

Players unfortunately don’t now about all these complications…

572 |

@Neverjam

2 years ago

Thank you so much for making this. Ever since release its my go to video when players ask "Why don't you just add online"

111 |

@that_kaii

2 years ago

"What better way to fix a bug than working around it?" -Every Programmer Ever

187 |

@jasonwilliams8730

2 years ago

I fricken love this channel! Anyone that can do networking is a god.

343 |

@PuppetDev

2 years ago

This is very relatable. Great video. Whenever I tell people about how annoying it is, I don't feel like they comprehend the full extent of it. Even this video didnt fully give it justice. It's feels like you are slowly driven mad by some eldritch god. Stuff stops making sense but it kinda does, sometimes... You start to understand why online games seem so limited sometimes. Make sure to take care of your mental health. Take breaks and do other stuff that gives you joy and purpose in life.

295 |

@toastbrot97

1 year ago

Switching from a physics based system to a simple parenting system when stepping onto the ship is actually genius. I had a stupid grin on my phase when i saw that part in the video cause i was also like "wait, how does one fix this actually?". And then my brain was like: "ah of course, why did i not think of that!" :D

117 |

@calitts4708

2 years ago

The best thing is swapping a semicolon for a Greek question mark in a friend's code

34 |

@krammehl

2 years ago

Hey, I ran into similar issues while developing pantropy. We had the player move on ground and flying/moving bases here are my tips: 1. DO NOT use a rigidbody to move your player. Physics movements are never equal on server and client. Use a CharacterController instead. The characterController.move function is always accurate and the player will move an equal distance on server and client. 2. Don't use the characterController for ground collisions. Use a raycast and keep the player a given distance away from the ground. Move the player downwards if the ray doesn't hit anything. 3. Set the player's transform as a child of a moving object (like your boats) on server and client when he enters it. You will not have any weird physics glitches thanks to the "groundray". Hope these helped, this wroked for me flawlessly.

386 |

@iMinx

2 years ago

I tried making a multiplayer fps and gave up because of these things. It's really hard to conceptualize what this sort of entails until after it starts bending you over.

65 |

@RialuCaos

2 years ago

These problems are why I probably wouldn't recommend a multiplayer game for a first project (unless it's local multiplayer). It's a real headache to figure out the proper way for networking in games, and when you're also doing everything else for the first time, it becomes a whole lot to handle.

54 |

@xzippyzachx

2 years ago

That cliff hanger tho! I was on the edge o' me cap'n seat. Great video like always matey :p

8 |

@erickpassos

2 years ago

This is a great video. Very good and clean explanation of an otherwise very complex topic. A few things from my several years experience: - there's no need to "compare" for misprediction... just overwrite with server data and resimulate forward (maybe this is what you do already) with the local input buffer... - for moving boats, and all moving platforms in that sense, it gets trickier because you could place the boat in predicted timing as well (if you also predict/rollback physics, which you can do), but this would create a problem for proxies (view of other players) as they are generally on interpolated time. One thing that may work for proxies is to predict just their gravity and move-with-platform part... But in either case or solution you will loose one thing, which is the capability of doing accurate lag compensation... but that is another story...:)

67 |

@soundtrackreimagined1854

2 years ago

The most honest insight I have seen into what it’s like to develop a game

18 |

@Skeffles

2 years ago

Brilliant to see you've got this going! Client prediction was a major reason why I gave up last time I tried networking.

39 |

@PixelWealthh

2 years ago

I just made my first game in unity, and honestly the coding part seems kinda intimidating but i'm somehow enjoying the learning process.

48 |

@RugbugRedfern

2 years ago

I love how it just ends xD haven't had to deal with server authority before, looks like a lot of fun ;) enjoy your next few weeks fixing more bugs!

59 |

@icoso

2 years ago

Great video, Tom! Really enjoyed this one, and I love how you're so concise and clear with everything you say! Awesome work :D

13 |

Go To Top