[MUD-Dev] Scripting Languages and Magic

Smith Smith
Mon Oct 6 14:03:35 New Zealand Daylight Time 2003

From: gbtmud on Friday, October 03, 2003

> Specifically, I was thinking of letting the players define spells
> in a custom scripting language so that new spells could be created
> on the fly. My question is, has anyone already done this?

Whenever my thinking has circled this particular drain, I always
slide down the slippery slope from "scriptable system" to "system of
scripts". Eventually, I came to something like the conclusion that
started the LPC family of engines: Any scripting support sufficient
to provide real flexibility to a system is likely to be complete
enough to provide the ability to construct whole complex systems.

This concept came through in a big way with Bioware's implementation
of scripting in Neverwinter Nights, and it looks to continue. The
flexibility possible with that engine is remarkable and attributable
mainly to the scripting support.

Admittedly, the flexibility provided in NWN is more restrictive than
the flexibility provided by the LPC drivers I know of, but the
concept is coming through at any rate.

> If so, what pitfalls are there to avoid, and what functionality
> should I add/subtract?

The low hanging answer is that the scripting language exposes
functionality of the system, and that has security implications, but
from other posts in this thread, I'd have to agree that most of
those security concerns come from the "letting the players define
spells in a custom scripting language" portion, more so than from
the use of the scripting language. All I could add there would be to
point out that you're really talking about player defined content,
and that the normal caveats would apply.

But the questions also prompt other places to think, like: What
functionality should be in a scripting system for this type of game?
That one's driven me recently into a highlighting-fest within some
of WoTC's pen-and-paper manuals, but the outcome that's shaping up
looks very much like an answer to the question: What are the
primitive objects (data and operations) within the game system? The
object decomposition may leave me with a less flexible design than
an LPC purist would appreciate, and I admit that it creates some
ties to the game system that it's based on (WoTC's 3.5 edition rule
set in my case), but my application is able to ignore this loss of
flexibility as a scope question (see, delusions are useful

In the nitty-gritty process of defining the object structure that
the 3.5 edition rule set implies, I've had some fun looking at the
built-in functions provided in NWN's scripting language. It's been
good background reading at the very least.
MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list