MUD cannot be written in Perl and here's why

scrottie on 2010-06-17T19:25:44

Awwaiid urls http://github.com/jasonmay/abermud# perl based mud with mooseyness (early stages) You ack loudly.

You say in common: yuck

You say in common: every MUD knock-off in the last 20 years as sucked ass and completely missed the point.

You say in common: Aber, Tiny, Circle's take on Diku, UberMUD, Muck... people *knew* what they were doing for a while, but now everyone completely misses the point.

You say in common: it's all cargo-culting... taking the superficial stuff while missing the point. makes me sad.

You say in common: turns the end of MUD, people were far more interested in throwing tech at it randomly... TMI, EoTL II, etc

You say in common: that's what killed MUD... mindless weilding of tech

You say in common: I think I'm going to put the "TECHNOLOGY WANTS YOUR SOUL" sticker on this laptop.

Awwaiid says in common: haha

Awwaiid says in common: so bitter! Maybe jasonmay is having fun and you should join him... bring "the point" into his code :)

Awwaiid says in common: or maybe that's not possible, since this is apparently a mud-framework as opposed to a mud itself?

You say in common: the most successful MUD software of all time, LPMud 2.4.5, was distributed as a copy of a running a game. you could fire it up and run it.

You say in common: it had a couple of security flaws in the "mudlib" code (the interpreted C-like stuff that's easy to change).

You say in common: it lacked a lot of features... races and classes most significantly

You say in common: but it had monsters, areas, spells and lots of stuff.

You say in common: you could fire one up, "wiz" the people who madeit to level 20 and let them start adding to it.

You say in common: one thing that's well established is under no circumstances should a live game "wiz" people who have not played through and beat that particular game.

You say in common: that goes for the admins too. no one should ever start a MUD without wiz'ing on one MUD and having that MUD go down or them being forcibily ejected from it.

You say in common: for some profound human nature reason, doing otherwise is always the same... you have to profoundly care about a game to contribute to it and the only way to do that is to go through the long process of making friends, partying, helping novices, learning your way around it, etc, etc over months or years. You say in common: I guess more fundamentally, MUDs need to be targetted towards *players*, not towards coders. players become coders.

You say in common: a Perl MUD is a good idea. the zombie game was a stab at that. but there a pile of lessons like that... more than I could remember... that people haven't learned. either they haven't had the experience or else they second guessed what they saw in the name of tech devotation.

....

By the time someone makes it to level 20 and is generally (a willing sponsor aside) then permitted to code, seeing the code has to make the game even more magical. This is critical: seeing the code has to be a wondrous event. They should relive all of their adventures again from the point of view how things actually really worked rather than what their imagination thought was going on. Their imagination will have inflated the realities of the world. But they'll see opportunity to create more of this illusion. This is analogous to working through a math problem or riddle before seeing the answer and just being told the answer. Seeing the code should be a glorious "aha!" moment.

That MUDs are text is superficial to why they were successful and why so many people loved them and still do. What makes a MUD is being up to your eyeballs for months or years, making friends, fighting monsters together, exploring, the politics of the gods, the policies of the games, the dramas, the loss and gain, the interaction between people of different philosophies including personas of people's experimental alter egos. A profound love of the game, strong feelings (period) towards the admin, and a sense of serving people like your many friends drives you to create more adventures, places, creatures, oddities, and interactions. You're adding magic to the game. This is the only time and the only point that magic is added to the game -- when a player beats it and adds to it.

I lied: Diku was probably the most popular game. It too game ready to play. Rather than be coded on (Circle would later change this), creation was done with level editors. Creativity was mostly limited to economics and prose, and this was fine.

Diku was a clone of Aber, stealing and changing it slightly. Aber was a knock off of the original MUD which was a commercial enterprise; the creation of MUD was a blessed event. LP was a knock off of Aber. Lars was an Aber player and beat Aber.

No one is going to clone Aber, Diku or LP in Perl because they want to do a "better" framework. How good the framework is matters now. In fact, TinyMUD was huge and it ran a very simple BASIC. Diku didn't run user code at all. You had to hack on the C source code to add features. Same for Aber, except Diku let you extend the map at run time.

To create a MUD -- in the spirit of MUD -- in Perl, you'd have to make a game. That's a much harder problem than creating a "framework" for making games. For the reasons outlined above, no one is going to take your framework and run with it. Anyone who cares is going to just make a game and worry about the "framework" later. Even myself, I had a harm time having energy left over the game. It's profoundly hard to do the tech and the game at the same time. Stealing egregiously is the only way to do this. Previous efforts have used mechanical translation from one game to another, and un-tech-savvy friends cutting and pasting. People cared about the game that much. They knew. Even when a new game started, enough had to be added to it to make it interesting, even though it came playable. Most people didn't have the energy for that. There were countless failed attempts at starting games where all they had to do is take a running game -- often 2.4.5 -- and add classes, races, and/or a mix of other unusual, new, unique and interesting things to define that game. Taking an existing, ready to play game with a pile of features as long as your arm and dozens of areas and thousands of monsters and adding a few more features takes more energy and creativity than the vast majority of people have to spare. And that's why you can't create a game framework in Perl and expect it somehow turn into something. Your effort is insignificant and misguided. You make me sad. Go code on an existing MUD that already had hundreds of wizards pour their life and soul into it. Bolt Perl onto the side. But, if you actually played and beat the thing and lived it, bolting on Perl would be the last thing you cared about.

-scott