Announcing: Swords of Freeport
So, I should open with this: apologies for the lack of updates on Deck & Conn (at least, on my dev logs). I’ve been working on it a LOT since December and… took a break. Decided to take a few weeks off after I pushed hard on a polish pass for the demo (which I also still owe a dev log about). But, I am me so… my weeks off… meant another project. A small one.
And it’s going… well. I am about 70% of the way to the minimum viable product (so to speak) and will be putting it on Itch when I hit that point. So let me explain what it is?
Meet Swords of Freeport, a text-mode ANSI-colour game for Linux and Mac which is designed for multiplayer – and is effectively the bastard stepchild of a MUD and a BBS Door game!
Let’s dive in…

Nostalgia for Once-A-Day Text Mode Games
When I was a smaller human in the ’90s, I loved multiplayer text mode games. But the thing is, while I did get into MUDs a bit, the bulk of my text mode online gaming time was actually done before I had (easy) access to the Internet – it was in the form of “log in and play once a day” text mode RPGs and strategy games, such as Legend of the Red Dragon, Planets: The Exploration of Space, and Falcon’s Eye.
The principle difference between these games and MUDs was two-fold: Firstly, they were geared toward limiting your time with them each day (and encouraging you to come back for future play sessions)… and secondly, that for reasons of slow modems tended not to use full-text-input interfaces, instead using ‘press a key to make a choice’.

While MUDs (which of course still exist) eventually developed their own children in the form of graphical MMORPGs, the “use your limited turns per day and see how you progress compared to other players” facets of BBS Doors can at best be said to have a distant cousin in the ‘idle games’ on mobile which force certain actions to mean you put down the game for a few minutes or house… unless you pay a fee to speed the action up.
They also, of course, had web-based variations – ports such as Legend of the Green Dragon, and arguably even spiritually-adjacent games such as NeoPets.
To this day, I miss logging into BBSs once a day to play BBS Doors. And of course, you still can – telnet BBSs are all over the place online, with vintage and even updated BBS Door games accessible without requiring a connection fee like in the Modem days.
The thing that stops me is… I’ve played them too much. I know them back to front. But the idea of doing my own… seemed pointless. Why do a BBS Door in this, the year of our lord 2023? Who would play it? It’d take a lot of time and have a trivially tiny interest base.
Which is when an idea struck me – you can make those kind of games… without the BBSs.
This idea had been on my head for decades, but it finally hit me – I can make this. Like, right now. And quickly. Writing, and coding string manipulation stuff in C, are things I can do with my eyes closed. So why not go for it? As a quick side project to avoid burning myself out on Deck & Conn?
So let’s talk about Swords of Freeport.
When BBS Met Doorgame

SoFP is based around a concept – take the elements I like from Doors, mix in some elements from other genres such as MUDs, and try to streamline them a bit.
So what do I most miss about door games?
- Text mode!
- Simple interface
- Play once-per-day
- Turn-based combat / minigames
- Social interactions with other players that principally focus on message boards and score boards
And what elements do I like about MUDs?
- Exploring places with detailed descriptions
- Well… honestly, other things too but this is the key part
The result is this basic design, which I penned in my design notebook a few weeks ago now.
Swords of a Freeport is a text-mode RPG. Players create a new character in a Victorian-age-inspired fantasy world, moving to the biggest free city in the land. There they can take on the role of either a ruthless rogue, picking pockets and rising up the ranks of the city underworld, or a dedicated Monster Hunter, travelling outside the enormous city walls each day to take trophies from ghastly beings that prey on humans in the surrounding lands.
Combat and other skill based actions such as thieving is turn-based, causing players to make tactical decisions several times before a conclusion is reached. Each player has a limited number of actions per day (increased or decreased by their circumstances - such as having slept rough, or having a fancy bed and a nice meal to start the day) which are spent on their profession's actions, or just moving around the city.
The game will be designed to be played on a Linux shell, installed on things such as tilde clubs or personal servers, and will handle character instances separate from the computer user accounts, so people can have multiple characters if they want to.

