glider1
Deity
The way I understand it (could be wrong or missing some subtlety), is that the MP code only goes OOS if there is a divergence in the way two networked machines run through the code, thus producing non-identical game states and thus an OOS. If the revindex sorting list behaves exactly the same on all machines, with the same ordering sequence for cities with the same revindex, I thought that would be safe in terms of MP and OOS because it is entirely deterministic, identical on all machines.
The conclusion I came to which could be wrong, is that only non deterministic data needs to be transmitted across the network, and the only non-deterministic data are humans executing the user interface. Not even the random numbers need to be transmitted across the network, because the soren random number generator produces the same number so long as each networked machine gets the same initial seed and executes the generator the same number of times in the same portions of the code. All of that is deterministic and the game state faithfully reproduces on each machine....in theory. Yeah in theory!!!
This is my understanding. I will try to help any way I can by blurting out random thoughts at you Lemmy, hopefully not going OOS in my head while I cannot actually work on the code myself
Cheers
The conclusion I came to which could be wrong, is that only non deterministic data needs to be transmitted across the network, and the only non-deterministic data are humans executing the user interface. Not even the random numbers need to be transmitted across the network, because the soren random number generator produces the same number so long as each networked machine gets the same initial seed and executes the generator the same number of times in the same portions of the code. All of that is deterministic and the game state faithfully reproduces on each machine....in theory. Yeah in theory!!!
This is my understanding. I will try to help any way I can by blurting out random thoughts at you Lemmy, hopefully not going OOS in my head while I cannot actually work on the code myself

Cheers