[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