Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 4 5 [6] 7

Author Topic: Adding Multiplayer/LAN to Dwarf Fortress  (Read 20348 times)

Sprin

  • Bay Watcher
  • I am Sprin Dragon, Master of Madness!
    • View Profile
Re: Adding Multiplayer/LAN to Dwarf Fortress
« Reply #75 on: September 05, 2012, 07:57:30 pm »

wait...
YOUR FROM NECROTHREAT!! :~)
p.s. Yes thats the only plausable way I see any cell of multiplayer in DF
Logged
Quote from: Karnewarrior
HOW DID YOU KNOW I WAS LOOKING UP RULE 34 OF D*CKS?
Sprin is certifiably insane, but there is no denying his brilliance.

mastahcheese

  • Bay Watcher
  • Now with 20% less sanity and trans fat!
    • View Profile
Re: Adding Multiplayer/LAN to Dwarf Fortress
« Reply #76 on: September 05, 2012, 08:27:37 pm »

wait...
YOUR FROM NECROTHREAT!! :~)
p.s. Yes thats the only plausable way I see any cell of multiplayer in DF
Yes! And I am the Sheriff!
But serious people, how are you going to do multiplayer? Take a full 10 seconds to do a proper aimed attack or designation, and wait for another 10-20 full seconds for every single other player? Maybe a few hours of this and you can successfully simulate maybe two seconds of game time. It would be a cool idea, but there is no realistic way to input it into the game, simply by how it works.
And sorry if I sound mean, I'm simply impatient and would find a multiplayer DF to be the most boring thing on the planet to have to wait on other people to finish up all of their turns before it got back to me.
Logged
Oh look, I have a steam account.
Might as well chalk it up to Pathos.
As this point we might as well invoke interpretive dance and call it a day.
The Derail Thread

NKCazy

  • Bay Watcher
    • View Profile
Re: Adding Multiplayer/LAN to Dwarf Fortress
« Reply #77 on: September 20, 2012, 05:12:48 pm »

Alright. Yea this has been discussed in GREAT detail but none the less I was told to put my ideas in here (where it had been discussed more). If you dont think MP DF would be fun, cool. Thats your opinion. Personally, I like games like that and they can take a while (which Im also ok with)

The Idea is simple: Allow players to LAN their world together via a server and pick fortresses in different parts of the map (or in the same if on Adventure or whatnot).

This would allow others to interact with both NPC fortresses and players or even declare war on them. Leave any chat function up to IRC or some other chat medium (like Skype or Mumble).

What we would need: A server set up that runs like any Dwarf Fortress world. Generation same, time placement and all that the same but just has to watch the placement of several fortresses. Also has to be able to read the data that a player creates using their own fortress. I understand that this game can kill even the most die hard of computers in the "end game" but the Server just manages the info and relays it to other players (when they would go into a world map-esque thing) while the player's box still deals with all of the items on their end.

Why would we want this? Because I have played DF for a while (still run on DF df_28_181_40c) and while I love the game, I would love to see another player's trade caravan come into my market and offload goods that they made. Might also increase the time before the merchants leave (seeing as sometimes you lose the chance when your dwarves are running a large amount of supplies and your trader doesnt do his job).

What about that pausing shtuff that happens? Well, if the clients are transmitting their data to the server host, then the host can organize the files to where they run smoothly (or as smoothly as any box run server can get). If a player leaves the game for whatever reason, the server still has all of the players info in use. Think about it like this; when you save and end your game on single player, everything on your end stops, right? Well the same could happen on a server. The person is ending their session or closes unexpectedly and the server receives that end of stream packet, saving the last known info set it had (could have the server save everything that goes on every few minutes, that means that it only saves world info and info regarding active players) and waits for it to activate. When the player disconnects, all his stuff saves and then his Fortress "closes their doors" so to speak. They come back, and their doors "open" back up to the world. The server sends the last known packet it had to the client to restore the player's game.

What happens if the server crashes? Then whatever packet it had last is the last save. May be out of date by a couple minutes depending on save frequency. All players would be kicked like one might on any other game that uses a server host and gets DC'd.

Depending on how angry people get at me for giving ideas with specifics on how it could be done (if I could code, I would try and get this working based off other box-side servers), I might add more.

