    Is On-Line Creation Good for LPC?

        Dead Souls includes a quick creation system, named,
    aptly enough, QCS.

        It was an incredible bitch to make, because it had to
    account for and parse code that might be written
    carelessly, or in accordance with odd formatting rules.

        Additionally, the number of possible things to modify
    on an LPMud is so mindbogglingly large that it made
    for a task that was challenging both in complexity
    and in scale.

        I sweated through the months of pain not because I
    felt it would be a nice feature, but because I felt it was
    a *necessary* feature. Early in DS development, I wondered
    why it wasn't being adopted more, and started looking
    at what other libs had that DS didn't. When I took a
    serious look at CoffeeMud, I was totally blown away. Granted,
    CM has had 5 or more years of constant development
    by a team of more than one person, but the results
    really are remarkable.

        Their build system was simple and elegant. It
    allowed people who were not interested in learning
    code to make neat stuff right away. It became immediately
    obvious that to a new mud admin, deciding which way to
    go, there was really no contest.

        Should they go with a mud that requires effort,
    discipline, and weeks/months of study before doing
    anything cool? Or with CM which they can set up and
    build on immediately?

        I realized that there was no way at all to compete in
    the modern lib marketplace without an OLC.

        The arguments in favor of an OLC are predicated on
    "wide adoption of one's codebase" being the goal. The
    arguments I arrived at were the following:

    * Experienced admins already have a codebase preference.
    There is no need or point in trying to convert people.

    * N00b admins generally will not accept having to work
    hard to get a mud up.

    * Getting n00bs to use DS necessarily means making it
    easy to set up from the start.

    * Without an OLC, DS was greek to most n00b admins.

    * Even though most n00b muds will fail, having many failed
    DS muds is still good progress, because it means many
    non-admins will have been exposed to the codebase. It is from
    this sort of initial code exposure that preferences
    develop.

        It was obvious to me that I couldn't get people to
    use Dead Souls just because it was technically superior
    under the hood. Ask the makers of the Betamax if technical
    superiority equals market share. Ask the Macintosh.

        Hoping people would see the genius in my code would
    not suffice to make them adopt it. The only way to make
    DS widely adopted was to make it easy, and make it fun.
    That LPC has had a history of being difficult is
    irrelevant. Having been one way doesn't mean it had to
    stay that way, and indeed, it's probably the main reason
    LPC is in decline.

        In my mind, Dead Souls's Quick Creation System isn't
    really about advocating a feature that makes it
    technically superior to other LPMuds. QCS is entirely
    neutral in this respect. It does nothing for the
    fundamental lib on its own: it just interprets it. If
    the underlying code is crap, the QCS can do nothing
    to change that.

        No, DS QCS isn't about technical superiority. It's
    purely marketing. I didn't spend months slaving over
    QCS because I thought it made DS *better*. I did it
    because I thought it made DS *viable*. Not having it would
    be like trying to sell a car without windshield, doors, or
    mirrors. It pretty much doesn't matter how good the
    engine is. People want what they want, and if you don't
    give it to them, they'll go somewhere else.

        The obvious argument against this position is
    "it doesn't matter if lots of people use the lib, it
    just matters that it is pure and beautiful".

        That is a valid opinion, but it is not mine. That
    opinion assumes that one is the best coder, and
    nobody can improve on one's work, and one's work is
    perfect. I don't believe that is true of anyone.

        I want DS to be great. I know that I am limited
    by my experiences, ideas, and expertise. Others
    can help DS better. By making DS widespread, more
    eyeballs examine it, and the chances are greater
    that someone will make DS better in some way. With
    enough of this agglutination of minor improvements,
    DS can be better than anything I could have made it on
    my own. Making sweaty 13 year olds happy with an easy
    mudlib is a by-product. By making it easy, and making
    it so many people will use it, it increases the
    chances that a great coder will find it, love it,
    and contribute to its greatness.

        So, as goofy and lame as I felt, making a
    n00b-friendly "anyone can build here" system, I felt
    it was not only important, but *vital* to advancing
    my agenda of making Dead Souls the best LPC mudlib
    on the planet.

    Dead Souls Homepage