Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2] 3 4

Author Topic: What does it take to go multiplayer?  (Read 4758 times)

Retro

  • Bay Watcher
  • o7
    • View Profile
Re: What does it take to go multiplayer?
« Reply #15 on: March 10, 2010, 06:06:33 am »

In theory I agree that's possible. In practice I think it's unworkable. Being forced to be paused while someone else does something will slow the game down more than any FPS hit, and imagine having four people playing at once. As patient as people can be, it would grate the nerves just with the pausing alone.
You're assuming it would still pause whenever someone did anything.

Since synchronized time is only needed in player vs. player combat players could freely play and pause their games at their own pace (read: FPS). Once every few minutes, 30 minutes, 1 hour, or any (configurable) time the game could be paused in turn from the most advanced (in time) player to the last player so everyone can catch up. The paused players can take this time to do whatever management they want but could not unpause the game.

Pausing isn't 'quick' in DF. I've played an RL week without unpausing before, just marking designations and placing buildings. Even in less extreme cases, the average DF player pauses a lot because to do just about everything in the game, pausing is required. The slower players will see it as just playing normally, but for even the second-slowest player the pause to resync will take a while. The fastest player might as well go make dinner while the slowest's game is syncing.

I admit this is a negative view of the entire thing, but I also feel it's realistic. In a mostly-paused game like DF I simply fail to see how multiplayer would work in any sort of cooperative manner without changing the nature of the game's programming. I could see it working maybe whenever Toady gets around to working on the real-time designating stuff, but until then I'm highly skeptical.

Shades

  • Bay Watcher
    • View Profile
Re: What does it take to go multiplayer?
« Reply #16 on: March 10, 2010, 06:12:44 am »

Being forced to be paused while someone else does something will slow the game down more than any FPS hit, and imagine having four people playing at once.

so could ignore pausing for the most part

As in the system would only pause briefly to issue the commands the players would not need to pause otherwise due to the decoupling. And yes I'm assuming a few things about the amount of control there is in the render system, I've not looked through the code on that or the code from the various people that have developed remote layers already.

It would of course limit you to co-operative fortresses and probably not be much fun, but anything more complex will require significant work.
Logged
Its like playing god with sentient legos. - They Got Leader
[Dwarf Fortress] plays like a dizzyingly complex hybrid of Dungeon Keeper and The Sims, if all your little people were manic-depressive alcoholics. - tv tropes
You don't use science to show that you're right, you use science to become right. - xkcd

Thief^

  • Bay Watcher
  • Official crazy person
    • View Profile
Re: What does it take to go multiplayer?
« Reply #17 on: March 10, 2010, 06:13:18 am »

The game would have to be able to be played without pausing before multiplayer could be done, that's for sure.

Designations aren't too bad, neither is looking at units. One problem screen is the "choose items to use in construction" one, especially for stone it stalls quite badly, and updating it in realtime...
Logged
Dwarven blood types are not A, B, AB, O but Ale, Wine, Beer, Rum, Whisky and so forth.
It's not an embark so much as seven dwarves having a simultaneous strange mood and going off to build an artifact fortress that menaces with spikes of awesome and hanging rings of death.

Jiri Petru

  • Bay Watcher
    • View Profile
Re: What does it take to go multiplayer?
« Reply #18 on: March 10, 2010, 06:45:31 am »

What would be the difference between "multiplayer" DF and singleplayer DF?  ???
Logged
Yours,
Markus Cz. Clasplashes

Thief^

  • Bay Watcher
  • Official crazy person
    • View Profile
Re: What does it take to go multiplayer?
« Reply #19 on: March 10, 2010, 06:52:16 am »

Coop fortress play would be great for teaching new players, or just generally playing coop. Coop adventure mode would be pretty nice too.
Logged
Dwarven blood types are not A, B, AB, O but Ale, Wine, Beer, Rum, Whisky and so forth.
It's not an embark so much as seven dwarves having a simultaneous strange mood and going off to build an artifact fortress that menaces with spikes of awesome and hanging rings of death.

zwei

  • Bay Watcher
  • [ECHO][MENDING]
    • View Profile
    • Fate of Heroes
