What is casting a spell in debug mode?
Can you put a breakpoint in your spell? Picturing a devil having a smoke while the wizard puzzles over all the runes suspended in the air.
Debugging spells is just as much a dark art as spell crafting itself. When I was a young apprentice we didn’t have as sophisticated tools as you do now; you had to make sure you noted down your intermediate runes correctly and use those symbols to divine some meaning from the ashes of your failed spell. One time I mixed up my notes with the symbols of a different spell and when I sprinkled the ashes on the stack I was stuck speaking in tounges for a week.
These days of course you can summon a lesser demon to freeze your spell and ask it about the state, but the demons can be tricky and it’s easy for novices to make a mistake and allow the demon to run amok - makes a real mess of the lab.
Debugging spells isn’t like the fancy debuggers in your modern IDE. You gotta compile the spell with debugging symbols and run it through the spell equivalent of gdb direct in the command line.
But most wizards just go with the ol’ “add print statements everywhere” method of debugging.
“Glorfinx’s Globular Glassblower” still shouts “HERE!” at max volume when it walks past a wet dog because he never removed the printf rune after he fixed a bug relating to dripping fur.
Oh but the fireworks of Ericas “broader detect magic” became so popular that she actually added back all the spark colors for all the moral edge cases!
We now have novice wizards playing around with exactly how angry they need to be and how gaudy their robes need to be to get the different signals triggered…
“I copied this spell from an overflowing stack of tomes. I think it was originally meant to cleanse all living things from religious stonework, but I changed some of the constants now it works as disinfectant.”
“No, we don’t ever touch the old Seance. The wizards of old wrote it a long time ago and the last time we changed a word it stopped summoning demons in jars and started summoning them in rectal cavities. Just leave it alone.”
“That spell is setup to cast itself at exactly midnight, every night, in every monestary in our order. Except the black crater, of course.”
“Why not at the black crater?”
“We’re not sure. There wasn’t anyone left to ask.”
midnight
Oh no. Do you mean Midnight for each monestary locally, or do you mean when it’s midnight at our prime monestary that it is cast? Three are in the time zone an hour ahead, and seven are an hour behind! They need to happen simultaneously for it to work!
I’m really liking the idea of the day-to-da experience for a working mage in the magical standards agency responsible for keeping all these things in order. An even more arcane IEEE, if that’s possible.
Spells extracting energy from another magical system MUST send a request for draw before beginning extraction. High-capacitance spells SHOULD respond to all requests with positive authorization if sufficient capacity exists, but MUST reply in some way.
That’s why I practice rubber Flumph debugging before I lint my spells.
Charles Stross’ Laundry series is basically this concept set in the present day: magic is a branch of mathematics, which means it can be computed and programmed.
It is perhaps worth noting at this point the series genre is cosmic horror.
The gender is actually Lovecraftian, spy thriller, science fiction, and workplace humour source.
It’s seriously the best thing I have read in a decade.
Edit: genre I guess 😅 (have been learning French lately so sometimes it messes it all up!).
God help the poor mathematical geniuses who accidentally discover that math. If they’re lucky, they end up working for the Laundry.
If they’re really lucky, they’ll end up working for the Laundry only once. Residual Human Resources is a bad way to go out.