Magic is Programming

B2 Chapter 11: Brainstorming



Amber absent-mindedly scanned over her notes again as she navigated the halls and stairs of the mayor's mansion to the guest suite that, for the time being, was her home and personal haven from the world outside. For the kind of in-depth brainstorming she was about to do, having all of her notes close at hand would be best. There was also the topic she would focus on first to consider. Am I really about to try to puzzle out one of the Crown's great secrets? She looked around furtively, feeling uncomfortably exposed, and shuddered. She knew that being in her personal room realistically wasn't actually more secure from any potential spying, but she still felt more comfortably private once she passed through the door and closed it behind her. A memory sprang to mind of Carlos politely waiting for her invitation before entering, the day before, and she smiled. That was nice of him.

She dismissed the thought and industriously grabbed all her other notes from her desk, setting them beside her on the bed as she settled in to think. Okay, how to get more soul structures into a merged superstructure than would normally be possible. To start with, reviewing what I already know: There are 10 regions in the soul that can each hold 1 soul structure. The structures repel each other strongly enough to normally prevent them from being in adjacent regions, but synergies form bonds that can hold them closer together. When the combination of all synergies among a group becomes powerful enough, they make the whole group become effectively a single unified structure, and the resulting composite structure merges together to occupy only 1 region. The greater the ratio of synergy links to soul structures, the sooner this happens.

The largest possible merge is 10 structures because that is the largest number of structures it is possible to have. After each merge, the largest possible for the next merge decreases by 1 because the newly merged superstructure occupies one of the slots, making that slot unavailable. The existing superstructure cannot combine with a set of new structures because the result would be physically too large to fit in the limited volume of a single region of the soul.

Carlos said that these limits seem to be limits of the process, not of the end result, and that does seem correct to me. So, what factors of the process cause these limits, and how could we change the process to circumvent the limits? Amber twiddled her pencil between her thumb and forefinger while she considered the question. Hmm. There's two aspects to these limits - the decrease for subsequent merges, and the limit on the initial largest merge. Let's focus on the largest merge's limit first. A solution to that will probably at least help with the other, if not solve both at once.

Amber shifted to get a little more comfortable, and poised her hand with pencil over her notebook, ready to write. We have a merged combination of 10 structures, and we want to add more to make it bigger. Really, the biggest reason it's limited at all is that the merge is a one-time event, not letting anything join later even if it has all of the requisite synergies, so we can't "just add more." She paused. Or can we? The inherent natural merge process won't bring in anything new, but we have our debugger soul structure to change our soul structures after they're made. Normally, soul structures are immutable once created, but the debugger bypasses that.

Amber blinked in realization. Huh. I've always known of soul structure immutability as an absolute rule, but it turns out a soul structure can override it. Can other rules be broken in the same way? She chewed her lip for a moment, then wrote a note and shook her head. I should definitely revisit that thought later, but it's not relevant to the current question. Anyway, adding another structure to an existing merged superstructure would be a modification of the superstructure, and I'm pretty sure the debugger can do it. So, that's one solution for adding to an existing superstructure. It's not as helpful as I'd hoped for the other problem, though. We can go a long way with gaining more levels to trigger smaller and smaller initial merges that we then add to, but that will hit another limit sooner or later. Ultimately, when we have 9 merged superstructures, how will we be able to make a 10th?

She made sure to note both the partial solution and the remaining issue with it, then went back to twiddling and thinking. Okay, what other factors are there to potentially work around? The obvious one is the lack of room to put all the structures we'd want to merge. So, when you don't have enough room for something, what are all the ways you can solve that? You can get more room, of course. You can clear out some room. You can try to make everything to fit in the room that you do have. Or… you can try to skip what you need the room for. She noted a list of all four options.

Getting more room. Hmm. Sure, just conjure another soul structure region into existence, why not? Amber chuckled and rolled her eyes. Then she hesitated and cocked her head as she glanced at the first note she'd written on this page. Only 10 soul structures at most, ever. That's a rule, like soul structures being immutable. Can that rule be broken by making a soul structure to do it? She focused her attention inward as she considered. I'm… really not sure. Well, there's only one way to find out.

Amber carefully set down her notebook and pencil, then sat up and settled into a meditative pose. Alright, making a soul structure to add more regions to my soul. Extra regions, adding new volume to my soul, not just subdividing the existing volume into smaller partitions. Let's see what happens. She started drawing in aether, condensing it into solidified essence imbued with her intent. The process was painfully slow, drawing in just a trickle of aether instead of the steady stream she was used to. At this rate, it would take… a long time, multiple days, to get enough to form a whole soul structure.

