Tempo Lock · Matéria para Reflexão
Depois que o clique se cala
O jogo começa com um clique que marca o andamento, depois esse clique se cala, e o jogador precisa continuar dando toques no mesmo andamento ao longo dos compassos silenciosos.
Escrito e editado em inglês. Esta versão em português foi produzida por tradução automática; quando a precisão importa, o original em inglês é a referência. Ler o original em inglês →
A estrutura de uma rodada
Uma rodada em Tempo Lock é construída a partir de um alvo que especifica quatro coisas: um valor de batidas por minuto para o andamento, uma quantidade de compassos durante os quais o clique toca, uma quantidade de compassos silenciosos que vêm em seguida e o valor de batidas por compasso, o numerador da fórmula de compasso. O motor usa esses campos para construir a rodada inteira, da primeira batida audível à última batida silenciosa. O andamento define o passo do clique, os compassos audíveis determinam por quanto tempo o jogador ouve o metrônomo, e os compassos silenciosos estabelecem o desafio de sustentar esse andamento sem o clique. O valor de batidas por compasso define quantas batidas ocorrem em cada compasso, e o jogo o fixa em 4, o compasso quaternário, em todas as rodadas. 3
O motor calcula vários valores derivados do alvo para dar suporte ao sistema de pontuação. Ele calcula a duração da batida como sessenta mil dividido pelo andamento, o que dá a duração de uma única batida em milissegundos. Calcula a contagem total de batidas como a soma dos compassos audíveis e silenciosos multiplicada pelas batidas por compasso, o que dá o número total de batidas que o jogador precisa percorrer. Calcula o início do silêncio como os compassos audíveis multiplicados pelas batidas por compasso, o que marca o índice exato da batida em que o clique para de tocar. Esses valores derivados formam o alicerce matemático da rodada inteira. 3
O clique e o silêncio
O clique é o sinal audível que estabelece o andamento da rodada. Ele toca no andamento-alvo durante os compassos audíveis, marcando cada batida com um som curto. Esse clique funciona como um metrônomo, produzindo um som audível em intervalo uniforme, embora aqui o intervalo seja definido pelo alvo da rodada, e não pelo jogador. Uma contagem de entrada de quatro batidas toca antes, e a primeira batida de cada compasso recebe um clique mais agudo. Os músicos usam o metrônomo para tocar ou estudar dentro do tempo, mantendo um andamento estável e uma pulsação regular. O clique do jogo cumpre essa mesma função durante a fase audível, oferecendo um ponto de referência que o jogador deve igualar com seus toques. 2
Quando os compassos audíveis terminam, o clique se cala por completo. O jogador deixa de ouvir o metrônomo e precisa continuar dando toques no mesmo andamento ao longo dos compassos silenciosos. Esse silêncio cria o desafio central do jogo, pois o jogador precisa sustentar o andamento na cabeça, sem a referência externa. O silêncio não é vazio; está preenchido pela memória do andamento e pela tentativa do jogador de mantê-lo. A pontuação medirá depois o quão bem o jogador sustentou esse andamento durante o silêncio. 3
Marcas de tempo brutas e determinismo
O motor opera inteiramente a partir de marcas de tempo brutas dos toques, medidas em milissegundos. Cada toque é registrado como um valor absoluto de tempo, e todos os cálculos derivam dessas marcas junto com o alvo. A mesma sequência de marcas de tempo sempre produz o mesmo resultado, o que torna o motor determinístico e testável sem relógio. Essa abordagem elimina qualquer ambiguidade dos cálculos de temporização e garante que a pontuação seja consistente entre execuções diferentes com as mesmas entradas. 3
As funções de pontuação do motor recebem como entrada as marcas de tempo brutas dos toques em milissegundos junto com o alvo. Esse projeto significa que o motor pode ser testado com sequências predeterminadas de marcas de tempo, e as saídas podem ser verificadas sem precisar rodar o jogo em tempo real. O determinismo se estende ao gerador de números aleatórios com semente que escolhe o andamento-alvo de cada rodada. Uma dada semente e uma dada dificuldade definem o mesmo alvo todas as vezes, e toda regra é testável a partir daí. 3
Recuperando o andamento a partir dos toques
O motor recupera uma estimativa de andamento a partir do intervalo médio entre toques consecutivos. Ele calcula os intervalos entre toques, que são as diferenças de tempo entre cada toque e o anterior, e então calcula a média deles, ignorando qualquer intervalo igual ou menor que zero; com menos de dois toques, ele não informa andamento algum. O valor de batidas por minuto é derivado desse intervalo médio, dando uma medida do andamento que o jogador manteve durante a sequência de toques. Essa função opera independentemente do andamento-alvo e fornece uma medição objetiva do desempenho real do jogador. 3
O andamento recuperado é exibido na tela de resultado como “Your tempo” (“seu andamento”), ao lado do alvo, para que o jogador veja o quanto se aproximou do passo pretendido. O cálculo trabalha apenas com as marcas de tempo brutas, considerando todos os toques registrados, audíveis e silenciosos. Ele é apresentado apenas a título informativo: a pontuação em si é calculada a partir do desvio, não do andamento recuperado. 3
Medindo o desvio em relação à grade
O sistema de pontuação recompensa o jogador por manter seus toques próximos da grade ideal do metrônomo durante a fase silenciosa. A grade ideal consiste nas posições de batida que ocorreriam se um metrônomo começasse no primeiro toque do jogador e seguisse no andamento-alvo. Cada toque é associado à posição de batida ideal mais próxima, e a diferença entre elas representa o desvio daquele toque. Só contam os toques cuja batida mais próxima cai na fase silenciosa e, como cada um é associado à batida mais próxima, nenhum toque isolado pode desviar mais do que meia batida. Toda batida da fase silenciosa deixada sem toque é cobrada como um erro de meia batida, o pior caso, e entra na mesma média, de modo que pular batidas empurra o desvio médio para cima e a pontuação para baixo, e um jogador que não dá nenhum toque no silêncio pontua zero. 3
Essa abordagem baseada em desvio transforma sustentar um andamento em uma grandeza mensurável. O motor não se limita a verificar se os toques caem dentro de alguma janela; ele mede o afastamento preciso em relação às posições ideais. Uma sustentação perfeita, com desvio médio zero, vale 1000, e a pontuação cai em linha reta até 0 com um desvio médio de um quarto de batida, de modo que um desvio menor sempre produz uma pontuação maior. A escala é medida em batidas, e não em milissegundos, então significa a mesma coisa em qualquer andamento: a 120 batidas por minuto, um quarto de batida são 125 milissegundos; a 80, são 187,5. Um quarto de batida é também a média de quem dá toques ao acaso, de modo que toques aleatórios rendem praticamente nada. A tela de resultado ainda informa o desvio médio em milissegundos e converte a pontuação em um veredito: “Locked in!” (travado no ritmo) a partir de 850, “Tight.” (preciso) a partir de 650, “Wobbly.” (oscilante) a partir de 350 e “Lost the beat.” (perdeu a batida) abaixo disso. Isso cria uma escala contínua de desempenho, em vez de um resultado binário de aprovado ou reprovado, permitindo uma avaliação fina da precisão rítmica. 3
Predefinições de dificuldade
O jogo oferece três predefinições de dificuldade — “Easy” (fácil), “Medium” (média) e “Hard” (difícil) — que variam a faixa de andamento e a quantidade de compassos silenciosos. Toda predefinição dá quatro compassos audíveis. Easy sorteia um andamento entre 70 e 100 batidas por minuto e pede quatro compassos silenciosos; Medium sorteia entre 90 e 130 e pede seis; Hard sorteia entre 110 e 170 e pede oito. Essas predefinições dão ao jogador uma escolha de desafio, de andamentos suaves com trechos silenciosos curtos a andamentos rápidos com sustentações silenciosas longas. 3
As predefinições operam dentro do mesmo arcabouço determinístico do restante do motor. Cada predefinição define um alvo com valores de campo específicos, e o motor processa esse alvo exatamente como faria com qualquer outro. A dificuldade está na combinação de andamento e quantidade de compassos silenciosos, que determina a rapidez com que as batidas vêm e por quanto tempo o jogador precisa sustentá-las sem o clique. O sistema de pontuação permanece consistente em todas as predefinições, medindo o desvio em relação à grade ideal independentemente da dificuldade escolhida e, como sua escala é definida em frações de batida, uma dada pontuação representa a mesma precisão relativa em um andamento rápido de Hard e em um lento de Easy. 3
O andamento por trás do jogo
Na música, o andamento é a velocidade ou o passo de uma dada composição, medido em batidas por minuto. Um andamento de 60 batidas por minuto significa uma batida por segundo, enquanto um andamento de 120 batidas por minuto é duas vezes mais rápido, significando duas batidas a cada segundo. O valor de nota de cada batida costuma ser o indicado pelo denominador da fórmula de compasso. O andamento pode ser indicado por marcações italianas, das lentas, como largo e andante, às rápidas, como allegro e presto, ou por uma marca de metrônomo que dá um BPM específico. As marcações de andamento podem transmitir tanto o caráter quanto a velocidade, e um andamento não precisa ser fixo: um compositor pode escrever um accelerando para acelerar ou um ritardando para desacelerar ao longo de uma peça 1. O jogo usa esse conceito de andamento como um valor fixo medido em batidas por minuto, com o bpm-alvo definindo o passo da rodada inteira.
O andamento no jogo é o valor de batidas por minuto que o clique toca e que o jogador precisa sustentar. É um único número que define a velocidade da rodada, e ele aparece no alvo ao lado das contagens de compassos. O jogador dá toques nesse andamento, e o motor mede o quão bem ele o mantém. O andamento não muda durante a rodada; é o ponto de referência constante contra o qual o desempenho do jogador é avaliado. 3
O aparelho metrônomo
Um metrônomo é um aparelho que produz um clique audível, ou outro som, em intervalo uniforme ajustável pelo usuário, tipicamente em batidas por minuto. Instrumentistas e cantores praticam com ele para sustentar um andamento estável e uma pulsação regular. Um metrônomo mecânico tradicional usa um pêndulo com peso: deslizar o peso para cima da haste torna o andamento mais lento e deslizá-lo para baixo o torna mais rápido, e o mecanismo produz um clique a cada oscilação. Johann Maelzel patenteou um metrônomo mecânico em 1815 e o produziu em massa a partir de 1816, partindo de um projeto anterior de pêndulo invertido movido a mola, de Dietrich Nikolaus Winkel, e acrescentando uma escala numérica de andamento; os metrônomos modernos também existem como aparelhos eletrônicos de quartzo e como software 2.
O clique do jogo funciona como um metrônomo durante a fase audível, tocando o andamento-alvo pelos compassos audíveis. Ele fornece o intervalo uniforme que o jogador precisa igualar com seus toques. Quando o clique se cala, o jogador precisa sustentar o mesmo andamento sem o aparelho, o que testa sua capacidade de manter o andamento internamente. O papel do metrônomo no jogo é estabelecer o andamento e então se retirar, deixando o jogador levá-lo adiante sozinho. 3
O alvo e seus campos
O alvo é a estrutura de dados central que define cada rodada. Ele contém quatro campos: o andamento em batidas por minuto; o número de compassos audíveis em que o clique toca; o número de compassos silenciosos que vêm em seguida; e as batidas por compasso, o numerador da fórmula de compasso, que é 4 no compasso quaternário. Juntos, esses campos determinam a estrutura da rodada, do número de batidas da fase audível ao número de batidas da fase silenciosa. 3
O motor usa o alvo para calcular todos os valores derivados que governam a rodada. Do andamento ele deriva a duração de cada batida em milissegundos. Das contagens de compassos e das batidas por compasso ele deriva a contagem total de batidas e a batida em que o silêncio começa. O alvo é fixo durante a rodada, o que significa que o andamento e as contagens de compassos permanecem constantes do início ao fim. O jogador só pode responder ao alvo dando toques no andamento apropriado e ajustando o momento dos seus toques à grade ideal. 3
Das marcas de tempo à pontuação
O caminho das marcas de tempo dos toques até a pontuação final segue uma sequência clara de cálculos. Primeiro, o jogo registra cada toque como uma marca de tempo em milissegundos, ignorando os toques dados mais de meia batida antes do fim da contagem de entrada de quatro batidas. Durante a fase audível, o jogador acompanha o clique com seus toques, firmando sua noção do andamento. Quando o clique se cala, o jogador continua dando toques ao longo dos compassos silenciosos. O motor então mede o desvio de cada toque da fase silenciosa em relação à grade ideal do metrônomo ancorada no primeiro toque, tira a média desses desvios, contando cada batida silenciosa sem toque como um erro de meia batida, e mapeia essa média, tomada como fração da batida, em uma pontuação de 0 a 1000. Junto com a pontuação, ele informa o andamento recuperado do intervalo médio entre toques e o número de toques da fase silenciosa. 3
Esse encadeamento é inteiramente determinístico. Dadas a mesma semente e a mesma dificuldade, gera-se o mesmo alvo. Dados o mesmo alvo e as mesmas marcas de tempo dos toques, calcula-se a mesma pontuação. O motor não depende do relógio do sistema nem de qualquer referência externa; depende apenas das marcas de tempo e do alvo. Isso torna o sistema ao mesmo tempo confiável e testável, já que cada etapa pode ser verificada com entradas predeterminadas e saídas esperadas. 3
A fase silenciosa como medição
A fase silenciosa é onde a medição acontece. Durante a fase audível, o clique fornece uma referência, e o jogador pode ajustar seus toques a ela. Durante a fase silenciosa, não existe referência alguma, e os toques do jogador revelam o quanto ele internalizou o andamento. O motor mede essa internalização comparando cada toque à posição de batida ideal extrapolada a partir do primeiro toque do jogador no andamento-alvo. A diferença entre o toque e a posição ideal é o desvio daquele toque. 3
A fase silenciosa é também onde o projeto do jogo fica mais evidente. O clique toca o andamento-alvo durante os compassos audíveis, depois se cala, e o jogador precisa continuar dando toques no mesmo andamento ao longo dos compassos silenciosos. A duração da fase silenciosa, determinada pela quantidade de compassos silenciosos e pelas batidas por compasso, define a extensão do período de medição. Fases silenciosas mais longas exigem que o jogador sustente o andamento por mais batidas, o que aumenta a chance de o desvio se acumular. O sistema de pontuação mede o desvio de cada toque da fase silenciosa, cobra cada batida silenciosa deixada sem toque e faz a média de tudo em uma pontuação final, de modo que um pequeno erro de andamento que cresce ao longo de uma sustentação longa empurra o desvio médio para cima e a pontuação para baixo. 3
Determinismo com semente
O sistema inteiro é determinístico a partir de um gerador de números aleatórios com semente. Uma dada semente define o mesmo alvo todas as vezes, e toda regra é testável a partir daí. A semente determina o andamento, sorteado como número inteiro dentro da faixa da dificuldade escolhida; as contagens de compassos vêm da própria predefinição de dificuldade. Como a semente e a dificuldade determinam inteiramente o alvo, elas sempre produzem a mesma estrutura de rodada. Essa propriedade se estende também à pontuação, já que as mesmas marcas de tempo contra o mesmo alvo sempre produzem a mesma pontuação. 3
O determinismo com semente serve tanto ao jogador quanto ao desenvolvedor. Para o jogador, significa que as rodadas são consistentes e justas; a mesma sequência de toques sempre dará o mesmo resultado. O modo “Daily” (diário) deriva sua semente da data em UTC, de modo que todos que jogam naquele dia em uma dada dificuldade recebem o mesmo alvo, enquanto o “Practice” (treino) escolhe uma semente nova a cada rodada. Para o desenvolvedor, significa que o motor pode ser testado a fundo com sementes e sequências de toques predeterminadas. O determinismo não é uma limitação; é um recurso que torna o sistema de temporização do jogo transparente e confiável. 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.