Programmable Video Games
Neverwinter Nights takes programmable to a new
level, but it is still ham-strung by its implementation.
I have always been an avid player of programmable
video games. Back in the Commodore 64 days it was this tank game where you made
a program to defeat your opponents tank. Now I have been hooked on Neverwinter
Nights as a platform for creating worlds for other people to play in. So what
does NWN give you? A set of base rules (3rd edition D&D), a server that
enforces those rules, a client that can project an avatar into the environment,
a scripting language to change the rules and make things happen in the
environment, and a level/item/creature toolset for making more "things" in the
environment. It even lets you add on "hackpacks" to add new models to the game.
Taking each one of those separately we
have:
1. Set of base rules -- they have
been proved playable in PnP (pencil-and-paper) for a few
years.
2. Server -- this is the scripting
language runtime. It has its faults we will discuss
below.
3. Scripting language -- new C-like
language, bad idea.
4. Client --
Excellent!
5. Toolset -- Excellent! Easiest
level editor ever.
Now, given this list
you can see the weakness in this system. For some reason the software
developers of the game felt the need to create a new language and a new language
runtime. This is a tragic mistake in this age of Java and .NET. Either one
would have been a fine choice. Instead, they chose to implement their own
language that uses textual includes, doesn't have arrays, can crash the server,
no debugger, does not have namespaces, is single threaded, statically bound, and
to add insult to injury, interpreted. Basically what they have given their
users is exactly at the level of acceptability but they put tons of work in to
doing it when they could have used another system off the shelf. Oh well, what
is there to do? Every few days when I am working on my own NWN world
(menzoberranzan.org:5121) I think to myself that "damn, I should write a server
that uses their client". Then people could make their own Everquest like
systems with hundreds of users instead of working with this marginal server that
they provide. You see, they aren't really in the server business, but because
they are so close, people try and use it for that anyway.
Posted: Wed - April 9, 2003 at 07:09 PM
|