I finally decided to tackle some of the more complex issues I was having with multiplayer, and this is how it went…
Next devlog: https://youtu.be/cYLnVp1ngwA
Pirate game playlist: https://www.youtube.com/playlist?list=PLXkn83W0QkfmQI9lUzi–TxJaOFYIN7Q4
⎯⎯⎯⎯⎯⎯
More about client prediction & reconciliation: https://www.gabrielgambetta.com/client-side-prediction-server-reconciliation.html
Discord server: https://tomweiland.net/discord
Support me on GitHub Sponsors: https://github.com/sponsors/tom-weiland
Support me on Ko-fi: https://tomweiland.net/kofi
GitHub: https://tomweiland.net/github
Project’s Trello board: https://trello.com/b/vJwk0iwS/pirate-game
Website: https://tomweiland.net/
⎯⎯⎯⎯⎯⎯
Gear & Software I Use
Developing
⮞ Engine – Unity: https://store.unity.com/#plans-individual
⮞ Code Editor – Visual Studio: https://visualstudio.microsoft.com/vs/
⮞ 3D Modeling – Blender: https://www.blender.org/download/
Recording & Streaming
⮞ Screen Recorder – OBS Studio: https://obsproject.com/
⮞ Camera – Panasonic G85: https://amzn.to/39P77GK
⮞ Microphone – Maono AU-PM422: https://amzn.to/2LsTIuG
Computer Parts & Peripherals
⮞ Mouse – Logitech G604: https://amzn.to/3mqUSoy
⮞ CPU – AMD Ryzen 7 2700X: https://amzn.to/3pU06K9
⮞ GPU – GeForce GTX 1050 Ti: https://www.newegg.ca/p/N82E16814125915
⮞ Motherboard – ASUS Prime X470-Pro: https://amzn.to/3p20h5f
⮞ SSD – Gigabyte 240GB: https://amzn.to/39UPWDQ
⮞ HDD – WD Blue 1TB: https://amzn.to/2O37EMI
⮞ RAM – 8GB x2
⮞ Case – Fractal Design Meshify C: https://amzn.to/3q6FgHy
⮞ Power Supply – EVGA 750 GQ: https://amzn.to/2N3T3A0
Other
⮞ YT Channel Management Tool – TubeBuddy: https://www.tubebuddy.com/tomweiland
⮞ Webhosting – Bluehost: https://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.
source
45 comments
The fact that this approach even worked in LAN at all is a miracle, probably cause you server tick was low enough for both the client and server to approximate closely to each other, ignoring a few milliseconds delay. Or your correction code was always activated anyways (which is obviusely bad), just in a visually unnoticable differences that you thought your synchronization code worked, but it never did as it always corrected no matter what.
its straight forward
1) try doing everything in ticks
2) try doing everything in deltas with deterministic state machines
The other half is spent finding that ONE sneaky mistake
Comments are closed.
Add Comment