Bay 12 Games Forum

Please login or register.

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

Author Topic: Web Fortress  (Read 40189 times)

mifki

  • Bay Watcher
  • works secretly...
    • View Profile
    • mifki
Re: Web Fortress
« Reply #15 on: June 07, 2014, 07:26:39 am »

I know it wouldn't be possible to have a true multi-player dwarf fortress, but would it be possible for one player to be using the main screen whilst someone else can e.g. change dwarfs job placements via a different interface?

Well, in dfhack we have access to everything so it's possible, and I believe even soft of multiplayer df too. However this would require to re-implement df screens, effectively using it as an engine only. That's a lot of work.

Warmist

  • Bay Watcher
  • Master of unfinished jobs
    • View Profile
Re: Web Fortress
« Reply #16 on: June 07, 2014, 08:00:41 am »

I know it wouldn't be possible to have a true multi-player dwarf fortress, but would it be possible for one player to be using the main screen whilst someone else can e.g. change dwarfs job placements via a different interface?

Well, in dfhack we have access to everything so it's possible, and I believe even soft of multiplayer df too. However this would require to re-implement df screens, effectively using it as an engine only. That's a lot of work.
I already started reimplementing df drawing engine (though some stuff needs rewrite) here: linky here is some prototype screens: shots

mifki

  • Bay Watcher
  • works secretly...
    • View Profile
    • mifki
Re: Web Fortress
« Reply #17 on: June 07, 2014, 08:19:29 am »

I know it wouldn't be possible to have a true multi-player dwarf fortress, but would it be possible for one player to be using the main screen whilst someone else can e.g. change dwarfs job placements via a different interface?

Well, in dfhack we have access to everything so it's possible, and I believe even soft of multiplayer df too. However this would require to re-implement df screens, effectively using it as an engine only. That's a lot of work.
I already started reimplementing df drawing engine (though some stuff needs rewrite) here: linky here is some prototype screens: shots

Yes, I've seem them somewhere already. But I'm afraid I don't get the idea. Can you explain or point to a thread/post?

Warmist

  • Bay Watcher
  • Master of unfinished jobs
    • View Profile
Re: Web Fortress
« Reply #18 on: June 07, 2014, 08:35:43 am »

The idea is simple: if we want to have any real-ish multiplayer we need ability to draw any place (not only what player is looking at). When we have that, we can at first implement e.g. play as one dwarf in a fort: player connects, is shown a radius around one dwarf, can influence his dwarfs choices somewhat. All this while "main player" (also server) is playing normal df fort mode.
Other ideas: each client can control one aspect of df (mining, military,etc...), each client can control one civ (needs binary hack for df to think of multiple civs as one), and so on...
The album has start of first idea. Offscreen module allows asking df to draw stuff, and my lua scripts perform server/client stuff.

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: Web Fortress
« Reply #19 on: June 08, 2014, 07:37:02 am »

If this can iterface with dfhack... doesn't that mean we can have two players running separate fortresses, and would be able to make trade agreements or send armies to another player's game?

Quietust

  • Bay Watcher
  • Does not suffer fools gladly
    • View Profile
    • QMT Productions
Re: Web Fortress
« Reply #20 on: June 08, 2014, 07:42:16 am »

If this can iterface with dfhack... doesn't that mean we can have two players running separate fortresses, and would be able to make trade agreements or send armies to another player's game?
It's theoretically possible, but it's completely and utterly infeasible. There are only 2 methods I can think of for running two fortresses at once in the same DF instance using DFHack:

Method 1 would involve constantly swapping the loaded map, units, items, engravings, constructions, vermin, [camp]fires, and pretty much everything specific to your embark out to some special lists within DFHack and swapping in the ones for the "other fortress" so DF could simulate the other fortress for a short period of time. The main problem here is that DFHack would have to generate that second set of fortress data first, and we don't know what that entails. In effect, this would require reimplementing the entire Embark process, a massive undertaking, and then some.

Method 2 would involve reimplementing the entire game within DFHack, which would be totally idiotic.
« Last Edit: June 08, 2014, 08:27:05 am by Quietust »
Logged
P.S. If you don't get this note, let me know and I'll write you another.
It's amazing how dwarves can make a stack of bones completely waterproof and magmaproof.
It's amazing how they can make an entire floodgate out of the bones of 2 cats.

Nopenope

  • Bay Watcher
    • View Profile