*update* I was reading through the thread and found an issue I hadnt addressed. When the player pauses their own game. The server just receives the info and organizes it so it is still receiving information from every player (even if they are paused). It just keeps track of how long they are paused and what they were doing. When the person unpauses, their world map updates for what everyone else did in that time (if able to be seen at that time) but their specific area is untouched. So, say I pause for five minutes, and you are doing your own stuff. I unpause five minutes later with what I was doing before the pause. World map updates with what everyone else was doing and game continues. If you were sending an envoy or invasion, it would move on the map (and take a while because one does not simply move across the world). In short, you pause and do your things, server still receives info on what is done by everyone (even you and what you are planning) and keeps on running.

-NK
« Last Edit: September 20, 2012, 05:28:54 pm by NKCazy »
Logged

GreatWyrmGold

  • Bay Watcher
  • Sane, by the local standards.
    • View Profile
Re: Adding Multiplayer/LAN to Dwarf Fortress
« Reply #78 on: September 20, 2012, 05:40:58 pm »

What happens when one player wants to pause and another doesn't? And how would you be playing with the other players if they were in different fortresses scattered across the globe?
Logged
Sig
Are you a GM with players who haven't posted? TheDelinquent Players Help will have Bay12 give you an action!
[GreatWyrmGold] gets a little crown. May it forever be his mark of Cain; let no one argue pointless subjects with him lest they receive the same.

NKCazy

  • Bay Watcher
    • View Profile
Re: Adding Multiplayer/LAN to Dwarf Fortress
« Reply #79 on: September 20, 2012, 05:53:29 pm »

For the pausing issue, you pause on YOUR end. The other player is still doing whatever they wanted to do. The server still recieves information on what is being done by all players that are in the game. The server just updates your world when you unpause (and by world I mean the overall world map since it is the key function to the MP). When the others pause, the same thing happens.

As for other players scattered about, that is completely up to them. You could be based close to other players to reduce time it takes to send troops or trade with allies or you could be across the whole map and take a long time to send liasons and troops. It would use the "world map", the map you used to pick your fortress in single player. It will track the entities in the game like it does when generating the world throughtout any amount of years you want (when you create a new world and chose to stop the world progression after the base had been set down for modification). Seeing as how the world map is very large, long distances would take a long time to travel. If I recall the maps are 16x16 in all three windows. So in order to travel one square on the Big, world map; one would have to travel 128 local map sizes (the one that you can access while in the game itself). You just designate the location you wish to send your dwarves to, they pack up and leave the zone (like the single player traders). It packs their code up and anything they have and a timer starts. When that timer reaches zero, your dwarves reach the area (in the beginning it would be easier to limit this to fortresses) and their code unpacks and they resume the active code that a trade caravan would do in single player. If its a war party, It would probably follow the goblin raiding code (later on, you it might be able to tab areas to where you can coordinate your troops). This means that in the early on, it would be computer AI, which isnt the smartest for war. Coding could be done later to allow the attacker to designate what the troops do.

What happens when this happens and the other player isnt on? The code stays packed up because the other fortress' "doors are closed". Same thing happens to you. This means that you might have an army waiting for you when you get on (but all of that can be seen via the "world map" as it would track invasions or traders). In the future, if you can control your own troops, it would have to wait for you to both be on and it would prompt the invader to commence the attack (can chose to delay and for how long) and then a message will ping the invadee saying that an invasion is about to commence.
Logged

GreatWyrmGold

  • Bay Watcher
  • Sane, by the local standards.
    • View Profile
Re: Adding Multiplayer/LAN to Dwarf Fortress
« Reply #80 on: September 20, 2012, 06:04:26 pm »

So...if you save for the night and the other player runs a couple years before sleeping, and you sent out an army to the other's fort after a few months of training, what would happen?
Logged
Sig
Are you a GM with players who haven't posted? TheDelinquent Players Help will have Bay12 give you an action!
[GreatWyrmGold] gets a little crown. May it forever be his mark of Cain; let no one argue pointless subjects with him lest they receive the same.

NKCazy

  • Bay Watcher
    • View Profile
Re: Adding Multiplayer/LAN to Dwarf Fortress
« Reply #81 on: September 20, 2012, 06:09:46 pm »

Your army would get destroyed. If the person is willing to play without sleep to do so, more power to them. I had this issue when playing DF on Vista that slowed the game down in every aspect so you could set it to where the server runs time on a slower scale (via a config file) so it would take longer for a year or two to pass. If you are willing to blitz early in the game, you should also be willing to accept the consequences of it.

