-
v0.9.3 Stable
released this
2026-08-23 07:09:41 +01:00 | 24 commits to main since this releaseA release about being able to see what the game is telling you. Balloons behave the way the
arcade's do rather than the way its source appeared to say, mines are bombs, and four of the
five things the playfield says in words — the song, the difficulty, the score, the judgement
— turned out to be set on grounds that could not carry them.Fixed
-
The song, its difficulty and the score are set on plates. They were small text laid
straight onto the header band, competing with a drifting wave pattern for the same pixels
— the playfield was the only screen in the game not putting a plate under a word that has
to be read over a pattern. All three now sit on one, in the dark slate the roll counter
already used rather than the song picker's brown, which belongs against the menus' warm
ground and reads as mud on cyan. The difficulty wears its own colour, the same one its
card wore in the picker. A title too long for the room is cut with an ellipsis rather than
run under the score. -
The lead-in call-out moved into the lane. "get ready" was dim grey text set above the
lane, in the band the gauge lives in — the one place nobody is looking while they wait for
the first note. It is now in the lane, at nearly half its height, cream over an ink
outline like every other word in the game, and it fades out over the last third of a
second instead of vanishing at zero. -
The judgement word is readable now. GOOD, OK, BAD and MISS were set flat, alone among
the words on the playfield, and placed where the reference places them — which works for
the reference, whose gauge is in a corner, and not for us, whose gauge runs the width of
that same band. The word was being drawn inside the gauge and its cells swallowed it. It
is two thirds larger, outlined like everything else in the game, and dropped far enough to
straddle the top of the lane, which is the darkest ground on the screen and the best thing
to read a light word against. MISS is lighter as well: at#905050it measured 2.9
against its own outline where the other three measure 5.3, 12.1 and 13.4. -
A letter shows beside the wheel while the song list is being crossed at speed. Holding
a direction long enough to reach the accelerated repeat puts a row past every 35 ms, which
is faster than a title can be read; the letter of the row the wheel is on now sits in the
margin beside it and fades away when the scrolling stops. A single press never shows it —
at that speed the bars say where you are and a letter over them would be noise. -
--frame-log <file>records where every frame's time went — audio refill, our own
update, issuing the drawing, and handing the frame over — one row per frame, written when
the song ends. A frames-per-second number cannot describe a stutter; this can say which
third of the frame it was in, which is usually the whole question. Off unless asked for. -
Two things drawn every frame that did not need to be. A title too long for its plate
was re-shortened a character at a time, sixty measurements a frame on this library's
longest title; it halves the interval now and takes seven. A mine's fuse was drawn in
twelve straight pieces, fifty draw calls a bomb on a chart with 360 of them; eight pieces
is where it stops reading as a curve. Together they were costing more than everything else
the playfield draws. -
Mines are drawn as bombs. They were a grey disc, which is the one thing a note the
player must not hit cannot afford to be — half a second on screen is not long enough to
read a note by its colour alone. The reference has always drawn a bomb with a lit fuse
(Graphics/5_Game/Mine.png, in every stock skin), so ours does too: a near-black body
measured off that sprite, the collar, the fuse's S traced against the sprite's own body
radius, and the spark at its tip. The body keeps our note's rings rather than the sprite's
flat black — our lane is#222, and a black ball on it is a hole. -
A balloon grows through six stages rather than five, opening at its smallest and
bursting at its widest whatever its target. OpenTaiko loads six frames per skin and
draws five of them: its threshold array is declared five long and its loop runsj < 5,
so the widest frame every stock skin ships is never reached. Its ladder also opens part of
the way up when the target is smaller than the frame count — a three-hit balloon starts at
frame 3, looking like one somebody already got to — and lets the first frame swallow the
remainder of an uneven division, so an eleven-hit balloon sits at its smallest for six of
its eleven hits. Ours divides instead: even across the target, ends pinned, and frames
skipped rather than omitted when there are fewer hits than frames. The sizes and colours are measured off Open-World
Memories' own sprites, against the note drawn into them — 0.91 to 2.15 note radii, deep
orange to near-white. That skin duplicates its second and third frames, so one of the six
steps stands still; the numbers are copied as they are rather than smoothed. -
Balloons hold at the hit zone, and inflate instead of deflating. They were drawn as a
long bar scrolling past like a drumroll, with a disc at the judge ring that started wide
and shrank as it was hit. Both are backwards. A balloon has no bar: from its head until
its end the note holds at the hit zone, and only when the span runs out does it let go and
leave with its tail. And it grows — the reference compares five thresholds against the
hits still needed, not the hits taken, so it opens small and deep orange and is at its
widest and palest through the last fifth before it bursts. It is now drawn as its sprites
are: the note, a neck, and a balloon swelling away to the right of it — and it is there
from the moment the note stops at the hit zone, not from the first hit — its count with
it, since a count that is a target is worth reading before you start rather than after.
The reference waits for a hit for both, which reads as the note vanishing on arrival and
something else appearing in its place. -
A drumroll's hits fly to the soul gauge like every other hit. They were the one
struck note that went nowhere: not being judged, they got no burst, no judgement and no
combo, so the flight was the only ordinary feedback left to them — and it was missing.
At sixteen hits a second the effect was that the drum appeared to stop answering for the
length of the roll. The flier is coloured by the surface struck and sized by the roll, as
the reference sends it, and it flashes the gauge when it lands like any other. Balloons
are deliberately left out: they answer a hit by deflating, and only the pop flies.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-