DikuMUD 3 Is Released
github.com
github.com
To give some perspective, the last public release of DikuMUD was in 1991.
as an aside, I have a nicely working copy of sillymud hanging out in my GitHub, and local copies of phoenix (the successor to sillymud), and epic (another highly customized mud that ran off of goldman.ai.mit.edu).
[0] Can't remember if this was before or after PLT Scheme got renamed to Racket, but it was around that time. It turned out to be a great language for it. Wish I had done more with it.
Looking at the repository, the impression I get is that this codebase had a web interface grafted onto it relatively recently. Most of the code looks like it was written with the expectation that it'd be used over a line-mode interface. (A lot of it also looks like it was converted from C to C++ very late in the development process -- outside of the WebSockets library, there's hardly any code which uses even basic STL features like string or vector.)
yes, if you know the history of muds, and diku specifically, you would know that, but where those changes were made it could more easily have been changed to respond either as text, and styled in the browser without adding all of the html elements, or as json. it was a very weird decision to be made given its history and the new goals of the project.
Being text-based, MUDs were basically made for scripting. I have very fond memories of that entire world and its people.
This was my gateway into serious programming. I'd already learned some C, but the idea of a networked multiplayer RPG really stoked my interest in network programming as I tried to write my own MUD from scratch, and it's because of this that I chose BCIT to study in the datacomm program.
Never played DikuMUD, but I honestly miss those days playing DartMUD for hours on end. I looked up DartMUD a while back, but it doesn't appear to be very active, if it is even online anymore.
Yup. DartMUD will remain squarely in my memory, and I won't bother trying to play it now.
I tried compiling it and got flooded with screens full of incomprehensible errors of the sort:
/usr/include/c++/v1/type_traits:1547:38: error: implicit instantiation of undefined
template 'std::__1::owner_less<boost::weak_ptr<void> >'
: public integral_constant<bool, __is_empty(_Tp)> {};But, arguing it's a bad choice because the errors are incomprehensible is only a valid argument if you know C++. Otherwise the argument could be had against most programming languages.
There are valid arguments why C++ shouldn't be used (I'm of the opinion it should never be used) but this particular problem isn't unique to C++.
Maybe incomprehensible if you don't know C++ or don't bother to read them or carve them entirely out of context (like you've done here). Every error tells you both where the error occurred, how the compiler got to that file location, and what the problem was. Literally what more do you want?
But, yeah, everything is incomprehensible if you don't comprehend it.
../../build//vmc/vmc.o: In function `fix(char)': /home/user/DikuMUD3/vme/src/vmc/vmc.cpp:254: undefined reference to `init_lex(char)'
It sounds like you don't program in C++ then. "undefined reference" is quite explicit.