*update* And even then, if you are prompted before the assault, you can still call it off. If the other person sent an army in retaliation, you get to watch it coming and hope you have enough defenses to last the siege until your dwarves get back. Honestly, would make for good use of dwarves with Liar and Negotiator and suck to be used as "spies"

Im honestly enjoying this, you may not. Because I am seeing where my judgement is in err and what parts I have overlooked, allowing me to find a solution.

-Final note- I will be at class for the next few hours and playing Star Wars: D20 after class, so I will not be able to continue this discussion until later tonight or tomorrow. Have a good night, Wyrm and all of the forums :D I expect to have some posts to read through later to solve issues in my ideas D:<

-NK
« Last Edit: September 20, 2012, 06:22:49 pm by NKCazy »
Logged

GreatWyrmGold

  • Bay Watcher
  • Sane, by the local standards.
    • View Profile
Re: Adding Multiplayer/LAN to Dwarf Fortress
« Reply #82 on: September 20, 2012, 06:53:44 pm »

So unless the two fortresses were synched, it'd be exactly like playing normal DF?
Logged
Sig
Are you a GM with players who haven't posted? TheDelinquent Players Help will have Bay12 give you an action!
[GreatWyrmGold] gets a little crown. May it forever be his mark of Cain; let no one argue pointless subjects with him lest they receive the same.

NKCazy

  • Bay Watcher
    • View Profile
Re: Adding Multiplayer/LAN to Dwarf Fortress
« Reply #83 on: September 20, 2012, 09:27:36 pm »

In a sense, yes. You play it normally on your end and the server picks up the info and transfers it and saves it so everyone can do their own thing without too much lag. All of this is for Fortress mode, though. I dont quite know how Adventure mode would work. Possibly use the same setup. Have it to where the world and files are supported on the server box and it just adds the players in as they join or leave. When players join the game, they "wake up" and when they leave, they "sleep". I havent played much Adventure mode, honestly. Tis pretty complicated (even by my standards) but thats the learning curve that DF has and is what keeps me in the game.
Logged

GreatWyrmGold

  • Bay Watcher
  • Sane, by the local standards.
    • View Profile
Re: Adding Multiplayer/LAN to Dwarf Fortress
« Reply #84 on: September 20, 2012, 09:35:55 pm »

So, you need to allow DF to have some sort of network connection and allow multiple fortresses to run at the same time, and it does little to nothing unless the players happened to have similar enough FPSs and playtimes that they can send stuff out to each other, once that is added?
Yeah, too much work for too little gain.
Logged
Sig
Are you a GM with players who haven't posted? TheDelinquent Players Help will have Bay12 give you an action!
[GreatWyrmGold] gets a little crown. May it forever be his mark of Cain; let no one argue pointless subjects with him lest they receive the same.

NKCazy

  • Bay Watcher
    • View Profile
Re: Adding Multiplayer/LAN to Dwarf Fortress
« Reply #85 on: September 20, 2012, 09:49:18 pm »

Its really not that much work. The server core would be based around DF itself. It just needs to track entities and move data.

But I have said my piece (as has everyone else over the years), using ideas and how they would work and what they would be based off of, instead of just saying "Lets have multiplayer" and leaving it at that.
Logged

GreatWyrmGold

  • Bay Watcher
  • Sane, by the local standards.
    • View Profile
Re: Adding Multiplayer/LAN to Dwarf Fortress
« Reply #86 on: September 20, 2012, 10:10:36 pm »

First off, more or less your idea (minus the exact solution you had for pausing) has been suggested in most multiplayer threads, including this one.

Second, both getting multiple forts in one world and adding in network connections would be no small feat. The best you could do lazily would be little more than copying a world folder and letting someone else play it. Player A caught the goblin general? Too bad, I need to spawn him for Player B since he hasn't caught him yet!

Besides, with minimal benifets, no amount of work is worth it.
Logged
Sig
Are you a GM with players who haven't posted? TheDelinquent Players Help will have Bay12 give you an action!
[GreatWyrmGold] gets a little crown. May it forever be his mark of Cain; let no one argue pointless subjects with him lest they receive the same.

Starver

  • Bay Watcher
    • View Profile
Re: Adding Multiplayer/LAN to Dwarf Fortress
« Reply #87 on: September 21, 2012, 05:33:56 am »

