PlayPendium

Tempo Lock · Харч для думок

Коли клацання змовкає

Гра починається з клацання, яке задає темп, потім це клацання змовкає, і гравець має стукати в тому самому темпі крізь тихі такти.

Написано й відредаговано англійською. Цю українську версію створено машинним перекладом; там, де важлива точність, авторитетним є англійський оригінал. Читати оригінал англійською →

Будова раунду

Раунд у Tempo Lock будується з цілі, яка задає чотири речі: значення ударів за хвилину для темпу, кількість тактів, протягом яких грає клацання, кількість тихих тактів, що йдуть далі, і значення ударів на такт, тобто чисельник розміру. Рушій використовує ці поля, щоб побудувати весь раунд — від першого чутного удару до останнього тихого. Темп задає ходу клацання, чутні такти визначають, скільки гравець чує метроном, а тихі такти створюють виклик: утримати цей темп без клацання. Значення ударів на такт визначає, скільки ударів припадає на кожен такт, і гра встановлює його рівним 4, тобто чотиридольним, у кожному раунді. 3

Рушій обчислює з цілі кілька похідних величин, щоб підтримати систему підрахунку. Він обчислює тривалість удару як шістдесят тисяч, поділені на темп, що дає тривалість одного удару в мілісекундах. Він обчислює загальну кількість ударів як суму чутних і тихих тактів, помножену на кількість ударів на такт, що дає загальне число ударів, які гравець має простукати. Він обчислює початок тиші як добуток чутних тактів на кількість ударів на такт, і це позначає точний індекс удару, на якому клацання припиняється. Ці похідні величини утворюють математичний підмурок усього раунду. 3

Клацання відбиває цільовий темп протягом чутних тактів, потім змовкає, і гравець має стукати в тому самому темпі крізь тихі такти.

Клацання і тиша

Клацання — це чутний сигнал, що встановлює темп раунду. Воно звучить у цільовому темпі протягом чутних тактів, позначаючи кожен удар коротким звуком. Це клацання виконує роль метронома, видаючи чутний звук через рівні проміжки, хоча тут проміжок задає ціль раунду, а не гравець. Спершу лунає чотириударний відлік, а перший удар кожного такту дістає клацання вищого тону. Музиканти користуються метрономом, щоб грати або вправлятися в такт, тримаючи рівний темп і регулярну пульсацію. Клацання у грі виконує ту саму функцію під час чутної фази, даючи гравцеві орієнтир, з яким той звіряє свої удари. 2

Коли чутні такти закінчуються, клацання змовкає остаточно. Гравець більше не чує метронома і має продовжувати стукати в тому самому темпі крізь тихі такти. Ця тиша й створює головний виклик гри, бо гравець мусить утримувати темп у голові без зовнішнього орієнтира. Тиша не порожня: вона наповнена пам’яттю про темп і спробою гравця його втримати. Пізніше рахунок виміряє, наскільки добре гравець тримав темп під час тиші. 3

Сирі позначки часу й детермінованість

Рушій працює винятково з сирими позначками часу ударів, виміряними в мілісекундах. Кожен удар записується як абсолютне значення часу, і всі обчислення виводяться з цих позначок разом із ціллю. Та сама послідовність позначок часу завжди дає той самий результат, а це робить рушій детермінованим і придатним до тестування без годинника. Такий підхід усуває будь-яку неоднозначність з обчислень часу й забезпечує, що підрахунок буде однаковим у різних проходах з однаковими вхідними даними. 3

Функції підрахунку в рушії беруть на вхід сирі позначки часу ударів у мілісекундах разом із ціллю. Такий задум означає, що рушій можна тестувати наперед заданими послідовностями позначок часу, а виходи перевіряти, не запускаючи гру в реальному часі. Детермінованість поширюється й на генератор випадкових чисел із зерном, який обирає цільовий темп для кожного раунду. Задані зерно і складність щоразу дають ту саму ціль, а кожне правило, починаючи з цієї точки, можна перевірити тестом. 3

