JINN PROJECT / GAME

Mandalizm.

Rhythm Game × Real-time Generative Art

Play a song, and the way you play it paints the picture.

Runs in a modern desktop browser. No install. Songs are not bundled — bring your own SongPack.

Mandalizm in play: wave seals converging on a lit mandala, with the score and the last judgement shown at the lower left.
BROWSER / WEBGL2PLAYABLE NOW2026

01 / ABOUT

The performance
is the picture.

Mandalizm is a rhythm game whose output is a piece of generative art. Waves rise with the music and converge on the centre; you meet them in time. Every judgement, position and moment feeds the renderer, so a run does not just score — it accumulates into an image that only that performance could have made.

RHYTHM

Read the wave,
meet the beat.

Waves converge on the mandala. Tap when they arrive. Judgement runs PERFECT / GREAT / GOOD / BAD / MISS, with early and late timing tracked separately.

GENERATIVE ART

Every hit is
a brush stroke.

The same events that are scored are handed to the visual engine. Ink spreads, pigment mixes, smoke drifts — the canvas keeps what happened rather than resetting each beat.

02 / HOW TO PLAY

From a song
to a picture.

  1. 01

    Import a SongPack

    Open the game and choose IMPORT SONGPACK. A pack holds the audio and its charts.

  2. 02

    Play

    Pick a difficulty and a wave speed, then meet the waves as they arrive.

  3. 03

    Watch it paint

    Your hits, misses and positions become the artwork while you play.

  4. 04

    Result

    Score, accuracy and timing, with the finished image behind it.

  5. 05

    Keep it

    Save the performance as data, record the screen, or re-render it as video.

No songs are included.

Mandalizm ships without music, because a SongPack carries the audio it was built from and the rights differ song by song. The first launch shows 0 songs — that is the normal starting state, not an error. Use IMPORT SONGPACK to load a pack, and the title screen becomes playable straight away.

Don’t have a SongPack? Download one generated by Mandalizm ↓

03 / VISUAL ART SYSTEM

One event,
many materials.

A wave is not drawn one fixed way. The same gameplay event can arrive as ink, as a watercolour wash, as smoke, as text, as geometry. Choosing the material changes what the run leaves behind — the rules of the game do not move.

MANDALARIPPLESMOKECODEMATHSUMIWATERCOLORINK_PAINTCOLLISION
INK_PAINT: opaque magenta, green and yellow pigment covering most of the field, with the mandala showing through in the middle.
INK_PAINTOpaque pigment. A hit throws a controlled splat, a miss bursts across the field, and the ink stays where it landed.
WATERCOLOR: translucent violet and teal washes layered over the mandala, which stays visible through the paint.
WATERCOLORThe same events as translucent wash. Layers stack instead of covering, and the mandala keeps showing through.
The in-game VISUAL panel showing the gameplay wave materials, selection mode, palette and recording controls, with the run continuing beside it.
Change it while you playThe VISUAL panel picks the material, how it is chosen, and the palette.

Gameplay waves and the background are separate.

The material used for the waves you play against is one setting. What fills the field behind them is another. They can be combined freely, so the same chart can be a quiet ink study or a dense collision field.

Waves can also be assigned a fixed material, shuffled, weighted, or chosen from what the music is doing at that moment.

04 / PALETTE

Colour is part
of the work.

A palette is not a UI theme. It decides the pigment the run is painted with, so the same chart played with the same material comes out as a different picture.

INK_PAINT with the PRIMARY palette: magenta, green and yellow pigment.
INK_PAINT · PRIMARYMagenta, green and yellow, meeting at hard edges.
INK_PAINT with the COOL palette: the same material in the same run, rendered in green, blue and violet.
INK_PAINT · COOLThe same material in the same run, one minute apart — only the palette changed.

PRIMARY · NEON · WARM · COOL · RANDOM — available on the pigment materials, INK_PAINT and WATERCOLOR.

05 / KEEP A RUN

Three different
things to save.

They are easy to confuse, so the game keeps them apart — and so does this page.

DATA

Replay JSON

What you did: the inputs and judgements of a performance, saved as a small JSON file. Load it back to replay the run, or feed it to the exporter.

SAVE / LOAD REPLAY JSON
REAL TIME

Live Recording

What the screen showed: the canvas and the song captured as they happen, at 30 or 60 fps, with the audio branched from what you hear.

START RECORD → DOWNLOAD
OFFLINE

Video Export

A re-render: the replay drawn again frame by frame, away from real time, up to 4K with the audio muxed in.

EXPORT VIDEO
The result screen with the replay controls, the recording controls and the export panel shown as three separate groups.
All three, on the result screenReplay, recording and export sit in separate groups so a saved performance is never mistaken for a saved video.

06 / GENERATED SONGPACKS

Generated by Mandalizm.
Ready to import.

These are not hand-authored charts. Mandalizm interpreted the music and generated the playable charts automatically. Download a SongPack, open Mandalizm, and choose IMPORT SONGPACK.

AUTO GENERATED

名言っぽくしただけですが何か?

Generated SongPack · 41.16 MB

Download SongPack ↓
About these packs

Auto-generation is part of the project: the machine decides how the music becomes gameplay. Timing and generation may continue to change as the engine develops.

07 / TECHNICAL NOTES

What it needs,
and what it cannot do yet.

Requirements

  • A modern desktop browser. Developed and verified on Chrome.
  • WebGL2 and Web Audio for play.
  • MediaRecorder for live recording; without it, only recording is unavailable.
  • WebCodecs for offline video export; without it, only export is unavailable.

Known limitations

  • Songs are not bundled. Import a SongPack to play.
  • CREATE SONG generates charts with the local Python chart engine, which the public site cannot reach. Local chart engine required.
  • Offline export stops at roughly 6,300 frames — about 105 s at 60 fps, or 210 s at 30 fps.
  • Use live recording to capture a full-length song.
  • Narrow layouts have been checked, but touch play has not been tuned.

08 / PLAY

Bring a song.
Leave with a picture.

Source-available, all rights reserved. See the repository for the licence.