• v0.2.0 b765f5e894

    v0.2.0 Stable

    joe released this 2026-08-15 19:29:47 +01:00 | 71 commits to main since this release

    Added

    • Controller support, in the arcade layout: every face button is the drum — d-pad for the
      left hand, A/B/X/Y for the right — and the shoulders are the rim, L1/L2 left and R1/R2
      right. The pad drives the menus as well as the drumming.

    • A calibration screen (press C in song select). Tap along with a metronome and it
      takes the median of your errors rather than asking you to guess a number in milliseconds.
      It shows the spread and warns when the reading was too inconsistent to trust.

    • A config file at ~/.config/taiko/config.toml, written on first run with comments:
      key and gamepad bindings, latency offset, note colours, volumes, and video settings.
      --list-keys prints every accepted name.

    • --calibrate to go straight to calibration, and --list-keys.

    • Scores are saved. Best score and clear grade per chart and difficulty, kept in
      ~/.local/share/taiko/scores.json and shown in the difficulty picker and on the results
      screen. Records are keyed on the song's uniqueID.json id rather than its path, so
      reorganising a library does not lose your history.

    • The results screen says when a run set a new best, and what the previous bar was.

    Notes

    • Gamepad devices are listed at startup, and input.gamepad_index chooses between them.
      Many devices enumerate as gamepads without being one — a keyboard's HID control device and
      a headset both showed up during development — so the right index is rarely obvious and
      never guessable.
    • Calibration accepts at most one tap per beat, ignores input for the first moments after the
      screen opens, and rate-limits taps. A calibration that completes itself from spurious input
      and silently saves a nonsense offset is far worse than one that refuses to finish.
    • The save file is written to a temporary file and renamed over the target, so an
      interrupted save cannot destroy an existing history.
    • A corrupt save file is reported and skipped rather than refusing to start the game.
    • Nothing is ever written into a song library — verified, not merely intended.
    Downloads
  • v0.1.0 13064613c2

    v0.1.0 Stable

    joe released this 2026-08-15 17:20:24 +01:00 | 76 commits to main since this release

    First release. Browsable, playable, and scored the same way OpenTaiko scores it.

    Plays charts

    • Reads .tja charts and their audio in place, without converting or modifying anything.
      Parses 506 of 506 charts in the reference library — every one, including the awkward
      cases: fractional levels, #BRANCHSTART branches, #DELAY running time backwards, and
      courses holding a Single chart plus a Double pair.
    • Don, ka, big notes, rolls, balloons, mines and ADLIBs. Unsupported features are skipped
      rather than failing a load, and what was skipped is recorded rather than swallowed.
    • Judgement at the reference windows: GOOD/OK/BAD at ±25/75/108 ms on Hard and above,
      ±42/108/125 ms on Easy and Normal.
    • Score matches OpenTaiko exactly — verified against four of its own recorded best plays,
      to the point, across three difficulties and two songs.
    • Soul gauge, combo counter, and a results screen.

    Song select

    • Browse a library by category with box art, per-difficulty levels, and song metadata.
    • Nested category trees and flat folders of song folders both work.
    • Several libraries at once via repeated --songs, so an existing collection and your own
      charts sit side by side without copying either.

    Timing

    • The audio clock is smoothed against a monotonic clock, because raylib's music position
      advances in 10.66 ms steps — coarser than a single frame at 144 Hz. Measured on real
      hardware: 0.076 ms p99 per-frame error against 3.739 ms raw, and 0.010 ms of drift
      over three minutes.
    • Frame rate defaults to the monitor's refresh with V-Sync off.
    • Requests a small audio buffer at startup.

    Paths

    • Content is found from a content root: --base, $TAIKO_BASE, the directory holding the
      executable, then ~/.local/share/taiko. A copied folder is a self-contained install.
    • Scores and config always go to ~/.local/share/taiko and ~/.config/taiko, never into
      the content root, which may be read-only or belong to another game.
    • Every resolved path is printed at startup.

    Known limits

    • No calibration screen, so a constant early/late offset is expected and varies with
      audio hardware. Coming in the timing work.
    • Scores are not saved between runs yet.
    • No song preview audio in the menu.
    • Branching charts play their normal branch only; Dan-i Dojo, Taiko Towers, double play,
      background video and lyrics are out of scope for now.
    • Japanese titles render as ? — the built-in font has no CJK coverage.
    • Input is polled per frame, quantising hit times to roughly 7 ms at 144 Hz.
    • Linux x86_64 only.
    Downloads