Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Currently maintained methods for playing remotely?  (Read 910 times)

Taako

  • Escaped Lunatic
    • View Profile
Currently maintained methods for playing remotely?
« on: April 16, 2023, 05:56:52 pm »

I'm not new to DF but i haven't played much, I have only really played through the the basics of the Quickstart Guide three years ago when i got into DF during the pandemic quarantine. I did not use the Lazy Newb Pack, but i am considering replaying the Quick Start guide with LNP on v50 just to remember the basics. But one of the things i love about DF is its ASCII interface, if i were to use a tileset it would be something like Taffer's to maintain the look and feel of the ASCII.

I would like to get back into DF, but I have this pet project in mind to run it on a server so i can play from anywhere.
I'd like to play DF over Web browser (preferred) or SSH (less preferred) by running a docker container on my home server and connecting to it remotely via a reverse proxy. There seems to be a handful of attempts at this but most are unmaintained. The most maintained one right now seems to be Dwarf Fortress Remote which is aimed specifically at playing on iOS, not browser.

My ultimate goal is this:
1) Running the game in a docker container
2) Ability to run mods like DFHack in the docker container
3) Ability to connect via web browser and have browser play with a tileset configuration
4) Able to also connect over SSH and play using text mode

(1) and (2) seem to have been done many times and I can find plenty of examples on github. In fact, a fairly recent attempt even incorporates (3) into it using noVNC.

Ive never seen anyone do both (3) and (4) yet, and i'm not sure if its possible. Maybe i don't fully grasp how DF is rendered. I want to understand a bit how tilesets work and how DF renders it's output to the screen.  Are tilesets simply converting a text-mode output to sprites? Or is there an entirely separate rendering process going on when you have a tileset? Im assuming that it's not actually possible to play over SSH using tilesets since even if they may look like ASCII (like Taffer's) they are still images from a spite sheet.

If its the former (each piece of text is simply converted to a sprite at runtime), it should be somewhat simple to pipe the text output of the DF rendering to some javascript app that converts each ascii/text symbol to a corresponding tileset sprite and then present that rendered view over a web interface. Though I'm not very handy with web apps, i'm an embedded firmware engineer and could probably cobble something together....

What i'm confused by is why this hasn't been done before, why the need for noVNC which pipes the entirely applications virtual window. Does DF render tilesets in a way that's really compute intensive?

I'm honestly surprised a the seeming lack of a longstanding, well-maintained, remote-play method for DF given it's highly active (and nerdy) community.

As an aside: where seems to be the linux build for v50? Should I want before diving into this project until v50 is available for linux?

Thanks in advice! Hoping there are some good resources out there to help make this possible!
Logged

xzaxza

  • Bay Watcher
    • View Profile
Re: Currently maintained methods for playing remotely?
« Reply #1 on: April 22, 2023, 12:06:32 am »

My ultimate goal is this:
1) Running the game in a docker container
2) Ability to run mods like DFHack in the docker container
3) Ability to connect via web browser and have browser play with a tileset configuration
4) Able to also connect over SSH and play using text mode
Why though?

Ive never seen anyone do both (3) and (4) yet, and i'm not sure if its possible. Maybe i don't fully grasp how DF is rendered. I want to understand a bit how tilesets work and how DF renders it's output to the screen.  Are tilesets simply converting a text-mode output to sprites? Or is there an entirely separate rendering process going on when you have a tileset? Im assuming that it's not actually possible to play over SSH using tilesets since even if they may look like ASCII (like Taffer's) they are still images from a spite sheet.
I guess it's not impossible but it'd require a lot of work. It wouldn't be worth it imo.

I'm honestly surprised a the seeming lack of a longstanding, well-maintained, remote-play method for DF given it's highly active (and nerdy) community.
Wouldn't any remote desktop connection work?

As an aside: where seems to be the linux build for v50? Should I want before diving into this project until v50 is available for linux?
Sadly, there isn't one yet. So unless you want to include Wine into your plans...
Logged
Known issues
You may get a dwarf that likes bugged stockpiles.