PlayPendium

Tempo Lock · Żywność dla myśli

Gdy klik milknie

Gra zaczyna się od kliku, który wyznacza tempo, potem ten klik milknie, a gracz musi wystukiwać to samo tempo przez ciche takty.

Napisane i zredagowane po angielsku. Ta polska wersja powstała w wyniku tłumaczenia maszynowego; tam, gdzie liczy się precyzja, rozstrzygający jest angielski oryginał. Przeczytaj oryginał po angielsku →

Budowa rundy

Runda w Tempo Lock powstaje z celu, który określa cztery rzeczy: wartość tempa w uderzeniach na minutę, liczbę taktów, przez które gra klik, liczbę cichych taktów następujących po nich oraz liczbę uderzeń w takcie, czyli licznik oznaczenia metrum. Silnik korzysta z tych pól, by zbudować całą rundę, od pierwszego słyszalnego uderzenia po ostatnie ciche. Tempo ustala szybkość kliku, takty słyszalne decydują, jak długo gracz słyszy metronom, a takty ciche stawiają wyzwanie utrzymania tego tempa bez kliku. Liczba uderzeń w takcie określa, ile uderzeń przypada na każdy takt, i gra ustawia ją w każdej rundzie na 4, czyli metrum 4/4 (common time). 3

Silnik wylicza z celu kilka wartości pochodnych, na których opiera się system punktacji. Oblicza długość uderzenia jako sześćdziesiąt tysięcy podzielone przez tempo, co daje czas trwania pojedynczego uderzenia w milisekundach. Oblicza łączną liczbę uderzeń jako sumę taktów słyszalnych i cichych pomnożoną przez liczbę uderzeń w takcie, co daje całkowitą liczbę uderzeń, które gracz musi wystukać. Oblicza początek ciszy jako liczbę taktów słyszalnych pomnożoną przez liczbę uderzeń w takcie, co wyznacza dokładny indeks uderzenia, przy którym klik przestaje grać. Te wartości pochodne tworzą matematyczny fundament całej rundy. 3

Klik gra tempo celu przez takty słyszalne, po czym milknie, a gracz musi wystukiwać to samo tempo przez takty ciche.

Klik i cisza

Klik to słyszalny sygnał, który ustanawia tempo rundy. Gra w tempie celu przez czas trwania taktów słyszalnych, znacząc krótkim dźwiękiem każde uderzenie. Klik pełni funkcję metronomu, wydając słyszalny dźwięk w równych odstępach, choć tutaj odstęp wyznacza cel rundy, a nie gracz. Najpierw rozbrzmiewa czterouderzeniowe odliczenie, a pierwsze uderzenie każdego taktu dostaje klik o wyższej wysokości. Muzycy używają metronomu, by grać lub ćwiczyć w rytmie, utrzymując stałe tempo i równe uderzenia. Klik w grze pełni tę samą funkcję w fazie słyszalnej, dając graczowi punkt odniesienia, do którego dopasowuje swoje stuknięcia. 2

Gdy takty słyszalne się kończą, klik milknie całkowicie. Gracz nie słyszy już metronomu i musi stukać dalej w tym samym tempie przez takty ciche. Ta cisza tworzy zasadnicze wyzwanie gry, bo gracz musi utrzymać tempo w głowie bez zewnętrznego odniesienia. Cisza nie jest pusta; wypełnia ją pamięć tempa i próba jego utrzymania podejmowana przez gracza. Wynik zmierzy później, jak dobrze gracz utrzymał to tempo podczas ciszy. 3

Surowe znaczniki czasu i determinizm

Silnik działa wyłącznie na surowych znacznikach czasu stuknięć mierzonych w milisekundach. Każde stuknięcie zapisywane jest jako bezwzględna wartość czasu, a wszystkie obliczenia wynikają z tych znaczników wraz z celem. Ta sama sekwencja znaczników czasu zawsze daje ten sam wynik, co czyni silnik deterministycznym i testowalnym bez zegara. Takie podejście usuwa wszelką dwuznaczność z obliczeń czasowych i zapewnia, że punktacja jest spójna między różnymi przebiegami przy tych samych danych wejściowych. 3

