Bay 12 Games Forum

Dwarf Fortress => DF Modding => Utilities and 3rd Party Applications => Topic started by: Warmist on August 09, 2017, 01:47:49 pm

Title: Dwarf fortress multiplayer
Post by: Warmist on August 09, 2017, 01:47:49 pm
Hi,

So this is a dfhack script that does web page based df multiplayer. As with all things in life there are some caveats:

Server running on: Offline (should really automate this indicator somehow...)
Source code on:  github  (https://github.com/warmist/df_multiplay)

How to host yourself:
(green button: clone or download, then download zip)

Features:

TODO:
Spoiler (click to show/hide)
Bugs and other lack of features:
Roadmap:

Suggestions are welcome. Also i'm not a web dev so this should look awful for them :P
Title: Re: Dwarf fortress multiplayer
Post by: assasinwar9 on August 09, 2017, 05:51:24 pm
your links seem to have a extra http thing going on lol.

just thought id tell you


EDIT: my god ... its actually rather amazing, even if i don't get to use a interface lol, i may have killed a unit without even knowing it till recently :)

also the fps seems to be .... too high or too low.... and i cant get my guy to go stay a z level lower becuse of it lol... but must say so far great work ... if i can help just tell me,
might want to get me to add you on discord or something tho... im not on here very often
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 09, 2017, 11:23:53 pm
your links seem to have a extra http thing going on lol.

just thought id tell you


EDIT: my god ... its actually rather amazing, even if i don't get to use a interface lol, i may have killed a unit without even knowing it till recently :)

also the fps seems to be .... too high or too low.... and i cant get my guy to go stay a z level lower becuse of it lol... but must say so far great work ... if i can help just tell me,
might want to get me to add you on discord or something tho... im not on here very often

Thanks :). The fps is around 100 so it should be not too high. It might be too fast because there is no pause and it's making turns even if you are not doing anything. And yeah the z level navigation is strange, hopefully i'll think of something...

Sadly i don't use discord. I use irc though and am on #dfhack and #dwarffortress on freenode.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 10, 2017, 02:45:28 pm
So yeah. Added creature creation and ramp walking (though walking up ramps is a little... strange)

Also suggest races and cost if you want them added.
Title: Re: Dwarf fortress multiplayer
Post by: funkydwarf on August 11, 2017, 10:42:01 pm
How do I get an account to try this thing? Do I just ask you like below?


Hey Warmist, will you make an account for me to see what this is and check it out?
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 12, 2017, 12:46:06 am
How do I get an account to try this thing? Do I just ask you like below?


Hey Warmist, will you make an account for me to see what this is and check it out?
Oh just try logging in. If that account does not exist, it just creates a new one.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 12, 2017, 06:38:49 am
New version. Changes:
Title: Re: Dwarf fortress multiplayer
Post by: KittyTac on August 12, 2017, 10:24:26 am
Good but laggy. Maybe someday we will get something like this but with a pocket world. Even mid-grade computers will slow down to a crawl with that though, probably.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 12, 2017, 10:53:32 am
Good but laggy. Maybe someday we will get something like this but with a pocket world. Even mid-grade computers will slow down to a crawl with that though, probably.
Actually i lowered fps so you could see what is happening. The other thing why it might look laggy is that the way i control creatures does not always work...

In other news: i've done items. Now you can add weapons to your creatures.

Edit: and armor and shields. Also increased fps to 50. Fights will be very chaotic. But maybe it's okay...
Edit2: probably need better arena...
Title: Re: Dwarf fortress multiplayer
Post by: assasinwar9 on August 12, 2017, 12:31:17 pm
talk about fast progress lol :)

keep up the good work and godspeed

shame you dont use discord tho >.<

EDIT : i just played for about 2 min or so ... then it seems it froze or my unit stopped responding to my mouse clicks :/
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 12, 2017, 03:00:59 pm
talk about fast progress lol :)

keep up the good work and godspeed

shame you dont use discord tho >.<

EDIT : i just played for about 2 min or so ... then it seems it froze or my unit stopped responding to my mouse clicks :/
Yeah it crashed. Not sure why though. Will need to investigate
Title: Re: Dwarf fortress multiplayer
Post by: lethosor on August 12, 2017, 05:03:10 pm
I've also had some issues with requests to /map failing and requiring the page to be reloaded before the map updates again (although that could just be due to general internet connection issues on your/my end).
Title: Re: Dwarf fortress multiplayer
Post by: funkydwarf on August 13, 2017, 02:27:53 am
whoa thanks-i could see myself fooling around with this alot on mobile. I took a bronze axe, slayed a couple kobolds and a bob, then vomited all over.  It was glorious. Now I just tried and it works pretty good from my phone browser even, and the size is almost better for the small screen...

Very Cool!
Title: Re: Dwarf fortress multiplayer
Post by: KittyTac on August 13, 2017, 06:17:18 am
I'm able to move a single tile using mouse clicks, then it's unresponsive. Help.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 13, 2017, 06:21:50 am
I'm able to move a single tile using mouse clicks, then it's unresponsive. Help.
Just crashed :) but now it should be back up and hopefully fixed that bug.

I need to investigate a better control scheme. Maybe indicate more of what is happening (e.g. why your char is stuck?)

New version:
Title: Re: Dwarf fortress multiplayer
Post by: Bumber on August 14, 2017, 11:14:10 pm
I keep spawning as an aardvark.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 15, 2017, 01:14:10 am
I keep spawning as an aardvark.
Sorry. Fixed :)
Title: Re: Dwarf fortress multiplayer
Post by: KittyTac on August 15, 2017, 02:06:54 am
I keep spawning as an aardvark.
Sorry. Fixed :)

Maybe add an aardvark race just to commemorate this bug.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 15, 2017, 04:31:25 am
I keep spawning as an aardvark.
Sorry. Fixed :)

Maybe add an aardvark race just to commemorate this bug.
Heh. Done.

