there have been a handful of people interested in having open conversations about virtual worlds/MUDs/MUSHes/MOOs. i'm going to denote the #mud hashtag for those interested in talking about them - so please follow that tag if interested (or feel free to filter it if not!)
one of the hardest things to understand is just how MUDs/MOOs work at a technical level. they're effectively text-based game engines with tcp/ip networking baked into the crust. and there are dozens of them, many descending from the same grandparent engines decades ago.
some of them have gameplay, monsters, character classes, and/or items hardcoded into the engine itself. these are the least flexible, but often are stable and the easiest to get running.
early versions of dikumud are an example of an engine that fits that description. lots of hardcoded aspects, like character classes and hack'n'slash gameplay. the vast majority of late 90s and early 2000s MMOs were strongly influenced by dikumud. think: EverQuest and WoW. everything is bolted to the walls and floors, because many aspects of the game cannot be modified without recoding and recompiling the engine itself.
some make a distinction between the engine (called a "driver") and database of items/objects, and scripting libraries (called "mudlibs") for modifying gameplay. these kinds of muds often have looser, social-interaction driven gameplay. LPMud is an example of this kind of engine: it allows players to directly modify the game world *and* gameplay. that's because the scripting language is interpreted in realtime. if you make a change to the mudlib, you can make an inert lamp in a room give off light or chirp like a bird. all without recompiling the server. think here of an mmo like Furcadia, which gives players the ability to design rooms and new gameplay without taking down the whole server.
in that way each mud ends up inheriting the same constraints/enablements their ancestors had. so understanding how MUDs work involves understanding which engines they inherited their codebase from.
today i'm reading the incredibly thick documentation behind LPMud:
https://www.genesismud.org/lpc/lpc.pdf
while the documentation can be a bit terse at times (due to the C-like scripting language, LPC), it is amazing to me that LPmud puts so much power into players' hands. i'm kind of amazed this much functionality was available as far back as the early 90s
#mud