๐ต LOOM2 โ Sonifiquation
Inspired by Loom (1990) โ a two-player, one-screen journey where you hear multivariable calculus. Plant a Listening Totem in a mathematical landscape, and every musician inside its hearing circle plays at once: height becomes pitch, angle becomes timbre, radius becomes rhythm. Move the totem and the whole song re-orchestrates. A surface is not a melody โ it is an orchestra.
The full 13-scene campaign is playable now โ headphones recommended! ๐ง
You remember this.
In 1990, Loom did something nobody had ever tried โ an adventure game you played entirely by hearing. There were no verbs, no inventory, no fight scenes. You learned musical "drafts" โ short four-note spells โ and played them to weave the world. It was strange, beautiful, and unforgettable. We kept that feeling โ the music, the mystery, the idea that sound itself could do things โ and poured the whole of multivariable calculus inside.
Here's what's different โ and amazing.
This isn't a quiz with background music. The landscape is the song. A mathematical surface z = f(x, y) is mapped onto a full 13-instrument orchestra โ double bass through flute, tuba through trumpet โ using the Helical Sonification System (HSS) from Nir Strulovitz's book Sounding the Unknown. Every musician seated on the grid inside your Listening Totem's hearing circle plays simultaneously, so you hear a whole neighborhood as one chord or groove โ never a one-dimensional siren sweep.
Move the totem and the entire song re-orchestrates around you. Stand on a peak and hear a single bright chord. Step into a saddle point and hear something eerie โ two directions feel high, two feel low. Trace a level curve and the pitch stays constant while the timbre and rhythm spin around you. The gradient sounds like a rising transposition.
And in Slice Mode โ the Glass Blade ๐ช โ you cut through the surface with a tilted plane and walk the intersection curve, hearing the shape change beneath your feet. It's the most direct way to feel a partial derivative: slice, walk, listen.
Get a quiz question wrong? Listen again. There's no punishment and no game-over โ the challenge is training your ear, not grinding. You're not being tested; you're learning to hear.
๐ธ Gallery โ real in-game screenshots
Straight from our own engine. Click any photo to view it full-size.
๐๏ธ The subject beneath you
Multivariable calculus โ the mathematics of surfaces, slopes in every direction, critical points, and the gradient. It's the language underneath weather prediction, machine learning, fluid dynamics, economics, and rocket trajectories. And it is, secretly, the perfect instrument for a musical landscape.
The 13-scene campaign is a walk through the core ideas, each wrapped in a story: a Roman road (constant slope), Egypt's granary (a single peak), a valley lake (a bowl), rain gutters and rice terraces (ridges), two hands meeting (a ridge seen both ways), Hannibal crossing the Alps (the saddle point โ the star of the show โญ), the Fields of Babylon (a flat plane), an ocean swell (egg-carton waves), three chairs (a monkey saddle), Tartaglia's cannon (a parabolic trajectory), and finally the fog summit โ a last hill fading into mist.
What you'll actually feel by the end:
- Why a surface is not a melody โ it's an orchestra (every point is a chord).
- What level curves sound like: unison โ pitch stays the same while timbre and rhythm spin.
- What a critical point sounds like: max = bright home chord, min = deep calm, saddle = eerie tension.
- What the gradient sounds like: a transposition โ you hear "which way is uphill" as rising pitch.
- What a partial derivative sounds like: the Glass Blade cuts a path, and you walk the change.
โค๏ธ How you two play
LOOM2 is built for two people on one screen โ a co-op design where each player controls one axis of the totem. (Playing solo works too โ one person can do both.)
๐น๏ธ Player 1 โ The Boyfriend
Moves the totem on the x-axis (left / right). Plays on the keyboard with A/D or the left stick of a joystick.
๐ฏ Player 2 โ The Girlfriend
Moves the totem on the y-axis (near / far). Plays with the mouse (click-drag up/down) or the left stick of an Xbox controller.
๐ฎ Controls
โจ๏ธ Boyfriend (keyboard)
A/D— move the totem left / right (x-axis)W/S— move the totem near / far (y-axis, keyboard fallback)
๐ฑ๏ธ Girlfriend (mouse)
- Click-drag up / down — move the totem near / far (y-axis)
๐ฎ Shared
- Arrow keys — orbit the camera (Left/Right) + tilt (Up/Down)
- Page Up / Page Down — zoom in / out
- Home — recenter the camera
- 1 2 3 4 (or number pad) — choose a quiz answer A/B/C/D
- Enter — confirm / OK
- H — hint (free, never penalized)
- C — Slice Mode ๐ช โ cut the surface with the Glass Blade
- Esc — quit
๐ฎ Gamepad (joystick + Xbox controller)
- Left stick — move the totem ยท Right stick — orbit / tilt
A B X Y— answers A B C D ยทStart— confirmLBhint ยทRBslice ยท D-pad Up/Down zoom ยทBackquit
๐ก๏ธ You cannot lose
There's no health bar, no lives, no game-over screen. Wrong answers get a gentle, friendly explanation โ listen again and try once more. Hints are free and unlimited. You're here to train your ear, not to grind.
โ๏ธ The tech
Language: pure Python (Windows-first). Audio: real-time additive synthesis on numpy buffers via sounddevice (PortAudio callback) โ 89 real Philharmonia orchestra samples, 13 instruments, full ~6-octave range. Graphics: moderngl + pyglet (our own GLSL shaders: Gouraud terrain with sharp level-curve bands, a breathing golden helix totem, a glass blade with Fresnel rim). Math: NumPy, with the Helical Sonification System (heightโpitch, angleโtimbre, radiusโrhythm) baked into every module. Packaging: PyInstaller โ fully self-contained, no ffmpeg or Python required. Every commit is on GitHub โ we build in public.
๐ผ The original that inspired us
The original Loom (1990) โ Brian Moriarty's musical adventure, and Nir Strulovitz's book Sounding the Unknown (the Helical Sonification System).
โฌ๏ธ Download & play (Windows)
The easy way โ no Python, no terminal, no installer:
- Download the Windows
.zip. - Right-click it โ Extract Allโฆ
- Open the extracted folder.
- Double-click "LOOM2.exe" โ that's it! ๐
- Grab your partner: one on WASD, one on the mouse. Headphones on! โค๏ธ๐ง
To uninstall, just delete the folder. It installs nothing and never touches your system.
๐ก๏ธ Heads-up: we're a brand-new, free, open-source project, so Windows may say "Unknown publisher." That's expected for small free games โ click "More info" โ "Run anyway." The game needs no admin permission, installs nothing, and doesn't touch your Python or system. Source code.
๐งโ๐ป Prefer to run from source? (for developers)
- Get the code from GitHub (free, open-source โ no account, no payment, ever).
- Make sure you have Python installed.
- Install the libraries:
pip install moderngl pyglet numpy pillow sounddevice pydub - Run it:
cd loom2thenpython main.py
First time running a game like this? Our How It Works page walks you through everything in plain English.
โ Back to The Arcade