Funkcje punktujące w silniku przyjmują na wejściu surowe znaczniki czasu stuknięć w milisekundach wraz z celem. Taka konstrukcja oznacza, że silnik można testować z góry ustalonymi sekwencjami znaczników czasu, a wyniki można sprawdzić bez uruchamiania gry w czasie rzeczywistym. Determinizm rozciąga się na generator liczb pseudolosowych z ziarnem, który wybiera tempo celu dla każdej rundy. Dane ziarno i poziom trudności za każdym razem ustalają ten sam cel, a od tego miejsca każda reguła jest testowalna. 3

Silnik pracuje na surowych znacznikach czasu stuknięć, więc te same stuknięcia zawsze dają ten sam wynik.

Odtwarzanie tempa ze stuknięć

Silnik odtwarza oszacowanie tempa ze średniego odstępu między kolejnymi stuknięciami. Wylicza odstępy międzystuknięciowe, czyli różnice czasu między każdym stuknięciem a poprzednim, a następnie liczy ich średnią, pomijając odstępy zerowe lub ujemne; przy mniej niż dwóch stuknięciach nie podaje tempa w ogóle. Z tego średniego odstępu wyprowadzana jest wartość uderzeń na minutę, dająca miarę tempa, które gracz utrzymywał w wystukanej sekwencji. Ta funkcja działa niezależnie od tempa celu i dostarcza obiektywnego pomiaru rzeczywistego wykonania gracza. 3

Odtworzone tempo pojawia się na ekranie wyniku jako „Your tempo” („twoje tempo”) obok tempa celu, dzięki czemu gracz widzi, jak blisko trafił w zamierzone tempo. Obliczenie opiera się wyłącznie na surowych znacznikach czasu, obejmując wszystkie zarejestrowane stuknięcia, ze słyszalnej i z cichej części rundy. Podawane jest jedynie informacyjnie: sam wynik liczony jest z dryfu, a nie z odtworzonego tempa. 3

Pomiar dryfu względem siatki

System punktacji nagradza gracza za utrzymywanie stuknięć blisko idealnej siatki metronomu w fazie ciszy. Idealna siatka składa się z pozycji uderzeń, które wypadłyby, gdyby metronom ruszył od pierwszego stuknięcia gracza i szedł dalej w tempie celu. Każde stuknięcie zostaje przypisane do najbliższej idealnej pozycji uderzenia, a różnica między nimi jest dryfem tego stuknięcia. Liczą się tylko stuknięcia, których najbliższe uderzenie wypada w fazie ciszy, a ponieważ każde jest przypisywane do najbliższego uderzenia, żadne pojedyncze stuknięcie nie może zdryfować o więcej niż pół uderzenia. Każde uderzenie fazy ciszy pozostawione bez stuknięcia jest liczone jako pudło o pół uderzenia, czyli przypadek najgorszy z możliwych, i wliczane do tej samej średniej, więc pomijanie uderzeń podnosi średni dryf i obniża wynik, a gracz, który w ciszy nie stuknie ani razu, dostaje zero. 3

To podejście oparte na dryfie zamienia utrzymywanie tempa w wielkość mierzalną. Silnik nie sprawdza po prostu, czy stuknięcia mieszczą się w jakimś oknie; mierzy dokładne odchylenie od idealnych pozycji. Idealne utrzymanie, przy zerowym średnim dryfie, daje 1000 punktów, a wynik spada po linii prostej do 0 przy średnim dryfie równym ćwierci uderzenia, więc mniejszy dryf zawsze daje wyższy wynik. Skala mierzona jest w uderzeniach, a nie w milisekundach, więc znaczy to samo w każdym tempie: przy 120 uderzeniach na minutę ćwierć uderzenia to 125 milisekund, przy 80 — 187,5. Ćwierć uderzenia to zarazem średnia przy stukaniu na chybił trafił, więc losowe stukanie daje mniej więcej nic. Ekran wyniku i tak podaje średni dryf w milisekundach oraz zamienia wynik w werdykt: „Locked in!” („zgrany co do uderzenia”) od 850 wzwyż, „Tight.” („ciasno”) od 650, „Wobbly.” („chwiejnie”) od 350, a poniżej „Lost the beat.” („zgubione tempo”). Tworzy to ciągłą skalę wykonania zamiast zero-jedynkowego zaliczenia lub nie, co pozwala na drobnoziarnistą ocenę precyzji czasowej. 3

Wynik oparty na dryfie mierzy, jak precyzyjnie gracz utrzymuje tempo podczas ciszy.

Ustawienia trudności

