◆ Dark Fantasy Coding Game

Write spells.
Break systems.
Learn to code.

You are a Glyphsinger — a hacker of the ancient network. Your weapon is language. Your power is the ability to make machines sing. Twenty quests await. The network will not yield easily.

> By the time you finish, you'll know how to code.
> You just won't know how you learned.

spell.tmbdl — Q004: The Breach
Glyphscript
~ Crack the vault
ring target = net.scan("sector-7")
ring key = archive.search("passphrase")

ring result = lock.crack(
  target, key
)

perhaps (result.success) {
  sing "Vault breached."
  sing result.data
} otherwise {
  sing "Warded. Try again."
}
Terminal Output
> Casting spell...
> net.scan("sector-7")
  node-7a found
> archive.search("passphrase")
  "elden-shadow-key"
> lock.crack(node-7a, key)
Vault breached.
{ data: "SECTOR_7_MASTER" }
◆ Quest complete! +150 XP
20 Quests
5 Chapters
10+ Concepts Taught
3-4h Playtime
0% Boring Tutorials

An ancient network. A dying language. One last hacker.

The network was built by the old ones — engineers who wrote in a tongue called Glyphscript, whose programs sang their instructions into the machine-mind. Now only you remain who can read the glyphs.

The Network

Five regions, each more guarded than the last. Nodes to scan, archives to search, locks to crack. Every system tells a story — if you can read the signals.

The Glyphsingers

You are not a wizard. You are a programmer. But in this world, there is no difference. Your spells are functions. Your incantations are algorithms. Your power is logic.

📚

The Mentors

The Gatekeeper, the Architect, the Archivist, the Signalkeeper, the Oracle — each guards a chapter's secrets. Each will teach you what they know. Some will test your soul.

The Detection Meter

Every spell you cast leaves traces. Write inelegant code and the network's guardians will notice. Stay clean. Stay quiet. Or face consequences.

The Watchers

They monitor the network. They cannot see your face, but they can see your spells. Sloppy code triggers alarms. Brilliant code passes like shadow.

The Truth

At the end, the Oracle will reveal what the glyphs truly are. What you've been writing all along. The twist no one sees coming — but everyone remembers.

Write code. Run spells. The network responds.

Every quest is a puzzle. You get a briefing, a blank editor, and access to the system's APIs. Your spell is your solution. Cast it and see what happens.

Q006: The Patrol Pattern Chapter II — Inner Sanctum
"Five guard-nodes sweep the sector in rotation," the Architect says without looking up. "Most are decoys. One carries the real payload. You need to scan all five and report which ones are actually alive. Loops exist for a reason."
Objective Scan all five patrol nodes. Output the address of each node that has open ports. Use a loop.
Detection Level 34%
journey loops arrays net.scan conditionals

Dual Input: Blocks + Code

Tap-to-place spell blocks for mobile and tablet, or write raw Glyphscript in the code editor. Both are always available — they stay in sync.

📺

Live Terminal Output

Cast your spell and watch the terminal respond in real time. Errors, results, and lore — all in one stream. See your code execute.

🌐

A Living Network

Each region has real API calls: net.scan(), archive.search(), signal.intercept(). The world responds to your code.

🏆

Achievements & Progression

Complete quests cleanly to earn reputation. High detection scores mean consequences. Low detection means you're a ghost — the best kind.

✦ ◆ ✦ ◆ ✦ ◆ ✦

Glyphscript — ancient tongue. Modern logic.

Every keyword is a concept. Every concept is real programming. The syntax looks like fantasy — but the machine understanding is identical to JavaScript.

Glyphscript JavaScript Meaning
ring x = 5let x = 5Variable
precious PI = 3.14const PI = 3.14Constant
song greet(name) {}function greet(name) {}Function
answer xreturn xReturn value
sing "hello"console.log("hello")Print output
perhaps (x > 0) {}if (x > 0) {}Conditional
otherwise {}else {}Else branch
journey (i in arr) {}for (i of arr) {}For loop
wander (x > 0) {}while (x > 0) {}While loop
realm Hobbit {}class Hobbit {}Class
forge(name) {}constructor(name) {}Constructor
goldberry / saurontrue / falseBooleans
shadownullNull value
attempt {} rescue {}try {} catch {}Error handling
fizzbuzz.tmbdl FizzBuzz — the ancient test
~ FizzBuzz — every programmer's trial
~ Count to 100. Multiples of 3: Fizz.
~ Multiples of 5: Buzz. Both: FizzBuzz.

