nightmare4_fluffos_v1/
nightmare4_fluffos_v1/bin/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/ChangeLog.old/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/Win32/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/compat/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/compat/simuls/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/include/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/testsuite/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/testsuite/clone/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/testsuite/command/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/testsuite/data/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/testsuite/etc/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/testsuite/include/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/testsuite/inherit/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/testsuite/inherit/master/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/testsuite/log/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/testsuite/single/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/testsuite/single/tests/compiler/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/testsuite/single/tests/efuns/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/testsuite/single/tests/operators/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/testsuite/u/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/tmp/
nightmare4_fluffos_v1/fluffos-2.9-ds2.14/windows/
nightmare4_fluffos_v1/lib/cfg/
nightmare4_fluffos_v1/lib/cmds/admins/
nightmare4_fluffos_v1/lib/cmds/common/
nightmare4_fluffos_v1/lib/cmds/creators/include/
nightmare4_fluffos_v1/lib/cmds/creators/include/SCCS/
nightmare4_fluffos_v1/lib/cmds/hm/
nightmare4_fluffos_v1/lib/daemon/services/
nightmare4_fluffos_v1/lib/doc/
nightmare4_fluffos_v1/lib/doc/faq/
nightmare4_fluffos_v1/lib/doc/help/classes/
nightmare4_fluffos_v1/lib/doc/help/creators/
nightmare4_fluffos_v1/lib/doc/help/hm/
nightmare4_fluffos_v1/lib/doc/help/players/
nightmare4_fluffos_v1/lib/doc/help/races/
nightmare4_fluffos_v1/lib/doc/help/religion/
nightmare4_fluffos_v1/lib/doc/mudlib/
nightmare4_fluffos_v1/lib/doc/mudlib/cfg/
nightmare4_fluffos_v1/lib/domains/Ylsrim/
nightmare4_fluffos_v1/lib/domains/Ylsrim/adm/
nightmare4_fluffos_v1/lib/domains/Ylsrim/armour/
nightmare4_fluffos_v1/lib/domains/Ylsrim/fish/
nightmare4_fluffos_v1/lib/domains/Ylsrim/meal/
nightmare4_fluffos_v1/lib/domains/Ylsrim/npc/
nightmare4_fluffos_v1/lib/domains/Ylsrim/virtual/
nightmare4_fluffos_v1/lib/domains/Ylsrim/weapon/
nightmare4_fluffos_v1/lib/domains/Ylsrim/xtra/
nightmare4_fluffos_v1/lib/lib/comp/
nightmare4_fluffos_v1/lib/lib/lvs/
nightmare4_fluffos_v1/lib/lib/std/
nightmare4_fluffos_v1/lib/lib/user/
nightmare4_fluffos_v1/lib/news/
nightmare4_fluffos_v1/lib/obj/
nightmare4_fluffos_v1/lib/obj/include/
nightmare4_fluffos_v1/lib/save/
nightmare4_fluffos_v1/lib/save/kills/a/
nightmare4_fluffos_v1/lib/save/kills/b/
nightmare4_fluffos_v1/lib/save/kills/f/
nightmare4_fluffos_v1/lib/save/kills/m/
nightmare4_fluffos_v1/lib/save/kills/q/
nightmare4_fluffos_v1/lib/save/kills/r/
nightmare4_fluffos_v1/lib/secure/cfg/
nightmare4_fluffos_v1/lib/secure/cfg/classes/
nightmare4_fluffos_v1/lib/secure/cfg/races/SCCS/
nightmare4_fluffos_v1/lib/secure/cmds/creators/include/
nightmare4_fluffos_v1/lib/secure/cmds/players/
nightmare4_fluffos_v1/lib/secure/cmds/players/include/
nightmare4_fluffos_v1/lib/secure/daemon/include/
nightmare4_fluffos_v1/lib/secure/lib/
nightmare4_fluffos_v1/lib/secure/lib/include/
nightmare4_fluffos_v1/lib/secure/lib/net/
nightmare4_fluffos_v1/lib/secure/lib/std/
nightmare4_fluffos_v1/lib/secure/obj/
nightmare4_fluffos_v1/lib/secure/obj/include/
nightmare4_fluffos_v1/lib/secure/save/
nightmare4_fluffos_v1/lib/secure/save/boards/
nightmare4_fluffos_v1/lib/secure/save/votes/
nightmare4_fluffos_v1/lib/spells/
nightmare4_fluffos_v1/lib/verbs/admins/include/
nightmare4_fluffos_v1/lib/verbs/common/
nightmare4_fluffos_v1/lib/verbs/common/include/
nightmare4_fluffos_v1/lib/verbs/creators/
nightmare4_fluffos_v1/lib/verbs/creators/include/
nightmare4_fluffos_v1/lib/verbs/players/include/SCCS/
nightmare4_fluffos_v1/lib/verbs/rooms/
nightmare4_fluffos_v1/lib/verbs/rooms/include/
nightmare4_fluffos_v1/lib/www/
nightmare4_fluffos_v1/old/
nightmare4_fluffos_v1/old/tools/
nightmare4_fluffos_v1/win32/
		     The Nightmare IV LPC Library
		 History of the Nightmare LPC Library
		 created by Descartes of Borg 950419