Gra oferuje trzy ustawienia trudności — Easy (łatwy), Medium (średni) i Hard (trudny) — które różnicują zakres tempa i liczbę cichych taktów. Każde ustawienie daje cztery takty słyszalne. Easy losuje tempo między 70 a 100 uderzeń na minutę i żąda czterech cichych taktów; Medium losuje między 90 a 130 i żąda sześciu; Hard losuje między 110 a 170 i żąda ośmiu. Te ustawienia dają graczom wybór wyzwania, od łagodnych temp z krótkimi odcinkami ciszy po szybkie tempa z długim utrzymywaniem w ciszy. 3

Ustawienia działają w tych samych deterministycznych ramach co reszta silnika. Każde ustawienie definiuje cel o konkretnych wartościach pól, a silnik przetwarza ten cel dokładnie tak, jak każdy inny. Trudność tkwi w połączeniu tempa i liczby cichych taktów, które przesądza o tym, jak szybko następują uderzenia i jak długo gracz musi je utrzymać bez kliku. System punktacji pozostaje taki sam we wszystkich ustawieniach, mierząc dryf od idealnej siatki niezależnie od wybranej trudności, a ponieważ jego skala wyrażona jest w ułamkach uderzenia, dany wynik oznacza tę samą względną precyzję przy szybkim tempie Hard, co przy wolnym Easy. 3

Tempo, które stoi za grą

W muzyce tempo to szybkość danego utworu, mierzona w uderzeniach na minutę. Tempo 60 uderzeń na minutę oznacza jedno uderzenie na sekundę, a tempo 120 uderzeń na minutę jest dwa razy szybsze i oznacza dwa uderzenia na sekundę. Wartość rytmiczna każdego uderzenia jest zwykle ta, którą wskazuje mianownik oznaczenia metrum. Tempo bywa podawane włoskimi określeniami, od wolnych, jak largo i andante, po szybkie, jak allegro i presto, albo znakiem metronomicznym podającym konkretne BPM. Określenia tempa mogą nieść nie tylko szybkość, lecz i nastrój, a tempo nie musi być stałe: kompozytor może zapisać accelerando, by przyspieszyć, albo ritardando, by zwolnić w obrębie utworu 1. Gra korzysta z tego pojęcia tempa jako wartości stałej mierzonej w uderzeniach na minutę, a docelowe BPM wyznacza szybkość całej rundy.

Tempo w grze to wartość uderzeń na minutę, którą gra klik i którą gracz ma utrzymać. To pojedyncza liczba definiująca szybkość rundy, pojawiająca się w celu obok liczby taktów. Gracz stuka w tym tempie, a silnik mierzy, jak dobrze je utrzymuje. Tempo nie zmienia się w trakcie rundy; jest stałym punktem odniesienia, względem którego ocenia się wykonanie gracza. 3

Urządzenie zwane metronomem

Metronom to urządzenie wydające słyszalny klik lub inny dźwięk w równych odstępach, które użytkownik może ustawić, zwykle w uderzeniach na minutę. Instrumentaliści i śpiewacy ćwiczą przy nim, by utrzymać stałe tempo i równe uderzenia. Tradycyjny metronom mechaniczny wykorzystuje wahadło z obciążnikiem: przesunięcie ciężarka w górę pręta zwalnia tempo, a przesunięcie w dół je przyspiesza, mechanizm zaś wydaje klik przy każdym wychyleniu. Johann Maelzel opatentował metronom mechaniczny w 1815 roku i produkował go masowo od 1816, opierając się na wcześniejszej sprężynowej konstrukcji z odwróconym wahadłem autorstwa Dietricha Nikolausa Winkla i dodając liczbową skalę temp; współczesne metronomy występują też jako urządzenia elektroniczne kwarcowe i jako oprogramowanie 2.

Klik w grze pełni w fazie słyszalnej funkcję metronomu, grając tempo celu przez takty słyszalne. Daje równy odstęp, który gracz musi trafić swoimi stuknięciami. Gdy klik milknie, gracz musi utrzymać to samo tempo bez urządzenia, co sprawdza jego zdolność do utrzymania tempa wewnętrznie. Rola metronomu w grze polega na tym, by ustanowić tempo, a potem się usunąć, zostawiając graczowi samodzielne poniesienie tego tempa dalej. 3

Cel i jego pola

Cel to centralna struktura danych definiująca każdą rundę. Zawiera cztery pola: tempo w uderzeniach na minutę; liczbę taktów słyszalnych, przez które gra klik; liczbę następujących po nich taktów cichych; oraz liczbę uderzeń w takcie, czyli licznik oznaczenia metrum, który wynosi 4 dla metrum 4/4. Pola te razem wyznaczają budowę rundy, od liczby uderzeń w fazie słyszalnej po liczbę uderzeń w fazie ciszy. 3