In other news: added numpad controls. Somewhat wonky and ramps works even stranger than before but seems to work...
Title: Re: Dwarf fortress multiplayer
Post by: KittyTac on August 15, 2017, 05:48:25 am
Hmm. I can't attack dwarves as a night creature for some reason.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 15, 2017, 06:18:33 am
Hmm. I can't attack dwarves as a night creature for some reason.
Ah... the conflict level was set to brawl. So that explains the fight strangeness.
Title: Re: Dwarf fortress multiplayer
Post by: Severedicks on August 15, 2017, 07:40:41 am
I'm sorry to be that person, but what exactly is this? What are we supposed to do and how did you come to make something like this?
Title: Re: Dwarf fortress multiplayer
Post by: lethosor on August 15, 2017, 08:22:15 am
It allows you to control a creature in a game running on warmist's machine. There's not much to it besides what you can see if you open it (although it isn't always up). I'm not sure what the second part of your question is supposed to mean - warmist felt like making this because it was an interesting project, similar to other utilities.
Title: Re: Dwarf fortress multiplayer
Post by: Severedicks on August 15, 2017, 08:58:26 am
What I meant is how did he accomplish that? For the better part of a decade people have been posting suggestions to make the game multiplayer, only to be rebutted with replies on the lines of 'it's impossible', 'games have to be built from the ground up for this to work', 'it would require years of work and rewriting', and so on. So to say I'm surprised that someone just shows up and drops a couple scripts that make it possible is an understatement. Actually I'm even more astonished by the lack of surprise from the community, as if it were as mundane an accomplishment as editing the init files. Given how long the topic has been discussed, you'd expect dozens of people to show up and crash the server in amazement and the thread itself to be flooded, but current response is being rather lukewarm.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 15, 2017, 09:18:42 am
What I meant is how did he accomplish that? For the better part of a decade people have been posting suggestions to make the game multiplayer, only to be rebutted with replies on the lines of 'it's impossible', 'games have to be built from the ground up for this to work', 'it would require years of work and rewriting', and so on. So to say I'm surprised that someone just shows up and drops a couple scripts that make it possible is an understatement. Actually I'm even more astonished by the lack of surprise from the community, as if it were as mundane an accomplishment as editing the init files. Given how long the topic has been discussed, you'd expect dozens of people to show up and crash the server in amazement and the thread itself to be flooded, but current response is being rather lukewarm.
Hehehehe....

It's not that i've "just shows up and drops a couple scripts". This took me a LOOONG time. Mostly hacking and kicking code around. Biggest change was mifki's code which uses render_map function. I've just made it so you could use it from lua. The rest of stuff is cobbled together http server (which is actually not very sane thing to do...)

As for reception: yeah i expected more of fights and disbelief. My guesses are that:
Title: Re: Dwarf fortress multiplayer
Post by: Severedicks on August 15, 2017, 09:32:19 am
Of course I understand it took you a long time, it's just the casual way the whole thing sounded like me:
Warmist: "Oh by the way, I just made this thing that lets you do something that's been asked for 11 years, thought you could use it"
Community: "Meh"
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 15, 2017, 09:37:04 am
Of course I understand it took you a long time, it's just the casual way the whole thing sounded like me:
Warmist: "Oh by the way, I just made this thing that lets you do something that's been asked for 11 years, thought you could use it"
Community: "Meh"
:D

In other news: added highscore in welcome screen.
Title: Re: Dwarf fortress multiplayer
Post by: Putnam on August 15, 2017, 05:32:11 pm
As for reception: yeah i expected more of fights and disbelief. My guesses are that:
  • not a lot of people come to this part of forum (or forums in general)
  • Those who try are discouraged by lack of features and/or bugs
  • Currently not a lot people are playing DF as it's in "NEAR RELEASE" state
  • other....

in my case it was literally a "huh, warmist did it before i did" situation
Title: Re: Dwarf fortress multiplayer
Post by: Shonai_Dweller on August 15, 2017, 06:04:12 pm
It may just be that a lot of people started playing dwarf fortress because they wanted to play a single player game. You know, by themselves. Not that surprising that a multiplayer thing is looked at as a mild curiosity not worth commenting on.

Also playing a single creature in someone else's game is perhaps not what 'the community' meant when they were demanding multiplayer dwarf fortress (no idea what they may have meant actually).

Seems like a pretty cool project to me, anyhow.
Title: Re: Dwarf fortress multiplayer
Post by: Severedicks on August 15, 2017, 06:24:48 pm
These days the suggestion police is in full force, but I remember scores and scores of people asking for a multiplayer implementation of some sort along the years, with an equal number of 'seasoned' forum members telling them off for posting such a rehashed suggestion over and over again. A simple search for 'multiplayer' in the suggestion forum will probably yield hundreds of results. It's probably in the top 5 of the most prominent suggestions of all time (along with open sourcing, multithreading, full graphics support and UI overhaul). Even the dfterm2 thread has 50 pages or so, and it's only a sort of hotseat.

Title: Re: Dwarf fortress multiplayer
Post by: Shonai_Dweller on August 15, 2017, 06:49:54 pm
Weren't people mostly asking for a way to play fortress mode with multiple players (along with another set of folk asking for better ways to share fortresses)? This seems to be neither (but realistically it's probably the best way to enjoy dwarf fortress multiplayer).
Title: Re: Dwarf fortress multiplayer
Post by: Severedicks on August 15, 2017, 07:40:14 pm
People were asking for any way to share a fortress with other folks, even just hotseating. See the dfterm2 (http://www.bay12forums.com/smf/index.php?topic=50643.0) thread. Everyone was so excited at the time, people were setting up servers left and right. I guess it's sort of died down now.

I think we have been all coddled by the dfhack team and script makers. The game now has a myriad of bugfixes, performance tweaks, UI improvements, automation (hell, there's even a script that plays the game for you (https://github.com/BenLubar/df-ai)) and various magic that lets you tinker with every aspect of it. You can play with an isometric overlay thanks to stonesense. You can visualize your fortress in 3D graphics with Armok Vision or you can play in a sort of FPS mode with your adventurer. You can play the game on the web or on your iPhone. So it would makes sense that a sort of multiplayerish doesn't raise that many eyebrows, I guess. The amount of work that was poured into all this while not having access to the source code is simply too ridiculous and we should be grateful that folks like lethosor, warmist et al. don't decide to suddenly retire from programming and become fishermen in Alaska or something.
Title: Re: Dwarf fortress multiplayer
Post by: KittyTac on August 15, 2017, 08:31:32 pm
With a better computer, Warmist could do this in an actual pocket world and not in the arena. That would be cool with more players.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 15, 2017, 11:19:51 pm
Weren't people mostly asking for a way to play fortress mode with multiple players (along with another set of folk asking for better ways to share fortresses)? This seems to be neither (but realistically it's probably the best way to enjoy dwarf fortress multiplayer).
Well this was the easiest way to do it. If somebody comes along and reimplements all the screens then you could control fort just like in normal DF

With a better computer, Warmist could do this in an actual pocket world and not in the arena. That would be cool with more players.
Actually my computer is almost top of the line :P
I've experimented a bit with adventure mode and fort mode.
In adventure mode the issue is that view is hidden because of only stuff in player viewcone is shown.
In fort mode there is even less to do. Ofcourse you could control one of existing dwarves and I have a plan for it. Not sure how much !!FUN!! that would be...

General problems in all the modes: there is no known way to precisely control a unit. You could do it by making your own unit.actions but you would need to fill them out correctly (though using jump to explode at walls is fun). So this need research. Also showing equiped items and then changing them is a lot of work (though not very hard IIRC) so that might come next.

I think currently the problem is that there is not much to do. I'll try to make Co-op siege defence happen. Maybe even more strategic (i.e. you could just buy/place units at the start).
Title: Re: Dwarf fortress multiplayer
Post by: Putnam on August 15, 2017, 11:23:19 pm
Could always just have the given unit be customizable (name, job) and have their labors or maybe even squads set for fort mode.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 15, 2017, 11:28:20 pm
Could always just have the given unit be customizable (name, job) and have their labors or maybe even squads set for fort mode.
Yeah my old version had: name, labors (i.e. what jobs you could do) and assign and remove from burrows. This allowed was more for the way people play where they name their dwarf in community fort.
Title: Re: Dwarf fortress multiplayer
Post by: KittyTac on August 16, 2017, 12:58:34 am
What about running a fort mode fort then allowing pleyers to take control of a dorf, do jobs, fight, etc? Just make sure they don't go on a killing spree and cause a loyalty cascade.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 16, 2017, 01:15:13 am
What about running a fort mode fort then allowing pleyers to take control of a dorf, do jobs, fight, etc? Just make sure they don't go on a killing spree and cause a loyalty cascade.
That is in the plans. I was thinking of two choices (for server): either let dwarf "start" jobs on their own (more work for me though). That way you could go to a workshop (or construct your own) and make yourself a battleaxe. Or just allow working on available jobs. Maybe suspended too (less work for me). This way would better integrate with vanilla job management.

I think i'll post approximate roadmap in the first post.
Title: Re: Dwarf fortress multiplayer
Post by: KittyTac on August 16, 2017, 07:47:17 am
What about running a fort mode fort then allowing pleyers to take control of a dorf, do jobs, fight, etc? Just make sure they don't go on a killing spree and cause a loyalty cascade.
That is in the plans. I was thinking of two choices (for server): either let dwarf "start" jobs on their own (more work for me though). That way you could go to a workshop (or construct your own) and make yourself a battleaxe. Or just allow working on available jobs. Maybe suspended too (less work for me). This way would better integrate with vanilla job management.

I think i'll post approximate roadmap in the first post.

If this happens, this will be the game's first true community game.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 16, 2017, 01:19:12 pm
Added working economy: kills give you 5 money!
Added spectator mode: now you can view stuff without logging in.

Final change for the day: added enemies - there will always be 515 (allied together) kobold on the map mostly should be in the fort in lower right corner.
Happy hunting :)