Her focus moved to the existing Level 15 superstructure. What I really need is essence, not aether; could I use some from this? It doesn't have much to spare - absorption rate dropped off a cliff after the merge - but it does have some. She scraped off just a tiny bit of essence and moved it over, then flinched in shock and hastily moved most of even that tiny amount back. Wow, decompressing that from Level 15 to Level 0 has a huge multiplier! That turned into, what? … Tens of thousands of times as much, I think? Well okay then, essence acquired for the new structure! Now I just need to imbue my intent to form it properly.

Even with essence already on hand, building a new soul structure was a process that took several hours, but Amber was familiar with that, and she had time. She meditated calmly on the concept she wanted, patiently letting the afternoon pass by. The debugger sped it up significantly, but it was still almost three hours later when she finally felt it finish.

She cautiously activated it, trying to expand the surface of her soul to create a new region. A moment later, she hunched over and cried out, with her face suddenly blanched a pale white. She took several shaky but deep breaths as the pain faded. I am so glad my reflex improver helped stop that so quickly. Ow. Okay, soul surface can't handle stretching. Noted. Ow. Again. She gingerly examined the spot on her soul where she'd made the attempt, gently probing it with the lightest touch of her debugger's influence she could manage, and sighed in relief at what her introspector's senses reported. It felt tender, but no worse than that, and it was healing.

Amber took a few more deep breaths before settling down to think again. Then she paused and made sure to actually write down a note about the failed experiment. Now, what next? Give up and move on? She pressed her lips together, then shook her head. Carlos wouldn't give up that easily. So the surface can't be stretched. Is there another method? Can it be, I don't know… grown?

She pressed firmly on her new useless soul structure with her debugger, reshaping it with new details. Grow instead of stretch. Create more material to add to the surface, to let it expand without strain. And above all else, stop immediately at even the slightest sign of strain. About 20 minutes later, she was ready and tried again. The expansion soul structure attached a layer of essence to her soul's surface and gently tried to massage it in, but the soul surface just did not let the extra essence merge with it at all. She tried every variation she could think of for how to make it work, but after another half-hour she was out of ideas and had nothing useful to show for it.

Finally, Amber sighed in defeat and gave up. She picked up her notebook and set pencil to paper. "Soul surface cannot be stretched or expanded. Fundamentally different from normal essence?" She set her pencil back down. So that didn't work. I hope Carlos won't be too disappointed. Back to the next possibility, then. Clearing out some room… Well, technically, I suppose we could dismantle or eject existing soul structures, but that would defeat the point. Could we temporarily remove them somehow? Can soul structures even exist outside of a soul? Wait, those suppression cuffs that Tornay put on us worked by inserting a soul structure. So storing a soul structure outside of a soul is definitely possible. I have no idea how, but it is possible. She took a note on the possibility and moved on.

Alright, next option. Forcing things into the available room. She winced and cringed. That sounds like a bad idea that will probably go wrong in a painful way. On the other hand, the problem isn't actually that they don't all fit, since they manifestly do all fit after the merge happens. Can I overcome the repulsion by pushing things together instead of high-level synergy bonds?

After a break for dinner, Amber tried another experiment in soul structure creation, making a new soul structure in an already-occupied section of her soul. The essence resisted her efforts with tremendous force, so strongly that she only got a quarter of the way through making the new structure before realizing that she definitely would not be able to hold it in place long term. Just to be thorough, she also tried putting it in an adjacent region without synergy, and that also proved unsustainable. The resistance to it was much less extreme, but still too much to counter by actively pushing against it for long. She took notes just to record that she'd already tried it, but dismissed the idea and moved on.

Okay, last option: skipping what I need the room for. What I need the room for is storing all the separate soul structures while they're still too low-level for their synergies to unify them. To skip that, I'd have to skip having them ever be that low-level, making soul structures that start out already high-level. Hmm. Amber frowned in concentration. Soul structures always start at Level 0, and ones made after a merge are no exception to that. But… that's for the normal way of making them. You use your inherited soul shell, which is made of Level 0 essence, or you use absorbed aether, which decompresses to Level 0 in any empty slot. What if you use high-level essence instead? That's normally not possible, since your high-level essence is all locked up in your high-level soul structures that are made of it, but my debugger can take some of that essence and move it.

She considered the idea and slowly started nodding, increasingly sure that she was on to something. I don't have enough to spare for what I'd ideally want to test, but maybe I can test a lesser version of it. She took a tiny bit of essence from her Level 15 superstructure and tried to limit how much it decompressed as she moved it into another region. She had to grip it tightly to keep it from explosively expanding, but it got easier with each additional decompression that she allowed. When she stopped it at Level 4, it was easy to hold and was more than enough for a whole soul structure.

Amber began the process of forming the Level 4 essence into a soul structure, imbuing her intent into it. Just a few seconds later, she grinned broadly. This is it, I can already tell that it's working! Soul structures can start at higher levels, you just need a way to get high-level essence that's available for the purpose! We'll have to prepare for holding a combination of 10 concepts, or even more, all in mind at the same time to form a full web of already-merged structures, but something similar to the spell conceptualizer that Trinlen told us about can solve that easily.

