[MUD-Dev] Re: Modular MUD [Was:Finer points of Telnet programming ...]

Adam J. Thornton adam at phoenix.Princeton.EDU
Tue Aug 25 22:00:41 CEST 1998


On Tue, Aug 25, 1998 at 06:03:05PM -0700, Caliban Tiresias Darklock wrote:
> On 10:58 AM 8/25/98 -0400, I personally witnessed Adam J. Thornton jumping
> up to say:
> >This is one thing I don't understand.  Why would you want to run a game on
> >a W95 box?  
> I figure the more people I have using it, the more feedback I get, the more
> feature requests I receive, the better the product ends up becoming.
> Windows may be a crappy platform, but it's still the one everyone is using.
> If I want this in the hands of thousands of people in a short period of
> time, Windows is where I have to develop it. 

I see.  I'm not sure I believe that there are lots of people out there
itching to run MUDs of their own but lacking the tools to do so, but if
there are, then this makes sense.

> "Doctor, it hurts when I do this..." Correct me if I'm wrong, but aren't
> stray pointers something you shouldn't have in the first place? Every
> argument I've heard for W9x being a bad platform comes down to "If you
> screw up, bad things happen". Well, call me arrogant, but I say just don't
> screw up.

I'm not smart enough to write real programs without screwing up.  And I
like it when my mistakes don't make me have to reboot, and I just get
"Segmentation Violation [core dumped]", and then I can debug using the core
file and my executable, and realize that I passed in the value stored at
some place rather than its address, or something like that.

And with a modular, extensible framework, where you can't necessarily
control the quality of the code being run, well, I'd be really wary of
running it in an environment that didn't rigorously enforce process
isolation. 

> I'd like to build one similar to the old style door games of the BBS world;
> open the readme, follow the five steps, and lo and behold you have a MUD. 

Are there really that many people out there who *want* to run MUDs who
don't know how to?  If you're right, then yes, your approach makes plenty
of sense.  However, I suspect that you'll run into the same problem that
bedevils text-adventure systems: it's easy to write very simple, crude
games with no programming skill using something like AGT.  But as soon as
you want to do something even a little tricky, it *does* require real
programming and bang, you're back to having to be a gearhead to get it
done.  

> I want it to be easier for them to build what they want and
> make it do what they want. 

A noble goal.  A scriptable server is certainly the only way to go about
doing something like this.

> which actually embedded the CRC in the data stream. I was drunk when I
> wrote it, and while it *works*, I have never been able to figure out how.
> I'm still having trouble admitting it's even *possible*. You can't embed it
> in the data stream until you know what it is, and you can't know what it is
> until it's in the data stream. I wish I still had that code. I never did
> figure out how I managed to do it. On the bright side, it convinced me to
> quit drinking.

Damn.  Something like that would encourage me to start drinking a whole lot
more. 

> I think Perl is a little *too* flexible and powerful for what I'm thinking
> of, actually... with JavaScript, we're already working from a standpoint of
> a limited language with limited features, while Perl can be used to write
> entire full-featured applications. Same with Java. 

Your "flexible and powerful" threw me off.  The question is, you're going
to want to support things you can't even think of now.  Is JavaScript
extensible enough to do that?

> Not to mention there are a lot more people who know JavaScript than people
> who know Perl. I think JavaScript is definitely the more accessible
> technology... although there's an argument to be made for VBScript. I tend
> to think VBScript is a toy, myself.

Of the two, Javascript.  No question.  VB and friends are all evil.

Are there any PostgreSQL gurus on the list?  I have a question: how do you
retrieve classes from objects returned in a query?

Say I want to SELECT * FROM OBJECT* WHERE ROOMID=24 This gives me
everything in Room 24 that's an object or a subclass of object; this
includes items and creatures (say that ITEM inherits OBJECT and has WEIGHT
and BULK, while CREATURE inherits OBJECT and has MOTIONSCRIPT).  So is there
any way to tell whether object 455, which has been returned by that query,
is an OBJECT, an ITEM, or a CREATURE?  Any way without having to query each
object individually in the DB?

Adam
--
adam at princeton.edu 
"There's a border to somewhere waiting, and a tank full of time." - J. Steinman




More information about the mud-dev-archive mailing list