Also if somebody knows any good arena maps please share :)

A day of carnage- around 1000 kobolds have died:
Spoiler (click to show/hide)
Title: Re: Dwarf fortress multiplayer
Post by: MrLurkety on August 17, 2017, 07:38:45 pm
First impression: Wow, there are kobold corpses all over.
Oh, that's why.
Oh, wow! Just got my first kill, after dying so much!
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 18, 2017, 02:26:28 am
Added item equiping and hauling.

Can somebody make a better arena? Like with few buildings and some magma but without these random corridors and unreachable places?

Edit: oh and chat added.
Title: Re: Dwarf fortress multiplayer
Post by: MrLurkety on August 18, 2017, 08:45:13 am
Could you please make it so that you KNOW what you pick up? Currently, you just hope it's a weapon, not a bolt or something.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 18, 2017, 01:20:19 pm
Could you please make it so that you KNOW what you pick up? Currently, you just hope it's a weapon, not a bolt or something.

Or kobolt :D (which your unit equips as a weapon btw).
Sure. Soon (tm)...
Title: Re: Dwarf fortress multiplayer
Post by: MrLurkety on August 18, 2017, 04:28:03 pm
Could you please make it so that you KNOW what you pick up? Currently, you just hope it's a weapon, not a bolt or something.

Or kobolt :D (which your unit equips as a weapon btw).
Sure. Soon (tm)...
Hey! You have infringed the rightful intellectual property of "Toady One" (Tarn Adams), by repeating a phrase "Toady" owns without any credit!
Title: Re: Dwarf fortress multiplayer
Post by: KittyTac on August 18, 2017, 09:36:40 pm
So, I have an idea for fort mode. The players can control any dwarf, otherwise they're controlled by df-ai (google it up), or someone with the admin permission (Warmist and I, maybe?), You can dig as a dwarf, do jobs, and arena-style fight. Trading is done by any dorf. Add a minimap of the fort so we don't get lost.

What do you think?
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 19, 2017, 03:20:08 am
So, I have an idea for fort mode. The players can control any dwarf, otherwise they're controlled by df-ai (google it up), or someone with the admin permission (Warmist and I, maybe?), You can dig as a dwarf, do jobs, and arena-style fight. Trading is done by any dorf. Add a minimap of the fort so we don't get lost.

What do you think?

That is the plan. However we're still quite far from it. Currently missing stuff for that:

Whew...

Could you please make it so that you KNOW what you pick up? Currently, you just hope it's a weapon, not a bolt or something.

Or kobolt :D (which your unit equips as a weapon btw).
Sure. Soon (tm)...
Hey! You have infringed the rightful intellectual property of "Toady One" (Tarn Adams), by repeating a phrase "Toady" owns without any credit!
Also used by Valve and HalfLife3 :P
Title: Re: Dwarf fortress multiplayer
Post by: Fleeting Frames on August 19, 2017, 05:25:03 am
Well, this is nice topic. You've been working on this and precursors to this for years, I think...

On minimap, maybe use 1x1 tileset? ex like this abandoned one (http://www.bay12forums.com/smf/index.php?topic=125463). Looks better than the in-game minimap, I think.

With next version, I expect there's more interest in multiple concurrent forts in the same world as well. (Pausing, tho...You've handled it not bad, at least. And making self-sustainable fort is not something that requires lot of resources, thankfully. Maybe a well and one locked in (were/vampire) dwarf farmer who drops down plump helmets through a hatch.)

On screens, you probably know - if not wrote - gui/dwarfmode, but worth mentioning for others as an example. Multiple screens was something that the dfterm ideas lacked; I've played with multiple players sending inputs to 1 df but only 1 screen still, and it still means taking turn for all but painting designations with the mouse.

If you're sticking to single controlled dwarf and have to make controls anyway perhaps hook it to Armok Vision (on client's computer). Would also allow server to run without having rendering take up cpu space, leaving more fps for multiple players.

It'd be kinda like 3D MORPG at that point.

(Easy to say, hard to implement.)
Title: Re: Dwarf fortress multiplayer
Post by: MrLurkety on August 19, 2017, 11:26:09 am
Quote from: Warmist
Could you please make it so that you KNOW what you pick up? Currently, you just hope it's a weapon, not a bolt or something.

Or kobolt :D (which your unit equips as a weapon btw).
Sure. Soon (tm)...
Hey! You have infringed the rightful intellectual property of "Toady One" (Tarn Adams), by repeating a phrase "Toady" owns without any credit!
Also used by Valve and HalfLife3 :P
Valves copyright has ran out. They didn't bother to renew it, so Toady snapped it up.
Title: Re: Dwarf fortress multiplayer
Post by: Bumber on August 19, 2017, 11:42:45 pm
With next version, I expect there's more interest in multiple concurrent forts in the same world as well.
I think it would have to wait until alternate dimensions are implemented. We can't have multiple areas loaded simultaneously yet.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 20, 2017, 05:14:18 am
Whew...
Finally done a big rewrite. Now the server is way more modular. It's not as simple as i would like it to be, but for now it will do.
You will be able to mix and match (and modify html files a bit) the modules to have your own experience of the server. E.g. if you wish to run community fort with only spectators - use spectator plug and nothing else. If you wish to have arena with item buying - use economy plug. Etc...

