Magic is Programming

B2 Chapter 24: Integrated Development Environment



B2 Chapter 24: Integrated Development Environment

B2 Chapter 24: Integrated Development Environment

Amber woke early despite how late she'd stayed up the night before, eager to learn the different way of designing spells that Carlos was so excited about. She quickly dressed for the day, woke up Carlos with a stern shake, and left their tent to enjoy the dawning light as the forest woke up all around them with the rising of the sun. The adventurers were quickly packing up their own gear, though they couldn't match the quickness the mayor's tent's self-packing enchantment would have once Carlos came out of it.

It's time to move on to a zone with higher-level aether again, but we're still limited by Ressara, who is… Level 10 already? Huh. Amber double checked, and Ressara had indeed gained 2 levels in a single day. Just how much time did she spend actively pulling in aether yesterday? She doesn't have a soul structure that makes it reflexive like we do. She thought back for a moment. Wait, I think I sensed her absorbing while I went to sleep last night, and that was well past midnight!

Amber quickly walked over to confront Ressara, who was wearily staggering through the process of packing up. "Ressara, I know you want to help, but you don't have to push yourself this hard."

Ressara cringed. "I'm so sorry! I know I'm holding you back. If- If you want to send me back to Dramos and continue without me, I'll understand."

Amber blinked in confusion. "Er. Did you even hear what I said? You don't have to push yourself so hard."

"Of course I do! You would be past Level 20 by now if you weren't coddling me!" Ressara hung her head.

Amber paused, then her eyes widened. "Ooooh, right. You don't know… Okay, the details are a secret of nobility, but I assure you, we would not be Level 20 by now without you. We may absorb aether a lot faster than you do, but we also need several times as much of it for each level. You're actually gaining levels faster than we are. Before too much longer, we will be holding you back. It turns out that the real advantage of noble soul rank is greater power per level."

Ressara stared dumbly at Amber, swaying on her feet, then yawned. "Oh. Um." She yawned again, then looked back at the tent stake she was holding and stared at it blankly.

Amber yawned in sympathy, then shook herself. "You should go back to packing up, and then sleep. I'm serious; if I have to make that an official command to get you to sleep until you're properly rested, I will. Got it?"

She waited until Ressara weakly nodded, then turned away to look for who was the most readily available to help the sleep-deprived scholar. Oh wait, that's me isn't it? This could be some good practice in using spells, too. Hmm, can my parallel minds cast spells without using my body to speak yet? Amber turned back and concentrated 2 minds on trying to mentally incant a pair of Levitate spells to lift the stakes on the far corners of the tent, while her other mind handled physically removing a small pole with her hands. Damn. I can feel the spell activator responding, trying to make the spell come together and take effect, but it's not strong enough. Just doing the final trigger for a spell I prepared beforehand is doable, though. The stakes she'd targeted rose out of the ground, and she quickly grabbed them to pack up.

Just as Amber finished packing up Ressara's tent, Carlos joined her, their shared tent already packed by its luxury self-packing feature. He took one look at Ressara's vacant sleep-deprived face and nodded. "Ah, that's why you helped her pack. Ressara, go and rest. Or sleep, actually. We'll have someone carry you."

A few minutes later, the whole group was airborne for the double-length flight to a Level 19 area, and Amber started a barrage of telepathic questions for Carlos. [Okay, I know we already made notes about all of this, and I can review those in Purple's knowledge repository, but I want to really make sure I understand everything properly for this "integrated development environment" we're making today. A lot of it is concepts from your world, and some of those are… confusing. And I might have just taken your word for things more than I should have in an effort to not get bogged down in that part of the plan.]

Carlos nodded, unsurprised. [Fire away.]

[I'll go through the whole list just to be thorough. Spell database is trivial, just a duplicate of the one I already made. Reference catalogue is… Okay, I understand the part about accessing the information from help, organizing and indexing all of it better, and easily looking up exactly the information we want from it. I get all of that. It seems incredibly extravagant to dedicate a soul structure to it, but I get it. I'm not clear on the "libraries" and "frameworks" you said to also include in it, though.]

