Text-based Gaming: IF, MU*s and BBSs

I wanted to share with the FreedomBox community a list of apps that I’d love to see supported on the FB, and get some feedback about them. The proposed applications are old-school text-only gaming tools, from the home computer era of the 90s, which are still actively maintained by the FOSS community, and which I believe are well fit for hosting on small home servers.

IMO, their inclusion into the FreedomBox apps list would be a good added value, since currently the only gaming app supported is Minetest, and the proposed apps would open up the FB to thousands of single-player text games, and to multiplayer gaming and social fun. Some people might be attracted to the FreedomBox project just because of these apps.

Although I’ve never tried adapting an app for FB myself, I might give it a try in the nearby future since I have a fairly good grounding in programming and developing. If someone shares the same enthusiasm for the proposed tools, we might get in touch a give it a go collaboratively on GitHub.

Text Adventures

Since my childhood I’ve been a huge fan of text-based video games, e.g. text adventures from the Infocom era (today known as Interactive Fiction).

Although today these games are considered «old school» there are still niche communities which are active in maintaining the tools to create and play text adventures, as well as people authoring their own adventures with these tools, as one can see on the IFDB portal (The Interactive Fiction Database).

In the course of time, many different file formats were introduced for text adventure games, each one mapping to a different authoring system, although in some cases different systems would rely on a same output standard, e.g. the Z-Machine, Glulx, and other dedicated virtual machines.

Today many FOSS tools for playing text adventures are available, including browser-based interpreters that support multiple game formats, implemented in various languages (Java, JS, etc.).

It would be nice to have a FreedomBox package that would allow to store on the FB server a collection of text adventures, providing browser interpreters to play them, along with a catalog to choose the various games. Something along the lines of Calibre, but for text-adventures instead of books.

Needless to say, text adventures consist of very small files, and the tools to play them also have a very small footprint since they are rooted in the age of personal computers, when RAM and file storage where extremely limited.

Here’s a link to a curated list of IF-related tools and resources, which I’ve been maintaining on GitHub for some years (created by Yakira Dixon):

MU*s and BBSs

Also from the age of text-based games and applications, we had MU*s (multi-user virtual world servers), which included MUSH/MUCK, MOO and MUD servers, and BBSs.

These belonged to the age of slow modem connections, when people would surf the Internet via text-based interfaces and telnet clients.

MU*s where popular at the time when BBSs (Bulletin Board Systems) where still popular, and both share many common features — they come from the same heritage, and many MU*s contain community features taken from BBSs, like internal emails, boards, paging, etc.

When powerful processors and graphic cards became available to home users both MU*s and BBSs became less fashionable and replaced by modern tools with graphic interfaces; but today we’re witnessing a renewed interest in these tools, often dictated by nostalgia.

Most of the classic MU*s codebases are still actively maintained today, and have been updated to support SSL, Unicode, and other modern features that were lacking back in the 90s. Unfortunately, not all codebases have been ported to support x64 architecture, which might be a problem for home-run single-board servers. Various MU*s have been successfully compiled for Rasberry Pi, although ARM/RISC architectures are not officially supported.

Usually, setting up a MU* server is a fairly complicate process, so having a FB package that handles it on behalf of the user via the Plinth GUI would be a game changer in this respect, especially for newbies.

As for BBS software, I’ve seen that there are still some of the original BBS tools available today, most of which have been updated to support secure protocols and browser interfaces along with telnet and SSH. Unfortunately, not all BBS tools are FOSS, some are freeware but closed-source. I also have no idea whether any of these tools could be made into a FreedomBox package, since most of them are OS specific, and I would like to ear some feedback from anyone who knows BBS tools well, and might know a good candidate for a FB package.

Evennia

For the FreedomBox, Evennia might be a good candidate:

Evennia is an open-source Python-based framework, codebase and server for creating text-based multiplayer online games (aka MUD/MU* etc) using modern technologies and tools.

Years ago, a friend gave me a Raspberry Pi B as a gift, and not being sure how to put it use I installed Evennia on it to experiment creating my own MUD server locally, and it turned out to be a rather easy task (back then, Evennia was still in early Alpha stage).

I’m not sure whether Evennia might turn out to be a too demanding tool in terms of resources, especially on small single-board devices with low RAM. Python can be quite RAM hungry, and Evennia also uses rather large databases. But since I was able to host an run an Evennia instance on my Raspberry Pi model B (1Gb RAM), my bet is that it should work fine as long as the MUD userbase doesn’t exceed 20 connected users at the time.

I’m also assuming that since Evennia is a Python package it should be fairly easy to create a FreedomBox package for it — at least easier than a MU* that needs to be binary compiled locally (most MU*s are not available via package Linux managers).

I also believe that Evennia would be an attractive tool for the FreedomBox project, since hosting a MU* server is a cool project for an home-run server, and provides users with a gaming environment that can be enjoyed with friends for years in a row (MUD/MUSHEs are designed to be long-term gaming experiences).

3 Likes

I like the idea, so I added a “Text-based Games” section to this wiki page:
https://wiki.debian.org/FreedomBox/LeavingTheCloud

As a next step, someone can create an RFP (Request For Packaging) bug report for promising software like Evennia. Then, hopefully can find someone who is able to package it.

2 Likes

Thank you, I really appreciate it, since this is going to provide visibility to the topic, and hopefully trigger interest into it.

I’d love to join in for someone takes this on. I don’t have enough knowledge to adventure into creating a FBox package from scratch myself, but I can definitely help out as a collaborator in various ways.