Hopefully this will make development easier in the long term. However the way plugins work will probably change, because how there is no (easy) way to access plugin data (i.e. it's configuration - like the size of map area the map plugin gives to the client)
Title: Re: Dwarf fortress multiplayer
Post by: Bumber on August 22, 2017, 08:10:18 pm
Exhaustion seems to be the number one cause of death. The second you regain consciousness, you fall right back under again trying to avoid the enemy's attack. Worse when you're surrounded by multiple respawning kobolds. (Werebeast handles them easily, however, due to no exhaustion.)

Maybe you could add spawn points for unique single enemies in a few locations? It's really difficult once all the kobolds end up clustered.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on August 23, 2017, 05:14:16 am
Exhaustion seems to be the number one cause of death. The second you regain consciousness, you fall right back under again trying to avoid the enemy's attack. Worse when you're surrounded by multiple respawning kobolds. (Werebeast handles them easily, however, due to no exhaustion.)

Maybe you could add spawn points for unique single enemies in a few locations? It's really difficult once all the kobolds end up clustered.
I was thinking of making DOTA with two teams and a dragon as the "castle". However to be fun it needs more players to actually play.

But anyway i need new arena.
Title: Re: Dwarf fortress multiplayer
Post by: vvAve on August 23, 2017, 03:54:23 pm
Is http://dwarffort.duckdns.org/ working? I keep getting "Site can't be reached", though it did work for me a couple days before.
Title: Re: Dwarf fortress multiplayer
Post by: lethosor on August 23, 2017, 04:36:11 pm
It redirects to warmist's own computer, so it won't always be working.
Title: Re: Dwarf fortress multiplayer
Post by: Heretic on September 13, 2017, 12:16:32 am
Is it currently always offline??
Title: Re: Dwarf fortress multiplayer
Post by: KittyTac on September 13, 2017, 12:59:33 am
Is it currently always offline??

Warmist is still kinda active, so feel free to message him about it.
Title: Re: Dwarf fortress multiplayer
Post by: Dunamisdeos on September 21, 2017, 06:01:17 pm
I expect that this is not getting attention because people are assuming this is yet another "Hey when is multiplayer coming" thread.

Add something like -WORKING MULTIPLAYER- or some such to the title and watch the activity roll in.
Title: Re: Dwarf fortress multiplayer
Post by: Derpy Dev on September 21, 2017, 06:08:18 pm
Or just go for a full out clickbait title.

YOU WON'T BELIEVE HOW THIS DF MULTIPLAYER GAME WENT!!?
Title: Re: Dwarf fortress multiplayer
Post by: ArchAIngel on September 21, 2017, 06:15:28 pm
..It's real.


It's real.


Blighted soul of Voryn Dagoth, it's REAL.



Title: Re: Dwarf fortress multiplayer
Post by: pisskop on September 21, 2017, 06:19:27 pm
boop
Title: Re: Dwarf fortress multiplayer
Post by: LordBaal on September 21, 2017, 06:57:02 pm
WTF? Was this even real? Are your sure is not a elaborated hoax or something?

 No offense, is just that this is crazy.
Title: Re: Dwarf fortress multiplayer
Post by: Reelya on September 21, 2017, 09:23:31 pm
What I meant is how did he accomplish that? For the better part of a decade people have been posting suggestions to make the game multiplayer, only to be rebutted with replies on the lines of 'it's impossible', 'games have to be built from the ground up for this to work', 'it would require years of work and rewriting', and so on. So to say I'm surprised that someone just shows up and drops a couple scripts that make it possible is an understatement.

They were talking about something completely different. What people were saying was "impossible" was each person running their own actual copy of Dwarf Fortress fortress mode, running an entire fortress yourself, but all the fortresses being part of the same "world" somehow, e.g. able to send armies to other player's fortresses, or being able to switch into adventure mode and go visit someone else's running fortress. This is what they were refering to, and it is what is still impossible for all practical purposes.

We've been able to have multiple people remotely log into a single copy of DF for frikkin' years now. however, the limit is that everyone was basically controlling the same fortress at the same time. So it was in fact more on the level of "twitch plays DF" than having separate players. What Warmist seems to have done is taken the that idea but added external logic so that each player who logs in has separate controllable units in the game, probably using DFHack and other tools to interface into the game. This could get pretty creative, however the core limit is that you all need to be part of the same running fortress on one person's computer. So it's effectively a layer where each person has a little input into one game, rather than everyone running their own game.

Even though these can both be refered to as "dwarf fortress multiplayer", they refer to completely different things.
Title: Re: Dwarf fortress multiplayer
Post by: wierd on September 21, 2017, 09:41:20 pm
I dont mind, this is a neat idea regardless. 

Instead of a succession game, we would have a concurrence game.  Big improvement if you ask me.
Title: Re: Dwarf fortress multiplayer
Post by: pisskop on September 21, 2017, 10:00:22 pm
until we all armed our squads to the teeth and murdered each other when we go on break.

allllso ... I happen to know the perfect trap that can be triggered without dwarves at the players whim ....
Title: Re: Dwarf fortress multiplayer
Post by: Putnam on September 21, 2017, 10:00:35 pm
What I meant is how did he accomplish that? For the better part of a decade people have been posting suggestions to make the game multiplayer, only to be rebutted with replies on the lines of 'it's impossible', 'games have to be built from the ground up for this to work', 'it would require years of work and rewriting', and so on. So to say I'm surprised that someone just shows up and drops a couple scripts that make it possible is an understatement.

They were talking about something completely different. What people were saying was "impossible" was each person running their own actual copy of Dwarf Fortress fortress mode, running an entire fortress yourself, but all the fortresses being part of the same "world" somehow, e.g. able to send armies to other player's fortresses, or being able to switch into adventure mode and go visit someone else's running fortress. This is what they were refering to, and it is what is still impossible for all practical purposes.

The adventure mode thing basically is, but sending armies around doesn't sound untenable to me as long as it's done abstractly enough.
Title: Re: Dwarf fortress multiplayer
Post by: hops on September 21, 2017, 10:07:28 pm
PTW
Title: Re: Dwarf fortress multiplayer
Post by: Reelya on September 21, 2017, 10:17:31 pm
What I meant is how did he accomplish that? For the better part of a decade people have been posting suggestions to make the game multiplayer, only to be rebutted with replies on the lines of 'it's impossible', 'games have to be built from the ground up for this to work', 'it would require years of work and rewriting', and so on. So to say I'm surprised that someone just shows up and drops a couple scripts that make it possible is an understatement.

They were talking about something completely different. What people were saying was "impossible" was each person running their own actual copy of Dwarf Fortress fortress mode, running an entire fortress yourself, but all the fortresses being part of the same "world" somehow, e.g. able to send armies to other player's fortresses, or being able to switch into adventure mode and go visit someone else's running fortress. This is what they were refering to, and it is what is still impossible for all practical purposes.

The adventure mode thing basically is, but sending armies around doesn't sound untenable to me as long as it's done abstractly enough.

Well it could be possible if you lift units completely out of one game and basically e-mail them to another game. But it wouldn't be tracked in-game. e.g. the worlds themselves would be divergent since they're running on different machines. Also things like FPS wouldn't be consistent, since one player pauses the game while designating. If a whole season whizzes past in one player's game, and an army is sent out, then when should it arrive on the other machine. What if I sent an army in Spring, yet I had paused the game and you didn't, so you're already in Fall? The army "should" arrive in Winter, yet you've already had your winter yet no enemy army turned up.

Basically, the idea of syncing diverse copies of DF isn't viable.
Title: Re: Dwarf fortress multiplayer
Post by: KittyTac on September 21, 2017, 10:19:37 pm
Definitely not a hoax. I played this, lots of dead kobolds everywhere, werebeasts spawncamping, fun. Let's hope this comes online again.
Title: Re: Dwarf fortress multiplayer
Post by: Reelya on September 21, 2017, 10:24:12 pm
Of course it's not a "hoax". It's running one copy of DF on a server somewhere. That's been possible for a long time. Though he's added another layer of game elements on top of that (unit spawning mainly). The issue seems to be that it's just a shared Arena Mode and not any more than that.

When the term "multiplayer Dwarf Fortress" is thrown around people imagine a whole pile of things, that any one implementation probably don't involve, e.g. neither Fortress Mode nor Adventure Mode are supported in this "multiplayer Dwarf Fortress".

He has mentioned possible ideas for Fortress and Adventure mode here that reveal the limitations of only having one copy running for "multiplayer": e.g. in Adventure Mode, every player would be a Companion, and the "Adventurer" would be a ghost who always moves to the center of the group of players. So basically if you log in, then you're hacked in as another companion of the AI-controlled "Player". Which sounds pretty clunky, as effectively you are reliant on that one AI-script to run the actual "player" completely, which means that the types of Adventure Mode actions you can do will be much more limited than normal play.
Title: Re: Dwarf fortress multiplayer
Post by: Putnam on September 21, 2017, 11:32:20 pm
What I meant is how did he accomplish that? For the better part of a decade people have been posting suggestions to make the game multiplayer, only to be rebutted with replies on the lines of 'it's impossible', 'games have to be built from the ground up for this to work', 'it would require years of work and rewriting', and so on. So to say I'm surprised that someone just shows up and drops a couple scripts that make it possible is an understatement.

They were talking about something completely different. What people were saying was "impossible" was each person running their own actual copy of Dwarf Fortress fortress mode, running an entire fortress yourself, but all the fortresses being part of the same "world" somehow, e.g. able to send armies to other player's fortresses, or being able to switch into adventure mode and go visit someone else's running fortress. This is what they were refering to, and it is what is still impossible for all practical purposes.

The adventure mode thing basically is, but sending armies around doesn't sound untenable to me as long as it's done abstractly enough.

Well it could be possible if you lift units completely out of one game and basically e-mail them to another game. But it wouldn't be tracked in-game. e.g. the worlds themselves would be divergent since they're running on different machines. Also things like FPS wouldn't be consistent, since one player pauses the game while designating. If a whole season whizzes past in one player's game, and an army is sent out, then when should it arrive on the other machine. What if I sent an army in Spring, yet I had paused the game and you didn't, so you're already in Fall? The army "should" arrive in Winter, yet you've already had your winter yet no enemy army turned up.

Basically, the idea of syncing diverse copies of DF isn't viable.

"As long as it's done abstractly enough" was me specifically taking into consideration then promptly ignoring schedule conflicts as unworkable.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on September 22, 2017, 02:34:00 am
Oh cool, when i loose interest suddenly people gain interest :D

Re: hoax thread-> you are very correct saying that people want different things from multiplayer. E.g. i would love to have normal adventure mode, however it's currently not possible (with my skills?) and it has a problem of turns on top of that (how do they pass? What happens when you are in grapple menu? etc...)

So it's just an easiest solution i've found: arena mode (simplifies unit relations thus making everyone fight, limits the world, no adventure mode fog of war (which i've not found a solution for) and there is no fort death problem).

Also the server is not running because if i'm not working on this then i'm doing something else and it's lagging (e.g. ksp with a lot of stuff ~ DF with a lot of stuff) and if i'm working on this then it's constantly broken until i finish what i'm doing.

Re sending units and stuff: I've had some ideas about it. Mostly the "dwarf item deposit" where you could upload items and stuff and then download it (as a first step). However even such "simple" thing as an item can have deep "roots" with engravings which mention historic events and so on... End product i've envisioned was site merge, where you could import a site into your world with EVERYTHING. Thus new community game mode where it would be constantly forked and then merged back with players having that kind of multiplayer. (Also TODO: how to "order a carvan with these items to that site"). But all of this is insane amounts of work (though not hard probably)

I'll try running a server Saturday, coz probably won't be home.
Title: Re: Dwarf fortress multiplayer
Post by: Fleeting Frames on September 22, 2017, 12:20:11 pm
That forking idea is interesting partial solution to the pausing problem. Obvious sticking point is stuff like world divergences outside of sites, be it through wars or by visitors who would visit any player fortress in year x (thus causing a conflict if they die in one fort and live in other). Might be only possible in DF2012, given that.

Generating/sending armies via unit deletion/creation scripts seem like they should be possible, however.

Regarding fog of war, a naive probably-impossible idea you probs already thought of is to maintain all the viewcones in memory at once. I recall that Toady dreams of whole world being loaded to the depth of fortress/adventurer direct interaction, but such is not possible at current time. A "low scale" upgrade to arena mode might be perhaps to use hacking to create 3x3 world and then embark anywhere over the whole world (stick a vampire in a off-map cage or something to avoid fort death.), but I don't know if the npcs and army formation would behave correctly (and the fps would probably be in single digits on embark, whats with the 9x 16x16 embark area.)
Title: Re: Dwarf fortress multiplayer
Post by: KittyTac on September 22, 2017, 09:27:51 pm
That forking idea is interesting partial solution to the pausing problem. Obvious sticking point is stuff like world divergences outside of sites, be it through wars or by visitors who would visit any player fortress in year x (thus causing a conflict if they die in one fort and live in other). Might be only possible in DF2012, given that.

Generating/sending armies via unit deletion/creation scripts seem like they should be possible, however.

Regarding fog of war, a naive probably-impossible idea you probs already thought of is to maintain all the viewcones in memory at once. I recall that Toady dreams of whole world being loaded to the depth of fortress/adventurer direct interaction, but such is not possible at current time. A "low scale" upgrade to arena mode might be perhaps to use hacking to create 3x3 world and then embark anywhere over the whole world (stick a vampire in a off-map cage or something to avoid fort death.), but I don't know if the npcs and army formation would behave correctly (and the fps would probably be in single digits on embark, whats with the 9x 16x16 embark area.)

Why not do this: 7 people are dorfs on embark. The others are spectators. If there's fewer than 7 people, dorfs will be controlled by df-ai. Players can join in as immigrants once the wave arrives. You can build by going into a spot and selecting what to build from a drop-down menu. This will designate the building. For the time of building it, your dorf will be df-ai controlled. Same with working on workshops. There's a chat option, but only people in 10 tiles range in any direction can hear you, so maybe make some dorfs criers? Fighting... guess arena-style, but you can press a button to retreat? Once the fort falls, it will rotate into adv mode, for which I have no ideas ATM.
Title: Re: Dwarf fortress multiplayer
Post by: Reelya on September 22, 2017, 09:50:35 pm
If you can come and go like that, it makes more sense to just let spectators take over the dwarf of their choice when they log in, then the "original 7" or whatever isn't needed and people can drop in / drop out as desired. The main problem however is the persistent nature of a fortress and what to do with it when no-one is playing.

And the bigger issue is whether this is a more fun way to play the game than e.g. just a regular succession fortress?
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on September 23, 2017, 01:45:35 am
SERVER IS UP!
News:

Edit:  the nightcreatures are imba as always :< killing me every time. Maybe i'll make it so you die when you leave your current body
Title: Re: Dwarf fortress multiplayer
Post by: Heretic on September 23, 2017, 05:18:00 am
I'm told it to my comrads from russian forums... Wahahaa)
Title: Re: Dwarf fortress multiplayer
Post by: KittyTac on September 23, 2017, 10:23:31 am
I'm told it to my comrads from russian forums... Wahahaa)

I bet I'm the only one other than you here who can read what they're talking about. But I got to sleep, no time for messing around.
Title: Re: Dwarf fortress multiplayer
Post by: Heretic on September 23, 2017, 11:53:53 am
Russian became (un)offical language of this arena, i'm very sorry. But it's too funny, anyway. My character still live, and now he top-1 on server. Warmistr - pls say me how great his skills would be before restart of server.
And... probably you need to start patreon campaign for buying better computer for server(probably even not one), writing additional stuff and so on.

I add you about 500+ users then retell your post in russian DF community where I'm admin... I can add much more If your server is ready to all them.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on September 25, 2017, 10:24:06 am
So i'm shutting down server again. Here's end scores:
Title: Re: Dwarf fortress multiplayer
Post by: George_Chickens on September 27, 2017, 08:44:09 pm
How can this go so unnoticed? This is bloody amazing.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on September 30, 2017, 02:14:10 am
Okay so anyone has any good ideas for "game modes"? Hopefully something simple?

Thought about "monster hunters": you would manage a party of X people and hunt some monsters. Buying would happen for premade chars (for faster play) and players would be allies but would not share the money, thus you would race to hunt.

Also DOTA is possible. Though probably would be very unbalanced.
Maybe some sort of treasure hunters or just football (i.e. get thing, move it to some location?)
Title: Re: Dwarf fortress multiplayer
Post by: funkydwarf on September 30, 2017, 04:48:50 pm
Sometgi g like tge mordhien pen and paper game would be cool. Its like treasure hunting.
"Matches" with random wealth items laying around. Teams of 5 trying to get the most stopping others, using the looted wealth items to buy skill and gear upgrades.  May not be simple but...

If there was a server running and every 20-45 min a new map with fresh wealth objects camr up. People log in with their bands or even just single characters to collect treasure and/or kill people and take what they have collected this round. Might be tough to stop people from logging in, grabbing a some treasure and logging out so maybe when you log in, your character stays there till the end of the round and if you disconnect  you just stay there waiting to be killed with a simple reaction script to fight back if attacked. Maybe you can't log in the last 5-10 minutes as well.

Uh, sounds complex.

Could you just have a small world and let people adventure mode around be it if you had a full time multicore bare metal server with good uplink?
Title: Re: Dwarf fortress multiplayer
Post by: Dunamisdeos on September 30, 2017, 05:57:37 pm
Monster hunters sounds pretty fantastic.

Get one big bad, 4 people to fight it, and multiple smaller creatures along the way.
Title: Re: Dwarf fortress multiplayer
Post by: Rumrusher on October 01, 2017, 01:33:53 am
is it possible to say do a bar performer mode where players try to rack in approval points from the crowd by performing?
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on October 01, 2017, 05:40:33 am
is it possible to say do a bar performer mode where players try to rack in approval points from the crowd by performing?
Close to impossible. I.e. would need a LOT of work.

Edit: i think i'll make a mixed mode: treasure and monster hunting. Lower levels will have harder monsters and there will be "boss" in some level. Also it will have some loot around. However the party mechanics will probably take some time (lot of gui work...)
Title: Re: Dwarf fortress multiplayer
Post by: Bumber on October 01, 2017, 05:14:57 pm
Would it be possible to improve the combat system? Currently it just uses the default AI, but maybe in the future you could hack their targeting to make them use certain attacks?
Title: Re: Dwarf fortress multiplayer
Post by: Putnam on October 01, 2017, 09:41:40 pm
Would it be possible to improve the combat system? Currently it just uses the default AI, but maybe in the future you could hack their targeting to make them use certain attacks?

Yes, absolutely
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on October 02, 2017, 10:22:42 am
Would it be possible to improve the combat system? Currently it just uses the default AI, but maybe in the future you could hack their targeting to make them use certain attacks?

Yes, absolutely

I've done some research on that. There are three main problems - one idealogical, the other two implementational:

So yeah, if anyone has any ideas how to better do it, please tell :)
Title: Re: Dwarf fortress multiplayer
Post by: Bumber on October 03, 2017, 03:57:41 pm
I was thinking you'd just have a setting where you'd select an attack type and body part and the player would prefer to use that whenever possible. Targeting would just switch out which enemy the AI thinks it's fighting, from a list of visible units.

The implementational issues hamper those ideas somewhat. Could you disable the AI by putting everyone on the same team, or will they defend themselves?
Title: Re: Dwarf fortress multiplayer
Post by: Rumrusher on October 03, 2017, 04:14:14 pm
hmm wonder if it possible to code to set sparring to increase tiredness on hit than from sparring someone.
so you could set up fights where 2 players can duke it out without killing each other and run an arena where it's first to be knock out loses.
Title: Re: Dwarf fortress multiplayer
Post by: Putnam on October 04, 2017, 02:16:41 pm
hmm wonder if it possible to code to set sparring to increase tiredness on hit than from sparring someone.

yes, definitely

Code: (modtools/putnam_events.lua) [Select]
-- A few events for modding.

--[[
    The eventTypes table describes what event types there are. Activation is done like so:
    enableEvent(eventTypes.ON_RELATIONSHIP_UPDATE,1)
]]

onUnitAction=onUnitAction or dfhack.event.new()

local actions_already_checked=actions_already_checked or {}

things_to_do_every_action=things_to_do_every_action or {}

actions_to_be_ignored_forever=actions_to_be_ignored_forever or {}

local function checkForActions()
    for _,something_to_do_to_every_action in pairs(things_to_do_every_action) do
        something_to_do_to_every_action[5]=something_to_do_to_every_action[5]+1 or 0
    end
    for k,unit in ipairs(df.global.world.units.active) do
        local unit_id=unit.id
        actions_already_checked[unit_id]=actions_already_checked[unit_id] or {}
        local unit_action_checked=actions_already_checked[unit_id]
        for _,action in ipairs(unit.actions) do
            local action_id=action.id
            if action.type~=-1 then
                for kk,something_to_do_to_every_action in pairs(things_to_do_every_action) do
                    if something_to_do_to_every_action[1] then
                        if something_to_do_to_every_action[5]>1 or (unit_id==something_to_do_to_every_action[3] and action_id==something_to_do_to_every_action[4]) then
                            things_to_do_every_action[kk]=nil
                        else
                            something_to_do_to_every_action[1](unit_id,action,table.unpack(something_to_do_to_every_action[2]))
                        end
                    end
                end
                if not unit_action_checked[action_id] then
                    onUnitAction(unit_id,action)
                    unit_action_checked[action_id]=true
                end
            end
        end
    end
end

function doSomethingToEveryActionNextTick(unit_id,action_id,func,func_args) --func is thing to do, unit_id and action_id represent the action that gave the "order"
    actions_to_be_ignored_forever[unit_id]=actions_to_be_ignored_forever[unit_id] or {}
    if not actions_to_be_ignored_forever[unit_id][action_id] then
        table.insert(things_to_do_every_action,{func,func_args,unit_id,action_id,0})
    end
    actions_to_be_ignored_forever[unit_id][action_id]=true
end


onRelationshipUpdate=onRelationshipUpdate or dfhack.event.new()

current_relations_checked=current_relations_checked or {}

local function checkRelationshipUpdates()
    for k,v in ipairs(df.global.world.units.active) do
        local histfig=df.historical_figure.find(v.hist_figure_id)
        if not histfig or not histfig.info or not histfig.info.relationships then return end
        current_relations_checked[v.hist_figure_id]=current_relations_checked[v.hist_figure_id] or {}
        for kk,relationship in ipairs(histfig.info.relationships.list) do
            current_relations_checked[v.hist_figure_id][relationship.histfig_id]=current_relations_checked[v.hist_figure_id][relationship.histfig_id] or {}
            local thisHistFigRelations=current_relations_checked[v.hist_figure_id][relationship.histfig_id]
            for relation_type_index,relation_type in ipairs(relationship.anon_3) do
                thisHistFigRelations[relation_type]=thisHistFigRelations[relation_type] or relationship.anon_4[relation_type_index]
                if thisHistFigRelations[relation_type]~=relationship.anon_4[relation_type_index] then
                    onRelationshipUpdate(v.hist_figure_id,relationship.histfig_id,relation_type,thisHistFigRelations[relation_type],relationship.anon_4[relation_type_index])
                    --onRelationshipUpdate.example=function(histfig1_id,histfig2_id,relationship_type,old_value,new_value)
                    thisHistFigRelations[relation_type]=relationship.anon_4[relation_type_index]
                end
            end
        end
    end
end

local df_date={}

df_date.__eq=function(date1,date2)
    return date1.year==date2.year and date1.year_tick==date2.year_tick
end

df_date.__lt=function(date1,date2)
    if date1.year<date2.year then return true end
    if date1.year>date2.year then return false end
    if date1.year==date2.year then
        return date1.year_tick<date2.year_tick
    end
end

df_date.__le=function(date1,date2)
    if date1.year<date2.year then return true end
    if date1.year>date2.year then return false end
    if date1.year==date2.year then
        return date1.year_tick<=date2.year_tick
    end
end

onEmotion=onEmotion or dfhack.event.new()

last_check_time=last_check_time or {year=df.global.cur_year,year_tick=df.global.cur_year_tick}

setmetatable(last_check_time,df_date)

local function checkEmotions()
    for k,unit in ipairs(df.global.world.units.active) do
        if unit.status.current_soul then
            for _,emotion in ipairs(unit.status.current_soul.personality.emotions) do
                local emotion_date={year=emotion.year,year_tick=emotion.year_tick}
                setmetatable(emotion_date,df_date)
                if emotion_date>=last_check_time then
                    onEmotion(unit,emotion)
                end
            end
        end
    end
    last_check_time.year=df.global.cur_year
    last_check_time.year_tick=df.global.cur_year_tick
end

eventTypes={
    ON_RELATIONSHIP_UPDATE={name='relationCheck',func=checkRelationshipUpdates},
    ON_ACTION={name='onAction',func=checkForActions},
    ON_EMOTION={name='onEmotion',func=checkEmotions}
}

function enableEvent(event,ticks)
    ticks=ticks or 1
    require('repeat-util').scheduleUnlessAlreadyScheduled(event.name,ticks,'ticks',event.func)
end

function disableEvent(event)
    require('repeat-util').cancel(event.name)
end

knock yourself out or, uh, something
Title: Re: Dwarf fortress multiplayer
Post by: Cathar on October 17, 2017, 04:13:38 am
I am very, very, very interested by the fort mode. Please make it a reality. You'd make a couple people extatic on my side of the globe.
Title: Re: Dwarf fortress multiplayer
Post by: Vi Et Armis on October 17, 2017, 05:28:37 pm
What you've done already looks amazing! Love that road map, don't give up!
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on October 18, 2017, 12:12:47 am
Just to update people on what is happening: i've accidentally remembered that i've done the rendermax so i've been experimenting with running light calculations on opencl for the last week, but i'm thinking of this too.
Title: Re: Dwarf fortress multiplayer
Post by: MoonyTheHuman on October 24, 2017, 02:16:50 pm
Wait. This exists? Time to revive DF Together, just with less work.
I mean, i'd still have to do fort mode code and general work, but thats about it. I can just steal the renderer from here :P
EDIT 5million: Oh. Already part of DFHack. That helps.
Title: Re: Dwarf fortress multiplayer
Post by: spazyak on October 25, 2017, 08:17:32 am
I don't know if posting here counts as necro-ing a thread but wanted to see if this is still a thing and perhaps how I could set this up and host it for some friends and I to play.
Title: Re: Dwarf fortress multiplayer
Post by: KittyTac on October 25, 2017, 08:18:51 am
I don't know if posting here counts as necro-ing a thread but wanted to see if this is still a thing and perhaps how I could set this up and host it for some friends and I to play.

Only Warmist has the code. Fortmode is being developed. Or so I sincerely hope.
Title: Re: Dwarf fortress multiplayer
Post by: spazyak on October 25, 2017, 08:25:18 am
Ooh I will have to keep an eye on this then.
Title: Re: Dwarf fortress multiplayer
Post by: lethosor on October 25, 2017, 09:17:00 am
I don't know if posting here counts as necro-ing a thread but wanted to see if this is still a thing and perhaps how I could set this up and host it for some friends and I to play.

Only Warmist has the code. Fortmode is being developed. Or so I sincerely hope.
https://github.com/warmist/df_multiplay
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on October 25, 2017, 09:59:01 am
I don't know if posting here counts as necro-ing a thread but wanted to see if this is still a thing and perhaps how I could set this up and host it for some friends and I to play.

Only Warmist has the code. Fortmode is being developed. Or so I sincerely hope.
https://github.com/warmist/df_multiplay
Just to update people on what is happening: i've accidentally remembered that i've done the rendermax so i've been experimenting with running light calculations on opencl for the last week, but i'm thinking of this too.
Also people that understand some dfhack-ines everything you need (without compilation) on windows is in first post.
Title: Re: Dwarf fortress multiplayer
Post by: Sanctume on October 25, 2017, 01:12:36 pm
PTW, because coding.
Title: Re: Dwarf fortress multiplayer
Post by: Brother Muttonchops on December 06, 2017, 10:51:00 pm
I just made an account on Bay 12 to follow this post and want to say, it is really awesome what you are doing here!

I saw the other 3rd party applications like dfterm, WebFort, and DFeverywhere and I was really disappointed to see that most of them fell to the wayside; I just recently got into Dwarf Fortress and never really got to try them at all. However, I would love to see where this could potentially go and from the prior posts, it seems it worked well enough to be enjoyable.

So thank you Warmist for your hard work and I am posting to follow this project!  :)

Title: Re: Dwarf fortress multiplayer
Post by: Dunamisdeos on December 08, 2017, 07:29:42 pm
I am still watching with great interest.
Title: Re: Dwarf fortress multiplayer
Post by: tranquilham on December 10, 2017, 07:23:01 am
posting to watch as well; looks very promising.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on January 07, 2018, 04:20:43 am
* Warmist is inspired by  FREAKING 400 YEAR FORT  (http://www.bay12forums.com/smf/index.php?topic=156319.0) *

Server on-line... Thinking how to make a 400 year multiplayer fort :D Might need to think of a way to have more indirect control because fort fps would be low.
Arena mode for now (just new version check).

Edit:
Title: Re: Dwarf fortress multiplayer
Post by: KittyTac on January 07, 2018, 08:07:07 am
It's alive.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on January 07, 2018, 09:32:29 am
Ah... sad: current dfhack has some bugs, one of them makes it so i can't track kills thus no money -.-

Edit: Started server on old df with old dfhack. No difference for this part of multiplayer... Fort mode might be more interesting with new version (e.g. if i somehow allow players to do their own raids?)
Title: Re: Dwarf fortress multiplayer
Post by: Pvt. Pirate on January 10, 2018, 12:38:46 pm
What I meant is how did he accomplish that? For the better part of a decade people have been posting suggestions to make the game multiplayer, only to be rebutted with replies on the lines of 'it's impossible', 'games have to be built from the ground up for this to work', 'it would require years of work and rewriting', and so on. So to say I'm surprised that someone just shows up and drops a couple scripts that make it possible is an understatement. Actually I'm even more astonished by the lack of surprise from the community, as if it were as mundane an accomplishment as editing the init files. Given how long the topic has been discussed, you'd expect dozens of people to show up and crash the server in amazement and the thread itself to be flooded, but current response is being rather lukewarm.
Hehehehe....

It's not that i've "just shows up and drops a couple scripts". This took me a LOOONG time. Mostly hacking and kicking code around. Biggest change was mifki's code which uses render_map function. I've just made it so you could use it from lua. The rest of stuff is cobbled together http server (which is actually not very sane thing to do...)

As for reception: yeah i expected more of fights and disbelief. My guesses are that:
  • not a lot of people come to this part of forum (or forums in general)
  • Those who try are discouraged by lack of features and/or bugs
  • Currently not a lot people are playing DF as it's in "NEAR RELEASE" state
  • other....
you can add "many just /dl the LNP and play without ever reading a thing on the forums" to the list.
also many mod their game to their liking - making it incompatible for anything multiplayer.
Title: Re: Dwarf fortress multiplayer
Post by: lethosor on January 10, 2018, 07:39:13 pm
Ah... sad: current dfhack has some bugs, one of them makes it so i can't track kills thus no money -.-
What specifically is the issue? Is it something that hasn't been fixed on the develop branch?

Title: Re: Dwarf fortress multiplayer
Post by: Warmist on January 11, 2018, 01:50:09 am
Ah... sad: current dfhack has some bugs, one of them makes it so i can't track kills thus no money -.-
What specifically is the issue? Is it something that hasn't been fixed on the develop branch?
https://github.com/DFHack/df-structures/issues/234
Title: Re: Dwarf fortress multiplayer
Post by: assasinwar9 on October 07, 2018, 11:55:20 am
alright so i don't have even a tiny idea of what im doing.... but how would i go about hosting this or using this?

if you don't want me hosting or using it then just let me know lol, as i said i don't know what im doing atm when it comes to all this code etc.... and ill delete the fork if you want lol. kinda made it on accident since i don't use github at all yet >.<
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on October 08, 2018, 07:53:53 am
alright so i don't have even a tiny idea of what im doing.... but how would i go about hosting this or using this?

if you don't want me hosting or using it then just let me know lol, as i said i don't know what im doing atm when it comes to all this code etc.... and ill delete the fork if you want lol. kinda made it on accident since i don't use github at all yet >.<

So everything is open-source and available for other people to host and use. However i've been quite lazy and haven't made it easy to use for non-programmers - sorry!

I'll try to compile a new plugin version (or some workaround) and update first post with instructions on how to install/use/configure.
Title: Re: Dwarf fortress multiplayer
Post by: assasinwar9 on October 09, 2018, 07:18:42 am
thanks man, i appreciate it a lot :)
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on October 12, 2018, 08:21:37 am
thanks man, i appreciate it a lot :)
Okay done. First post updated with instructions.
Title: Re: Dwarf fortress multiplayer
Post by: assasinwar9 on October 13, 2018, 03:32:57 pm
hmmm, how hard would it be to save a players gold inbetween hostings, so for instance if i host and then shut the game down, when i host again the player's account and money seems to delete itself or something?