Originally, Nightmare was an LPMud using the LPMud 2.4.5 driver with
the LPMud 2.4.5 Mudlib.  It rose out of a split of the admins of an
older MUD by the same name.  The split created the Nightmare LPMud
using LPMud 2.4.5 and Phoenix LPMud using the LPMud 2.4.5 driver and a
custom mudlib.

In the summer of 1992, the sole administrator of Nightmare,
Shadowwolf, had dwindling time to deal with the MUD and recruited
Descartes of Borg to supervise a rebirth of the MUD using the MudOS
0.8.11 driver.  At that time no publically available mudlib existed
for the MudOS driver.  You could, however, grab a copy of the
half-written mudlib run on TMI (aka TMI-1) which was also used for the
development of the MudOS driver at that time.  Nightmare therefore
decided use this mudlib (now commonly called the TMI-1 Mudlib or the
TMI 0.8.11 Mudlib) as a base of development.

Version 1.0 (January 1993)
Nightmare evolved this mudlib into a complete mudlib and released
Nightmare 1.1.

Version 1.* still retained the basic TMI 0.8.11 structure, with the most
notable differences being the creation of a working limb oriented combat
system, many extra inheritables, and some spiffy features.

Version 2.0 (Summer 1993)

Version 2.* marked the point at which the Nightmare Mudlib was no longer
"an enhanced TMI 0.8.11 mudlib".  The entire living object was new, as
was much of the simul_efun object, most commands, and the login object.
Over the course of 2.* development, socket handling (which had been
borrowed from the Basis Mudlib during 1.* development) actually took
on characteristics which look more like the old Nightmare tcp network.
A major trend during the course of 2.* devlopment was a dramatic increase
in mudlib effeciency.  Still remaining in the mudlib from TMI 0.8.11 was
the master object, the security system, some simul_efuns, the user shell,
and the basic object and container.

Version 3.0 (January 1994)

Version 3.* marks a near complete rewrite of the basic mudlib.  A new
system for races, a brand new security system for 3.0, then again for
version 3.3, languages, faster code, tighter integration with the driver,
a new user interface that gets rid of the old one that has hung around
mudlibs since the early days of LPMud, a complete rewrite of room.c, a
new mailing system, a udp network for communicating with CDlib muds, a
more modular header library including a more consistent use of headers.
Still stuck in tact from TMI 0.8.11 are a few simul_efuns and obscure
commands. 

Version 3.2 introduced an entirely new directory.  In addition it is
the first release in which the number of SimulEfuns is drastically less
than the preceeding release.  This is largely an effeciency release.
It is marked by a *huge* leap in the efficiency of the mudlib code, as
well as a much more intuitive mudlib structure.  In addition to reducing
redundant and useless SimulEfuns, we have also cut down on the number
of daemons in the mudlib.  No new daemons have root access.  Many old
ones have lost root access and now exist in the directory /daemon.  And
a lot of old daemons have been thrown out the window.

Version 3.3 is a tremendous departure from the old mudlib.  Nightmare
has dropped UID security in favour of a stack based security using
object priveledges.  This new security system owes A LOT to ideas
given to me through conversation with Ellery and Zellski.  In
addition, Beek and Rust put their 2 cents in, often which I took.  The
new security system is matched up with a new directory structure which
reflects how it works.  New features include player law and disease.
 
Version 4.0 (April 1995)

Nightmare IV:  The basic goal for version 4.0 begun after the release
of 3.0 was to create a brand new mudlib.  Earlier versions suffered
from the TMI-1 base which was used to develop the mudlib.  Namely it
was started as an extension of that mudlib without any vision or
design applied to it.  At the time of version 3.0, I realized this
lack of vision with the help of useful criticism from Cygnus.  Given
the very stagnant nature of MudOS at the time, I figured MudOS was
dead.  I therefore made it my goal to write a properly designed mudlib
retaining the functionality of Nightmare 3.0 from scratch, release it
as Nightmare IV, and quit MudOS development in favour of DGD.

Well, the rewrite has taken 14 months to complete, and the stated
goals have been completed as well as many advancements not originally
on the table.  Nightmare now uses an event driven, limb and skill
oriented combat system.  Player objects are no longer real clones, but
instead virtual objects.  Nightmare has a clear basic design which is
closely tied to the advantages of the MudOS driver.  This basic
design's highly object oriented nature makes it now easy for someone
using the lib to separate out functionality which is not desired as
well as build on top of that which exists.  The security system makes
it easy to maintain a secure mudlib without constantly having to
rethink everything you do for security holes.  

Version 4.2.4 (May 1996)
We are very meticulously debugging things.  That in combination with
the slowed pace of driver development has delayed a lot of our goals
for Nightmare V.  We have all of the features implemented, we just
need to get the bugs fixed.

Version V (planned for September 1996)
The features of Nightmare V exist in the current release.  Nightmare V
is the bug-free version of what currently exists/

Version VI (planned for January 1997)
This will have Nightmare working perhaps with the Pueblo client or
perhaps through a custom Java client.  It will include more
inheritable objects.

	Descartes of Borg
	borg@imaginary.com