Carlos pondered how to answer for a few seconds. [I'm not sure what part of it you need me to explain. Did your comprehension aid fail to understand what I mean with those words?]

Amber shook her head. [No, I understand the words. A library is a collection of parts of spells that can be reused in many different spells, and a framework is a large library that focuses on spell parts that are large and structural, especially ones that can change how you would organize the other parts of a spell. My issue is that it seems like libraries, and especially frameworks, would be rather complicated and extremely advanced pieces of magecraft. How does that fit into something like an indexed catalogue of system information?]

[Ooh.] A sense of dawning comprehension came over the mental link from Carlos. [Sorry, I'm so familiar with the usage of them that I didn't even consider that this might need to be explained. Okay, how should I put this… You know the incantation system that makes spellcasting even possible? That's a library and a framework. A really big one.]

Unauthorized duplication: this narrative has been taken without consent. Report sightings.

[Uh…] Amber just sat in her flying seat for a while, oblivious to the wind rushing past her, as she struggled to accept the idea Carlos had just hit her with. [You… intend for us to make another incantation system?! But- But how would we even start?]

[No, no, I don't have anything that grandiose in mind.] Carlos hesitated. [Not yet, at least. Anyway, the point I'm driving at is that the inclusion of libraries and frameworks in this soul structure's purpose isn't about making them. It's about cataloging and indexing them, just like it does for the system's information. We'll make libraries as spellcrafting projects, similar to how we'll make spells.]

Amber sent an impression of confusion only partially settling from her shocked astonishment, and Carlos extended his explanation. [Remember Trinlen's Find Path spell? Imagine if the system had a find_path effect. It doesn't - I checked - but imagine if it did. The spell could be drastically simplified and shortened, and other spells, more complex and significant spells, could be easily built using it. We could make a small library to provide a spell part that would substitute for that. Once we have such a library, the reference catalogue will include the library's pathfinding function in the catalogue's index.]

Amber considered that for a moment and almost felt a click in her mind as the whole concept came together and suddenly made complete sense. [That did it, thank you. Next up…]

They went through the remainder of the whole list of 13 structures, with Amber taking notes of both her questions and Carlos's answers.

  1. Spell language database: Why more than one new language? Different languages can be better at different things, plus it allows for easier experimenting.
  2. Spell language definer: Why not combined with database? Tracking and resolving the rules of a language is a complex task, and transforming intentions and ideas into such rules is another very different complex task.
  3. Spell transpiler: How are converting into the actual incantation language and learning the resulting spell part of the same concept? The tiny structures of essence that go into the spell database are just a sort-of-written representation or encoding of the incantation language.
  4. Spell detranspiler: If we'll be making new spells, how is this useful? We'll also be learning and improving existing spells, and they'll be much easier to work with in our new spellcrafting language.
  5. Spell editor: You've described many different actions this should be usable for; what's the unifying concept? This is the central interface through which all the other parts will be used, coordinating them into a cohesive whole.
  6. Spell validator: How is this useful, since the incantation system already prevents learning invalid spells? It will give feedback about exactly what parts are invalid and why, can potentially do so without transpiling first, and can enforce additional validity constraints to prevent known types of common mistakes.
  7. Spell templater: This seems excessively extravagant; can't we just identify and recreate patterns in our spell designs manually? The templates we use and the ways we use them will grow far beyond anything we can currently imagine. "Trust me. I speak from experience on this one."
  8. Autosuggester: How useful could something that just guesses at what you're already trying to do possibly be? "Years from now, you'll look back on this question and laugh at the very idea of not having an autosuggester as being anything but an almost intolerable nuisance. Again, I speak from personal experience on that."
  9. Spell linter: Seriously, just for style of the incantation, not validity? "Yeah, experience again. You'd be amazed how many simple mistakes that actually affect functionality get found and fixed by checking style issues."
  10. Spell optimizer: Experience? Experience.
  11. Version history tracker: What's the benefit? Much can be learned from past successes and mistakes, and the ability to undo a present mistake by returning to a past version is incredibly valuable.

They were thoroughly settled in at their new camp by the time Amber was finally satisfied that she properly understood it all. She skimmed through her notes a final time. Some of the synergies seem rather sketchy, but we've already proven that how obvious a synergy is matters much less than I used to think, and now we even have two soul structures dedicated entirely to making even the sketchiest imaginable synergies work. Alright, here I go.

After dinner that evening, Carlos was a little surprised when Felton approached him and interrupted his work on the IDE superstructure. Technically, it wasn't actually an interruption, since it really just slowed him down to 2/3 speed with his extra minds, but still.

"Yes, Felton? What do you need to speak with me about?"

The royal mage gave his customary shallow bow to show respect. "My apology for the interruption, Lord Carlos. You might be pleased to hear that the Crown has arrested many participants in the illegal rotation agreement, and has confirmed the identity of who ordered your soul-death. They will receive their punishment for that act before long."

Carlos stared for a moment, unsure of how he should react. "Thank you for the news. Is that all?"

Felton shook his head. "You stated when I first joined you that you would be ready to help in a few days. That was 4 days ago. I need an update on your progress and when I should expect you to be ready. If it will take much longer, the Crown might need my service elsewhere. The noble lords whose children were arrested may cause some amount of turmoil in response."

"Oh, right. Sorry about that. Let me think…" Carlos frowned as he considered the question. Exactly what portion of our plan do we need for inspecting and analyzing enchantments in depth? The IDE, of course, but I'll finish that in another hour or two. The selective mind effects inverter is essential, but we made that yesterday. Of the remaining 7 themes… 5 of them aren't relevant. The perception theme and understanding/analysis theme would certainly help, but might not be strictly necessary. We should move those 2 up the list and do them next.

Carlos nodded decisively. "We will be minimally ready tomorrow morning. In two more days, we will be completely ready, at least with regard to preparing with house secrets. How about you start teaching us what you know about those enchantments tomorrow? We'll even be staying in the same camp tomorrow, so that works out nicely."

Felton bowed slightly again. "Thank you, Lord Carlos. That will work well. I will see you in the morning for your first lesson."

Carlos watched him walk away before returning his full attention to finishing up his IDE. Having only 2 minds building a new superstructure will make it take a bit over 16 hours instead of just under 11 hours, but that's still fast enough to reasonably do 1 per day. Having my 3rd mind learning from Felton is a more than worthwhile trade.


Tip: You can use left, right, A and D keyboard keys to browse between chapters.