Apian-Framework / BeamGameCode

Engine-independent C# core game code for Beam
0 stars 0 forks source link

Can't restart if bike is destroyed while peer is "missing" #24

Closed jimkberry closed 3 years ago

jimkberry commented 3 years ago

I've only seen this in the Unity version. More specifically, while running in the editor. I suspect, however, that it's a BeamGameCode problem.

While playing networked (not leader) if the local peer goes missing, and comes back - the the player's bike is destroyed while it's gone:

a) Oddly enough - everything kinda works fine. If appears that all of the messages arrive and are applied, and your bike blows up and you are just sitting there. Importantly: all of the checkpointing is still working and your CoreState matches everyone else.

b) But pressing "restart" doesn't do anything. The createbike request is certainly sent out, but I'm not completely sure what happens then.

NOTE: you can make this happen by pausing the unity editor, counting to less than 10 sec, and then un-pausing - if your bike got destroyed you'll immediately see the shrapnel and "restart" won't do anything - if it wasn't destroyed then repeat until it is.

Unfortunately, one of the things I'd like to do next is to is to "ghost" or shield (and stop) bikes owned by missing peers - but if I do that'll almost certainly mask this issue. So I think I'm not gonna do anything special with missing bikes for the time being.

jimkberry commented 3 years ago

This appears to have been fixed - a lot has happened to the underlying code since it was reported.