Рушій працює з сирими позначками часу ударів, тож ті самі удари завжди дають той самий результат.

Як темп відновлюють з ударів

Рушій відновлює оцінку темпу із середнього проміжку між послідовними ударами. Він обчислює міжударні проміжки, тобто різниці часу між кожним ударом і попереднім, а потім знаходить їхнє середнє, пропускаючи будь-який проміжок, що дорівнює нулю або є від’ємним; маючи менш ніж два удари, він не повідомляє темпу взагалі. Значення ударів за хвилину виводиться з цього середнього проміжку й дає міру темпу, який гравець утримував протягом простуканої послідовності. Ця функція працює незалежно від цільового темпу й дає об’єктивний вимір справжнього виконання гравця. 3

Відновлений темп показують на екрані результату як «Your tempo» («Ваш темп») поряд із цільовим, щоб гравець бачив, наскільки близько він потрапив у задану ходу. Обчислення спирається лише на сирі позначки часу, по всіх записаних ударах — і чутних, і тихих. Його подають суто для відома: сам рахунок обчислюють із дрейфу, а не з відновленого темпу. 3

Вимірювання дрейфу від сітки

Система підрахунку винагороджує гравця за те, що його удари тримаються близько до ідеальної метрономної сітки під час тихої фази. Ідеальна сітка складається з позицій ударів, які були б, якби метроном запустився на першому ударі гравця й далі йшов у цільовому темпі. Кожен удар зіставляють із найближчою ідеальною позицією удару, і різниця між ними є дрейфом цього удару. Зараховуються лише ті удари, чий найближчий удар припадає на тиху фазу, а що кожен зіставлено з найближчим ударом, жоден окремий удар не може дрейфувати більш ніж на пів удару. Кожен удар тихої фази, що лишився без стуку, зараховують як промах на пів удару, тобто найгірший випадок, і вкидають у те саме середнє, тож пропуски штовхають середній дрейф угору, а рахунок — донизу, і гравець, який у тиші не стукає нічого, дістає нуль. 3

Цей підхід через дрейф перетворює утримання темпу на вимірну величину. Рушій не просто перевіряє, чи потрапляють удари в якесь вікно: він вимірює точне відхилення від ідеальних позицій. Бездоганне утримання, з нульовим середнім дрейфом, дає 1000, а рахунок спадає прямою до 0 при середньому дрейфі в чверть удару, тож менший дрейф завжди дає вищий рахунок. Шкалу міряють в ударах, а не в мілісекундах, тож вона означає те саме за будь-якого темпу: при 120 ударах за хвилину чверть удару — це 125 мілісекунд, при 80 — 187,5. Чверть удару — це ще й те, що в середньому дає стукання навмання, тож випадкові удари заробляють майже нічого. Екран результату все ж повідомляє середній дрейф у мілісекундах і обертає рахунок на вирок: «Locked in!» («У замку!») при 850 і більше, «Tight.» («Щільно.») при 650 і більше, «Wobbly.» («Хитко.») при 350 і більше та «Lost the beat.» («Згубив пульс.») нижче за це. Так виникає неперервна шкала виконання замість двійкового «склав — не склав», що дозволяє тонко оцінювати точність відчуття часу. 3

Рахунок на основі дрейфу вимірює, наскільки точно гравець тримає темп під час тиші.

Заготовки складності

Гра пропонує три заготовки складності — Easy, Medium і Hard («легко», «середньо» і «важко»), — які змінюють діапазон темпу і кількість тихих тактів. Кожна заготовка дає чотири чутні такти. Easy бере темп між 70 і 100 ударами за хвилину й просить чотири тихі такти; Medium бере між 90 і 130 і просить шість; Hard бере між 110 і 170 і просить вісім. Ці заготовки дають гравцям вибір випробування — від спокійних темпів із короткими тихими ділянками до швидких темпів із довгими тихими утриманнями. 3

