โ–ถ PLAYABLE

๐ŸŽต 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.

LOOM2 โ€” Sonifiquation hero art: a mathematical surface of peaks and valleys with a glowing Listening Totem planted in the landscape; to the right, the Sonifiquation Coordinates helix showing the orchestral neighborhood as brass/strings/woodwinds seated around the coil

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.

Loom (1990) โ€” the original
Then โ€” the original Loom (1990)
LOOM2 โ€” Sonifiquation: a player's Listening Totem on a terrain surface, the helix panel showing the orchestra
Now โ€” LOOM2 โ€” Sonifiquation

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:

โค๏ธ 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)

๐Ÿ–ฑ๏ธ Girlfriend (mouse)

๐ŸŽฎ Shared

๐ŸŽฎ Gamepad (joystick + Xbox controller)

๐Ÿ›ก๏ธ 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:

  1. Download the Windows .zip.
  2. Right-click it โ†’ Extract Allโ€ฆ
  3. Open the extracted folder.
  4. Double-click "LOOM2.exe" โ€” that's it! ๐ŸŽ‰
  5. 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)

  1. Get the code from GitHub (free, open-source โ€” no account, no payment, ever).
  2. Make sure you have Python installed.
  3. Install the libraries: pip install moderngl pyglet numpy pillow sounddevice pydub
  4. Run it: cd loom2 then python main.py

First time running a game like this? Our How It Works page walks you through everything in plain English.

โ–ถ Playable — the full 13-scene campaign is live ๐Ÿ”“ Free & open-source Contribute on GitHub โ†’
โ† Back to The Arcade