i have a feeling it maybe is a simple fix? and if needed i might be able to do it myself?
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on October 14, 2018, 02:22:26 am
hmmm, how hard would it be to save a players gold inbetween hostings, so for instance if i host and then shut the game down, when i host again the player's account and money seems to delete itself or something?

i have a feeling it maybe is a simple fix? and if needed i might be able to do it myself?

Huh... It should save. If you shutdown server with "http/server2 -s" it should create "user_db.dat" with username, password, money and unit id
Title: Re: Dwarf fortress multiplayer
Post by: youngbab on October 15, 2018, 12:33:49 am
PTW. Looks rad.
Title: Re: Dwarf fortress multiplayer
Post by: assasinwar9 on October 16, 2018, 08:23:34 pm
i can confirm that shutting down the server with the  "http/server2 -s"  command indeed saves the needed stuff :) thanks again
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on October 17, 2018, 02:07:41 am
i can confirm that shutting down the server with the  "http/server2 -s"  command indeed saves the needed stuff :) thanks again
Yeah probably some auto-save is needed to be done periodically so we dont crash too much and many random small stuff for easier mods for hosters.

Also if you wish i could add link to your (and other people) server in top.
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on January 27, 2020, 03:36:02 pm
Holy necro, Batman!

I've updated the script to work (better) with new browsers (they dont like old cookies) and new dfhack, now it easier to install (no plugin req)!!
Title: Re: Dwarf fortress multiplayer
Post by: LordBaal on January 27, 2020, 03:42:51 pm
Holly crap! Thanks!
Title: Re: Dwarf fortress multiplayer
Post by: spazyak on January 27, 2020, 06:17:25 pm
Thank you.
Title: Re: Dwarf fortress multiplayer
Post by: FantasticDorf on January 27, 2020, 06:25:24 pm
Posting to watch... carefully...  :D
Title: Re: Dwarf fortress multiplayer
Post by: High tyrol on March 26, 2020, 10:43:32 am
PTW
Title: Re: Dwarf fortress multiplayer
Post by: bloop_bleep on April 18, 2020, 11:56:34 pm
PTW
Title: Re: Dwarf fortress multiplayer
Post by: George_Chickens on May 02, 2020, 08:07:25 am
Wow, I thought this must be dead for sure. Glad to see it's still going.
Title: Re: Dwarf fortress multiplayer
Post by: xzaxza on May 15, 2020, 10:46:21 pm
So it's an arena fight? Seems cool.
Title: Re: Dwarf fortress multiplayer
Post by: Dunamisdeos on June 03, 2020, 06:15:59 pm
This is super cool, and the OP is super cool by extension.
Title: Re: Dwarf fortress multiplayer
Post by: Pearlslugs on February 02, 2021, 11:37:12 pm
Is this still going?
Title: Re: Dwarf fortress multiplayer
Post by: hops on February 03, 2021, 06:59:48 am
local modder filled with hubris found dead in a ditch
Title: Re: Dwarf fortress multiplayer
Post by: Warmist on February 04, 2021, 06:39:28 am
Okay so i feel that there is a misalignment of intentions. It seems to me that most people read about this and think: ah it sounds cool, shame the server is offline so i can't test it out. Where as I intended this to always be a way for you (dear viewer) to host the server for your friends and give me ideas on how to better evolve this forward.

This is an issue as I would not be against to running a server however i'm not very active in DF anymore (or currently?) and spend most of my free time leveling my Apex skillz. Also i haz no server. So any thoughts on how to proceed would be welcome.