Silnik używa celu, by wyliczyć wszystkie wartości pochodne rządzące rundą. Z tempa wyprowadza czas trwania każdego uderzenia w milisekundach. Z liczby taktów i liczby uderzeń w takcie wyprowadza łączną liczbę uderzeń oraz uderzenie, przy którym zaczyna się cisza. Cel jest dla rundy ustalony, co oznacza, że tempo i liczby taktów pozostają stałe przez cały czas. Gracz może odpowiedzieć na cel wyłącznie stukaniem we właściwym tempie i takim rozłożeniem stuknięć, by trafiały w idealną siatkę. 3

Od znaczników czasu do wyniku

Droga od znaczników czasu stuknięć do końcowego wyniku biegnie przez wyraźny ciąg obliczeń. Najpierw gra zapisuje każde stuknięcie jako milisekundowy znacznik czasu, pomijając stuknięcia wykonane wcześniej niż pół uderzenia przed końcem czterouderzeniowego odliczenia. W fazie słyszalnej gracz stuka razem z klikiem, wyrabiając sobie wyczucie tempa. Gdy klik milknie, gracz stuka dalej przez takty ciche. Następnie silnik mierzy dryf każdego stuknięcia z fazy ciszy względem idealnej siatki metronomu zakotwiczonej na pierwszym stuknięciu, uśrednia te dryfy, licząc każde niestuknięte ciche uderzenie jako pudło o pół uderzenia, i odwzorowuje tę średnią, wziętą jako ułamek uderzenia, na wynik od 0 do 1000. Obok wyniku podaje tempo odtworzone ze średniego odstępu międzystuknięciowego oraz liczbę stuknięć z fazy ciszy. 3

Ten proces jest w pełni deterministyczny. Przy tym samym ziarnie i tej samej trudności generowany jest ten sam cel. Przy tym samym celu i tych samych znacznikach czasu stuknięć obliczany jest ten sam wynik. Silnik nie zależy od czasu zegarowego ani od żadnego zewnętrznego odniesienia; zależy wyłącznie od znaczników czasu i od celu. Czyni to system zarazem niezawodnym i testowalnym, bo każdy krok można sprawdzić przy z góry ustalonych danych wejściowych i oczekiwanych wynikach. 3

Każda reguła w silniku jest testowalna, a każdy rezultat wyznaczają ziarno, cel i znaczniki czasu.

Faza ciszy jako pomiar

To w fazie ciszy odbywa się pomiar. W fazie słyszalnej klik daje odniesienie i gracz może dostroić do niego swoje stuknięcia. W fazie ciszy takiego odniesienia nie ma, a stuknięcia gracza pokazują, jak dobrze przyswoił sobie tempo. Silnik mierzy to przyswojenie, porównując każde stuknięcie z idealną pozycją uderzenia ekstrapolowaną od pierwszego stuknięcia gracza w tempie celu. Różnica między stuknięciem a idealną pozycją jest dryfem tego stuknięcia. 3

Faza ciszy jest też miejscem, w którym zamysł gry widać najwyraźniej. Klik gra tempo celu przez takty słyszalne, po czym milknie, a gracz musi wystukiwać to samo tempo przez takty ciche. Długość fazy ciszy, wyznaczona przez liczbę cichych taktów i liczbę uderzeń w takcie, ustala długość okresu pomiaru. Dłuższe fazy ciszy wymagają od gracza utrzymania tempa przez więcej uderzeń, co zwiększa szansę na nawarstwienie się dryfu. System punktacji mierzy dryf każdego stuknięcia z fazy ciszy, obciąża każde ciche uderzenie pozostawione bez stuknięcia i uśrednia całość w końcowy wynik, więc niewielki błąd tempa, który narasta przez długie utrzymywanie, podnosi średni dryf i obniża wynik. 3

Determinizm z ziarna

Cały system jest deterministyczny, wychodząc od generatora liczb pseudolosowych z ziarnem. Dane ziarno za każdym razem ustala ten sam cel, a od tego miejsca każda reguła jest testowalna. Ziarno wyznacza tempo, losowane jako liczba całkowita z zakresu wybranej trudności; liczby taktów pochodzą z samego ustawienia trudności. Ponieważ ziarno i trudność w pełni wyznaczają cel, zawsze dają tę samą budowę rundy. Własność ta rozciąga się również na punktację, bo te same znaczniki czasu stuknięć przy tym samym celu zawsze dają ten sam wynik. 3