Заготовки працюють у тих самих детермінованих рамках, що й решта рушія. Кожна заготовка визначає ціль із конкретними значеннями полів, і рушій опрацьовує цю ціль так само, як будь-яку іншу. Складність криється в поєднанні темпу й кількості тихих тактів, яке задає, як швидко надходять удари і як довго гравець має тримати їх без клацання. Система підрахунку лишається однаковою для всіх заготовок, вимірюючи дрейф від ідеальної сітки незалежно від обраної складності, а що її шкалу задано в частках удару, однаковий рахунок означає ту саму відносну точність і на швидкому темпі Hard, і на повільному Easy. 3

Темп, що стоїть за грою

У музиці темп — це швидкість або хода даного твору, виміряна в ударах за хвилину. Темп 60 ударів за хвилину означає один удар на секунду, тоді як темп 120 ударів за хвилину вдвічі швидший і означає два удари щосекунди. Тривалість ноти, що припадає на удар, зазвичай та, яку вказує знаменник розміру. Темп можуть позначати італійськими ремарками — від повільних, як-от largo та andante, до швидких, як-от allegro та presto, — або метрономною позначкою з конкретним BPM. Темпові позначки можуть передавати настрій так само, як і швидкість, а темп не конче має бути сталим: композитор може написати accelerando, щоб пришвидшити, або ritardando, щоб уповільнити хід усередині твору 1. Гра використовує це поняття темпу як сталу величину, виміряну в ударах за хвилину, де цільовий bpm задає ходу всього раунду.

Темп у грі — це значення ударів за хвилину, яке відбиває клацання і яке має втримати гравець. Це єдине число, що визначає швидкість раунду, і воно стоїть у цілі поряд із кількостями тактів. Гравець стукає в цьому темпі, а рушій вимірює, наскільки добре він його тримає. Темп не змінюється протягом раунду: це сталий орієнтир, за яким оцінюють виконання гравця. 3

Метроном як пристрій

Метроном — це пристрій, що видає чутне клацання або інший звук через рівні проміжки, які може задати користувач, зазвичай в ударах за хвилину. Виконавці та співаки вправляються під нього, щоб тримати рівний темп і рівну пульсацію. Традиційний механічний метроном має маятник із тягарцем: пересування тягарця вгору по стрижню сповільнює темп, а вниз — пришвидшує, і механізм видає клацання з кожним хитанням. Johann Maelzel (Йоганн Мельцель) запатентував механічний метроном 1815 року й випускав його масово з 1816-го, спираючись на ранішу пружинну конструкцію з оберненим маятником, яку створив Dietrich Nikolaus Winkel (Дітріх Ніколаус Вінкель), і додавши числову шкалу темпу; сучасні метрономи бувають також кварцовими електронними пристроями та програмами 2.

Клацання у грі виконує роль метронома під час чутної фази, відбиваючи цільовий темп протягом чутних тактів. Воно дає рівний проміжок, з яким гравець має збігтися своїми ударами. Коли клацання змовкає, гравець має втримати той самий темп без пристрою, і це випробовує його здатність тримати темп усередині себе. Роль метронома у грі — встановити темп, а потім усунутися, лишивши гравця нести цей темп далі самотужки. 3

Ціль та її поля

Ціль — це центральна структура даних, що визначає кожен раунд. Вона містить чотири поля: темп в ударах за хвилину; кількість чутних тактів, протягом яких грає клацання; кількість тихих тактів, що йдуть далі; і кількість ударів на такт, тобто чисельник розміру, який дорівнює 4 для чотиридольного розміру. Разом ці поля визначають будову раунду — від кількості ударів у чутній фазі до кількості ударів у тихій. 3

Рушій використовує ціль, щоб обчислити всі похідні величини, які керують раундом. З темпу він виводить тривалість кожного удару в мілісекундах. З кількостей тактів і ударів на такт він виводить загальну кількість ударів і удар, на якому починається тиша. Ціль на час раунду незмінна, а отже темп і кількості тактів лишаються сталими протягом усього раунду. Гравець може відповісти на ціль тільки тим, щоб стукати у відповідному темпі й припасовувати свої удари до ідеальної сітки. 3

