Hi, today we had an out of sync while playing which made me think a lot.
What happened:
I played magic and I was forced to morph nearly all my initiates to Battlemages, because I was attacked and did not had enough fighters. But my opponent was attacked too by a third player and so he gave up on attacking me. When I saw this I though that I better interrupt all those morphing units because otherwise I would not had anymore initiates to get gold. SO I send all the morphing units back to gold.
The result was an "out of sync" because excatly in the moment where my command was executed some of the initiates were already morphed to battlemages. But "mining" is not a command a battlemage can do .... ( unknown command for unit xxx game out of sync )
Thinking about this, I came to the conclusion that something similar is the reason for "out of syncs" with slow computers falling back too, becasue a morphing initiate for example gets an command, but when the command is executed its no longer an initiate , its a battlemage then!
How to solve this ?
We must detect if this unit maybe was a unit of this unit type before and in this case we simply skip the command if there is no such command class.
But how to differ this from a real out of sync ?