[If you play for longer than the enemy you're attacking then...] Your army would get destroyed. If the person is willing to play without sleep to do so, more power to them.
Wut?  You're penalised for playing more?  You realise that'd mean that everyone would be vying to be 'behind the leading edge'.  Sorry, that's just the immediate interpretation.  (The 'Logical' conclusion being that you start a fort, pause it immediately, and wait until everyone else has destroyed themselves on your defences before continuing, or just playing into your-future-but-still-their-history for total impunity.  I don't think you meant that, though, did you?)

Quote
I had this issue when playing DF on Vista that slowed the game down in every aspect
It was playing laggy?  Or the entire PC was just laggy?  I don't think I understand this point (?either?).  If you'd said how dwarves were lagging but elves were not, then I'd have been confused, but might have understood the point of mentioning the anomoly.

Quote
If you are willing to blitz early in the game, you should also be willing to accept the consequences of it.
While I agree that people should not necessarily be rewarded for having more hours of the day to play a game, I don't think they should be penalised.

Quote
-Final note- I will be at class for the next few hours and playing Star Wars: D20 after class,
Give me the original SW RPG any day.  But that's just a personal opinion, and not on topic at all.

(OTOH, why aren't you at least playing 40d?  That's a darn old version you got yourself, there.  With the lack of some optimisations, might explain your lag on Vista.  Either that or the same 'lag' but with more features happening.)


Whoops, accidentally start-quoted instead of end-quoted, while manually editing... Edited to resolve.

And, while I'm here, editing something nobody has replied to already, how about I state something positive about how to handle "more time to play" and "less time to play" multiplayers interacting...

Complete game re-design, so that "doing nothing" is a much safer option.  Right now, if you leave the game on, unattended and without "stop and centre on alert" settings interrupting the flow, you're sure to lose your fort.  This could be for many reasons, from hostiles or FBs wandering onto the map to starvation (unless you've really balanced out the food cycle so you can set every food-type production-line job on repeat and it just 'happens', and not so much that you run out of barrels/etc, because of over-production and cancels a vital Repeat), all of which the active player can keep an eye on and react to (or even prevent in advance) while the passive player would let slide and allow to kill his dwarves.  Directly or after a tantum spiral.

With the game in a "runs itself" setting (nobody starves, enemies are automatically dealt with if you have enough forces, forces maybe even get replenished/healed without intervention) you can afford to have it running at a standard speed on the 'server' (or basic assumptions held about the player's machine hypothetical fort state, even before they log back in an run a quick update), without the need for every player to be logged in every moment of the day that any other player is on.  Playing across time-zones is possible, as it is between the unemployed mid-holiday student with nothing but time for DF, vs. the guy with the long commute to and from work and the family who prefers his presence at weekend activities, and only the spare half hour or two on the evenings, only.

But, it would be a completely different game if one did change it that way.  That's the stinger.
« Last Edit: September 21, 2012, 06:26:44 am by Starver »
Logged

GreatWyrmGold

  • Bay Watcher
  • Sane, by the local standards.
    • View Profile
Re: Adding Multiplayer/LAN to Dwarf Fortress
« Reply #88 on: September 21, 2012, 06:40:33 am »

And the player would have no control over how to design a fort. And if humans have trouble playing DF, how hard will it be to teach it to a computer?
Logged
Sig
Are you a GM with players who haven't posted? TheDelinquent Players Help will have Bay12 give you an action!
[GreatWyrmGold] gets a little crown. May it forever be his mark of Cain; let no one argue pointless subjects with him lest they receive the same.

Starver

  • Bay Watcher
    • View Profile
Re: Adding Multiplayer/LAN to Dwarf Fortress
« Reply #89 on: September 21, 2012, 06:46:55 am »

Yup.  At the moment I'm led to the conclusion that it might even only be akin to DF as we know now as the DigNFight browser-based multiplayer game is to its original Dungeon Keeper inspiration/ripped-off-from-source.

(If you don't know what I'm talking about, never mind.  But it turns into a number-grind game, where the player strategy is entirely numbers-based, and there's no placement decisions made at all, it's all assumed to 'just happen', when you have the wherewithal to do so.)

I'm sure there's 'less dumb' conversion methods, but you could certainly imagine it happening that way...
Logged
Pages: 1 ... 4 5 [6] 7