Designing an Open-World RPG Magic Spell Crafting/Make Your Own Magic System

I have spent a good 12,000 lines of code basically making the visual and property effects of my magic system while retaining the most amount of optimization I can. It turned out well and I can make pre-made spells, but it isn’t as versatile as I want it to be, and it also requires players to know code in order to make a spell, but that isn’t what I want.

I want to be able for players to make spells, and pass it down to others through spellbooks or some other form, which the spellbooks I have covered actually. I want my spellcrafting system to be advanced and be able to range from Total Annihilation Spell from STVFOE and Scarlet Witch’s Chaos magic all the way to Harry Potter’s verbal and Lord of the Rings magic. Basically everything under the sun, up to player creativity. To achieve this, I often looked at people’s r/worldbuilding posts discussing and regarding how creating magic and magic spells work. A lot of them are simply impossible to present in a game or extremely design intensive, such as using very advanced math and code to construct spells. The main principle of spells are to make a task easier to do.

Guiding mechanics of the system are:
The more time, effort, and resources that are put into a spell, the more effective it will be and the more advanced tasks it can be. Intelligently designing the spell will make it even more efficient.

How would I make a magic system this versatile? Is it even feasible? I’m more than willing to put the extreme effort into it.

I also don’t care about player experience. My magic system is supposed to be hard, and if they cannot handle that, they can use premade spells. This is mainly for me, as it is a passion project.

1 Like

Bumping, hopefully it gets seen.

1 Like

If your system as is currently uses code to make a spell, possibly you could create some sort of drag-and-drop system (sort of like code.org) to represent particular features of the spells. Depending on how complex or detailed the specific player wants it to be, you can make certain drag-and-drop bubbles (or runes or whatever you’d drag) represent more or less of your lines of code.

1 Like

have not made one myself, but from what I learned from school. loose couple(i forgot name for this, it means independence) would be the best in this case. you can have your system include different parts of a spell.
for example: a simple punch move (this is a personal idea) would lay out like this: set boolean to true-(avoid spamming)> swoosh sound-> animation play-> some effect alongside the animation → if hit → hit sound → enemy hit animation play-> some effect alongside the animation → do damage-> wait player animation to end and set boolean to true. it is just a simple process. So, with that process player can alternate each step with a different one. Players can add more effect alongside with damage whenever they want but saying this is easy. the hard part is how to implement it

1 Like