Re: What does it take to go multiplayer?
« Reply #20 on: March 10, 2010, 06:55:07 am »

 
The game would have to be able to be played without pausing before multiplayer could be done, that's for sure.

Designations aren't too bad, neither is looking at units. One problem screen is the "choose items to use in construction" one, especially for stone it stalls quite badly, and updating it in realtime...

Also, currently game could make use of pauses to run expensive optimalizations without hurting FPS (i.e. to recalculate TSKed items in order to TSK closest one or to precompute various )

I would also note that not-pausing during constructions would have huge benefits because complext designations can take a lot of player time. It would be great to have miners actually dig rooms as you designate them rather than spending 10 minutes deisgnating floor and then wait 10 more till it is dug. Same will walls or furniture.

Firehound

  • Bay Watcher
  • !!human!!
    • View Profile
Re: What does it take to go multiplayer?
« Reply #21 on: March 10, 2010, 07:26:57 am »

Of course, you run the issue of Some guy keeling dah elves/ flooding the world with magma. Though If you ran from a rather good server, that handles the world and several fortresses, You can lose Player A having Deep Blue as their desktop, and Player B running on a Commodore 64. Also, if the game pregenerates up to a season ahead, and just auto unpause after the threshold has been reached, as well as making the Units, Military, Manager, and Orders tabs running unpaused will allow the game to run in sync.
Logged

Spoiler (click to show/hide)

Hakar

  • Bay Watcher
    • View Profile
Re: What does it take to go multiplayer?
« Reply #22 on: March 10, 2010, 09:10:42 am »

The only thing I'd like to see is a single caravan visiting different forts, so you could import someone else's food, crafts and weapons.
Logged
A dwarf's unfailing capacity to believe what he prefers to be true rather than what the evidence shows to be likely and possible has always astounded me. We long for a caring Fortress which will save us from our childish mistakes, and in the face of mountains of evidence to the contrary we will pin all our hopes on the slimmest of doubts. Gold has not been proven not to exist, therefore it must exist.
Philosopher Prokhor Zakharov,
"For I Have Tasted The Plump Helmet"

Exponent

  • Bay Watcher
    • View Profile
Re: What does it take to go multiplayer?
« Reply #23 on: March 10, 2010, 09:18:21 am »

Then obviously those two players don't play together. I have seen this in other games, too..

In game world time passes in fortress mode.   If some player is even a few in game days behind another player, then you run into all sorts of problems unless they are always 100% in sync.   This is one of the main problems with having a multiplayer fort.

Yes, world time passes as fortress time passes, but I doubt world calculations are done every single tick of fortress time.  Some things might happen once a day or so (for example, calculating weather across the world), but since player actions typically cannot affect these things, sync isn't a problem, as they can remain fully deterministic.  (And if not fully deterministic, then the server can store a buffer of upcoming changes to the world that it has already calculated for the faster clients, and that slower clients will need in the near future.)

Designed appropriately, things which are affected by player actions can be introduced to the world level mechanics only once every game month, or game season even.  This way, sync only needs to happen at this relatively infrequent time.  So you sent an army to attack your neighbor (who is possibly a human player).  The server doesn't process the army until the end of the month, at sync time, at which point it decides if it has reached its destination yet or not.  If so, then during the next month, your neighbor will have to deal with your army (over which you would have no direct control, nor would you know the results until the next sync time at the earliest).  Same with sending out merchant caravans, affecting the animal population, or if world interaction got really ambitious in the future, affecting things like water flow (e.g., damming a river will dry up everything downstream).
Logged

vooood

  • Bay Watcher
  • Prophet
    • View Profile
    • Amalis of Daloth (TBA)
Re: What does it take to go multiplayer?
« Reply #24 on: March 10, 2010, 09:56:53 am »

EACH FORT is simulated on IT'S OWN PC.
ONE SERVER simulates ONLY OVERLAND ARMY/CARAVAN movement.
SYNCING can happen once per season, once per 30 minutes, or whatever the players decide.
IF your opponent is too slow find another one - a simple solution that is working and is used in ALL turn based games.

I see only one issue here and it's related to combat - my army versus your army - simulation of this should happen only on one PC and pausing should be somewhat limited (like 2 pauses per 10 minutes for example) so it's a nice experience for both players.