journey (n in range(1, 101)) {
  perhaps (n % 15 == 0) {
    sing "FizzBuzz"
  } otherwise perhaps (n % 3 == 0) {
    sing "Fizz"
  } otherwise perhaps (n % 5 == 0) {
    sing "Buzz"
  } otherwise {
    sing n
  }
}
counter.tmbdl Closures — advanced magic
~ A spell that remembers
song makeCounter() {
  ring count = 0
  song increment() {
    count = count + 1
    answer count
  }
  answer increment
}

ring counter = makeCounter()
sing counter()  ~ sings: 1
sing counter()  ~ sings: 2

Cast your first spell.

Write Glyphscript below. Use sing to output, ring to declare variables. Press Cast — and watch the machine sing.

◆ Glyphscript Console Interpreter ready
Write your spell
Terminal output
> Awaiting spell...

You're learning to code. You just think you're hacking.

Every mechanic in the game maps to a real programming concept. By the time you reach the Oracle, you'll have practiced all of the fundamentals — without a single boring tutorial.

"The glyphs you've been singing all along — they have another name."

When the Oracle finally speaks those words in Quest 20, the player realizes: every spell they cast was real code. Every loop they wrote to scan patrol nodes was a for-loop. Every conditional that checked for honeypots was an if-statement. Every function they defined to crack a cipher was a function.

They didn't learn programming. They did programming. The language just had a different skin.

◆ The Oracle — Quest 20: Awakening

"ring is let. sing is console.log. song is function. You have been writing JavaScript. You have always been writing JavaScript. The glyphs... are just the way the old ones chose to see it."

ring x = 5
Variables
perhaps / otherwise
if / else
journey (i in arr)
for loops
wander (x > 0)
while loops
song greet(name)
functions
answer value
return
map(arr, song(x))
higher-order fns
realm Hobbit {}
classes / OOP
attempt / rescue
try / catch
net.scan() result
API / objects

Write clean spells — or face the Watchers.

Every execution is observed. Inefficient loops, brute-force guessing, redundant operations — the network notices. Stay below the threshold, or trigger an alarm.

DETECTION LEVEL 58%
SAFE NOTICED HUNTED CAUGHT
Excessive operations +25
Redundant API calls +18
Syntax errors +8
Clean execution -3/tick
Optimal solution -10
✏️

Write Efficient Spells

The Watchers count your operations. A brute-force loop that runs 10,000 times screams louder than a targeted search that runs 10. Elegance is stealth.

🕔

Detection Decays Over Time

Clean executions slowly reduce your detection level. A careful Glyphsinger can recover from a noisy spell — if they act fast and smart.

🚫

Caught Means Restart

Hit 100% and the Watchers lock you out. The quest resets. Your code is wiped. You have to start over — smarter. There is no save-scumming.

🆕

Escalating Stakes

Chapter 5 cuts the detection decay rate in half. The Core does not forgive. Every spell must be deliberate. This is where you find out if you actually learned anything.

Five chapters. Twenty quests. One revelation.

The path through the network is laid out before you. Each quest unlocks when you complete the last. The Oracle waits at the end.

CH.1 The Outer Gate Teaches: variables, output, API calls — Q001-Q004
Q001
The First Whisper
ring, sing, arithmetic
Q002
The Listening Post
net.scan()
Q003
Buried Secrets
archive.search/read
Q004
The Breach
lock.analyze/crack
CH.2 The Inner Sanctum Teaches: if/else, for loops, while loops — Q005-Q008
Q005
The Locked Corridor
perhaps / otherwise
Q006
The Patrol Pattern
journey loops
Q007
The Shifting Lock
wander loops
Q008
The Sanctum Gate
Control flow capstone
CH.3 The Deep Archive Teaches: functions, arrays, map/filter — Q009-Q012
Q009
The Pattern Keeper
song / answer
Q010
The Record Wall
map / filter
Q011
The Cipher Table
Functions + arrays
Q012
The Archive Key
Chaining operations
CH.4 The Signal Tower Teaches: strings, objects, templates — Q013-Q016
Q013
The First Signal
String manipulation
Q014
The Encoded Broadcast
Template strings, sort
Q015
The Object Map
Objects, keys/values
Q016
The Signal Trace
Signal tower capstone
CH.5 The Core Teaches: everything combined. The revelation. — Q017-Q020
Q017
The Outer Shell
All skills combined
Q018
The Memory Banks
Data pipelines
Q019
The Rewrite
Transform + write back
Q020
Awakening
The truth is revealed.
✦ ◆ ✦ ◆ ✦ ◆ ✦

Your quest begins now.

Free to play. No downloads. No accounts. Just you, a blank editor, and a network that won't give up its secrets without a fight.

Free: All 20 quests. No paywalls. Currently in development.