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

Jon A. Lambert jlsysinc at ix.netcom.com
Tue Aug 25 23:39:41 CEST 1998


On 25 Aug 98, Adam J. Thornton wrote:
> On Tue, Aug 25, 1998 at 05:44:18AM -0700, Caliban Tiresias Darklock
> wrote:
> > modules, chaining together into a huge web of DLLs or (preferably) script
> > files which make up the whole MUD.
> 
> This is one thing I don't understand.  Why would you want to run a
> game on a W95 box?  

Sure why not?  Thousands of great games run on Win95.  And lots of 
swell multiplayer ones too, like Quake, Age of Empires, Civilization, 
Operation Marketgarden, etc.  :)

> NT I can see, since you at least get something
> close to a POSIX environment and it's pretty stable, but with W95/8,
> a stray pointer can crash the whole machine.  

Well NT really does not do very well at Posix.  It's at the minimal 
level 1 compliance.  And if you do enter Posix mode, you will 
experience a slowdown due to some overhead.   And all those
wonderful and nifty features of the Win32 API are no longer 
accessible from Posix mode.  I guess this issue depends on one's 
leanings towards Posix or not.

I can't comment on the stray pointer issue, since I have never 
crashed my machine running any of the applications that I've 
authored.   Of course I have crashed applications due to stray 
pointer errors on every OS I've run.   On the other hand, there 
are quite a few programs capable of crashing Win95 on a regular basis 
(Doom, Mortal Combat II, for instance).   Release 1 of Win95 was 
plagued with bad device drivers and Release 2 was a big improvement 
in this area.  On NT, you don't have to worry about running these 
things anyhow.  

> Linux and FreeBSD are
> both free, and you get much better process isolation, plus more
> portable code, since it'll be trivial to take ANSI C and make it run
> on W32 platforms as a console app, modulo things like pthreads
> support that Windows may not have.

I usally attempt to place non-ANSI and OS dependent code in separate 
modules, in my case C++  (That is if I happen to recognize it as 
such).  I think this makes good sense regardless of your platform.   

Multi-threading has been part of the environment since the Win 3.1 
with Win32s and is quite mature with a rich set of accessible 
features.  I'm having trouble of thinking of any functions I can't do 
and that I would rather do elsewhere.  To each his own I guess.  :) 

> True, but if you carefully specify the API and make sure to repeat
> over and over and over that it's the caller's responsibility to
> initialize space that the called module overwrites and returns a
> pointer to, you could have a workable model.

Speaking of modular things, I've got lots of warm, fuzzy and friendly 
feelings towards COM and DCOM.  I doubt my feverish enthusiasm is 
shared by many on this list.  :)

BTW, I've do have both FreeBSD and Slackware installed on some 
spare drives. I occasionally boot them up to play with things that 
aren't ported yet to Win32.  And I've found many of the Cygwin-Unix 
tools to be very handy.
   
Finally, I hope I haven't offended anyone with some of my negative 
comments on Win32 systems.  And those who are offended by any 
positive comments on Win32, I'd recommend using the barf-bag tucked 
in backpocket of the seat in front of you.  ;)

--
--/*\ Jon A. Lambert - TychoMUD     Internet:jlsysinc at ix.netcom.com /*\--
--/*\ Mud Server Developer's Page <http://www.netcom.com/~jlsysinc> /*\--
--/*\   "Everything that deceives may be said to enchant" - Plato   /*\--




More information about the mud-dev-archive mailing list