Page 1 of 1

Dennis MUD

Posted: Mon Feb 18, 2019 10:20 am
by Seisatsu
Hello! It seems like this place is very slow nowadays, but I've always posted updates about my biggest projects here so here goes.

Introducing Dennis MUD, the Multi-player Text Adventure Sandbox Server! I have been working on it for about half a year, and it is a complete rewrite of an older, similar project of mine by the same name from many years ago which didn't get nearly as far. Dennis is a MUD written in Python 3 with Twisted and Autobahn, and using MongoDB. Unlike your average MUD, Dennis is a collaborative writing exercise, from the conversations between players down to the very structure of the world. A game world starts with a single, empty room, and from there players can use in-game commands to add new rooms, exits, and items, and describe them. A true sandbox, Dennis lets players cooperatively create a world from scratch and explore each others' realms.

Dennis is in late pre-alpha, but has a very decent featureset already, and is perfectly usable, if a little rough around the edges. It includes a Websockets server and browser client, a Telnet server, and a command-line singleplayer frontend. A test instance is kept running which you are all free to check out; it is a sizable world with a few semi-regular players. More information is available on that page, the discussion thread linked from it, and on the Github.

Dennis is inspired by ifMUD, a very old MUD with a similar concept but a much more complex control system, and which is not open source.

Test Instance: http://dream.uboachan.net/
Github: https://github.com/seisatsu/Dennis/

Re: Dennis MUD

Posted: Mon Feb 18, 2019 11:30 pm
by hallsofvallhalla
Very neat! i played around on it a bit. Very cool. Would recommend pressing the up arrow brings up last command

Not a lot of chatting going on here much anymore but definitely still a ton of visits monthly.

Re: Dennis MUD

Posted: Tue Feb 19, 2019 4:12 am
by Seisatsu
Yes, navigating command history with the up/down arrows is a planned feature, but it's a little bit harder than it looks and Javascript isn't my best language. I will get around to it eventually.

Re: Dennis MUD

Posted: Wed Feb 20, 2019 12:31 am
by hallsofvallhalla
couldn't you just store it in an array then have a listener for the up key as well as a counter everytime you hit it and it counts through the array every time you hit the key?

Re: Dennis MUD

Posted: Wed Feb 20, 2019 9:01 pm
by Seisatsu
Yeah, I tried to copy some code that did that just for the up key that I found, but I ran into some problem when trying to also make it work with the down key, and I got frustrated and put it aside. I don't remember what the issue is, but I'm just going to have to hunker down and start over. It might end up being easier to write the code from scratch.

Re: Dennis MUD

Posted: Thu Feb 21, 2019 12:15 am
by hallsofvallhalla
Cool, definitely keep us updated.

Re: Dennis MUD

Posted: Fri Mar 08, 2019 11:20 pm
by KyleMassacre
I wouldn’t know how to in python but if you wanted to handle it in the html file you could try something like:

Code: Select all

let consoleLine = [];
let consoleLinesCounter = 0;
let consileString = '';
function keyHandler(event) {
 // switch is better
  if(event.keyCode == 38) { //didn’t check bu I think that’s up
    consoleString = consoleLine[consoleLinesCounter];
    consoleLinesCounter++;
  }
  // do the same for down arrow but change it to —
}
element.addEventListener('keydown', keyHandler);
You will have to do additional checks like if your are out of the array