olavim-ClientSideBlock icon

ClientSideBlock

Makes blocking more consistent in online play

Last updated 5 months ago
Total downloads 21039
Total rating 2 
Categories Gameplay Patch
Dependency string olavim-ClientSideBlock-1.1.2
Dependants 5 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack_ROUNDS-5.4.1100 icon
BepInEx-BepInExPack_ROUNDS

BepInEx pack for ROUNDS. Preconfigured and ready to use.

Preferred version: 5.4.1100
willis81808-UnboundLib-3.2.10 icon
willis81808-UnboundLib

This is a helpful utility for ROUNDS modders aimed at simplifying common tasks.

Preferred version: 3.2.10

README

Client side block

Makes blocking more consistent in online play by syncing block messages more aggressively.

Strategies

When a player blocks, they notify other players immediately. However, there is some delay until the message gets to its destinations, resulting in a window where a player who blocked can still get hit by a bullet if its shooter didn't receive the message soon enough. This mod offers two solutions to the problem.

The strategy can be chosen from the mod's option menu.

Optimistic syncing (default)

Since we can assume that information about each block will arrive as soon as possible, then theoretically we just need to wait until it does before we decide whether to apply damage or to reflect a bullet. Problem is, we don't know when the information is coming exactly, and we can't wait forever.

Information about each player's ping is recorded periodically. This information can be used to estimate how long a target's block message would take, on average, to reach the shooter. The optimistic syncing strategy waits for this estimate (plus some extra wiggle room) to pass before determining whether the target blocked or not.

When players have a good, stable internet connection, this strategy works just fine. However, if players have a highly fluctuating ping which results in the strategy's estimate to be too far off, the strategy's performance will degrade and you might want to use the second strategy. However, using this strategy should result in more consistent blocking compared to the base game no matter what.

Pessimistic syncing

With this strategy, when a bullet hits a player (from the shooter's perspective), the shooter asks the target whether they blocked the bullet or not, and waits for their answer. This works even with unreliable internet connections, but there is a bigger delay before a bullet deals damage or is reflected.