Re: Web Fortress
« Reply #21 on: June 08, 2014, 08:28:58 am »

He probably means, in the same embark screen.
Logged

l0k0

  • Escaped Lunatic
    • View Profile
Re: Web Fortress
« Reply #22 on: June 08, 2014, 02:47:22 pm »

It all works with AJAX, right? Cool thing, could use little improvements for practical use like "opting out of playing" and disabling the possibility to ditch the fort. It works well, could be fun. Some keys didn't work for me. The "<" and ">" keys and some other combinations.
Logged

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: Web Fortress
« Reply #23 on: June 08, 2014, 02:53:56 pm »

Actually, I meant something much simpler: just send the important data to the server (which items are requested, which items are being sent, which soldiers are being sent and all data relevant to them, etc), then dfhack reads the data and uses it to create a caravan, invading army, or whatever.  Then the caravan leaves or the army retreats, dfhack then creates a returning caravan or respawns the soldiers on the map of the sender.  Time synchronization could be an issue but you could simply ignore it or come up with rules to keep things more or less in synch.

mifki

  • Bay Watcher
  • works secretly...
    • View Profile
    • mifki
Re: Web Fortress
« Reply #24 on: June 08, 2014, 05:07:56 pm »

Actually, I meant something much simpler: just send the important data to the server (which items are requested, which items are being sent, which soldiers are being sent and all data relevant to them, etc), then dfhack reads the data and uses it to create a caravan, invading army, or whatever.  Then the caravan leaves or the army retreats, dfhack then creates a returning caravan or respawns the soldiers on the map of the sender.  Time synchronization could be an issue but you could simply ignore it or come up with rules to keep things more or less in synch.

Theoretically this may be possible. I see caravan objects are not well supported in dfhack yet, but anyway we can create any items/spawn creatures, so some custom ui for trading may be possible and some logic for sending armies. Of course this would require some good developer being interested in doing this.

mifki

  • Bay Watcher
  • works secretly...
    • View Profile
    • mifki
Re: Web Fortress
« Reply #25 on: June 08, 2014, 05:21:46 pm »

The idea is simple: if we want to have any real-ish multiplayer we need ability to draw any place (not only what player is looking at). When we have that, we can at first implement e.g. play as one dwarf in a fort: player connects, is shown a radius around one dwarf, can influence his dwarfs choices somewhat. All this while "main player" (also server) is playing normal df fort mode.
Other ideas: each client can control one aspect of df (mining, military,etc...), each client can control one civ (needs binary hack for df to think of multiple civs as one), and so on...
The album has start of first idea. Offscreen module allows asking df to draw stuff, and my lua scripts perform server/client stuff.

With each player controlling a single dwarf this is going to be truly massively multiplayer game :)

I wonder what happens if we manually instantiate some df viewscreen and don't add it to screen hierarchy, but rather manually feed it with events and call its render(), swapping screen buffer/renderer before and after this call.

mifki

  • Bay Watcher
  • works secretly...
    • View Profile
    • mifki
Re: Web Fortress
« Reply #26 on: June 09, 2014, 06:08:30 am »

The server has now been shut down. Thanks all for participating, that was fun.

For those who are interested, here are some saves. https://mega.co.nz/#!5511TI4C!2hSzBHpRygVwK1lVxJ1ELsBpInhvhALiiNc8XXKW9S4

Seeker

  • Bay Watcher
    • View Profile
Re: Web Fortress
« Reply #27 on: June 09, 2014, 07:32:36 am »

It was pretty fun, do you think you'd open something up like that again, the turns thing was pretty fun, maybe make in an opt in deal where if you don't hit the "play" button you don't get put into the queue.also maybe use a different graphics pack, it was really cool watching the fortresses grow and morph, id play it again like this Good job on it.
Logged

Reelya

  • Bay Watcher
    • View Profile
Re: Web Fortress
« Reply #28 on: June 09, 2014, 07:35:57 am »

What sort of setup would someone need to host something like this?

mifki

  • Bay Watcher
  • works secretly...
    • View Profile
    • mifki
Re: Web Fortress
« Reply #29 on: June 09, 2014, 09:13:39 am »

If I have time I'll implement some of the ideas mentioned here and open it again. Or someone else will once I publish the plugin.

Nothing special is required to host this (apart from what you normally need for df), only a good network connection. Maybe I'll make a Linux build, and it will be possible to use some cheap hosting to run it for a longer time.
Pages: 1 [2] 3 4 ... 6