She almost bounced in excitement as she wrote a few lines of notes about her discovery. She was almost excited enough to even forget about her fear of the Crown's potential reaction! She did remember her concerns after writing just a word or two, though, and kept these notes intentionally cryptic. I'll remember what I meant when I reread this, but anyone else will have no clue. About the Crown, though… Amber cocked her head. I'm pretty sure this is not the way the Crown does it. The mage who scanned our souls to verify our soul rank knew what the Crown's first-stage soul structures look like - she declared that our reflex improver is similar to one of them - but she didn't recognize our debugger. I wonder what their solution is.

Amber considered that for a moment, then shrugged. We have our own solution, no need to figure out theirs. She yawned and stretched, blinking as she noticed how dim the daylight outside had become. Yeah, that's enough brainstorming for today. I'll think up some ideas for improving spellcasting, enhancing its strengths and shoring up its weaknesses, in the morning.

Carlos lounged on a cushioned chair in the mayor's personal library, idly tapping his pencil against his leg and staring into space, lost in thought. The library seemed rather modest for someone wealthy enough to own a mansion like this, but maybe that was just a difference in culture between here and America. He wasn't there for the books just now, though, and it was still a quiet and peaceful corner where he could think undisturbed, which was exactly what he'd been looking for. He had some very serious and important thoughts to consider, after all.

Make a dictatorial monarchy that has nuke-level superpowers think I might become a genuine rival at their own power level, thereby provoking them into casually erasing me from existence? Hard pass, absolutely not, no way in hell! Handicap my own potential power just to avoid pissing someone off? Also hard pass, appeasement and keeping yourself weak is a terrible way to handle a bully. He paused, then corrected himself. Or a potential bully, I suppose. The Crown has actually behaved with pretty good fairness and impartiality so far, at least for the things I've seen.

He shook his head. Anyway, if I'm not going to handicap myself, and also don't want to risk pissing off the Crown, I need a third option. I need to conceal my actual power from them. Which could be a problem with Lorvan and Ordens shadowing us with all their fancy detection and analysis gear. If my soul starts feeling as solid as Princess Lornera's, that will be blatantly obvious to them.

Carlos chuckled. Well, what if I make a soul structure for disguising my soul? Or, hell, specifically for making it seem softer, since more special-purpose structures are more potent? Hmm. Nah, that level of specificity makes synergies excessively difficult. Soul disguiser, though? Yeah, sounds good! We should be cautious about it, see if we can verify that it's fooling them before we build up to a dangerously provocative point, but that's probably our best bet.

He sighed and shook his head as he wrote a cryptically brief note about the idea. Honestly, soul structures feel like cheating sometimes. Pick an ability you want, and congratulations, you get it! There are limits, and rules, and secret interactions, that give it an intellectual puzzle aspect, but the core of it just seems so… unearned. Take your desires and intent, and magically turn that into whatever sort-of-reasonable ability you choose. Though, to be fair, the actual power of those abilities would still be pretty weak if not for all the extreme power-leveling. He sighed again. Regardless, I still want to get this soul structures business out of the way and get back to using my programming expertise on incantations. That feels like a power I've actually put in effort to earn.

Though… Carlos grinned. Why not use the "cheaty" power to help with getting back to the "non-cheaty" power? And while I'm at it, improve things? If a magic incantation language is designed to work like a programming language, then it should work like a well-designed programming language, dammit! With a proper suite of tools, too! None of this "you must adequately visualize things for the number you specified to actually work as the number you specified" nonsense. And organized ways to share and reuse code, like libraries and frameworks. And a code editor. Spell editor? With syntax highlighting! Reusable templates for common patterns. Easy code navigation. Autocomplete. Readable indentation. And oh god, that horrible syntax! He shuddered. Seriously, a separate line with a spelled-out "parameter" declaration along with name and value, all of it repeated for each effect parameter? Ever heard of argument lists, positional parameters, and declared parameter types? And don't get me started on using infinite loops for sustained effects! Neanderthal novices!

He snorted and shook his head, then laughed again. Of course they were novices. They were pioneers of a new field. They had no forebears to learn from. But excusable or not, I want something better. He paused to think. I don't think I can technically, actually, change the syntax. It's too closely tied to details of the mechanics of how it all works. But maybe I could make a transpiler as one of my soul structures, to transform a language that I design into the system language.

Carlos considered that idea for a minute, mulling it over. Yeah… Yeah, that should work. All of that together is way too complex for a normal simple soul structure. I'll have to figure out how to break it down into a set of simpler ones with enough synergy to all merge. But yes, details aside, I want to work with incantations using an Integrated. Development. Environment!


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