The core gameplay loop is pretty simple. Each day you log in, and spent a number of your actions on tasks such as hunting monsters, picking pockets, or whatever else I add in later on. You also spent time and money moving around the city, renting a bed for the night, and even having random encounters in the big city of Freeport.
Each ‘place’ you visit is a bit like a ‘room’ in a MUD, but instead of typing ‘go north’ or ‘go west’ or ‘board train’, you get simple, clear shortcut keys described for you below the descriptive text for each space.
I decided on a relatively limited scope for my first little push to release it, which is something like this:
- Only two kinds of characters – Rogues and Hunters
- Rogues have 5 levels worth of content to work through picking pockets
- Hunters have 5 levels worth of content to work through hunting monsters and selling the trophies
- The city exists to both walk around and travel using Victorian-era style railways, to save you action points at the expense (literally) of your coins
- User accounts would be handled by the game itself, and facilities would be set so that you can play it single-player on your home mac or Linux box (and Windows if I find I can port it easily enough) by running it once a day and just playing your own solo character.
- Characters wouldn’t have a “class” per se, but their selection of starting character archetype affects the skills they start with. While some professions are not particularly compatible, others may work fine. For instance, the two starting professions – Rogue and Hunter – are not incompatible entirely, but one gives you advantages for high honour and the other for low, making multi-skilling with these two… tough.

The game would be expandable, if I wanted to keep working on it. However, rather than expand it with just more levels, I had the idea to introduce new skills and tasks that get unlocked, each in sets of 5 levels, for each character class.
For instance, Rogues, when hitting level 5 in pick pocketing, would unlike a new option – burglary. A new minigame that lets you do more advanced thievery, with higher stakes and larger takes. Hunters would gain the ability to hunt supernatural creatures within the city itself.

New character classes would be possible too – I’ve already begun figuring out how a Swashbuckler/Pirate class would work.
Q&A

So, some common questions friends have asked me, as I suspect they’ll come up here:
Why a city? And why thieves?
I’m a fan of city-based fantasy (and urban fantasy generally) so combining the two both fit my interests, and let me be a bit fresher than the typical high fantasy setting, especially with a focus on city-based pock-pocketing and thievery.
Why make it fully telnet-accessible? Or an actual BBS door?
Honestly, because I’ve tried making my own telnet games and it’s… fiddly. Annoying. And while BBSs do exist, I wanted something that anyone with a unix-compatible system could access in their default terminal, no stuffing around with requiring a dedicated terminal program like one uses for accessing those systems.
That does not mean that it can’t be given full telnet support later, but for now – it’s scoped down to be something you log into a machine and play once per day through your regular old terminal ssh session.
What did you make it in?
It’s all C++, with a simple Makefile. I developed it on macOS and cross-ported it to my little Linux From Scratch box as I went to ensure both *nix platforms would work fine. It uses no third party libraries, so in theory I should be able to produce builds for any *nix systems with working C++20 compilers.
Is it expandable/moddable?
Right now, no. The game data, however, is in data structures that are modifiable, but rather than spent time on this small project making data formats to allow new rooms, weapons etc to be put into text files, it’s all just a series of configuration .cpp files for now. In future, though, I can quite easily just import this data from files, so at least the city generally can be expanded upon with some ease. An example is shown below.

Release Plans
So here’s the plan so far: I am about 70% of the way done. All that’s left is a few features for the Hunter, and that’s my intended MVP.
By the time you read this, the Itch page will be up. When I hit MVP, I will release an early version of the game on Linux (x86_64 and rpi/arm), and macOS (Apple Silicon, perhaps Intel if I can find my old mac).
But I also plan to put a copy of the game up on whatever internet-accessible linux server I can get my hands upon, so people can play it on other servers for free – and can buy it if they want to support me, or get a copy for their own use.