“You’ve seen the basics. Now I want to see what you’d make that isn’t a kitchen fixture.”
He selected one and brought it over, placing it on the bench in front of Ethan with a quiet thunk.
“This is a blank,” Ed said. “Clean stone. No pattern, no bindings, no trace history. We use them for experiments, calibration tests, and early apprentice exercises.”
He set it on the bench beside the others, then added: “Combine it with some of the elemental stock. Power it with a mana crystal.”
He gave a short shrug. “Sky’s the limit.”
He stepped back.
“I’m not giving you an assignment,” he said. “I’m not going to tell you what glyph to start with or what shape to trace. You don’t need me putting a box around you.”
Ethan raised an eyebrow. “So what am I doing?”
“You’re making something,” Ed said simply. “Whatever you want. Something simple, something stupid, something nobody’s ever seen—doesn’t matter. If you think enchanting is just memorizing marks and copying glyphs, you’re wasting your time. That’s not what makes it work. What matters is intent. Design. Purpose.”
He gestured at the stone. “Make it do something. That’s the job.”
Ethan stared at the blank stone on the bench. The thing just sat there, waiting for him to do something with it.
He leaned forward, resting his arms on the table.
Ethan looked at his old wise companion. “Moose. I need a soundboard.”
“You’re stalling,” Moose said, calm as ever.
“I’m thinking,” Ethan replied through the bond. “There’s a difference.”
His fingers drummed once against the wood. This place ran on mana. Tools, lights, wards, water systems—all of it powered by energy he could feel in the air.
I’m in a new world, he thought. So what would someone like me build first?
Then the idea hit.
A communication device. Something that would let him talk to Lyra without being in the same room. Voice carried over distance. Small. Portable. Connected.
“Can’t you already do that through the bond?” Moose asked.
“Yeah,” Ethan said, “but I meant at distance. Like right now—I can’t talk to Pixie, Buster, or Lyra.”
Just to be sure, he reached out—testing it. Stretching his focus. Nothing. The bond didn’t carry that far.
“Yeah,” he said again. “I can’t talk to them now.”
“I guess that’s true.” Moose agreed. “You’ve already got the power source. Now you need the connection.”
Ethan blinked. That was it.
He looked down at the stone again, and this time it didn’t feel blank at all.
Alright, he thought. Let’s make something useful.
He leaned back slightly, then glanced toward Ed.
“Actually—can I get two more blanks?”
Ed paused. “Two?”
“I’ve got a couple ideas I want to test,” Ethan said. “I need at least a pair to try the basics, but if I’m building anything long-term, I should plan for more than one connection.”
Ed grumbled under his breath but didn’t argue. He crossed to the storage cabinet again and returned with two more blank stones, setting them beside the first.
Ethan rotated each one slightly, inspecting their cuts, shape, and balance. They weren’t perfectly identical, but they were close enough.
“If I can get them to pair,” he said, mostly to himself, “then I should be able to build a way for one stone to talk to another individually. Or link all three at once if I want. But they can’t all light up at once by accident. No cross-talk.”
He started arranging them into a small triangle on the bench, thoughtful now.
“Stone one calls stone two. Stone three calls stone one. But not both at once unless it’s intentional.”
Moose stirred at the back of the room. That’s a lot for a first test.
“I’m not building the whole network today,” Ethan said. “But I want the structure in place. Even if it’s just one piece that works.”
Ed crossed his arms, watching from a few feet back. “Alright, apprentice. Impress me.”
Ethan pulled a bit of charcoal from a tin near the edge of the bench and cleared a section of the surface.
“Okay,” he muttered, “let’s build this like I would at home.”
He marked a circle for each stone—1, 2, 3—and drew thin arrows between them. One to two. Three to one. Two to three. Each path labeled with a short identifier.
He chuckled. “One, two, and three. The shortest phone numbers ever.”
Moose padded over silently to watch.
Ethan boxed the whole thing with a larger line, added a quick notation for broadcast, and then marked a spot for a trigger symbol—something to activate voice capture manually, maybe a press-and-hold mechanic or a low-draw voice-activated glyph.
“Point-to-point routing,” he said under his breath. “Each stone has an ID. No signal should hit more than one unless it’s flagged to.”
Ed leaned forward slightly. “What exactly are you doing?”
“Building a communication framework,” Ethan replied. “I need to know how they talk before I teach them to listen.”
Ethan leaned on the bench for a moment, studying the network sketch. It wasn’t complicated yet, but it was going to be.
Time to pick a language.
Not a magical one—no runic symbols or old Velari glyph sets. He meant real logic structure. The kind the system had somehow accepted during his first enchantment test. And it had worked.
Ethan rubbed his temples in concentration. Alright. What do we use? C++? Python? JavaScript?
Moose tilted his head. Is this a real question or one of your internal tech debates?
Both.
He weighed it.
JavaScript is loose, too easy to screw up syntax.
C++ is powerful but a nightmare for memory.
Python... is readable. Clear. Strong built-ins. Good for logic. Easier to debug if this explodes.
“Python it is,” Ethan muttered.
He flipped the first stone over and began plotting where the script would go—binding the logic ring near the base, signal hooks near the centerline, and a trigger glyph at the top.
He needed three functions to start:
- call(target_id) — initiate connection
- hang_up() — terminate signal
- broadcast() — push to all stones within range
Everything else could come later.
Ethan sat back and looked at the rough diagram on the page. Three circles labeled 1, 2, and 3. Arrows connecting each one to the others. Each stone could talk to the other two. Easy enough.
But that wasn’t enough. Not for what he wanted to build.
He turned to a fresh sheet of parchment and started again—this time with a larger sketch. He drew the dialpad first: Common numerals, 0 through 9, laid out in a three-by-four grid. Below that, he marked the three familiar icons. A curved line for call. A broken arc for hang-up. A simple hollow circle for pickup. He boxed the whole thing and labeled it user interface.
“Okay,” he murmured. “What does it actually need to do?”
He started writing beneath it:
- Manual number input
- Signal transmission to specific stone_id
- Receive call if signal matches own ID
- Option to group-call multiple stones
- Sound cues for ringing and failure
- Pickup response
- Hang-up reset
He flipped to a new page. Logic time.
python
stone_id = 1
dial_buffer = []
def press_number(n):
if len(dial_buffer) < 4:
dial_buffer.append(n)
The story has been stolen; if detected on Amazon, report the violation.
def press_call():
if dial_buffer:
target_id = int("".join(dial_buffer))
signal(target_id)
play_ring()
wait_for("pickup")
dial_buffer.clear()
def press_broadcast():
for id in range(1, 100):
if id != stone_id:
signal(id)
play_ring()
def receive(incoming_id):
if incoming_id == stone_id:
play_ring()
wait_for("pickup")
def pickup():
connect()
sound.stop()
def hang_up():
disconnect()
sound.stop()
def fail():
sound.tone(450, 300)
wait(200)
sound.tone(450, 300)
wait(200)
def play_ring():
sound.tone(700, 400)
wait(200)
sound.tone(900, 400)
wait(200)
sound.tone(700, 400)
It was solid. It handled everything. Anyone with a properly assigned ID could dial any other stone in range. If he could distribute these widely enough, it could become a real communication grid.
He paused and underlined a note in the margin:
Each stone = its own number
No contact list
The number is the contact
Moose was watching him from the corner of the bench. He hadn’t said anything in a while.
“This is turning into a full network,” Ethan said. “Dial a number, press call, get a connection. Build it right and people could carry these anywhere.”
Moose flicked an ear. “Do you need that right now?”
“No,” Ethan admitted.
He looked at the stone sitting under the lamplight. Smooth. Small. Maybe enough surface area for twenty lines of script, if he wrote carefully.
He looked back down at his design.
Seven sheets of code. Half of it optional. Conference logic. Input buffers. Fallbacks.
He exhaled through his nose and picked up a fresh sheet.
“Alright,” he said. “Let’s scale it back. This is way too ambitious for a test and prototype.”
He drew three new buttons—this time labeled [2], [3], and [ALL]. It wasn’t a dialpad or a system, just hardwired contacts for Stone 1 to call Stone 2, Stone 3, or both.
He boxed the page and underlined the ring function once. It didn’t need to glow. It just needed to be heard.
Moose stepped closer. “You think it will work?”
“Yeah,” Ethan said. “Fingers crossed that my logic holds and the system should hopefully understand this.”
He adjusted the stone under the light. Today wasn’t the day to build a system. Today was the day to make it ring.
He stretched his hands, then picked up the first stone and the finest-tip stylus.
“Let’s test the core logic. If this works, I’ll add the rest later.”
He began scripting the pattern directly onto the stone. No binding ink yet—just a soft charcoal trace to map the logic. The lines were tight but readable. Python syntax, but adapted to fit the surface. The system had accepted his assignment operator. It had accepted his logic. He hoped it would accept this too.
When the last line was in place, he double-checked every connection, then set it down carefully.
Ed watched from a short distance, arms crossed. “You’re using that same language?”
“Yeah,” Ethan said. “And hoping it sticks.”
He picked up the second stone. The surface was just as smooth and blank as the first. By the time he reached the third, the pattern felt familiar, almost automatic. Like writing on paper.
When all three were ready, he placed a mana crystal beside each one, then reached for the binding ink.
“Alright,” he said, more to himself than anyone else. “One step at a time.”
He began tracing over the first stone again, this time more carefully. The ink settled into the charcoal lines, dark and permanent.
On one face of the stone, he enclosed the code in a sharp, rectangular frame—a glyph box etched cleanly into the surface.
Inside the box, the script read:
python
stone_id = 1
is_calling = False
def call_2():
global is_calling
if is_calling:
hang_up()
is_calling = False
else:
signal(2)
play_ring()
is_calling = True
def call_3():
global is_calling
if is_calling:
hang_up()
is_calling = False
else:
signal(3)
play_ring()
is_calling = True
def call_all():
global is_calling
if is_calling:
hang_up()
is_calling = False
else:
signal(2)
signal(3)
play_ring()
is_calling = True
def hang_up():
disconnect()
sound.stop()
On the opposite side, he etched three shallow circles into the stone’s surface:
[ 2 ]
[ 3 ]
[ ALL ]
Then he flipped the stone back and added three thin logic lines—precise etchings that connected the outer corners of the boxed script directly to the edge, wrapping around the stone to meet each button. Nothing decorative. Just the paths the system needed to recognize input.
When it was done, he paused. Waited. Held his breath slightly. Then pressed the stylus into the blank space beneath the code and added one final mark:
stone_id = 1
The stone vibrated under his hand. The ink pulsed. The pattern locked.
[Pattern Bound: Numeric ID Detected – 1]
Ethan exhaled. “One down.”
He grabbed the second stone. Repeated the process. This time, the last line was different:
stone_id = 2
It took the ink faster than the first. The system flagged it immediately.
[Pattern Bound: Numeric ID Detected – 2]
The last stone followed the same path.
stone_id = 3
[Pattern Bound: Numeric ID Detected – 3]
Ethan grinned. That was the easy part. Now for the real test.
“Hang on,” he muttered, reaching for a set of curved blades. “If this is going to work, it needs a casing.”
He reached for the first stone, held it steady, and pressed his palm against the surface.
[Assign Function: call_2]
[Assign Function: call_3]
[Assign Function: call_all]
He sent a slow flow of mana into the bindings. Just enough to activate—but not enough to overload.
The glyphs flared faintly as the logic took shape. The etched lines linking the code box to the button glyphs shimmered once—then dimmed and held.
[Function Registered: call_2]
[Function Registered: call_3]
[Function Registered: call_all]
He pushed a bit more—controlled, careful—and felt the stone draw it in.
[Mana Infusion: Stable]
[Charge Level: 91% – Operating Threshold Reached]
The stone felt warm in his hands. Subtle, but responsive.
He set it down and reached for the second.
[Assign Function: call_1]
[Assign Function: call_3]
[Assign Function: call_all]
He pushed mana into the lines—steady, no hesitation this time.
[Mana Infusion: Stable]
[Charge Level: 89% – Operating Threshold Reached]
The third stone went even faster. His hands knew the pattern now.
[Assign Function: call_1]
[Assign Function: call_2]
[Assign Function: call_all]
[Mana Infusion: Stable]
[Charge Level: 88% – Operating Threshold Reached]
He stepped back from the table, satisfied.
“Okay,” he said, feeling the weight of the stones in his hands. “Time to see if they really work.”
Moose watched him with calm focus. “You need us to spread out?”
Ethan nodded. “Let’s test the range. You take one. Ed gets one. I’ll keep the first.”
They split across the shop, moving to different rooms with the stones in hand.
Ethan pressed the [2] button on his stone. It chimed.
Moose’s stone responded with a sound cue.
“It’s ringing,” Moose confirmed, both aloud and through the bond.
Ethan pressed [2] again to test the hang-up logic.
The signal cut immediately.
[Connection Terminated – ID 2]
Ethan’s smile widened.
“Okay,” he called out. “Group call this time.”
He tapped [ALL].
Both other stones activated.
Ed’s voice came through the stone, slightly tinny but clear. “Is it supposed to do this?”
Ethan lifted his own stone. “Yes—it’s working. I can hear you. Can you hear me?”
Moose answered next, calm and direct. “I can hear both of you.”
Ed made a sound that didn’t quite translate—half question, half disbelief. “First a talking beast... and now a talking beast through a mana stone?”
His voice dropped lower. “Gods help us.”
Ethan leaned against the wall, arms crossed. “I think we might be onto something.”
He joined the others, his mind already racing with possibilities. They hadn’t been gone long, but Ed’s shop felt like a whole other world compared to the inn. He was eager to get back to the Pack, to show them what he’d made, to see if they were still as surprised by this world as he was.
The day stretched ahead of him with fewer questions than before. He had a start. He had a purpose. And now, he had a working prototype.
The rest would come.
Ed said, “You done rewriting reality in my workspace?”
Ethan said, “Just for today.”
He gathered the stones, sliding each one into a separate pouch. They were still warm from the charge. Clean, solid, functional. He wasn’t leaving these behind.
Ed watched him from the workbench, stylus in one hand, the other running absently across a scrap of parchment already half-covered in new glyph layouts. His eyes weren’t even on the stones anymore. They were tracking new shapes. New ideas.
“You’re just the apprentice,” Ed muttered. “And now I’ve got six new designs spinning in my head because of something you made out of logic lines and button glyphs.”
Ethan paused in the doorway. “You want me to come back?”
Ed sat up. “I want you to promise.”
“I promise,” Ethan said. “I've got more ideas.”
Ed was already leaning over the bench again, sketching a fresh sequence of lines. “So do I,” he said. “Damn it, so do I.”
“Yeah,” Ethan said. “Thanks for letting me work on these here.”
Ed barely waved him out. He was already too busy scribbling new variations of Ethan’s work, muttering to himself as bits of chalk dusted his sleeves.
Ethan laughed under his breath, clutching the pouches tightly as he and Moose left the shop. Sunlight hit their faces as they stepped into the street, warm and bright against the cooler air inside.
“That... went well,” Ethan said.
Moose didn’t answer immediately. He moved beside Ethan, calm and steady, the wardstone at his collar pulsing like a heartbeat.
“Better than well,” Moose said eventually. “You didn’t explode. You didn’t pass out. You didn’t break the system. That’s a new record.”
Ethan grinned. “I didn’t think it would work. Not on the first try.”
“You think it’s luck?” Moose asked. “Or that you’re just good at this?”
Ethan paused. “I think... I’m getting the hang of it. This world. The magic. These—” He tapped the stones in his pack. “These aren’t just experiments anymore. They’re real.”
He gave it a moment more thought. “You know what? We did just get a ton of luck with Lyra joining the bond. So, it might be luck. Along with the system being a ‘system.’” He made air quotes. “I think it might be better at translating code than ancient dead languages.”
Moose gave a soft huff, almost like a laugh. “Real enough that you need a plan. How do you explain it to the others?”
“Easy,” Ethan said. “I show Pixie how they work. She’ll do the rest.”
They took a shortcut through the market square, weaving between carts and stalls. The smell of roasted nuts and fresh bread drifted—

