Dennis MUD - Multiplayer Text Adventure Sandbox

Hello, everyone.

For the past two years on and off, I have been working on a multiplayer, text adventure sandbox engine called Dennis MUD. The game hosts over Telnet or a webpage, and starts with a single empty room. Players connect up and create a world from scratch using in-game commands. This is mostly done by adding new rooms, exits between rooms, and items; each of these object types can be described and given other attributes that affect how players perceive and interact with them. Players can also talk to each other in-game.

A single-user client is also available which connects to an offline world file from the local machine, and includes debugging features. The project is written in Python 3 and uses a plugin system for adding new commands to the game. The world is stored in a JSON-based flat file database which can be shared. The code itself is heavily documented, and documentation for every command is available from the in-game help system, but a user manual has not been finished at this early stage of the project.

Recently after two weeks of binge-coding, I have moved the project out of Pre-Alpha and made some Alpha releases. Unfortunately, I’m having trouble finding any audience for my project, so I’ve been doing all of the testing myself lately, and sometimes glaring bugs stick around for a really long time before I notice them. I am hoping to find some interested people who can play around with the engine and let me know if anything breaks. There was quite a bit of activity on a private test instance last year, but that has mostly died off. The public test instance linked below has just a few rooms, items, and exits to start with.

Test Instance: https://play.dennismud.xyz/ or Telnet port 37380 on the same address.
Source Code and Windows Binaries: https://github.com/seisatsu/Dennis

Please PM me if interested in testing, and feel free to play around with no strings attached as well. However, if the game does something unexpected or produces an error traceback in your client, please do let me know.

Regards,
Seisatsu

2 Likes

That sounds familiar :smile:
I’m working in Python too. I’d be happy to help you test this. Let me know what you’d like me to look at first.

1 Like

Thanks for your interest! Honestly, there isn’t any one area that particularly needs testing. There are nearly 100 command modules, so the best ways to find issues are probably to play it normally, and to try to play it abnormally. It needs some regular usage and some fuzz testing. Though, duplified items and the “break” commands have been the source of many issues in the past, so those might be a good starting place if you want to test specific things. Duplification is kind of complicated and requires handling code in a lot of different command modules to work properly, and I’m not 100% confident in the conditionals involved. (A duplified item can be dropped in multiple places by the owner and held by multiple players, but when a non-owner player drops it, it vanishes.)

Read about the commands in the “items” category. “help items”. Items are the most complicated because they can exist in so many situations.

I discovered a bunch of bugs within an hour of making this link public, so it’s useful for someone who doesn’t already know how everything works to try using it normally, because they will do things I didn’t expect or plan for.

1 Like