<!-- 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>