October 2003
- Scripting Languages and Magic gbtmud
- Scripting Languages and Magic Edward Glowacki
On Fri, 2003-10-03 at 17:12, gbtmud wrote:
> I am attempting to write a new MUD codebase, and I was wondering
> what people have done as far as magic systems. 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? If so, what
> pitfalls are there to avoid, and what functionality should I
> add/subtract? Any input would be helpful on this.
I've considered this a bit as well, and I really like the idea. But
I'm not sure how easy it would be to pull off. One of the things
that would probably be the most difficult with this system is
balance. It's hard enough to get decent balance in a game when you
know exactly what every spell does, how much damage at what
character level, etc., so trying to balance when the player has
control of the variables would be a challenge. Essentially what you
would have to do is balance the scripting engine itself and all the
components that go into it.
Another issue with scripting is that it would give your spellcasters
an advantage over any other non-spellcasters by giving them access
to essentially server-side actions. Consider something like this
for a spell:
$effects = {blind, curse, weaken, poison, faerie fire}
while(1) {
$action = random($effects}
cast $action $target
}
If $target is a melee-type character who has to quaff potions to
become un-blind, etc., $target spends all their time trying to
figure out how to respond (what potion to quaff, etc) and then
actually finding the items in their inventory or whatever, which the
caster is able to do automatically, and on the *server*. No lag, no
delay, no time lost to mental thought or clicking or typing. It
becomes a man vs. machine battle.
To balance this out, you would have to make the scripts available to
all players and all actions, which opens things up even further.
That's just at the basic scripting level, i.e. components of normal
skills/spells put together in new ways. If you wanted more
flexibility to have magic do almost anything, say to have users be
able to create a spell that causes all metal on an opponent to heat
up and do burning damage based on the amount of metal worn, or a
spell that makes an opponent unable to talk, that would be
considerably more difficult to implement and balance, as the player
would then have access to a lot more data and a lot more power. In
this scenario, it wouldn't take long for the One Script to emerge to
rule them all, something that would essentially render an opponent
naked and defenseless against your next attack.
Hehehe, just had a random idea. You could cause every statement to
have some delay with it. "if" adds 3 units to casting time, "a = b"
is 1 unit, "while" is 2 units, actually casting something may be 2
units, etc. So most of the spell delay would be the logic, not the
spell itself. =)
At any rate, scripting in any serious form would be an extremely
powerful tool for the player, and one that must be well thought-out
and tested beforehand.
-ED
--
Edward Glowacki glowack2@msu.edu
A PBS mind in an MTV world.
-- Author unknown - Scripting Languages and Magic Freeman, Jeff
- Scripting Languages and Magic Patrick Dughi
- Scripting Languages and Magic Sheela Caur'Lir
- Scripting Languages and Magic Patrick Dughi
- Scripting Languages and Magic Smith, David {Lynchburg}
- Scripting Languages and Magic Jonathon Duerig
- Scripting Languages and Magic J C Lawrence
- Scripting Languages and Magic Richard A. Bartle
- Scripting Languages and Magic eric
- Scripting Languages and Magic Matthew Estes
- Scripting Languages and Magic Ben Chambers
- Scripting Languages and Magic J C Lawrence
- Scripting Languages and Magic Nathan F. Yospe
- Scripting Languages and Magic Smith, David {Lynchburg}
- Scripting Languages and Magic J C Lawrence
- Scripting Languages and Magic Edward Glowacki
- Scripting Languages and Magic Freeman, Jeff
- Scripting Languages and Magic Crosbie Fitch
- Scripting Languages and Magic Sheela Caur'Lir
- Scripting Languages and Magic Crosbie Fitch
- Scripting Languages and Magic Sheela Caur'Lir
- Scripting Languages and Magic Nathan F. Yospe
- Scripting Languages and Magic Marian Griffith
- Scripting Languages and Magic McDonald, Stephen
- Scripting Languages and Magic Sheela Caur'Lir
- Scripting Languages and Magic Mats Lidstrom
- Scripting Languages and Magic Sheela Caur'Lir
- Scripting Languages and Magic Eric Merritt
- Scripting Languages and Magic gbtmud
- Scripting Languages and Magic gbtmud
- Scripting Languages and Magic Jo Dillon
- Scripting Languages and Magic Kwon J. Ekstrom
- Scripting Languages and Magic Steven Metke
- Scripting Languages and Magic Alex Chacha
- Scripting Languages and Magic Jason Murdick
- Scripting Languages and Magic J C Lawrence
- Scripting Languages and Magic Nicolai Hansen
- Scripting Languages and Magic Sheela Caur'Lir
- Scripting Languages and Magic Adam Burr
- Scripting Languages and Magic Edward Glowacki
- Budget (was size) Michael Sellers
- Graphics engine choice (size) Derek Licciardi
- Graphics engine choice (size) Paolo Piselli
- Graphics engine choice (size) Sheela Caur'Lir
- R: size Ghilardi Filippo
- [TECH] TCP fundamental throughput limits? ceo
- [TECH] TCP fundamental throughput limits? Jeremy Noetzelman
- [TECH] TCP fundamental throughput limits? Sheela Caur'Lir
- [TECH] TCP fundamental throughput limits? Miroslav Silovic
- [TECH] TCP fundamental throughput limits? Jeremy Noetzelman
- [list] Scripting Languages and Magic Scion Altera
- [list] Scripting Languages and Magic Talanithus HTML
- SSH Encryption on data stream Craig H Fry
- SSH Encryption on data stream squid
- SSH Encryption on data stream Mike Shaver
- SSH Encryption on data stream Brian Hook
- SSH Encryption on data stream Amanda Walker
- SSH Encryption on data stream Christopher Allen
- SSH Encryption on data stream Christopher Allen
- SSH Encryption on data stream Mike Shaver
- SSH Encryption on data stream ceo
- SSH Encryption on data stream F. Randall Farmer
- SSH Encryption on data stream J C Lawrence
- SSH Encryption on data stream Amanda Walker
- SSH Encryption on data stream Felix A. Croes
- MUD-Dev Digest, Vol 4, Issue 30 Lee Sheldon
- MUD-Dev Digest, Vol 4, Issue 30 Matt Mihaly
- MUD-Dev Digest, Vol 4, Issue 30 Dave Rickey
- MUD-Dev Digest, Vol 4, Issue 30 Lee Sheldon
- MUD-Dev Digest, Vol 4, Issue 30 Matt Mihaly
- Web vs. Java client Mark 'Kamikaze' Hughes
- Web vs. Java client Torgny Bjers
- Web vs. Java client ceo
- Web vs. Java client Mark 'Kamikaze' Hughes
- Web vs. Java client Elia Morling
- Web vs. Java client Christopher Allen
- Web vs. Java client Baar - Lord of the Seven Suns
- Web vs. Java client Christopher Allen
- Web vs. Java client Kwon J. Ekstrom
- Web vs. Java client Christopher Kohnert
- Web vs. Java client Christopher Allen
- Web vs. Java client ceo@grexengine.com
- Web vs. Java client Baar - Lord of the Seven Suns
- Web vs. Java client Mark 'Kamikaze' Hughes
- Web vs. Java client Matt Mihaly
- Web vs. Java client Christopher Allen
- Web vs. Java client Jeff Fuller
- Web vs. Java client(?) Joshua Judson Rosen
- Web vs. Java client(?) Eric Merritt
- Web vs. Java client Eric Merritt
- Web vs. Java client Mike Shaver
- Web vs. Java client Jeff Fuller
- Web vs. Java client Mike Shaver
- Web vs. Java client Mark 'Kamikaze' Hughes
- Web vs. Java client Matt Mihaly
- Web vs. Java client Mark 'Kamikaze' Hughes
- Web vs. Java client Ben Greear
- Web vs. Java client Jeff Fuller
- Web vs. Java client Ben Greear
- Web vs. Java client Kevin Reid
- Web vs. Java client Joshua Judson Rosen
- Web vs. Java client Jeff Fuller
- Web vs. Java client Adam Burr
- Web vs. Java client Daniel.Harman@barclayscapital.com
- Web vs. Java client Kwon J. Ekstrom
- Web vs. Java client Matt Mihaly
- Web vs. Java client Matt Mihaly
- MudDev FAQ - part 2 Marian Griffith
- MMORPG: where to start for making and running a game Richard Brown
- MMORPG: where to start for making and running a game Eric Lee {GAMES}
- MMORPG: where to start for making and running a game Michael Sellers
- MMORPG: where to start for making and running a gam e Peter Tyson
- MMORPG: where to start for making and running a game Edward Glowacki
- MMORPG: where to start for making and running a game Oliver Smith
- MMORPG: where to start for making and running a game Dave Rickey
- MMORPG: where to start for making and running a gam e Daniel.Harman@barclayscapital.com
- MMORPG: where to start for making and running a gam e Michael Sellers
- MMORPG: where to start for making and running a gam e Jeff Thompson
- MMORPG: where to start for making and running a gam e Sheela Caur'Lir
- MMORPG: where to start for making and running a gam e Derek Licciardi
- MMORPG: where to start for making and running a game Lee Sheldon
- MMORPG: where to start for making and running a game ceo
- MMORPG: where to start for making and running a game Lee Sheldon
- MMORPG: where to start for making and running a game Patricia Pizer
- MMORPG: where to start for making and running a game Lee Sheldon
- MMORPG: where to start for making and running a game Patricia Pizer
- MMORPG: where to start for making and running a game Oliver Smith
- MMORPG: where to start for making and running a game Oliver Smith
- MMORPG: where to start for making and running a game Lee Sheldon
- MMORPG: where to start for making and running a gam e Koster, Raph
- MMORPG: where to start for making and running a gam e Lee Sheldon
- MMORPG: where to start for making and running a game Sheela Caur'Lir
- MMORPG: where to start for making and running a game Damion Schubert
- Open Source Rules Engine Craig H Fry
- Open Source Rules Engine Emil Eifrem
- [NEWS] The Latest in TV Reality Michael Tresca
- [NEWS] The Latest in TV Reality Dave Rickey