Tempo Lock · Düşündürücü Konular
Klik Sustuktan Sonra
Oyun, tempoyu belirleyen bir klikle başlar; sonra o klik susar ve oyuncunun sessiz ölçüler boyunca aynı tempoda dokunmayı sürdürmesi gerekir.
İngilizce yazılmış ve düzenlenmiştir. Bu Türkçe sürüm makine çevirisiyle oluşturulmuştur; kesinliğin önemli olduğu yerlerde İngilizce özgün metin esas alınmalıdır. İngilizce orijinalini okuyun →
Bir Turun Yapısı
Tempo Lock'ta bir tur, dört şeyi belirleyen bir hedeften kurulur: tempo için dakikadaki vuruş değeri, kliğin çaldığı ölçü sayısı, ardından gelecek sessiz ölçü sayısı ve ölçü işaretinin payı olan ölçüdeki vuruş değeri. Motor bu alanları kullanarak turun tamamını, ilk duyulan vuruştan son sessiz vuruşa kadar kurar. Tempo kliğin hızını belirler, duyulan ölçüler oyuncunun metronomu ne kadar süre işiteceğini belirler, sessiz ölçüler ise o tempoyu kliksiz tutma sınavını koyar. Ölçüdeki vuruş değeri her ölçüde kaç vuruş olacağını tanımlar ve oyun bunu her turda dört dörtlüğe, yani 4'e ayarlar. 3
Motor, puanlama sistemini beslemek için hedeften birkaç türev değer hesaplar. Vuruş uzunluğunu altmış binin tempoya bölümü olarak hesaplar; bu, tek bir vuruşun milisaniye cinsinden süresini verir. Toplam vuruş sayısını, duyulan ve sessiz ölçülerin toplamının ölçüdeki vuruş sayısıyla çarpımı olarak hesaplar; bu, oyuncunun boyunca dokunması gereken toplam vuruş sayısını verir. Sessiz başlangıcı, duyulan ölçülerin ölçüdeki vuruş sayısıyla çarpımı olarak hesaplar; bu da kliğin çalmayı bıraktığı tam vuruş sırasını işaretler. Bu türev değerler turun tamamının matematiksel temelini oluşturur. 3
Klik ve Sessizlik
Klik, tur için tempoyu kuran duyulur işarettir. Duyulan ölçüler süresince hedef tempoda çalar ve her vuruşu kısa bir sesle işaretler. Bu klik bir metronom işlevi görür, yani düzgün aralıklarla duyulur bir ses üretir; şu farkla ki buradaki aralığı oyuncu değil, turun hedefi belirler. Önce dört vuruşluk bir giriş sayımı çalar ve her ölçünün ilk vuruşu daha tiz bir klik alır. Müzisyenler tempoyu sabit, vuruşu düzenli tutarak zamanında çalmak ya da çalışmak için metronom kullanır. Oyundaki klik, duyulan evre boyunca tam da bu işi görür ve oyuncuya dokunuşlarıyla eşleştireceği bir başvuru noktası sunar. 2
Duyulan ölçüler bittiğinde klik tümüyle kesilir. Oyuncu artık metronomu işitmez ve sessiz ölçüler boyunca aynı tempoda dokunmayı sürdürmek zorundadır. Bu sessizlik oyunun çekirdek sınavını yaratır; çünkü oyuncunun tempoyu dışarıdan bir başvuru olmaksızın zihninde tutması gerekir. Sessizlik boş değildir; temponun anısıyla ve oyuncunun onu koruma çabasıyla doludur. Puan, daha sonra oyuncunun bu sessizlik boyunca tempoyu ne kadar iyi tuttuğunu ölçecektir. 3
Ham Zaman Damgaları ve Belirlenimcilik
Motor bütünüyle, milisaniye cinsinden ölçülen ham dokunuş zaman damgalarıyla çalışır. Her dokunuş mutlak bir zaman değeri olarak kaydedilir ve bütün hesaplar bu zaman damgalarından ve hedeften türetilir. Aynı dokunuş zaman damgası dizisi her zaman aynı sonucu verir; bu da motoru belirlenimci ve saate ihtiyaç duymadan sınanabilir kılar. Bu yaklaşım zamanlama hesaplarındaki her türlü belirsizliği ortadan kaldırır ve aynı girdilerle yapılan farklı oyunlarda puanlamanın tutarlı olmasını sağlar. 3
Motordaki puanlama işlevleri, girdi olarak milisaniye cinsinden ham dokunuş zaman damgalarını hedefle birlikte alır. Bu tasarım, motorun önceden belirlenmiş zaman damgası dizileriyle sınanabileceği ve çıktıların oyunu gerçek zamanlı çalıştırmaya gerek kalmadan doğrulanabileceği anlamına gelir. Belirlenimcilik, her turun hedef temposunu seçen tohumlu rastgele sayı üretecini de kapsar. Belirli bir tohum ve zorluk her seferinde aynı hedefi verir ve o noktadan sonraki her kural sınanabilir. 3
Dokunuşlardan Tempoyu Geri Çıkarmak
Motor, ardışık dokunuşlar arasındaki ortalama aralıktan bir tempo kestirimi çıkarır. Her dokunuş ile bir öncekinin arasındaki zaman farkları olan dokunuşlar arası aralıkları hesaplar, sonra bunların ortalamasını alır ve sıfır ya da negatif olan aralıkları atlar; ikiden az dokunuş varsa hiç tempo bildirmez. Dakikadaki vuruş değeri bu ortalama aralıktan türetilir ve oyuncunun dokunuş dizisi boyunca koruduğu temponun bir ölçüsünü verir. Bu işlev hedef tempodan bağımsız çalışır ve oyuncunun gerçek başarımının nesnel bir ölçümünü sunar. 3
Geri çıkarılan tempo, sonuç ekranında hedefin yanında “Your tempo” (“Sizin temponuz”) olarak gösterilir; böylece oyuncu amaçlanan hızı ne kadar yakından tutturduğunu görebilir. Hesap yalnızca ham zaman damgalarından, kaydedilen bütün dokunuşlar (duyulan ve sessiz evredekiler) üzerinden yapılır. Yalnızca bilgi amacıyla bildirilir: puanın kendisi geri çıkarılan tempodan değil, sapmadan hesaplanır. 3
Izgaradan Sapmayı Ölçmek
Puanlama sistemi, oyuncuyu sessiz evre boyunca dokunuşlarını ideal metronom ızgarasına yakın tutmasından ötürü ödüllendirir. İdeal ızgara, bir metronom oyuncunun ilk dokunuşunda başlayıp hedef tempoda sürseydi ortaya çıkacak vuruş konumlarından oluşur. Her dokunuş en yakın ideal vuruş konumuyla eşleştirilir ve aradaki fark, o dokunuşun sapmasını verir. Yalnızca en yakın vuruşu sessiz evreye düşen dokunuşlar sayılır; her dokunuş en yakın vuruşuyla eşleştirildiği için hiçbir dokunuş yarım vuruştan fazla sapamaz. Sessiz evrede dokunuşsuz kalan her vuruş, en kötü durum olan yarım vuruşluk bir ıskalama olarak yazılır ve aynı ortalamaya katılır; dolayısıyla vuruş atlamak ortalama sapmayı yukarı, puanı aşağı çeker ve sessizlikte hiç dokunmayan bir oyuncu sıfır alır. 3
Sapmaya dayalı bu yaklaşım, bir tempoyu tutmayı ölçülebilir bir niceliğe dönüştürür. Motor, dokunuşların herhangi bir pencereye düşüp düşmediğine bakmakla yetinmez; ideal konumlardan sapmayı tam olarak ölçer. Ortalama sapması sıfır olan kusursuz bir tutuş 1000 puan alır ve puan, çeyrek vuruşluk bir ortalama sapmada düz bir çizgi hâlinde 0'a iner; yani sapma azaldıkça puan her zaman yükselir. Ölçek milisaniyeyle değil vuruşla ölçüldüğü için her tempoda aynı anlama gelir: dakikada 120 vuruşta çeyrek vuruş 125 milisaniyedir, 80'de 187,5 milisaniyedir. Çeyrek vuruş aynı zamanda rastgele dokunmanın ortalamasıdır; dolayısıyla rastgele dokunmak yok denecek kadar az puan kazandırır. Sonuç ekranı yine de ortalama sapmayı milisaniye olarak bildirir ve puanı bir hükme çevirir: 850 ve üzeri “Locked in!” (“Kilitlendi!”), 650 ve üzeri “Tight.” (“Sıkı.”), 350 ve üzeri “Wobbly.” (“Oynak.”), altı ise “Lost the beat.” (“Vuruşu kaybetti.”). Bu da ikili bir geçti-kaldı sonucu yerine sürekli bir başarım ölçeği yaratır ve zamanlama isabetinin ince ayrıntılarıyla değerlendirilmesine olanak verir. 3
Zorluk Kalıpları
Oyun, tempo aralığını ve sessiz ölçü sayısını değiştiren üç zorluk kalıbı sunar: Easy (Kolay), Medium (Orta) ve Hard (Zor). Her kalıp dört duyulan ölçü verir. Easy dakikada 70 ile 100 vuruş arasında bir tempo çeker ve dört sessiz ölçü ister; Medium 90 ile 130 arasında çeker ve altı ölçü ister; Hard 110 ile 170 arasında çeker ve sekiz ölçü ister. Bu kalıplar oyunculara, kısa sessiz bölümlü yumuşak tempolardan uzun sessiz tutuşlu hızlı tempolara uzanan bir zorluk seçeneği sunar. 3
Kalıplar, motorun geri kalanıyla aynı belirlenimci çerçeve içinde işler. Her kalıp, alan değerleri belirli bir hedef tanımlar ve motor o hedefi, başka herhangi bir hedefi işleyeceği gibi işler. Zorluk, tempo ile sessiz ölçü sayısının bileşiminde yatar; bu ikisi vuruşların ne kadar hızlı geleceğini ve oyuncunun onları kliksiz ne kadar süre tutması gerektiğini belirler. Puanlama sistemi bütün kalıplarda tutarlı kalır ve seçilen zorluktan bağımsız olarak ideal ızgaradan sapmayı ölçer; ölçeği vuruşun kesirleriyle tanımlandığı için belirli bir puan, hızlı bir Hard temposunda da yavaş bir Easy temposunda da aynı bağıl isabeti ifade eder. 3
Oyunun Ardındaki Tempo
Müzikte tempo, belirli bir eserin dakikadaki vuruşla ölçülen hızı ya da yürüyüşüdür. Dakikada 60 vuruşluk bir tempo saniyede bir vuruş demektir; dakikada 120 vuruşluk bir tempo ise bunun iki katı hızlıdır, yani her saniyede iki vuruş demektir. Her vuruşun nota değeri tipik olarak ölçü işaretinin paydasının gösterdiği değerdir. Tempo, largo ve andante gibi yavaşlarından allegro ve presto gibi hızlılarına uzanan İtalyanca terimlerle ya da belirli bir BPM veren bir metronom işaretiyle belirtilebilir. Tempo terimleri hızın yanı sıra havayı da aktarabilir ve tempo sabit olmak zorunda değildir: bir besteci, parça içinde hızlanmak için accelerando, yavaşlamak için ritardando yazabilir 1. Oyun, tempo kavramını dakikadaki vuruşla ölçülen sabit bir değer olarak kullanır; hedef bpm, turun tamamının hızını belirler.
Oyundaki tempo, kliğin çaldığı ve oyuncunun tutması gereken dakikadaki vuruş değeridir. Turun hızını tanımlayan tek bir sayıdır ve hedefte ölçü sayılarının yanında yer alır. Oyuncu bu tempoda dokunur, motor da onu ne kadar iyi koruduğunu ölçer. Tempo tur boyunca değişmez; oyuncunun başarımının kendisine karşı değerlendirildiği değişmez başvuru noktasıdır. 3
Metronom Aygıtı
Metronom, kullanıcının genellikle dakikadaki vuruş cinsinden ayarlayabildiği düzgün aralıklarla duyulur bir klik ya da başka bir ses üreten aygıttır. Çalgıcılar ve şarkıcılar, sabit bir tempoyu ve düzgün bir vuruşu tutabilmek için ona karşı çalışır. Geleneksel mekanik metronom ağırlıklı bir sarkaç kullanır: ağırlığı çubuk boyunca yukarı kaydırmak tempoyu yavaşlatır, aşağı kaydırmak hızlandırır ve mekanizma her salınımda bir klik üretir. Johann Maelzel 1815'te mekanik bir metronomun patentini almış ve 1816'dan itibaren onu seri üretmiştir; Dietrich Nikolaus Winkel'in daha önceki yaylı, ters sarkaçlı tasarımının üzerine kurmuş ve sayısal bir tempo ölçeği eklemiştir; modern metronomlar kuvars elektronik aygıtlar ve yazılım olarak da bulunur 2.
Oyundaki klik, duyulan evre boyunca hedef tempoyu duyulan ölçüler süresince çalarak metronom işlevi görür. Oyuncunun dokunuşlarıyla eşleştirmesi gereken düzgün aralığı sağlar. Klik kesildiğinde oyuncunun aynı tempoyu aygıtsız koruması gerekir; bu da tempoyu içeriden tutma yetisini sınar. Metronomun oyundaki rolü, tempoyu kurmak ve sonra kendini aradan çekerek tempoyu ileri taşımayı oyuncuya bırakmaktır. 3
Hedef ve Alanları
Hedef, her turu tanımlayan merkezî veri yapısıdır. Dört alan içerir: dakikadaki vuruş cinsinden tempo; kliğin çaldığı duyulan ölçü sayısı; ardından gelen sessiz ölçü sayısı; ve ölçü işaretinin payı olan, dört dörtlük için 4 değerini alan ölçüdeki vuruş sayısı. Bu alanlar birlikte, duyulan evredeki vuruş sayısından sessiz evredekine kadar turun yapısını belirler. 3
Motor, turu yöneten bütün türev değerleri hesaplamak için hedefi kullanır. Tempodan her vuruşun milisaniye cinsinden süresini türetir. Ölçü sayılarından ve ölçüdeki vuruş sayısından toplam vuruş sayısını ve sessizliğin başladığı vuruşu türetir. Hedef tur boyunca sabittir; bu da tempo ile ölçü sayılarının baştan sona değişmediği anlamına gelir. Oyuncu hedefe ancak uygun tempoda dokunarak ve dokunuşlarını ideal ızgaraya denk getirecek biçimde zamanlayarak karşılık verebilir. 3
Zaman Damgalarından Puana
Dokunuş zaman damgalarından nihai puana giden yol açık bir hesap dizisi izler. Önce oyun her dokunuşu milisaniyelik bir zaman damgası olarak kaydeder ve dört vuruşluk giriş sayımının bitmesinden yarım vuruştan daha önce yapılan dokunuşları yok sayar. Duyulan evre boyunca oyuncu klikle birlikte dokunur ve tempo duygusunu kurar. Klik kesildiğinde oyuncu sessiz ölçüler boyunca dokunmayı sürdürür. Motor ardından sessiz evredeki her dokunuşun, ilk dokunuşa demirlenmiş ideal metronom ızgarasından sapmasını ölçer, dokunulmamış her sessiz vuruşu yarım vuruşluk bir ıskalama sayarak bu sapmaların ortalamasını alır ve vuruşun kesri olarak ele alınan bu ortalamayı 0 ile 1000 arasında bir puana eşler. Puanın yanında, dokunuşlar arası ortalama aralıktan geri çıkarılan tempoyu ve sessiz evredeki dokunuş sayısını da bildirir. 3
Bu boru hattı bütünüyle belirlenimcidir. Aynı tohum ve zorluk verildiğinde aynı hedef üretilir. Aynı hedef ve aynı dokunuş zaman damgaları verildiğinde aynı puan hesaplanır. Motor duvar saatine ya da herhangi bir dış başvuruya dayanmaz; yalnızca zaman damgalarına ve hedefe dayanır. Bu da sistemi hem güvenilir hem sınanabilir kılar, çünkü her adım önceden belirlenmiş girdiler ve beklenen çıktılarla doğrulanabilir. 3
Bir Ölçüm Olarak Sessiz Evre
Ölçümün gerçekleştiği yer sessiz evredir. Duyulan evrede klik bir başvuru sağlar ve oyuncu dokunuşlarını ona uydurmak için düzeltebilir. Sessiz evrede ise böyle bir başvuru yoktur ve oyuncunun dokunuşları tempoyu ne kadar içselleştirdiğini ortaya koyar. Motor bu içselleştirmeyi, her dokunuşu oyuncunun ilk dokunuşundan hedef tempoda ileriye uzatılan ideal vuruş konumuyla karşılaştırarak ölçer. Dokunuş ile ideal konum arasındaki fark, o dokunuşun sapmasıdır. 3
Oyunun tasarımının en belirgin hâle geldiği yer de sessiz evredir. Klik, duyulan ölçüler boyunca hedef tempoyu çalar, sonra kesilir ve oyuncunun sessiz ölçüler boyunca aynı tempoda dokunmayı sürdürmesi gerekir. Sessiz ölçü sayısı ile ölçüdeki vuruş sayısının belirlediği sessiz evre süresi, ölçüm döneminin uzunluğunu belirler. Daha uzun sessiz evreler oyuncunun tempoyu daha çok vuruş boyunca tutmasını gerektirir; bu da sapmanın birikme olasılığını artırır. Puanlama sistemi sessiz evredeki her dokunuşun sapmasını ölçer, dokunulmadan kalan her sessiz vuruşu hesaba yazar ve hepsinin ortalamasını nihai bir puana çevirir; dolayısıyla uzun bir tutuş boyunca büyüyen küçük bir tempo hatası ortalama sapmayı yukarı, puanı aşağı çeker. 3
Tohumlu Belirlenimcilik
Sistemin tamamı, tohumlu bir rastgele sayı üretecinden başlayarak belirlenimcidir. Belirli bir tohum her seferinde aynı hedefi verir ve o noktadan sonraki her kural sınanabilir. Tohum, seçilen zorluğun aralığından tam sayı olarak çekilen tempoyu belirler; ölçü sayıları ise zorluk kalıbının kendisinden gelir. Tohum ve zorluk hedefi tümüyle belirlediği için her zaman aynı tur yapısını üretirler. Bu özellik puanlamaya da uzanır, çünkü aynı hedefe karşı aynı dokunuş zaman damgaları her zaman aynı puanı verir. 3
Tohumlu belirlenimcilik hem oyuncuya hem geliştiriciye hizmet eder. Oyuncu açısından turların tutarlı ve adil olması demektir; aynı dokunuş dizisi her zaman aynı sonucu verecektir. Daily (Günlük) kipi tohumunu UTC'ye göre tarihten türetir, böylece o gün belirli bir zorlukta oynayan herkes aynı hedefi alır; Practice (Alıştırma) ise her tur için taze bir rastgele tohum seçer. Geliştirici açısından ise motorun, önceden belirlenmiş tohumlar ve dokunuş dizileriyle enine boyuna sınanabilmesi demektir. Belirlenimcilik bir kısıt değildir; oyunun zamanlama sistemini saydam ve güvenilir kılan bir özelliktir. 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.