Від позначок часу до рахунку

Шлях від позначок часу ударів до підсумкового рахунку проходить чіткою послідовністю обчислень. Спершу гра записує кожен удар як мілісекундну позначку часу, нехтуючи ударами, зробленими раніше ніж за пів удару до кінця чотириударного відліку. Під час чутної фази гравець стукає разом із клацанням, виробляючи своє відчуття темпу. Коли клацання змовкає, гравець продовжує стукати крізь тихі такти. Далі рушій вимірює дрейф кожного удару тихої фази від ідеальної метрономної сітки, закріпленої на першому ударі, усереднює ці дрейфи, зараховуючи кожен непростуканий тихий удар як промах на пів удару, і відображає це середнє, взяте як частку удару, на рахунок від 0 до 1000. Поряд із рахунком він повідомляє темп, відновлений із середнього міжударного проміжку, і кількість ударів тихої фази. 3

Цей конвеєр цілком детермінований. За тих самих зерна і складності породжується та сама ціль. За тієї самої цілі й тих самих позначок часу ударів обчислюється той самий рахунок. Рушій не залежить ані від настінного часу, ані від будь-якого зовнішнього орієнтира: він залежить лише від позначок часу й цілі. Це робить систему і надійною, і придатною до тестування, бо кожен крок можна перевірити наперед заданими входами й очікуваними виходами. 3

Кожне правило в рушії можна перевірити тестом, а кожен результат визначають зерно, ціль і позначки часу.

Тиха фаза як вимірювання

Тиха фаза — це те місце, де відбувається вимірювання. Під час чутної фази клацання дає орієнтир, і гравець може припасовувати до нього свої удари. Під час тихої фази такого орієнтира немає, і удари гравця показують, наскільки добре він засвоїв темп. Рушій вимірює це засвоєння, порівнюючи кожен удар з ідеальною позицією удару, екстрапольованою від першого удару гравця в цільовому темпі. Різниця між ударом та ідеальною позицією і є дрейфом цього удару. 3

Тиха фаза — це також те місце, де задум гри виявляється найвиразніше. Клацання відбиває цільовий темп протягом чутних тактів, потім змовкає, і гравець має стукати в тому самому темпі крізь тихі такти. Тривалість тихої фази, яку визначають кількість тихих тактів і кількість ударів на такт, задає довжину періоду вимірювання. Довші тихі фази вимагають від гравця тримати темп більше ударів, а це збільшує шанс накопичення дрейфу. Система підрахунку вимірює дрейф для кожного удару тихої фази, стягує плату за кожен тихий удар, що лишився без стуку, і усереднює все це в підсумковий рахунок, тож маленька похибка темпу, що наростає протягом довгого утримання, штовхає середній дрейф угору, а рахунок — донизу. 3

Детермінованість із зерна

Уся система детермінована й починається з генератора випадкових чисел із зерном. Задане зерно щоразу дає ту саму ціль, а кожне правило, починаючи з цієї точки, можна перевірити тестом. Зерно визначає темп, який беруть як ціле число з діапазону обраної складності; кількості тактів походять із самої заготовки складності. Оскільки зерно і складність цілком визначають ціль, вони завжди дають ту саму будову раунду. Ця властивість поширюється й на підрахунок, бо ті самі позначки часу ударів проти тієї самої цілі завжди дають той самий рахунок. 3

Детермінованість із зерна служить і гравцеві, і розробникові. Для гравця вона означає, що раунди узгоджені й чесні: та сама послідовність ударів завжди дасть той самий результат. Режим Daily («Щоденний») виводить своє зерно з дати за UTC, тож усі, хто грає того дня на певній складності, дістають ту саму ціль, тоді як Practice («Тренування») бере для кожного раунду свіже випадкове зерно. Для розробника вона означає, що рушій можна ретельно тестувати наперед заданими зернами й послідовностями ударів. Детермінованість — це не обмеження, а перевага, що робить систему відліку часу в грі прозорою і надійною. 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