Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Multiplay Idea that just might work  (Read 681 times)

BasKing

  • Bay Watcher
    • View Profile
Multiplay Idea that just might work
« on: December 25, 2020, 03:30:01 am »

Imagine two players playing their fort, one player ('the server') opens up his game to another player ('the client').
They can both continue to play their own forts on their own computers, but now have this extra functionality:
 
-send a group of dwarfs to the other. Perhaps with very basic orders (like 'kill all' 'loot' 'scout').

the other player gets an 'incoming invasion'. When it arrives, he has to fight it off just like any normal goblin invasion.
The player who send the invasion can do nothing to steer the invasion (besides setting initial orders), but the invaded player can try to mitigate it (and send his own invasion).
Then: a result is generated for the client, (who is dead, any loot, any map information), and after another while, the army returns with the loot/info (if any is left over).

I think something like that is pretty easy to do. Making it hack-proof would be a pain, but assuming two people want to play fair with each other: it is totally feasible, imho.

The main problem will be 'the world', perhaps 'the client' should start building in the same world he gets from 'the server', and handle all things in his location on his computer, while the server handles the rest in the world. Keeping 'the world' synced might open up several boxes of Pandora that are pretty hard to handle.

But even with two totally different, out of sync worlds: sending/receiving an invasion would be already a ton of fun.
Logged

BasKing

  • Bay Watcher
    • View Profile
Re: Multiplay Idea that just might work
« Reply #1 on: December 25, 2020, 11:37:15 am »

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'.
Logged