How difficult could it be for a mmorpg to have scripting for magic?

Betonhaus

Irrefutable Rationality
kiwifarms.net
Joined
Mar 30, 2023
Could it be possible to make it so that players of a game could write scripts that's used as a form of magic?

So for example, a fireball spell could be:

"Ignis, we beseech you!" //import Ignis library
"Beget your fiery rage," //generate large unfocused fireball with a predetermined power level
"And inflict it on those before us!" //target area the caster is facing

The Ignis library could be a larger script associated with the player, such as by a Grimoire in their possession or an access permission (like a mark). The library would take the games core magic APIs and script it into a language that is easier for the player to use. The libraries could be provided by the developers or created by players who then share or sell it them to other players for use

The game could put in restrictions to prevent the script from using more resources then what the user is allowed, but otherwise it's up to the user to ensure that their script does not have bugs that prevents it from exhausting their mana (hp could be used to cover for depleted mana) or hitting the wrong targets.

Different types of scripting systems could be used. Dwarven magic could be used by having a weapon maker inscribe a symbolic script using a mouse or stylus that is then recognized using a type of OCR into a script. Like making a script that can convert part of the players mana into a fire envelope on the blade. Admittedly I don't really know how symbolic scripting would work, ideally we could use some of those concepts to make proper magic circles.

I think that would be something that would be very fun to play, especially as people get creative.
 
It's just dynamic magic spells with extra steps.
It would be a level of customizability not offered before, especially if actual programming is involved. I'd love it if the system is complex enough that someone could build a doom engine, providing that they have a high enough level character to have access to the memory and processing limit needed to do so.
 
"As long as truth is truth" // while True:
"Everyone, lend me your ears" // target everybody
"I say death!" // power word: death
 
Difficult? Probably not very. Good idea? Absolutely fucking not, it would probably end up with a fuck ton of exploits (and not the fun kind).
I think it really depends on how well you isolate the running code. If you can run it in a form of container or virtual machine that cannot be broken out of then it could lead to some really good creativity.
 
even if this sort of system was pulled off, the community would just go straight to guides for the best builds, and since they'd be so overpowered they'd get nerfed, leading to the next build getting a guide that everyone would follow, repeating the cycle until the devs realized they made a terrible mistake
 
Convoluted, easily optimized in that it would render the creative aspects moot.
 
even if this sort of system was pulled off, the community would just go straight to guides for the best builds, and since they'd be so overpowered they'd get nerfed, leading to the next build getting a guide that everyone would follow, repeating the cycle until the devs realized they made a terrible mistake
to know how it'll break you got to at least try. Who knows? maybe there will be different ways to play the game. maybe users could have license restrictions on their grimoires so you'd have the open source grimore players having a vendetta against the players that purchase closed source books. If you're constantly adding new api hooks and ways to increase the allowed grimore length and resources used (or give power bonuses for shorter and more efficient grimoires) then there could be a race to develop newer and better grimores.

A lot of it would depend on the nature of the world and the storylines offered. maybe some characters that cheat the system could be designated as boss fights with a reward if defeated.
 
It's a terrible idea. The God Eater games used a similar system for one of the major combat mechanics - literally scripting your bullets. All it does is encouraging absurd feedback loops so you press one button and the screen gets flooded with bullshit. Any balancing measures you can think of, the devs tried, it still is inherently very broken. The only measure that worked is the games are co-op and styled like Monster Hunter meaning self-imposed challenge is half the fun. In an MMORPG it'd take roughly three hours before someone broke it, explained how to break it, and then everyone else would be breaking it. There's a reason custom stuff/crafting is very limited in most MMOs.
 
You don't need scripting for that, just build a customizable spell system. Magicka and Noita have that, I think.
 
  • Like
Reactions: Dante Alighieri
The idea is probably more interesting than it would be fun, especially with the work balancing would take.

If this is an MMORPG that means there's leveling and customization involved, and when you look at even games like Elder Scrolls in the past that tried to have custom spell systems (even limited ones) it was easy to completely break the game. But it didn't matter that much, because those were single player games.

Plus being an MMO nobody's going to appreciate it anyways because they're all just going to go online and share spell combo metas anyways. In fact if you want to be competitive going online and downloading spell macros would be almost necessary. As a developer you're putting in a lot of work to make something that's going to (at best) end up functioning just like a standard MMO anyways.

If this was put in a single player game then maybe, because then you aren't compelled to always play most efficiently. Autists might like that the same way they like to build full working calculators out of redstone in minecraft, but in an MMO it would be a mess.
 
The idea is probably more interesting than it would be fun, especially with the work balancing would take
I think the hardest part will be to ensure that mana input = mana output. The actual form of mana would need to be some sort of object class that verifies that whatever operations are done doesn't break the conversion. Something to ensure that total magic points input perfectly balanced with the total attack points output.

So for example, a basic fire attack spell would cost 100 mp to cast and do 100mp of attack - ignoring any buffs or debuffs that multiplies or divides the attack power of fire magic.
If you turn that fire spell onto an aoe attack and say there are five targets on the field, there are pretty much three options:
mp is multiplied 5x to 500 so that each target gets 100 attack damage
mp stays the same but attack power is divided to 20 for each target
Aoe attack affects whole area automatically, but is divided by spots. So an aoe attack that covers 3x3 grid for 100mp would have each spot on the grid revive a 12.5 point attack, no matter if that spot is occupied or not.

The written script could be performing calculations oh how to distribute the attack points and what to call on to maximize the attack points. The script could scan for ambient magic sources to increase the power of attack, it could detect the enemy types to focus on enemies with a weakness to fire, it could do a delayed attack to wait for wooden shields to burn before striking again, and so far. A users wisdom stat could be used to determine how many words the script contains, or how long that script can run before it gets terminated automatically
 
I think it really depends on how well you isolate the running code. If you can run it in a form of container or virtual machine that cannot be broken out of then it could lead to some really good creativity.
lpmud figured it out in 1989, that's not really the problem.

The problem is finding out how to turn it into an engaging gameplay component that rewards creativity.
 
  • Like
Reactions: Gangstalker #32194
Difficult? Probably not very. Good idea? Absolutely fucking not, it would probably end up with a fuck ton of exploits (and not the fun kind).
What is magic if not a fuck ton of exploits to begin with?

I think this is a pretty cool idea. Since social RP depends a lot on IRL CHA it would be cool to make magic dependent on IRL INT.
 
Whatever, Activision. Go ahead and continue making what the board has determined to be a "safe bet".
You think that I think modern games are good?

Watch those scripts get hyper optimised by the few people who were even willing to use the scripting system in the first place since writing scripts isn't fun (unless you're deeply autistic).
 
  • Autistic
Reactions: Betonhaus
Back