I hope that now everyone understands what I'm talking about. Pausing in my approach is somewhat like in the Heroes of Might&Magic games. You play your turn fast and then wait 20 minutes for the other 4 players to complete their turns. This could be also somewhat managed. Look at the following example:

Two players are playing. Each is playing his own for and they are not attacking each other, just sending caravans. Let's say DF calculates caravan positions once per month. So we have a faster FPS player complete a month earlier than the slower one. The game is paused for the faster player. Pausing is now somewhat limited to (for example) 2 minutes per 10 minutes of playing so the faster player is not waiting too much. So the faster player takes a toilet break and the slower player manages to finish the month in the following 5 minutes. The "server" calculates caravan positions and other world entities and the game is synced and unpased for both players just to repeat the same thing next (ingame) month.

In case of PvP the FPS would simply be synced and pausing also limited, but combat is not happening ALL the time but I suppose once a year or maybe even less frequent..
Logged
Music was my first love, and it will be my last.
Music of the future, and music of the past.

Shades

  • Bay Watcher
    • View Profile
Re: What does it take to go multiplayer?
« Reply #25 on: March 10, 2010, 10:36:48 am »

EACH FORT is simulated on IT'S OWN PC.
ONE SERVER simulates ONLY OVERLAND ARMY/CARAVAN movement.
SYNCING can happen once per season, once per 30 minutes, or whatever the players decide.
IF your opponent is too slow find another one - a simple solution that is working and is used in ALL turn based games.

This is not a sensible way to do it, and is _NOT_ used in any turn based game I can think of, certainly not anything vaguely recent. I can't even think of many (any?) play by email games that work this way, most at least use a host for this.



Logged
Its like playing god with sentient legos. - They Got Leader
[Dwarf Fortress] plays like a dizzyingly complex hybrid of Dungeon Keeper and The Sims, if all your little people were manic-depressive alcoholics. - tv tropes
You don't use science to show that you're right, you use science to become right. - xkcd

Aachen

  • Bay Watcher
  • Wenzo Pilgrim cancels job: unstuck in time.
    • View Profile
Re: What does it take to go multiplayer?
« Reply #26 on: March 10, 2010, 01:31:42 pm »

Anyone about ever play (rather, try (or just have incredible patience)) MoO2 multiplayer?
Logged
Quote from: Rithol Camus
There is but one truly serious philosophical problem and that is magma.

Quote from: Chinua Achebe
.... For Cliché is pauperized Ecstasy.

catsplosion

  • Bay Watcher
    • View Profile
Re: What does it take to go multiplayer?
« Reply #27 on: March 10, 2010, 01:36:35 pm »

There's always the more practical possibility of letting more than one player mark designations on the same fortress, with the understanding that they're probably sitting in the same room trying to make each others' dwarves pull levers attached to supports or atom smashers.  The game itself needs no rule changes for that, and it doesn't need to distinguish ownership or designations from one player to the other -- they're just two cursors into the same god, as far as the game need care.

(The notion of "each others' dwarves" would exist, of course, solely in their fleshy human minds.)
Logged

Schilcote

  • Bay Watcher
    • View Profile
Re: What does it take to go multiplayer?
« Reply #28 on: March 10, 2010, 01:57:06 pm »

Multiplayer adventure mode would be interesting, and possibly less problematic than fortress mode (since you don't need to do any pausing, and the player is a distinct entity). Just have the players be in an adventuring squad similar to what NPCs do when joining the player now.
Logged
WHY DID YOU HAVE ME KICK THEM WTF I DID NOT WANT TO BE SHOT AT.
I dunno, you guys have survived Thomas the tank engine, golems, zombies, nuclear explosions, laser whales, and being on the same team as ragnarock.  I don't think something as tame as a world ending rain of lava will even slow you guys down.

catsplosion

  • Bay Watcher
    • View Profile
Re: What does it take to go multiplayer?
« Reply #29 on: March 10, 2010, 02:26:38 pm »

Multiplayer adventure mode would be a nightmare!  You'd have to wait for the other player's every keypress.
Logged
Pages: 1 [2] 3 4