Tempo Lock · Pagkain para sa Pag-iisip
Pagkatapos Mawala ang Click
Nagsisimula ang laro sa isang click na nagtatakda ng tempo, pagkatapos ay natatahimik ang click na iyon, at dapat ipagpatuloy ng manlalaro ang pag-tap sa parehong tempo sa buong tahimik na mga bar.
Isinulat at in-edit sa Ingles. Ang bersyong Filipino na ito ay ginawa sa pamamagitan ng machine translation; kung saan mahalaga ang katumpakan, ang orihinal na Ingles ang awtoritatibo. Basahin ang orihinal sa Ingles →
Ang Istruktura ng Isang Round
Ang isang round sa Tempo Lock ay itinatayo mula sa isang target na tumutukoy sa apat na bagay: isang halagang beats-per-minute para sa tempo, isang bilang ng mga bar kung kailan tumutugtog ang click, isang bilang ng tahimik na bar na susunod, at ang halagang beats-per-bar, ang numerador ng time signature. Ginagamit ng engine ang mga field na ito upang buuin ang buong round mula sa unang naririnig na beat hanggang sa huling tahimik na beat. Itinatakda ng tempo ang bilis ng click, tinutukoy ng mga naririnig na bar kung gaano katagal naririnig ng manlalaro ang metronome, at itinatakda ng mga tahimik na bar ang hamon ng pagpapanatili sa tempong iyon nang walang click. Tinutukoy ng halagang beats-per-bar kung ilang beat ang nasa bawat bar, at itinatakda ito ng laro sa 4, ang common time, sa bawat round. 3
Kinakalkula ng engine ang ilang hinangong halaga mula sa target upang suportahan ang sistema ng pag-iiskor. Kinukuwenta nito ang haba ng beat bilang animnapung libo hinati sa tempo, na nagbibigay ng tagal ng iisang beat sa milisegundo. Kinukuwenta nito ang kabuuang bilang ng beat bilang ang suma ng naririnig at tahimik na mga bar na minultiplika sa beats per bar, na nagbibigay ng kabuuang bilang ng beat na dapat i-tap ng manlalaro. Kinukuwenta nito ang simula ng katahimikan bilang ang naririnig na mga bar na minultiplika sa beats per bar, na nagmamarka sa eksaktong indeks ng beat kung saan huminto sa pagtugtog ang click. Ang mga hinangong halagang ito ang bumubuo sa pundasyong matematikal ng buong round. 3
Ang Click at ang Katahimikan
Ang click ang naririnig na senyas na nagtatatag ng tempo para sa round. Tumutugtog ito sa target na tempo sa buong tagal ng naririnig na mga bar, na minamarkahan ang bawat beat ng isang maikling tunog. Gumagana ang click na ito bilang metronome, na gumagawa ng naririnig na tunog sa pantay na agwat, bagama't dito ay itinatakda ng target ng round ang agwat sa halip na ng manlalaro. May apat na beat na count-in na tumutugtog muna, at ang unang beat ng bawat bar ay may mas mataas ang tono na click. Gumagamit ang mga musikero ng metronome upang tumugtog o mag-ensayo nang nasa tiyempo, na pinapanatili ang matatag na tempo at regular na beat. Ganito rin ang silbi ng click sa laro sa yugtong naririnig, na nagbibigay ng sanggunian na dapat tugmaan ng manlalaro sa kanyang mga tap. 2
Kapag natapos ang naririnig na mga bar, tuluyang nawawala ang click. Hindi na naririnig ng manlalaro ang metronome at dapat ipagpatuloy ang pag-tap sa parehong tempo sa buong tahimik na mga bar. Ang katahimikang ito ang lumilikha ng pangunahing hamon ng laro, dahil dapat hawakan ng manlalaro ang tempo sa kanyang isipan nang walang panlabas na sanggunian. Hindi walang laman ang katahimikan; puno ito ng alaala ng tempo at ng pagtatangka ng manlalaro na panatilihin ito. Susukatin mamaya ng iskor kung gaano kahusay hinawakan ng manlalaro ang tempong iyon sa katahimikan. 3
Hilaw na Timestamp at Determinismo
Ganap na gumagana ang engine mula sa hilaw na mga timestamp ng tap na sinusukat sa milisegundo. Ang bawat tap ay itinatala bilang isang absolutong halaga ng oras, at ang lahat ng kalkulasyon ay nagmumula sa mga timestamp na ito kasama ang target. Ang parehong pagkakasunod-sunod ng mga timestamp ng tap ay laging gumagawa ng parehong resulta, na nagpapadeterministiko at nagpapasubok sa engine nang walang orasan. Inaalis ng pamamaraang ito ang anumang kalabuan sa mga kalkulasyon ng timing at tinitiyak na pare-pareho ang pag-iiskor sa iba't ibang pagtakbo na may parehong input. 3
Kinukuha ng mga function ng pag-iiskor sa engine ang hilaw na mga timestamp ng tap sa milisegundo kasama ang target bilang input ng mga ito. Ibig sabihin ng disenyong ito, masusubok ang engine sa mga naunang itinakdang pagkakasunod-sunod ng timestamp, at mabeberipika ang mga output nang hindi kinakailangang patakbuhin ang laro sa tunay na oras. Umaabot ang determinismo hanggang sa seeded random number generator na pumipili ng target na tempo para sa bawat round. Ang isang ibinigay na seed at antas ng hirap ay nagtatakda ng parehong target sa tuwina, at masusubok ang bawat panuntunan mula sa puntong iyon pasulong. 3
Pagbawi ng Tempo mula sa mga Tap
Binabawi ng engine ang isang tantiya ng tempo mula sa katamtamang agwat sa pagitan ng magkasunod na tap. Kinakalkula nito ang mga inter-tap interval, ang mga pagkakaiba sa oras sa pagitan ng bawat tap at ng nauna rito, saka kinukuwenta ang katamtaman ng mga ito, na nilalaktawan ang anumang agwat na zero o negatibo; kung wala pang dalawang tap, wala talaga itong iniuulat na tempo. Ang halagang beats-per-minute ay hinahango mula sa katamtamang agwat na ito, na nagbibigay ng sukat ng tempong pinanatili ng manlalaro sa buong na-tap na pagkakasunod-sunod. Gumagana ang function na ito nang hiwalay sa target na tempo at nagbibigay ng obhetibong pagsukat sa tunay na pagganap ng manlalaro. 3
Ipinapakita ang nabawing tempo sa result screen bilang “Your tempo” (ang tempo mo) sa tabi ng target, kaya makikita ng manlalaro kung gaano kalapit niyang natugma ang nilalayong bilis. Gumagana ang kalkulasyon mula sa hilaw na mga timestamp lamang, sa buong bawat naitalang tap, naririnig man o tahimik. Iniuulat ito para sa impormasyon lamang: ang iskor mismo ay kinukuwenta mula sa drift, hindi mula sa nabawing tempo. 3
Pagsukat sa Drift mula sa Grid
Ginagantimpalaan ng sistema ng pag-iiskor ang manlalaro sa pagpapanatili ng kanyang mga tap nang malapit sa ideal na grid ng metronome sa yugtong tahimik. Binubuo ang ideal na grid ng mga posisyon ng beat na mangyayari kung ang isang metronome ay nagsimula sa unang tap ng manlalaro at nagpatuloy sa target na tempo. Itinutugma ang bawat tap sa pinakamalapit na ideal na posisyon ng beat, at ang pagkakaiba sa pagitan ng mga ito ang kumakatawan sa drift para sa tap na iyon. Ang mga tap lamang na ang pinakamalapit na beat ay nasa yugtong tahimik ang binibilang, at dahil itinutugma ang bawat isa sa pinakamalapit nitong beat, walang iisang tap ang maaaring mag-drift nang higit sa kalahating beat. Ang bawat beat sa yugtong tahimik na naiwang walang tap ay sinisingil bilang kalahating-beat na palya, ang pinakamasamang kaso, at isinasama sa parehong katamtaman, kaya itinutulak ng paglaktaw sa mga beat ang katamtamang drift pataas at ang iskor pababa, at ang manlalarong walang ni isang tap sa katahimikan ay nakakakuha ng zero. 3
Ginagawa ng pamamaraang nakabatay sa drift ang paghawak sa tempo bilang isang nasusukat na dami. Hindi lamang sinusuri ng engine kung ang mga tap ay nahuhulog sa loob ng isang bintana; sinusukat nito ang tiyak na paglihis mula sa mga ideal na posisyon. Ang perpektong paghawak, na may zero na katamtamang drift, ay nakakakuha ng 1000, at bumababa ang iskor sa isang tuwid na linya patungong 0 sa katamtamang drift na sangkapat ng isang beat, kaya ang mas mababang drift ay laging gumagawa ng mas mataas na iskor. Sinusukat ang eskala sa mga beat sa halip na sa milisegundo, kaya iisa ang ibig sabihin nito sa bawat tempo: sa 120 beat kada minuto, ang sangkapat na beat ay 125 milisegundo, sa 80 ito ay 187.5. Ang sangkapat na beat din ang katamtamang nakukuha ng pag-tap nang random, kaya halos wala ang kinikita ng random na pag-tap. Iniuulat pa rin ng result screen ang katamtamang drift sa milisegundo, at ginagawang hatol ang iskor: “Locked in!” (naka-lock) sa 850 pataas, “Tight.” (masikip) sa 650 pataas, “Wobbly.” (alog-alog) sa 350 pataas, at “Lost the beat.” (nawala ang beat) sa mas mababa pa roon. Lumilikha ito ng tuloy-tuloy na eskala ng pagganap sa halip na binaryong pasa-palya na resulta, na nagbibigay-daan sa pinong pagtatasa ng katumpakan sa timing. 3
Mga Preset ng Hirap
Nag-aalok ang laro ng tatlong preset ng hirap, “Easy” (madali), “Medium” (katamtaman) at “Hard” (mahirap), na nagpapaiba sa saklaw ng tempo at sa bilang ng tahimik na bar. Bawat preset ay nagbibigay ng apat na naririnig na bar. Humuhugot ang Easy ng tempong nasa pagitan ng 70 at 100 beat kada minuto at humihingi ng apat na tahimik na bar; humuhugot ang Medium sa pagitan ng 90 at 130 at humihingi ng anim; humuhugot ang Hard sa pagitan ng 110 at 170 at humihingi ng walo. Nagbibigay ang mga preset na ito sa mga manlalaro ng pagpili sa hamon, mula sa banayad na tempong may maiikling tahimik na bahagi hanggang sa mabibilis na tempong may mahahabang tahimik na paghawak. 3
Gumagana ang mga preset sa loob ng parehong deterministikong balangkas gaya ng iba pang bahagi ng engine. Ang bawat preset ay nagtatakda ng isang target na may tiyak na halaga ng field, at pinoproseso ng engine ang target na iyon nang eksakto tulad ng gagawin nito sa anumang ibang target. Nasa kombinasyon ng tempo at bilang ng tahimik na bar ang hirap, na nagtatakda kung gaano kabilis dumating ang mga beat at kung gaano katagal dapat hawakan ng manlalaro ang mga ito nang walang click. Nananatiling pare-pareho ang sistema ng pag-iiskor sa lahat ng preset, na sinusukat ang drift mula sa ideal na grid anuman ang napiling hirap, at dahil nakatakda ang eskala nito sa mga hating-bahagi ng beat, ang isang ibinigay na iskor ay kumakatawan sa parehong kaugnay na katumpakan sa mabilis na tempo ng Hard tulad ng sa mabagal na tempo ng Easy. 3
Ang Tempo sa Likod ng Laro
Sa musika, ang tempo ay ang bilis o hakbang ng isang partikular na komposisyon, na sinusukat sa beat kada minuto. Ang tempong 60 beat kada minuto ay nangangahulugang isang beat kada segundo, samantalang ang tempong 120 beat kada minuto ay doble ang bilis, na nangangahulugang dalawang beat kada segundo. Ang halaga ng nota ng bawat beat ay karaniwang ang ipinahihiwatig ng denominador ng time signature. Maaaring ipahiwatig ang tempo sa pamamagitan ng mga markang Italyano, mula sa mabagal tulad ng largo at andante hanggang sa mabilis tulad ng allegro at presto, o sa pamamagitan ng markang metronome na nagbibigay ng tiyak na BPM. Kayang ihatid ng mga markang tempo ang damdamin gayundin ang bilis, at hindi kailangang nakapirmi ang isang tempo: maaaring magsulat ang kompositor ng accelerando upang bumilis o ritardando upang bumagal sa loob ng isang piyesa 1. Ginagamit ng laro ang konseptong ito ng tempo bilang isang nakapirming halagang sinusukat sa beat kada minuto, kung saan itinatakda ng target na bpm ang bilis ng buong round.
Ang tempo sa laro ay ang halagang beats-per-minute na tinutugtog ng click at dapat hawakan ng manlalaro. Iisang numero lamang ito na nagtatakda sa bilis ng round, at lumilitaw ito sa target katabi ng mga bilang ng bar. Nag-tap ang manlalaro sa tempong ito, at sinusukat ng engine kung gaano ito kahusay niyang napapanatili. Hindi nagbabago ang tempo sa buong round; ito ang matatag na sanggunian na siyang pinagbabatayan ng pagtatasa sa pagganap ng manlalaro. 3
Ang Kagamitang Metronome
Ang metronome ay isang kagamitang gumagawa ng naririnig na click o iba pang tunog sa pantay na agwat na maitatakda ng gumagamit, karaniwan ay sa beat kada minuto. Nag-eensayo laban dito ang mga manunugtog at mang-aawit upang hawakan ang matatag na tempo at pantay na beat. Ang tradisyonal na mekanikal na metronome ay gumagamit ng pendulum na may timbang: ang pagpapaitaas ng timbang sa baras ay nagpapabagal sa tempo at ang pagpapababa nito ay nagpapabilis, at ang mekanismo ay gumagawa ng click sa bawat indayog. Pinatentahan ni Johann Maelzel ang isang mekanikal na metronome noong 1815 at ipinrodyus ito nang maramihan mula 1816, na nakabatay sa naunang disenyong pinapaandar ng spring at may baligtad na pendulum ni Dietrich Nikolaus Winkel at nagdagdag ng numerikal na eskala ng tempo; dumarating din ang makabagong metronome bilang elektronikong kagamitang quartz at bilang software 2.
Gumagana ang click sa laro bilang metronome sa yugtong naririnig, na tumutugtog ng target na tempo sa buong naririnig na mga bar. Nagbibigay ito ng pantay na agwat na dapat tugmaan ng manlalaro sa kanyang mga tap. Kapag nawala ang click, dapat panatilihin ng manlalaro ang parehong tempo nang walang kagamitan, na sinusubok ang kanyang kakayahang hawakan ang tempo sa loob niya. Ang papel ng metronome sa laro ay ang itatag ang tempo at pagkatapos ay alisin ang sarili, na iniiwan ang manlalarong mag-isang magdadala ng tempo pasulong. 3
Ang Target at ang mga Field Nito
Ang target ang sentrong istruktura ng datos na nagtatakda sa bawat round. Naglalaman ito ng apat na field: ang tempo sa beat kada minuto; ang bilang ng naririnig na bar na tinutugtog ng click; ang bilang ng tahimik na bar na susunod; at ang beats per bar, ang numerador ng time signature, na 4 para sa common time. Magkasamang tinutukoy ng mga field na ito ang istruktura ng round, mula sa bilang ng beat sa yugtong naririnig hanggang sa bilang sa yugtong tahimik. 3
Ginagamit ng engine ang target upang kuwentahin ang lahat ng hinangong halagang namamahala sa round. Mula sa tempo ay hinahango nito ang tagal ng bawat beat sa milisegundo. Mula sa mga bilang ng bar at sa beats per bar ay hinahango nito ang kabuuang bilang ng beat at ang beat kung saan nagsisimula ang katahimikan. Nakapirmi ang target para sa round, na nangangahulugang nananatiling matatag ang tempo at ang mga bilang ng bar sa kabuuan. Ang tanging maitutugon ng manlalaro sa target ay ang pag-tap sa naaangkop na tempo at ang pagtitiyempo ng kanyang mga tap upang tumugma sa ideal na grid. 3
Mula sa mga Timestamp Tungo sa Iskor
Ang landas mula sa mga timestamp ng tap tungo sa panghuling iskor ay sumusunod sa malinaw na pagkakasunod-sunod ng mga kalkulasyon. Una, itinatala ng laro ang bawat tap bilang timestamp sa milisegundo, na binabalewala ang mga tap na ginawa nang higit sa kalahating beat bago matapos ang apat na beat na count-in. Sa yugtong naririnig, nag-tap ang manlalaro kasabay ng click, na nagtatatag ng kanyang pakiramdam sa tempo. Kapag nawala ang click, nagpapatuloy ang manlalaro sa pag-tap sa buong tahimik na mga bar. Sinusukat naman ng engine ang drift ng bawat tap sa yugtong tahimik mula sa ideal na grid ng metronome na nakaangkla sa unang tap, kinukuha ang katamtaman ng mga drift na iyon, na binibilang ang bawat tahimik na beat na hindi na-tap bilang kalahating-beat na palya, at ipinapasok ang katamtaman, na kinukuha bilang hating-bahagi ng beat, sa isang iskor mula 0 hanggang 1000. Kasabay ng iskor ay iniuulat nito ang tempong nabawi mula sa katamtamang inter-tap interval at ang bilang ng mga tap sa yugtong tahimik. 3
Ganap na deterministiko ang pipeline na ito. Sa parehong seed at antas ng hirap, ang parehong target ang nalilikha. Sa parehong target at sa parehong mga timestamp ng tap, ang parehong iskor ang nakukuwenta. Hindi nakasalalay ang engine sa oras ng orasan sa dingding o sa anumang panlabas na sanggunian; nakasalalay lamang ito sa mga timestamp at sa target. Ginagawa nitong maaasahan at masusubok ang sistema, dahil mabeberipika ang bawat hakbang sa pamamagitan ng mga naunang itinakdang input at inaasahang output. 3
Ang Yugtong Tahimik bilang Pagsukat
Sa yugtong tahimik nagaganap ang pagsukat. Sa yugtong naririnig, nagbibigay ng sanggunian ang click, at kayang iayos ng manlalaro ang kanyang mga tap upang tumugma rito. Sa yugtong tahimik, walang gayong sanggunian, at ibinubunyag ng mga tap ng manlalaro kung gaano kahusay niyang isinaloob ang tempo. Sinusukat ng engine ang pagsasaloob na ito sa pamamagitan ng paghahambing ng bawat tap sa ideal na posisyon ng beat na ineekstrapola mula sa unang tap ng manlalaro sa target na tempo. Ang pagkakaiba sa pagitan ng tap at ng ideal na posisyon ang drift para sa tap na iyon. 3
Sa yugtong tahimik din pinakalumilitaw ang disenyo ng laro. Tumutugtog ang click sa target na tempo sa buong naririnig na mga bar, saka nawawala, at dapat ipagpatuloy ng manlalaro ang pag-tap sa parehong tempo sa buong tahimik na mga bar. Ang tagal ng yugtong tahimik, na natutukoy ng bilang ng tahimik na bar at ng beats per bar, ay nagtatakda ng haba ng panahon ng pagsukat. Ang mas mahahabang tahimik na yugto ay humihinging hawakan ng manlalaro ang tempo sa mas maraming beat, na nagpapataas sa tsansang maipon ang drift. Sinusukat ng sistema ng pag-iiskor ang drift para sa bawat tap sa yugtong tahimik, sinisingil ang bawat tahimik na beat na naiwang walang tap, at kinukuha ang katamtaman ng lahat tungo sa panghuling iskor, kaya itinutulak ng maliit na pagkakamali sa tempo na lumalaki sa mahabang paghawak ang katamtamang drift pataas at ang iskor pababa. 3
Seeded na Determinismo
Deterministiko ang buong sistema mula sa isang seeded random number generator. Ang isang ibinigay na seed ay nagtatakda ng parehong target sa tuwina, at masusubok ang bawat panuntunan mula sa puntong iyon pasulong. Tinutukoy ng seed ang tempo, na hinuhugot bilang buong numero mula sa saklaw ng napiling antas ng hirap; ang mga bilang ng bar ay nagmumula sa mismong preset ng hirap. Dahil ganap na tinutukoy ng seed at ng antas ng hirap ang target, lagi silang gumagawa ng parehong istruktura ng round. Umaabot din ang katangiang ito sa pag-iiskor, dahil ang parehong mga timestamp ng tap laban sa parehong target ay laging gumagawa ng parehong iskor. 3
Naglilingkod ang seeded na determinismo sa manlalaro at sa developer. Para sa manlalaro, ibig sabihin nito ay pare-pareho at patas ang mga round; ang parehong pagkakasunod-sunod ng mga tap ay laging magbibigay ng parehong resulta. Kinukuha ng Daily mode ang seed nito mula sa petsa sa UTC, kaya ang lahat ng naglalaro sa araw na iyon sa isang antas ng hirap ay nakakakuha ng parehong target, samantalang pumipili ang Practice ng bagong random na seed sa bawat round. Para sa developer, ibig sabihin nito ay masusubok nang masinsinan ang engine gamit ang mga naunang itinakdang seed at pagkakasunod-sunod ng tap. Hindi hadlang ang determinismo; isa itong tampok na nagpapalinaw at nagpapaasa sa sistema ng timing ng laro. 3
Sources & notes
- "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.
- "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.
- 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.
- Further reading on Metronome, Re-examining Czerny’s and Moscheles’s Metronome Marks for Beethoven’s Piano Sonatas. doi.org.
- 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.