mud/lib/www/articles/olc.html
2020-09-06 05:43:07 -07:00

17 lines
5.5 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>Dead Souls and OLC/QCS</title>
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="./favicon.ico" type="image/x-icon">
</head>
<body>
<pre style="font-family: courier new,courier,monospace;"><big><big><big
style="font-weight: bold;">Is On-Line Creation Good for LPC?</big></big> <br></big><br> D<span
class="sb_messagebody">ead Souls includes a quick creation system, named,<br>aptly enough, QCS. <br><br> It was an incredible bitch to make, because it had to<br>account for and parse code that might be written<br>carelessly, or in accordance with odd formatting rules.<br><br> Additionally, the number of possible things to modify <br>on an LPMud is so mindbogglingly large that it made<br>for a task that was challenging both in complexity<br>and in scale.<br><br> I sweated through the months of pain not because I<br>felt it would be a nice feature, but because I felt it was<br>a *necessary* feature. Early in DS development, I wondered<br>why it wasn't being adopted more, and started looking<br>at what other libs had that DS didn't. When I took a<br>serious look at CoffeeMud, I was totally blown away. Granted,<br>CM has had 5 or more years of constant development<br>by a team of more than one person, but the results <br>really are remarkable.<br><br> Their build system was simple and elegant. It<br>allowed people who were not interested in learning<br>code to make neat stuff right away. It became immediately<br>obvious that to a new mud admin, deciding which way to<br>go, there was really no contest.<br><br> Should they go with a mud that requires effort,<br>discipline, and weeks/months of study before doing<br>anything cool? Or with CM which they can set up and<br>build on immediately?<br><br> I realized that there was no way at all to compete in<br>the modern lib marketplace without an OLC. <br><br> The arguments in favor of an OLC are predicated on<br>"wide adoption of one's codebase" being the goal. The<br>arguments I arrived at were the following:<br><br><br>* Experienced admins already have a codebase preference.<br>There is no need or point in trying to convert people.<br><br>* N00b admins generally will not accept having to work<br>hard to get a mud up. <br><br>* Getting n00bs to use DS necessarily means making it<br>easy to set up from the start.<br><br>* Without an OLC, DS was greek to most n00b admins.<br><br>* Even though most n00b muds will fail, having many failed<br>DS muds is still good progress, because it means many<br>non-admins will have been exposed to the codebase. It is from<br>this sort of initial code exposure that preferences<br>develop.<br><br> It was obvious to me that I couldn't get people to<br>use Dead Souls just because it was technically superior<br>under the hood. Ask the makers of the Betamax if technical<br>superiority equals market share. Ask the Macintosh.<br><br> Hoping people would see the genius in my code would<br>not suffice to make them adopt it. The only way to make<br>DS widely adopted was to make it easy, and make it fun.<br>That LPC has had a history of being difficult is <br>irrelevant. Having been one way doesn't mean it had to<br>stay that way, and indeed, it's probably the main reason<br>LPC is in decline.<br><br> In my mind, Dead Souls's Quick Creation System isn't<br>really about advocating a feature that makes it<br>technically superior to other LPMuds. QCS is entirely<br>neutral in this respect. It does nothing for the<br>fundamental lib on its own: it just interprets it. If<br>the underlying code is crap, the QCS can do nothing<br>to change that.<br><br> No, DS QCS isn't about technical superiority. It's<br>purely marketing. I didn't spend months slaving over<br>QCS because I thought it made DS *better*. I did it <br>because I thought it made DS *viable*. Not having it would<br>be like trying to sell a car without windshield, doors, or<br>mirrors. It pretty much doesn't matter how good the<br>engine is. People want what they want, and if you don't<br>give it to them, they'll go somewhere else.<br><br> The obvious argument against this position is<br>"it doesn't matter if lots of people use the lib, it<br>just matters that it is pure and beautiful".<br><br> That is a valid opinion, but it is not mine. That<br>opinion assumes that one is the best coder, and <br>nobody can improve on one's work, and one's work is<br>perfect. I don't believe that is true of anyone.<br><br> I want DS to be great. I know that I am limited<br>by my experiences, ideas, and expertise. Others<br>can help DS better. By making DS widespread, more<br>eyeballs examine it, and the chances are greater<br>that someone will make DS better in some way. With<br>enough of this agglutination of minor improvements,<br>DS can be better than anything I could have made it on<br>my own. Making sweaty 13 year olds happy with an easy <br>mudlib is a by-product. By making it easy, and making<br>it so many people will use it, it increases the <br>chances that a great coder will find it, love it, <br>and contribute to its greatness.<br><br> So, as goofy and lame as I felt, making a <br>n00b-friendly "anyone can build here" system, I felt<br>it was not only important, but *vital* to advancing<br>my agenda of making Dead Souls the best LPC mudlib<br>on the planet.</span><br><br><big> <br><a
href="../index.html">Dead Souls Homepage</a><br><br></big></pre>
</body>
</html>