<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: List software -->
<!--X-From-R13: pynjNahyy.arg -->
<!--X-Date: from babe.globecomm.net [207.51.48.8] by mx01.ny.us.ibm.net id 858797306.47441-1 Wed Mar 19 18:48:26 1997 -->
<!--X-Message-Id: 3330293d431d002#msgSFO01,schwab.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: Pine.SOL.3.94.970319120737.3839A-100000#eduserv1,rug.ac.be -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: List software</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:claw#null,net">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">
<font size="+4" color="#804040">
<strong><em>MUD-Dev<br>mailing list archive</em></strong>
</font>
<br>
[ <a href="../">Other Periods</a>
| <a href="../../">Other mailing lists</a>
| <a href="/search.php3">Search</a>
]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->
Date:
[ <a href="msg00142.html">Previous</a>
| <a href="msg00143.html">Next</a>
]
Thread:
[ <a href="msg00137.html">Previous</a>
| <a href="msg00146.html">Next</a>
]
Index:
[ <A HREF="author.html#00145">Author</A>
| <A HREF="#00145">Date</A>
| <A HREF="thread.html#00145">Thread</A>
]
<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: List software</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: Wout Mertens <<A HREF="mailto:Wout.Mertens#rug,ac.be">Wout.Mertens#rug,ac.be</A>></LI>
<LI><em>Subject</em>: Re: List software</LI>
<LI><em>From</em>: <A HREF="mailto:claw#null,net">claw#null,net</A></LI>
<LI><em>Date</em>: Wed, 19 Mar 97 08:40:37 -0800</LI>
<LI><em>Cc</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI>
<LI><em>Reply-to</em>: <A HREF="mailto:claw#null,net">claw#null,net</A></LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
Note: CC'ed to the list for general indigestion.
On 19/03/97 at 12:12 PM, Wout Mertens <Wout.Mertens#rug,ac.be> said:
>On Tue, 18 Mar 1997 claw#null,net wrote:
>> 'Course if I do that, I may also try and revive something like
>> MUD-RolePlay-L or Marcus' Wizard list. I suspect from the groups that
>> there's still a huge unfilled need for concentrated, guaranteed high
>> signal MUD discussion.
>
>Sounds nice... (I won't be on them mind you, I haven't got any time
>left to wizard. I'm happy enough that I still have time to remember
>that I have to write a mud...)
Heck, at the rate things are moving right now, I'm not sure I'll have
any time to even look at moving the list base to Steward. <sigh>
Still, the idea's there.
>Which reminds me: How did you write your mud? from scratch? based on
>some routines you had lying around and them fused together?
Oooh boy. Long story. Short answer: From scratch, with lots of
retries, restarts, and abandoned dead ends. I was contracting pretty
much the whole time, so also borrowed lots of ideas from various
workplaces and folded them in (more or less successfully) as I went
along.
Back in, oh, roughly late '84 timeframe I was playing Shades and SX
MUD (MUD1/MUD2) a lot, and started talking to Pippin Caudry (cf IOWA
and Bartle's MUD survey for placement/reference) about writing a MUD
server for him to run on a BBC micro on direct dial-in lines. About
the time that I actually started work on designing the beast (an
absolute hack I now would shuddered if it had seen the light of day),
Pip instead decided to run with a local PL/1 chap who said he could do
the neatest thing since sliced bread (never happened -- Mirrorworld,
which was already in development, took its place).
However, I was hooked on the idea of a really *NEAT* MUD server.
I had hold of a PC, a PDP-10, and was infatuated with the parallel
processing concepts of the the then new Inmos Transputer and Occam.
I'd also just bought a copy of Zorland C (nee Datalight, later
Zortech, now Symantec) and was teaching myself C. I generously
figured that by the time I had the damn thing designed and partly
written that I'd have a Transputer based machine with at least three
or four T400's to do the rest on, and Occam would probably have
succumbed to C (pray pray). <kof>
<<Still got all those early notes and design drafts too>>
By about 1Q87 what with the rest of real life and trashing everything
I'd done a couple times, I had a DB layer all done along with area
import/export, along with offline room, object, and mobile coding.
<<Can you say three byte longs? I thought you could. I used them
*everywhere* in the DB to conserve space (lotsa arrays). <unghh>>>
Never did touch the actual run-time aspect then -- was still waiting
for decent MP hardware to do the event stuff on (it was event driven
from the start -- I never even thought of a polling loop).
Nearly went to work for CIX with an aim to doing a MUD server on the
side for them. Came back to the States instead.
About the same time I started get on the 'net seriously, and
discovered LP, the Tiny-* clan etc. Trashed everything I'd done
again, dropped the three byte longs, and decided to go with a simpler
DB, and event architecture running atop MINIX. Fell in love with Aber
(as a player) and spent an awful long time playing Northern Lights.
Later decided to move the OS base to XINU.
MOO (the original, pre-Lambda) happened about this time. Thought it
was a wonderful idea, but buggier than crap. Thought the design
concept was neater than sliced bread (everything in the DB, totally
dumb server, objects/methods etc in the DB too, objects animated
themselves). Also thought the everything-in-memory model was stupid,
and didn't like the polling architecture.
Started working a lot with OS/2 back when 2.0 came out. Decided that
this multi-threading thing was a pretty damned neat replacement for
full parallel processing and Transputers, even if not quite as slick.
Started recoding, moving everything to OS/2 and MT. Went to a
disk-based DB model with a central MOO-style DB running everything.
Back in Oh, '94-ish decided to do C++ the thing. Started again.
Cleaned up the event model a LOT.
Everything is homegrown. Major inspirations (mostly in time order):
Shades, MUD2, Transputers, Marcus Ranum, Uber, Unter, LP, Aber, Tiny*,
Northern Lights, MOO, Stephen White, LambdaMOO, a large bunch of IBM's
OS/2 developers, Cool, Interlude (neat!), Dave Engberg, C++, Cold,
Mike Cowlishaw, Legend, ColdX, Greg Hudson, MUQ, BeOS, Inferno, Limbo.
>And in what order did you develop everything? Like for example the
>DB. Pretty convoluted stuff to just spew out and hope it works... No?
I believe in test drivers built into the code so a conditional compile
will make an executable that will excercise the entire class,
encluding (if possible) ALL flow paths. It makes unit testing a LOT
easier. Then run a basic level/key sensitive trace/report class that
lets you watch at any level of detail you want and you've got Gawds
own homegrown sniffing system.
I tend to do large, reasonably self-contained blobs on each attack.
Thus the DB end (which I'm re-doing now for transaction support and
rollbacks) will be done as a self contained unit. Next after that
will probably be the cacheing class which will be a two layer beast (a
general cache and a tailored representation of the DB). Similarly the
network IO, Collector, Dispatchor, etc are all pretty black box, and
developed stand-alone.
What lump gets down in what order? Truth to tell: whatever the heck I
feel like. Usually its whatever seems "neat" and doesn't have too
many dependancies on code I haven't written yet.
--
J C Lawrence Internet: claw#null,net
----------(*) Internet: coder#ibm,net
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...
</PRE>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00142.html">Re: mud grammar</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00143.html">3D graphics</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00137.html">Re: List software</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00146.html">Re: List software</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00145"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00145"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>
<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><strong><A NAME="00141" HREF="msg00141.html">I got your message..!</A></strong>,
MAYA DASWANI <a href="mailto:MISSMAYA#msn,com">MISSMAYA#msn,com</a>, Wed 19 Mar 1997, 20:34 GMT
<LI><strong><A NAME="00127" HREF="msg00127.html">List software</A></strong>,
claw <a href="mailto:claw#null,net">claw#null,net</a>, Tue 18 Mar 1997, 03:11 GMT
<UL>
<li><Possible follow-up(s)><br>
<LI><strong><A NAME="00129" HREF="msg00129.html">Re: List software</A></strong>,
Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Tue 18 Mar 1997, 12:33 GMT
</LI>
<LI><strong><A NAME="00137" HREF="msg00137.html">Re: List software</A></strong>,
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Tue 18 Mar 1997, 23:44 GMT
</LI>
<LI><strong><A NAME="00145" HREF="msg00145.html">Re: List software</A></strong>,
claw <a href="mailto:claw#null,net">claw#null,net</a>, Thu 20 Mar 1997, 02:48 GMT
</LI>
<LI><strong><A NAME="00146" HREF="msg00146.html">Re: List software</A></strong>,
claw <a href="mailto:claw#null,net">claw#null,net</a>, Thu 20 Mar 1997, 12:32 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00122" HREF="msg00122.html">Resets and repops</A></strong>,
Furball <a href="mailto:K.L.Lo-94#student,lut.ac.uk">K.L.Lo-94#student,lut.ac.uk</a>, Mon 17 Mar 1997, 17:19 GMT
<UL>
<li><Possible follow-up(s)><br>
<LI><strong><A NAME="00123" HREF="msg00123.html">Re: Resets and repops</A></strong>,
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Tue 18 Mar 1997, 01:13 GMT
</LI>
<LI><strong><A NAME="00126" HREF="msg00126.html">Resets and repops</A></strong>,
claw <a href="mailto:claw#null,net">claw#null,net</a>, Tue 18 Mar 1997, 02:59 GMT
</LI>
</UL>
</LI>
</UL></BLOCKQUOTE>
</ul>
<hr>
<center>
[ <a href="../">Other Periods</a>
| <a href="../../">Other mailing lists</a>
| <a href="/search.php3">Search</a>
]
</center>
<hr>
</body>
</html>