That's a great read, lots of information and insights, some of which people may have unknowingly known - but it's good to have them all written down in one place
I'm curious about your opinions on how multiplayer would play differently in MBU, or when the netcode is more correctly done - similar to how it is in every other competitive multiplayer games - than what we have in PQ. I can list out the differences in the netcode and some of its effects that I have observed:
- Marble physics is server authoritative, the clients send their input keys to the host, which moves their marble on the host side, and they receive back their new marble position, to which the client rolls back to - and then re-applies their own inputs that aren't yet acknowledged by the host. In other words, it's just standard rollback netcode. The consequences of this implies that ping and network jitter will play a factor into how playable the game is. On the other hand in PQ, it is still playable even if your network is very jittery.
- Because of rollback netcode, players will always see future positions of other player's marbles, with their own ping to the host taken into account. This is in contrast to PQ where the marbles you see are much behind where they actually are in real time, the other player needs to send their marble position to the host, and then the host needs to send *that* position to you. By the time you receive that position, the other player is far ahead of what you see.
- Marble collisions exist and they matter, even more so if the marble is bigger (in MBU). Colliding with marbles usually causes a desync on both players ends because of server side physics (Happens in MIU as well). Mega Marbles are properly implemented and are satisfying to use. Even for regular sized marbles, Newton's second law is very much unforgiving, given how easy it is to accelerate your marble quickly.
- Stronger blast, this is especially true in MBU and also it is yet another factor for causing rollback artifacts. Using a fully charged blast basically guarantees everyone near you gets desynced to oblivion.