Hey,
1. I just experienced what i think is a bug because is doesn't happen in single player. I joined a friends game and shot at an attacking enemy.
2. While shooting i noticed that my character started to stutter while i was pressing space to shoot. So i tested a bit and it stutters everytime i press space or c to shoot while moving.
3. I expected it not to stutter while i press space or c to shoot while i move like in single player.
How to reproduce: Run with W A S D and press space or c multiple times.
It happens always.
Best regards
Marc
Twitching when shooting while moving on a multiplayer map hosted by a friend [0.17.79]
-
- Burner Inserter
- Posts: 12
- Joined: Mon Jun 08, 2020 12:58 pm
- Contact:
Twitching when shooting while moving on a multiplayer map hosted by a friend [0.17.79]
- Attachments
-
- Milan map for bug report.zip
- The save of my friends map
- (4.66 MiB) Downloaded 83 times
-
- factorio-current.log
- My log file
- (14.29 KiB) Downloaded 86 times
-
- Factorio 0.17.79 2020-06-08 15-24-16.mp4
- The video i made of the stutter when i shoot while moving
- (14.36 MiB) Downloaded 92 times
Re: Twitching when shooting while moving on a multiplayer map hosted by a friend [0.17.79]
You are leaving latency hiding when shooting, so interrupted shooting means you repeatedly switch between the latency on non latency state.
-
- Burner Inserter
- Posts: 12
- Joined: Mon Jun 08, 2020 12:58 pm
- Contact:
Re: Twitching when shooting while moving on a multiplayer map hosted by a friend [0.17.79]
What is latency hiding? Is there a way to fix that? It makes shooting with a pistol almost impossible.
Re: Twitching when shooting while moving on a multiplayer map hosted by a friend [0.17.79]
Latency hiding is a software technique to make game play better over internet connections.
When you run game in single player locally, your computer does all the calculations and send result to screen, so if you have 60 FPS, your computer has 16.(6) ms to calculate and spit out next frame, so only latency is you machine.
Now lets go to multiplayer experience.
Internet is slow, I mean not only its speed is low (~10's of Mb/s compared to your internal computer buses, which are in excess of 10's of Gb/s)
but also internet has high latency (for me around 30-35 ms to most of in country servers, and more if going international). Now your movement/building (pressing keys, changing state of game) must be send to other players, and you may want to receive response from them. That will take more then 33 ms, so more then 2 frames at 60 FPS and will make game fill sluggish/choppy/laggy.
To hide this latency your game doesn't wait for other players to respond, it just sends information to them saying something like:"I'm moving to east", and they will simulate your movement in their game.
Now when fight breaks out and your factory is under attack, or you are fighting in PvP, game can't just say "I'm shooting", and simulate this effect on other players' PCs, because every bullet you fire, every hit point you remove from bitter change game state, and this must be synchronized. This breaks illusion of zero latency and make game feel laggy.
Tl;DR
Conclusion time.
You don't want to turn of latency hiding and unfortunately this can't be fixed, cause internet is slow.
To defend I would suggest turrets, they can be simulated, cause their behavior is deterministic (is only dependent on game state, and not player's actions).
When you run game in single player locally, your computer does all the calculations and send result to screen, so if you have 60 FPS, your computer has 16.(6) ms to calculate and spit out next frame, so only latency is you machine.
Now lets go to multiplayer experience.
Internet is slow, I mean not only its speed is low (~10's of Mb/s compared to your internal computer buses, which are in excess of 10's of Gb/s)
but also internet has high latency (for me around 30-35 ms to most of in country servers, and more if going international). Now your movement/building (pressing keys, changing state of game) must be send to other players, and you may want to receive response from them. That will take more then 33 ms, so more then 2 frames at 60 FPS and will make game fill sluggish/choppy/laggy.
To hide this latency your game doesn't wait for other players to respond, it just sends information to them saying something like:"I'm moving to east", and they will simulate your movement in their game.
Now when fight breaks out and your factory is under attack, or you are fighting in PvP, game can't just say "I'm shooting", and simulate this effect on other players' PCs, because every bullet you fire, every hit point you remove from bitter change game state, and this must be synchronized. This breaks illusion of zero latency and make game feel laggy.
Tl;DR
Conclusion time.
You don't want to turn of latency hiding and unfortunately this can't be fixed, cause internet is slow.
To defend I would suggest turrets, they can be simulated, cause their behavior is deterministic (is only dependent on game state, and not player's actions).