Swords of Freeport
A downloadable game for Windows, macOS, and Linux
Freeport is the biggest, most infamous city on the Trantic Seaboard. The only city-state free of monarchs and unelected officials, it has been infested with something arguably even worse - capitalists. The perfect place to make your fortune... or get your throat cut trying.
Venture forth and pick pockets! Avoid the city constabulary! Join guilds! Explore the city! Hunt the mighty Bloatalope, the dangerous Flaymonkey, and the Sharp-Toothed Chargebeast! Sleep in flea-infested beds! Only in the democratic citystate of FREEPORT! (No taxation until 100 gold crowns per week.)
---
Swords of Freeport is a text-mode social RPG heavily inspired by the style of Bulletin Board System door games from back in the '90s. It is part MUD and part BBS Game - but without the need for a BBS. You can play it on your home machine alone, or play/install it on an internet-accessible machine where others can join you - anywhere they have terminal access.
It is heavily inspired by games such as Legend of the Red Dragon, with a certain numbers of turns per day. Select a profession, join a guild, and make a name for yourself today!
Features include:
- Retro play once-a-day style mechanics
- Three core starting professions with options for cross-skilling
- A whole city and the countryside around it to explore!
- Witty, smart humour throughout the game *
- All 24 characters and many words of the English language are used to evoke the feeling of really being in a squalid Victorian-adjacent fantasy city!
- Addictive turn-based gameplay which limits how much time you can sink into it
- Look, it has the Bloatalope - you want to hunt a Bloatalope, don't you? **
* This is subjective, of course. But my mum thinks it's funny.
** That'd be something to brag about to your friends. "Gary," you'd say. "You won't BELIEVE what I hunted last night in a text game I've been addicted to!" Gary would no doubt respond with, "My goodness, Charlene, don't tell me it's a BLOATALOPE you went hunting? That's very impressive. Let me buy you a coffee!"
More information can be found here.
--
Q&A:
So the game is multiplayer?
In the strictest technical sense... sort of. Players can see each other's progress via the in-game news board, chat via in-game message boards found in taverns (and other places), and can see when each other is logged in. There is no player vs player mode, and the multiplayer components of the game are presented (as 'social RPG' suggests) for social reasons.
Can I play it single-player?
Absolutely. In fact if you download it and run the binary, the game will seamlessly kick into single-player mode. Keep in mind however, that the game is very much designed to give the best experience when you are playing with other people on a shared instance.
When I run the executable on Windows (probably 11), it shows some text and stops.
This is a text mode program, designed to run a terminal window. Open a terminal window where the game is located, and run sfp.exe.
I want to learn more about the game. Where can I read more about it than just what's on this page?
The game's help file is available online here here.
Where can I see the latest patch notes?
They are provided in the game folder, viewable when you log in or by reading the markdown file 'help.md' in the data/help directory. However, you can also always view the latest patch notes here.
What kind of support can I expect if I buy this game?
I am a solo developer, and I am working on the project in the spare time I have outside of both a day job and another side project. So I will provide support as I can, but especially if there's a bunch of replies at once... it may take some time.
Does it run in its own server, like a MUD?
No. While that is technically possible in future if the game gets enough attention, this game is very intentionally designed to operate within the basic restrictions and form of a BBS Door. By this I mean that each player runs their own copy of the binary file on a shared computer, with numerous data files acting as drop points for information that needs to be shared between players.
What is it coded in?
C++17. It uses termcap and some ANSI codes, but otherwise uses no other libraries or middleware to make it run on as many systems as possible. It was made mostly on macOS with VS Code & make/clang, but the test instance was run on a Linux From Scratch machine, built using make and the GNU C Compiler.
What different operating systems does it run on, or could it run on?
SFP was build primarily on macOS, with the most testing done on our test server, Grissom, which runs Linux from Scratch on an x86_64 machine. We have done limited testing on linux for arm64 and windows, and limited testing on arm32. If you want to use one of these less tested OSs, reach out and I'll help how I can. If your OS/architecture is not amongst the supported, it's even possible I could make builds for other systems. If it doesn't exist - it's because I don't have such a system to build on. Keep in mind, I am a solo dev, with a small volunteer testing team helping me work out the bugs on a rather complex game.
What are your future plans for additional features and content?
A little up in the air right now as it will depending on a combination of my own personal interest in the project, and the support and interest I get from players.
---
Platforms: macOS (Apple Silicon, x86_64), Linux (x86_64, arm aarch64, arm32), Windows 10/11 (single player only, AMD64)
Status | In development |
Platforms | Windows, macOS, Linux |
Rating | Rated 5.0 out of 5 stars (7 total ratings) |
Author | Elissa Black |
Genre | Role Playing, Interactive Fiction |
Tags | Fantasy, Indie, Multiplayer, Retro, Steampunk, text, Text based, Turn-Based Combat |
Average session | A few seconds |
Multiplayer | Local multiplayer |
Player count | 1 - 20 |
Purchase
In order to download this game you must purchase it at or above the minimum price of $15 AUD. You will get access to the following files:
Development log
- 1.0.8 OpenBSD AvailableJan 22, 2024
- 1.0.8 is out!Jan 22, 2024
- 1.0.7 is out. Also: OpenBSD soon!Dec 10, 2023
- 1.0.6 is here!Nov 24, 2023
- SFP 1.0.5Nov 09, 2023
- SFP 1.0.4 is out!Nov 04, 2023
- SFP 1.0.3 is up!Oct 23, 2023
- SFP 1.0.2 ReleasedOct 20, 2023
Comments
Log in with itch.io to leave a comment.
Thank you for making this game itβs so fun! And thank you for making it work on OpenBSD! I find myself logging in religiously the writing is just so good and I love exploring the city.
Hi Elissa, really enjoying this game! However, I have a couple FRs to facilitate using it on my BBS. One of which we've already discussed a bit :)
1 - Screen pausing. I can't use this on my BBS until some sort of screen pausing implementation is done. Most BBSes default to a 24 line screenmode. If tty geometry detection is tough, would it be possible to have a flag at runtime to force a screen geometry and introduce pauses accordingly?
2 - A reset feature. In other words, remove all players from the game and force everyone to start from scratch.
Thanks!
2 is pretty easy, I'll add that to the sfputil next update.
The first one I'll need to think on just how to do it. I think if I'm lucky my current text rendering code should be able to be be set to track that.
And thanks!
Out of curiosity, why is the 24 lines thing a blocker? Just curious how your BBS works. π
Hi Elissa! Most of my telnet clients connect using an 80x24 screen geometry. Without any sort of automatic pausing, users will have to use their scrollback buffers. This is fine in most traditional style terminal emulators but in a lot of BBS specific telnet/ssh clients it's kind of unnatural/a pain in the neck. It's not the typical user experience one would expect on a BBS and I expect a lot of users would not even realize they've missed anything as they would be used to seeing everything in a single 80x24 screen.
Thanks for your reply!
Ah yep, I follow you. I'll see what I can do. π There is a feature a little like what you describe already but... not quite. I'll see how it can be tweaked.
Hi Elissa, hope all is well! Just wanted to touch base here and see if you were able to implement any screen pausing? Thanks!
Apologies for the delayed reply!
I haven't worked on any more SFP stuff yet, unfortunately. I've been inundated with other things taking up my time. It is still top of my list when I next sit down to work on it.
I'm really enjoying the game, it's great to have something fun I can play everyday with a limit on game time.
Thanks for making it and posting about it on Mastodon.
Thank you. π Glad you're enjoying it!
Awesome game, reminds me of the 90ies and BBS times. Thanks a lot for making this!
Any chance to get a native version for OpenBSD?
Thanks! I've just had someone message me about that - I'm open to it as long as I can get access to a build machine. Will update here when I do so. π
Im hurt i couldn't understand the nerdy instructions much.. I would pay double for an easy way to setup a game with friends lol :(... Want to grab a copy for a friend aswell we like oldschool muds and such!
Sorry! It's really not designed for that. It's very much designed for people who already have a dedicated tilde club (or want to play it single player).
There are people linking it up with existing BBS software such as Synchronet so I'm sure there'll be instructions for that in future, but that still won't be a beginner's guide...
Aww ok i tried earlier i think i was getting close to get it to work I'll keep trying
Good luck!
Grabbed this game its awesome and also downloaded a free bbs tool called synchronet but i have no idea how to " plug " the game to the tool for opening a door or w.e im doing lol, used to play space war with a friend or trade war i think it was called
It's a pretty involved process, unfortunately, doing BBS setup stuff. I've created a sysop documentation though, so hopefully that helps! https://swordsoffreeport.com/md.html?src=sysop.md
Thanks ill try :)
Hey, awesome game! I'm actually planning on running this /as/ a BBS door. :) I have it working somewhat already. May I submit a few feature requests that would really help this run well as a door?
1. Ability to set username at runtime either by -n"User Name" or by looking at a line in a file like door.sys and remove all password logic (i.e., BBS launches door with username as argument and game only allows player to be that user)
2. Force users to enter passwords when creating a character, if 1 above won't work?
3. Detect tty size and display relevant "pause" prompt? I.e., BBSes are typically 80x24. When I tried playing in this screenmode, a lot of text went off the top of my screen. 80 chars wide seems fine but the 24 char y axis is where the problem was.
Thanks! Awesome game.
Thanks, and awesome! π
1 & 2 are already there, as of the latest version, thanks to another sysop who messaged me. We ended up settling on the option to run the game with --force-alias.
You can turn on or off forced password entry too, if you STILL want that. (A useful feature if, say, people still get command-line access - you may not want someone with terminal access realising they can log in as another user as they please.)
More details are in the sysop's guide.
If there's any issues with them, please let me know!
(3) is on my to-do list. Right now you can manually set a wide screen width for word wrapping, but it doesn't grab your screen dimensions from termcap yet as I found it... didn't work on a lot of systems. (And of course text ANYTHING barely works on Windows but... this is one of the few games where I guess Windows is by default a second-class citizen.)
Hi Elissa, thanks for your reply! I actually realized shortly after typing this up that 1 & 2 were already done and documented ;) However, when I try to run with -a or —force-alias I keep getting segfaults. Iβm not at my computer at the moment so I owe you actual logs, which I will provide later.
As far as term size, what about an interim solution of hardcoding it with a config setting? It would be great to have a pause prompt at 24 lines just like in the old BBS days!
Unfortunately that's not a trivial thing to do, or I'd probably have done it already. When I re-write the way the text code works I'll be doing term size and pause breaks, but for now that's a little ways off.
Please let me know what the segfaults show though, if you can! I just re-tested --force-alias does have a bug I found and fixed, but... it doesn't cause a crash? I will put up version 1.0.3 today with that fix (and a few others). If that still causes issues, please let me know!
Oh and for support things feel free to email me - the link is on the web site. Easier for sending crash dumps, info about the server setup, etc.
Oh! And one more note - the sysop guide is not just on the web site, but in the /errata directory in each copy of the game, so when new versions come out, you can find the latest docs there at all times.
I'm probably just dense, but where can I find documentation on how to set up the multiplayer version? I'm really liking the game so far but I'd really like to experience that side of it. Alternatively, I read in your more information page that you maybe had plans to set your own multiplay place up, did you ever do that?
I did set one up, but only as a test server as I don't want to have to moderate one myself atop of develop this. Just don't have time as long as this is a side project.
The web site has information about how to do it - including a link to the sysop documentation - which can also be found in the 'errata' directory in any copy of the game. Note that it requires some understanding of how to set up and run a unix server.
Loving this so far, just need to figure out how I can eat my can of veggie soup I bought though, heh. This is fun for my once a day fix and I am hooked.
Thank you! I can tell you if you'd like, but I'll keep shut for now in case figuring it out is part of the fun for you!
LETS GO
Ready to check it out!
I will post here (and on my mastodon account) when I am ready for more testers! Will be in the next week I think.
Can't wait! :V
Thanks. π