Edit on 2024-06-23: I have published a video on 2024/05/15 explaining this thing. Highly recommend that one instead of this post because of some new theories and corrections. Go watch it here.
Hi. I'm NorthWestWind, and I play Brellas in Splatoon 3. If you have watched at least one of my Brella streams, chances are you've heard me shouting "the shield didn't work" at least once. I think I know why it doesn't work, and I would like to let you know as well.
This blog post may not be entirely true, as some of the things I will be stating are concluded mostly from the experience of me and other players.
However, I swear every part of this blog post is relevant to why the shields don't work. Please don't skip any parts if you can.
To explain the Brella problem, we first need to have a slight understanding of how Splatoon 3's networking works. There are countless people online complaining about "Nintendo's server" being unstable when they encounter a communication error of some sort.
However, the truth is, there's no server. Or rather, you are the server.
Splatoon 3 uses a peer-to-peer system when connecting players together. Among the 8 players in a regular match, 1 of them is picked to be the host. All the other players will have their Nintendo Switch connected to the host.
Sometimes, it is possible to notice if you are the host or not, as the host will have 0 latency in the game. For example, if you shoot an inkrail node and it activates immediately, or you pick up eggs instantly in Salmon Run, you are very likely the host.
The host bears the responsibility to synchronize events like movement and ink shots across clients. If the host has a bad network, it may cause other players to get communication errors, even if the problem is not on their end. Whenever within a match there are 3 or more disconnections, it's probably the host's problem.
With any online games, there is a problem: How do we determine if something happened and synchronize it across everyone's devices? There are multiple methods to achieve this. One of them is "the server decides everything", where physics only update on the server side, and the data is then sent to the client for rendering. However, Splatoon 3 doesn't use this system. In fact, Splatoon 3 only sends packet with a frequency of 15 Hz, but we should all be able to realize the game runs at 60 Hz. How is that possible?
The answer lies in client simulation. Imagine each of the 15 Hz packet sent also includes the object's speed alongside its position. The client who receives this data will have sufficient information to simulate the object's movement during the interval between each packets. And Splatoon 3 runs with this system.
Now remember, different players have different latencies, and thus have different simulation results What if during my simulation I hit someone, but it didn't happen for someone else? Splatoon 3's approach is just "I trust you". As long as you hit someone during your own simulation, the event will be synchronized across all clients. That's also why it is very easy for you to get trades with a high latency or lag.
We now know the game determines if you hit someone only based on your simulation. What about the Brella shield? Remember, as long as you hit someone in your simulation, it counts as a hit for everyone. Let's use an example.
Say, there is a Brella player, who is lagging behind by 2 packets. You are shooting at them, and they are opening the Brella when that happens. However, since they are 2 packets behind, your simulation only noticed them opening the Brella after the 2 packets. During that 2 packets, according to your simulation, you hit them. Therefore, the Brella player will take damage, even though in their simulation, their shield is already up.
The higher the latency, the higher the chances for someone to just shoot through your Brella shield.
You know how some competitive (X-Battle) Tentatek region players have found the Tentatek region boring and moved to Takoroka? That's a huge problem for Brella players. These Tentatek players have a higher latency in Takoroka. Whoever within the Takoroka region connects to them, there is gonna be a relatively higher latency as well. If a Takoroka Brella player unfortunately got connected to a Tentatek player, the shield is not gonna work most of the time. If a Tentatek player got picked as the host, everyone within the room will have a high latency against the Brella player, and the shield won't work at all. Therefore, I highly disagree with Tentatek players coming to Takoroka just to fight more skillful people.
You are being selfish and making the Brella experience miserable.