Reiwa no Dara-san - Vol. 3 Ch. 20

BCS

Dex-chan lover
Joined
Jan 31, 2018
Messages
6,569
I wonder if reincarnation of the villager ever shows up...
 
Dex-chan lover
Joined
Jul 3, 2018
Messages
269
Technically... all magic in a game already run on some kind of programming language.
Technically the truth :thonk:

I know you're just being funny but to actually describe what I'd like to see, I like magic systems were each "word" in the spell is a functional parameter and when you cast the spell it plays out exactly as the words describe.

So like, <call forth><fire><amount><missile function><AoE> becomes your generic exploding fireball, but if you swap <AoE> for <split x quanitity> you get x smaller missiles, or you swap <missile function> for <healing function> and now it's a healing phoenix-like spell. And each word/modifier has its own costs and cast time associated with it, and if you "program" the spell wrong or use incompatible parameters the spell fails in interestingly specific ways.


Now imagine having to type, say out loud, or draw these symbols/words with your mouse and you have a potentially deep and complex combat system, where players can optimize for speed & simplicity vs power and utility.
 
Fed-Kun's army
Joined
Sep 20, 2020
Messages
44
Technically the truth :thonk:

I know you're just being funny but to actually describe what I'd like to see, I like magic systems were each "word" in the spell is a functional parameter and when you cast the spell it plays out exactly as the words describe.

So like, <call forth><fire><amount><missile function><AoE> becomes your generic exploding fireball, but if you swap <AoE> for <split x quanitity> you get x smaller missiles, or you swap <missile function> for <healing function> and now it's a healing phoenix-like spell. And each word/modifier has its own costs and cast time associated with it, and if you "program" the spell wrong or use incompatible parameters the spell fails in interestingly specific ways.


Now imagine having to type, say out loud, or draw these symbols/words with your mouse and you have a potentially deep and complex combat system, where players can optimize for speed & simplicity vs power and utility.
I swear there was a Super Famicom game that did just that, but blasted if I can remember the name.

Post Script: Found it. Treasure of the Rudras.
 
Dex-chan lover
Joined
Jan 22, 2018
Messages
417
I cannot stress enough how much I've always loved the concept of magic spells functioning like programming code. I would kill for a AAA game's magic system to function like that.
two games come to my mind: magicmaker and tear of the kingdom
 
Double-page supporter
Joined
Sep 13, 2023
Messages
84
Are you guys going to disregard Dara-san wearing the virgin-killer sweater ????
I don't want to acknowledge it. Im down bad enough as it is. My dick can only get so hard.
Oh and Goth Dara is the best outfit so far. Generic ass lewd sweater can't even compete.
Did everyone skip over the fact that she could spit a stone INTO a tree trunk when she was human?
Unlike her whore of a sister, Dara is an actually competent priestess. Actually, bitch sister was pretty good too. Absolutely shit at everything else including being a decent human being, but she knows her curses.
So like, <call forth><fire><amount><missile function><AoE> becomes your generic exploding fireball, but if you swap <AoE> for <split x quanitity> you get x smaller missiles, or you swap <missile function> for <healing function> and now it's a healing phoenix-like spell. And each word/modifier has its own costs and cast time associated with it, and if you "program" the spell wrong or use incompatible parameters the spell fails in interestingly specific ways.
You could make elements and modifiers into separate values and data types.

Code:
function Multi_Fireball (float current_mana_amount, float mana_allotment, float fireball_mana_cost, int multicastnum){
     while(mana_allotment > 0){
           if (current_mana_amount <= 0 OR mana_allotment <= 0) CANCEL();
                  while(multicastnum > 0){
                          cast(fireball(fireball_mana_cost));
                          multicastnum = multicastnum - 1;
                  }
           current_mana_amount = current_mana_amount - fireball_mana_cost;
           mana_allotment = mana_allotment - fireball_mana_cost;
     }
}
//Wow, I didn't know mangadex comments allowed for code. Neat

So, if I wrote that write, this should cast a several fireballs at once/quick succession, the amount of fireballs is defined by multicastnum. If multcastnum = 3, it'll fire 3 fireballs. And you can technically supercharge it by putting more mana into fireball_mana_cost. current_mana_amount is the amount of mana you have at the time of casting. mana_allotment is how much mana you are planning to use for the multicast. fireball_mana_cost is how much mana you want to use per individual fireball.

It also tries to keep track of your current amount of mana and how much mana you gave/allotted for the spell function. If either reaches 0, the spell function should stop. This is there to stop the spell from potentially draining your entire mana pool if it goes wrong.

Yes, I know having 2 separate checks for mana maybe excessive, but I'm way too paranoid about programming to not put in a small extra check. These things always go wrong, and you almost always don't know why they break.

A compiler crash is okay. You suddenly dying after your spell went into an unending recursive loop is unacceptable. I'll be damned if I let those fucking errors and bugs kill me, they're frustrating enough as it is.
 
Last edited:

Users who are viewing this thread

Top