Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Save question  (Read 1053 times)

Minds_Eye

  • Bay Watcher
  • Qvack
    • View Profile
Save question
« on: November 15, 2014, 06:40:16 pm »

I'm planning on running a Dwarven competition, and I need to know: Is it possible to copy just one embarks save?

After the completions done I was planning to re-merge the world if it's possible.
Logged

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: Save question
« Reply #1 on: November 15, 2014, 08:42:47 pm »

Yes, with a few caveats, since I am not completely sure of your intent here.

If you have multiple worlds running, they will all be saved in different region folders in the save folder. Just package up the whole region folder into a zip, and share it.

If you are meaning "I have had many different fortresses on one world, is there a way to get just that one fortress and not the others?" the answer is no-- once you abandon or retire a fortress, it becomes part of that world's history, and cant be isolated from the world save.

It sounds like you want the former, which is why I say "yes".  Just take the region folder in the save folder, zip it up, and share it.
Logged

Loci

  • Bay Watcher
    • View Profile
Re: Save question
« Reply #2 on: November 15, 2014, 09:14:54 pm »

Is it possible to copy just one embarks save?

I'm not sure I understand either, but I think the answer is no. Each region can only have one "player-controlled activity" active at a time. You can kind of work around this limitation by copying the region folder prior to embark, embarking and saving, then returning to the pre-embark save to embark again (and again, etc.). Each such embark will be in a duplicate of the original region, but they won't ever be in the "same" region, and I know of no way to reconcile them back to a single region afterward.
Logged

omega_dwarf

  • Bay Watcher
  • Adequate Architect, Dabbling Modder
    • View Profile
Re: Save question
« Reply #3 on: November 15, 2014, 10:25:53 pm »

Wasn't there a DF multiplayer mod at some point? Or did that only work with having two people in the same embark? (I'm pretty sure I heard of adventurers visiting player-run fortresses, though...maybe that was speculation of the future.)

In any case, it's almost certainly broken for 0.40.xx.

Minds_Eye

  • Bay Watcher
  • Qvack
    • View Profile
Re: Save question
« Reply #4 on: November 15, 2014, 10:27:27 pm »

Alright thanks Loci, Wierd.  I wanted to do what Loci said send out one world, have each player start a fortress in a diffrent location, then re-merge after the contest.

Guess that means I will have to go with idea #2.
Logged

Lemunde

  • Bay Watcher
    • View Profile
Re: Save question
« Reply #5 on: November 16, 2014, 03:06:31 am »

Perhaps your best bet is to have a succession world where people take turns building their own fortresses, which is doable now that fortresses can be retired. That's not really a bad idea when you think about it, although it would make holding a competition a little more difficult. Everyone would have to be very patient to see the results and you would have to place a lot of trust in the participants that they wouldn't sabotage someone else's work.

I might actually make one of these myself. It sounds like a fun way to make a more interesting world for adventurers to explore.
Logged

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: Save question
« Reply #6 on: November 16, 2014, 05:28:05 am »

Wasn't there a DF multiplayer mod at some point? Or did that only work with having two people in the same embark? (I'm pretty sure I heard of adventurers visiting player-run fortresses, though...maybe that was speculation of the future.)

In any case, it's almost certainly broken for 0.40.xx.

dfterm is either an ssh/telnet middleware solution that allows multiple remote user to pass around the control of the terminal and watch what is happening using a shared single user POV, which has some neat features like an integrated chat function and the like-- (dfterm and dfterm2) or a dfhack plugin that allows many remote users to do the above,, but via a handy web portal interface instead. (dfterm3)

it does not allow multiple players to have simultaneous user activities on the same active region.  DF simply does not have the innards for this, and while it might theoretically be possible to hack something like this in usinga very ambicious dfhack binary patch, it would be very dangerous and quite likely to corrupt the world save because the individually running processes spawned to accomplish something like that would be prone to developing race conditions that require reconciliation, and multiple sites in the world save would be active at the same time, meaning normal fortress mode loading would be out of the question. the game would consider the save corrupted because of the dirty data from multiple simultaneously active sites.  additionally, the computer on which such a multi user patch, (which again, does not exist), is running would have to retain some form of memory and cache coherency between the disparate fortress and adv mode threads running, since fortresses would all be trying to pull from the same historic figure pool for migrants, and you would want to prevent duplication of those figures, and also because adv mode players would need to have the whole active memory space copied quickly and efficiently into thier own process should they want to explore and actively managed player fortress, etc.

a nightmare of keeping things orderly, shared, etc on an already memory bound program. you would need more memory in that daemon server than is currently found in even massive database servers, with as many cores as you have users, and need a memory pipeline technology to clone massive swaths of memory in real time without a big performance hit.  in short, modern computing hardware is just not up to that atm.

the thread you are referring to was a wishlist type thread-- i remember participating in it.  it sure would be nice if DF was written to be a daemonized play server running a single world simulation with multiple forts all running as individual worker threads, but that just is not how it is. DF is simply not geared for being coaxed into a multiuser setting. even with that kind of memory and process model, you are going to need a computer from an alien spaceship to run it.

apples to oranges.

in this case, about the best that can be done is a "round robin" reclaim/retire cycle, where player 1 manages fortress 1 for one year, then retires-- player 2 manages fortress 2 for one year, then retires, etc... until all players have had thier "turn", then player 1 reclaims thier fortress and plays a year then retires, player 2 does the same etc.. etc.. etc..

that would introduce quite a bit of uncertainty, because of the new active world code. the elapsed time between overseer interactions would be years=nPlayers+1,  and members of fortresses not in active play would be historical figures from which the currently active fort's migrant waves would be selected.  that means the participating players would need to follow an ethics code of conduct concerning migrants that prominently features a no-kill rule.  the fortresses that each player manages would constantly be changing in the time they are not at the wheel, meaning they wont be the same as they left them when they pick back up.

it would be a very interesting community succession game, but not the same as actually concurrent fortresses in the same active world.
Logged

Minds_Eye

  • Bay Watcher
  • Qvack
    • View Profile
Re: Save question
« Reply #7 on: November 16, 2014, 07:15:20 am »

That's an interesting Idea, my other ideas were:

to have one world distributed to all players with one embark site chosen by vote saved at embark. (default embark/aka Play now, vote determines details of embark not location[such as aquifer, metals, flux, trees, mountain, volcano, beach etc.])

to distribute a modified 40.16 DF without the reclaim option. (Disabling one option in a game is usually fairly simple.[forwarding the game to each new competitor.])

or to check the DF Hacks source code for switching players as I think an adventure competition might be doable. (chose one character from fortress mode.)

Regardless I'm planning on having the winner chosen by community vote, as I'm not experienced enough to use the non exploit-y advanced "fun" consistently.
« Last Edit: November 16, 2014, 09:06:23 am by Minds_Eye »
Logged