Someone asked me in discord 'how would you sync the worlds' and 'what if one user pauses the game': this is my answer to him:
"Yes, yes, you make fair points, but I am not arguing to go that far, its not 'real' multiplay.
Its just like: me and a friend both playing regular vanilla unchanged DF. Each, in his own world, running his own fort on their own machines.
I open up my fort to invasions, listening to players that want to join/invade. I would be able to say 'no', or 'yes' if its my friend.
I totally ignore all the hacking openings this all creates, I trust both myself and my friend not to cheat/hack.
I should then be able to select a couple of fighters in my fort, to send away to 'any friend connected' I want.
Perhaps set a very simple tactic like 'scout, loot, exterminate'.
After I confirm, the army walks off my screen. It will take time to get to my friend.
my friend polls my machine every minute or so, and soon he discovers an incoming army. Perhaps he is warned (some time) in advance.
It is 'just a goblin invasion' with the army I send in stead of the goblins.
After the battle, some result is send back to me, and arrives a while later.
My friend can do the same thing: and send an army to me, that I have to handle."
The additions to the game can be 'fairly minimal':
-select a group of dworfs, send them off map
-allow goblin invasion to have the selected group of dworfs of the opponent
-some server connect mechanism
-some polling mechanism (for the client to see if there are new invasions)
-some 'invasion' mechanism, basically just a list of dwarfs, a destination (any friend connected), an order,
a time of arrival, and a result (on the way back)
-when an returning invasion arrives: let them walk on map, with any loot they could have got
Time off arrival could be in real time ('12 minutes' for example)
the player getting the invasion can pause the game, and it would also pauze the countdown.
It does not really change anything: the worlds are even more out of sync, but they never where in sync to begin with.
so if we both send an army with time of arrival in 12 minutes
the poll has taken place, so both players know about it:
the invasion coming in to my machine is handled by me: and me pauzing the game would also pauze the countdown for me.
so if I took a 10 minute break, it would arrive 22 minutes after the send for me: but 12 minutes after the send, for my friend.
meh. So what. 'just dont cheat'.