《Programmable Magic》Chapter 12: Fireball 2.0
Advertisement
After Mr. Ito’s class I rush back to my dorm, luckily Sara isn’t home yet so I have some peace and quiet to work on my magic.
My idea is to program a smaller, faster fireball, hopefully the smaller size will result in a reduced mana-cost.
I guess I’ll just modify the size and speed of the fireball-code I got from Lance…
I type the new code into the unknown yellow cartridge and hit save…
ERROR Syntax error
Dammit… ah I see, I forgot to add a semicolon at the end. This reminds me of my old mobile-game coding days…
After fixing the syntax error, I hit save again and get this pop up:
Statistics
Mana Price: 41 Mana/Use
Explosion Efficiency: 36%
Save
Edit
What’s this efficiency stat? Well let’s just ‘trial and error’ a bunch I guess.
I changed the speed and size back to the original code I got from Lance, the Explosion Efficiency is now 100% and the Mana Price went back up to 100 Mana/Use… If my guess is correct, this ‘Explosion Efficiency’ measures the amount of potential energy from the fireball that’s actually converted into the heat and kinetic energy of the explosion it creates when it comes into contact with something.
Or in normal people speech: a higher efficiency means a bigger boom.
It appears that a smaller fireball can’t convert a lot of potential energy into the explosion which would make it a lot less powerful… Looks like the mana count is based on a combination of speed, size and power.
Wouldn’t it be possible to alter the size of the fireball when it hits something in order to create a bigger explosion?
Alright, let’s program a smaller faster fireball that’ll expand when it hits a target, this should increase the ‘Explosion Efficiency’ since the fireball is big when it explodes. But It should also consume less mana since it still has a small volume when I fire it.
Advertisement
I tried adding another modifier at the end of my code to expand the fireball, but I got an error, this time a ‘Modifier overflow’ error. Looks like I can only add two modifiers to my magic right now.
This means that I can’t apply the burn effect from the original fireball though, since I need an open modifier spot, but maybe by removing the burn effect I can lower the total mana cost even more…
After a lot of testing and syntax errors I finally got some statistics I liked:
Statistics
Mana Price: 50 Mana/Use
Explosion Efficiency: 100%
Save
Edit
It should have a fair bit more power than a regular fireball and it’s also a lot faster, however, it doesn’t have a burn effect like a regular fireball would have. That did make it a lot cheaper though.
I hit the Save option and I get another window telling me to name my new code.
“What about… Explosion!”
I enter the name ‘Explosion’ and hit enter.
[Yellow] Explosion:
import Magic_Class.Projectile;
import User;
public class Fireball extends ManaActivity{
@Override
protected void onActivation() {
boolean active = true;
while(active) {
if (User.Brain.Thought_detection == "Shoot") {
Projectile fireball = new Projectile;
// fireball initiation
fireball.shape = "SPHERE";
fireball.volume = 0.0000001; // in m³
fireball.velocity = 180; // in m/s = Kinetic energy
fireball.acceleration = 0; // in m/s²
fireball.power = 900; // in KiloJoule = Potential energy
fireball.element = "FIRE";
fireball.starting_point = User.limbs.hand.palm;
fireball.trajectory = "Y = V0y*t - 1/2*g*t²";
// shoot the actual fireball
fireball.launch();
boolean fired = true;
long start = System.currentTimeMillis();
long end = start + 5*1000;
while(fired && System.currentTimeMillis()
if(CollisionDetected(fireball)){
fired = false;
ExpandProjectile(fireball);
}
}
fireball.detonate; //unleashes explosive force of the fireball
Advertisement
}
if (User.Brain.Thought_detection == "Deactivate") {
active = false;
}
}
};
// Modifier 1: Collision detection
public boolean CollisionDetected(Projectile fireball){
if(fireball.velocity = 0){ //fireball stops when it hits anything
return true;
}
else{
return false;
}
};
// Modifier 2: Expansion
public void ExpandProjectile(projectile fireball){
fireball.volume = 0.09; // in m³
};
};
The cartridge starts to glow and sizzle but stops after a while, I insert the cartridge and get the prompt:
Yellow Revealed Cartridge: Explosion
Store
Eject
Analyze
Nice! This could work! I can actually become a powerful Machia like this, fuck gift-cartridges, fuck mana-count, I’ll just do this my way!
Let’s start with winning the dual tomorrow, I’m curious about which lackey Kaori will send my way though. I hope someone from wood [I] or [II].
I can only hope to one-shot my opponent with explosion, they shouldn’t see it coming since the projectile is only visible on impact. Now that I think about it, I really created something superior to a regular fireball. Not only is it faster, it’s also near undetectable and more powerful.
Or well… it should be at least… I’m confident in my coding abilities, but I couldn’t actually test the magic itself out. It also looks like I can’t reprogram an already revealed cartridge, this is totally a nightmare for any debugger…
Also, I don’t think I’ll get a lot of time to practice my explosion magic before the match...
*SMACK*
I hear the front door swing open, presumably Sara returned home.
*KNOCK* *KNOCK*
“I know you’re in there pervert, let’s eat together, I bought too much sushi.”
What a shock, is she finally opening up to me? L-Lets not make any bold assumptions, it’s Sara we’re talking about after all…
“Sure, give me like 5 minutes!”
Advertisement
- In Serial88 Chapters
Beast Mage
*Completed story arc with more to come* A young man is transported to a strange land of magical beast companions. Kellen Lars may be the most unremarkable person on Earth. In the mana-enchanted land of Oras, he could become a legend. After his little sister vanishes before his eyes, Kellen awakens in another realm inhabited by mythical creatures and people who shape the very forces of nature. These are the Beastcallers, wielders of elemental magics who ascend alongside their beast companions. In search of his sister, Kellen explores a savage new world full of magical storms, animal demi-gods and warring tribes. Just surviving isn't an option. If he ever wants to see home again, Kellen must wield his budding powers and train his newly-bonded Mana Beast. Even if he succeeds, nothing will ever be the same again. A young man from Earth. A Mana Beast. Together, they'll progress into legend. Digimon meets Avatar: The Last Airbender in this new progression fantasy adventure! Author's Note: This is essentially a rough draft version. Constructive feedback will be taken into account during revisions. Thanks for reading and providing your input! [participant in the Royal Road Writathon challenge] Chapters update at a minimum of once per week on Thursdays. You can get early access to chapters and lots of other insider perks via my Patreon. Come one, come all to Discord!
8 115 - In Serial40 Chapters
Elder Scrolls: Naruto
What happens when the greatest Naruto fan is thrust into that very same world? Will he hide in the shadows and watch his favorite series play out right before his eyes? Or Will he completely change the landscape of the world and rewrite history? Some say knowledge is power, and they were right. ----------------------------------------------------------Cover: SueidysomEditor: Scarlet Goddess
8 470 - In Serial6 Chapters
I was Transmigrated to a Fantasy World with a System... Can I go home now? - Defiant Healer Who Fights Primal Monsters
This is not the story you're looking for. (Updates April 1)
8 218 - In Serial11 Chapters
Meridian Memoirs
Hiatus
8 145 - In Serial28 Chapters
Ragna
This is a story of a space explorer reincarnated as a 4 year old kid in a world where magic exists as Ragna Windsor.
8 233 - In Serial8 Chapters
The Security Man. (Mike x Foxy)
8 88