Determinizm z ziarna służy zarówno graczowi, jak i twórcy. Dla gracza oznacza, że rundy są spójne i uczciwe; ta sama sekwencja stuknięć zawsze da ten sam rezultat. Tryb Daily (codzienny) wyprowadza ziarno z daty w czasie UTC, więc wszyscy grający danego dnia na danym poziomie trudności dostają ten sam cel, podczas gdy Practice (tryb treningowy) losuje świeże ziarno do każdej rundy. Dla twórcy oznacza, że silnik da się gruntownie przetestować z góry ustalonymi ziarnami i sekwencjami stuknięć. Determinizm nie jest ograniczeniem; jest cechą, która czyni system czasowy gry przejrzystym i niezawodnym. 3

Sources & notes

  1. "Tempo," Wikipedia, in music, tempo is the speed or pace of a given composition, measured in beats per minute (BPM): a tempo of 60 beats per minute signifies one beat per second, while a tempo of 120 beats per minute is twice as rapid, signifying two beats every second. The note value of each beat is typically the one indicated by the denominator of the time signature. Tempo may be indicated by Italian markings, from slow ones such as largo and andante (at a walking pace) to fast ones such as allegro and presto, or by a metronome mark giving a specific BPM. Tempo markings can convey mood as well as speed, and a tempo need not be fixed: a composer may write an accelerando to speed up or a ritardando to slow down within a piece. en.wikipedia.org/wiki/Tempo.
  2. "Metronome," Wikipedia, a device that produces an audible click or other sound at a uniform interval that can be set by the user, typically in beats per minute. Musicians use a metronome to play or practise in time, keeping a steady tempo and a regular beat. A traditional mechanical metronome uses a weighted pendulum: sliding the weight up the rod slows the tempo and sliding it down speeds it up, and the mechanism produces a click with each swing. Johann Maelzel patented a mechanical metronome in 1815 and mass-produced it from 1816, building on an earlier spring-powered, inverted-pendulum design by Dietrich Nikolaus Winkel and adding a numerical tempo scale; modern metronomes also come as quartz electronic devices and software. en.wikipedia.org/wiki/Metronome.
  3. Tempo Lock game engine: a pure, deterministic timing engine with no audio and no DOM. A target sets a tempo in beats per minute, a number of audible bars while a click plays, a number of silent bars to hold after it stops, and a beats-per-bar time-signature numerator (4 for 4/4). The click plays the target tempo for the audible bars, then cuts out, and the player must keep tapping the same tempo through the silent bars. The beat length in milliseconds is sixty thousand divided by the tempo; the total beat count is the audible plus silent bars times the beats per bar; and the silent phase starts at the audible bars times the beats per bar. The scoring functions take raw tap timestamps in milliseconds together with the target, so the same inputs always give the same result and the engine is testable without a clock. The tempo is recovered from the average interval between taps. Drift is the average distance of silent-phase taps from the nearest beat of an ideal grid anchored on the first tap and stepped at the target tempo; each silent-phase beat without a tap counts as a miss of half a beat, and with fewer than two taps the drift is half a beat. The score is 1000 at zero drift, falling linearly to 0 at a quarter of a beat, so the scale is relative to the tempo; the result grades are “Locked in!” at 850 or more, “Tight.” at 650 or more, “Wobbly.” at 350 or more, and “Lost the beat.” below that. Difficulty presets: Easy 70–100 BPM with 4 audible and 4 silent bars, Medium 90–130 with 4 and 6, Hard 110–170 with 4 and 8. The tempo is drawn from a seeded random number generator; Daily mode seeds it from the UTC date, Practice from a random number. Read from the game’s own source.
  4. Further reading on Metronome, Re-examining Czerny’s and Moscheles’s Metronome Marks for Beethoven’s Piano Sonatas. doi.org.
  5. Further reading on Metronome, Turn the Beat On: An Evidenced-Based Practice Journey Implementing Metronome Use in Emergency Department Cardiac Arrest . pubmed.ncbi.nlm.nih.gov.
Was this worth reading?
Play Tempo Lock
PlayPendium · About · Contact · Privacy · Terms · Cookies · Accessibility · Copyright · Browse all games · Classic arcade games · © 2026