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. بازی از همین مفهوم تمپو همچون مقداری ثابت بر حسب ضرب در دقیقه بهره میگیرد، و تمپوی هدف شتابِ کل دور را تعیین میکند.
تمپو در بازی همان مقدارِ ضربدردقیقهای است که کلیک آن را مینوازد و بازیکن باید آن را نگه دارد. عددی یگانه است که سرعت دور را تعریف میکند و در کنار شمار میزانها در هدف میآید. بازیکن با همین تمپو تَپ میزند و موتور میسنجد که او چقدر خوب آن را نگه داشته است. تمپو در طول دور تغییر نمیکند؛ نقطهٔ ارجاعِ ثابتی است که عملکرد بازیکن در برابر آن ارزیابی میشود. 3
دستگاه مترونوم
مترونوم دستگاهی است که در فاصلههایی یکنواخت، که کاربر میتواند آنها را معمولاً بر حسب ضرب در دقیقه تنظیم کند، کلیک یا صدایی دیگر تولید میکند. نوازندگان و خوانندگان در برابر آن تمرین میکنند تا تمپویی یکنواخت و ضربی یکدست را نگه دارند. مترونوم مکانیکیِ سنتی از آونگی وزنهدار بهره میگیرد: لغزاندن وزنه به بالای میله تمپو را کند میکند و لغزاندنش به پایین آن را تند میکند، و سازوکار با هر نوسان کلیکی تولید میکند. Johann Maelzel (یوهان مالتسل) در 1815 مترونومی مکانیکی را به ثبت رساند و از 1816 آن را انبوهسازی کرد؛ او بر طرحی پیشین از Dietrich Nikolaus Winkel (دیتریش نیکلاوس وینکل) بنا کرد که فنری و با آونگِ وارونه بود، و مقیاسی عددی برای تمپو به آن افزود؛ مترونومهای امروزی همچنین بهصورت دستگاههای الکترونیکیِ کوارتزی و نرمافزار هم عرضه میشوند 2.
کلیکِ بازی در مرحلهٔ شنیدنی کارِ یک مترونوم را میکند و تمپوی هدف را در میزانهای شنیدنی مینوازد. فاصلهٔ یکنواختی را فراهم میکند که بازیکن باید تَپهایش را با آن بسنجد. وقتی کلیک قطع میشود، بازیکن باید همان تمپو را بدون آن دستگاه نگه دارد، و این توانایی او در نگه داشتن درونیِ تمپو را میآزماید. نقش مترونوم در بازی این است که تمپو را برقرار کند و سپس خود را کنار بکشد و بازیکن را تنها بگذارد تا تمپو را پیش ببرد. 3
هدف و میدانهایش
هدف، همان ساختار دادهٔ مرکزی است که هر دور را تعریف میکند. چهار میدان دارد: تمپو بر حسب ضرب در دقیقه؛ شمار میزانهای شنیدنی که کلیک در آنها نواخته میشود؛ شمار میزانهای خاموشی که در پی میآیند؛ و ضربدرهرمیزان، یعنی صورتِ میزاننما، که برای میزان چهارچهارم برابر 4 است. این میدانها با هم ساختار دور را تعیین میکنند، از شمار ضربها در مرحلهٔ شنیدنی تا شمارشان در مرحلهٔ سکوت. 3
موتور بازی از هدف برای محاسبهٔ همهٔ مقادیر مشتقی بهره میگیرد که بر دور حکم میرانند. از تمپو، مدت هر ضرب را بر حسب میلیثانیه به دست میآورد. از شمار میزانها و ضربدرهرمیزان، شمار کل ضربها و ضربی را که سکوت از آن آغاز میشود به دست میآورد. هدف در طول دور ثابت است، یعنی تمپو و شمار میزانها در سراسر آن دگرگون نمیشوند. بازیکن تنها میتواند با تَپ زدن در تمپوی مناسب و زمانبندی تَپهایش برای انطباق با شبکهٔ آرمانی به هدف پاسخ دهد. 3
از مُهرهای زمانی تا امتیاز
راه از مُهرهای زمانیِ تَپها تا امتیاز نهایی، دنبالهای روشن از محاسبات را میپیماید. نخست، بازی هر تَپ را همچون یک مُهر زمانی بر حسب میلیثانیه ثبت میکند و تَپهایی را که بیش از نیم ضرب پیش از پایان شمارش آغازینِ چهارضربی زده شدهاند نادیده میگذارد. در مرحلهٔ شنیدنی، بازیکن همراه با کلیک تَپ میزند و حسِ خود از تمپو را برقرار میکند. وقتی کلیک قطع میشود، بازیکن در میزانهای خاموش به تَپ زدن ادامه میدهد. آنگاه موتور، انحراف هر تَپِ مرحلهٔ سکوت را از شبکهٔ آرمانیِ مترونوم که بر نخستین تَپ لنگر انداخته است میسنجد، از آن انحرافها میانگین میگیرد و هر ضربِ خاموشِ بیتَپ را همچون یک خطای نیمضربی به شمار میآورد، و آن میانگین را، گرفتهشده همچون کسری از ضرب، به امتیازی میان 0 تا 1000 نگاشت میکند. در کنار امتیاز، تمپوی بازیابیشده از میانگینِ فاصلهٔ میانتَپی و شمار تَپهای مرحلهٔ سکوت را هم گزارش میکند. 3
این خط لوله یکسره قطعی است. با بذر و دشواریِ یکسان، همان هدف ساخته میشود. با هدف یکسان و مُهرهای زمانیِ یکسان، همان امتیاز محاسبه میشود. موتور به ساعت دیواری یا هر ارجاع بیرونی دیگری وابسته نیست؛ تنها به مُهرهای زمانی و به هدف وابسته است. همین سامانه را هم قابلاتکا و هم آزمونپذیر میکند، چون هر گام را میتوان با ورودیهای از پیش تعیینشده و خروجیهای مورد انتظار وارسی کرد. 3
مرحلهٔ سکوت همچون اندازهگیری
مرحلهٔ سکوت جایی است که اندازهگیری در آن رخ میدهد. در مرحلهٔ شنیدنی، کلیک ارجاعی فراهم میکند و بازیکن میتواند تَپهایش را با آن تنظیم کند. در مرحلهٔ سکوت چنین ارجاعی وجود ندارد، و تَپهای بازیکن آشکار میکنند که او تمپو را چقدر خوب درونی کرده است. موتور این درونیسازی را با سنجیدن هر تَپ در برابر جایگاه ضربِ آرمانی که از نخستین تَپِ بازیکن با تمپوی هدف برونیابی شده است اندازه میگیرد. تفاوت میان تَپ و جایگاه آرمانی، انحرافِ آن تَپ است. 3
مرحلهٔ سکوت همچنین جایی است که طراحی بازی در آن آشکارترین صورت خود را مییابد. کلیک، تمپوی هدف را در میزانهای شنیدنی مینوازد، سپس قطع میشود، و بازیکن باید در میزانهای خاموش همان تمپو را با تَپ زدن نگه دارد. مدت مرحلهٔ سکوت، که با شمار میزانهای خاموش و ضربدرهرمیزان تعیین میشود، درازای دورهٔ اندازهگیری را مشخص میکند. مرحلههای سکوتِ بلندتر از بازیکن میخواهند تمپو را برای ضربهای بیشتری نگه دارد، و همین مجال انباشته شدن انحراف را بیشتر میکند. سامانهٔ امتیازدهی انحراف هر تَپِ مرحلهٔ سکوت را میسنجد، هر ضربِ خاموشِ بیتَپ را بار میکند و همه را در یک امتیاز نهایی میانگین میگیرد؛ پس خطای کوچکی در تمپو که در طول نگهداشتی بلند رشد کند، انحرافِ میانگین را بالا و امتیاز را پایین میبرد. 3
جبرگراییِ بذردار
کل سامانه از یک مولد اعداد تصادفیِ بذردار قطعی است. بذری معین هر بار همان هدف را میسازد، و از آن نقطه به بعد هر قاعده آزمونپذیر است. بذر، تمپو را تعیین میکند که همچون عددی صحیح از بازهٔ دشواریِ برگزیده کشیده میشود؛ شمار میزانها از خودِ پیشتنظیم دشواری میآید. چون بذر و دشواری هدف را بهتمامی تعیین میکنند، همواره همان ساختار دور را میسازند. این ویژگی به امتیازدهی هم کشیده میشود، چون مُهرهای زمانیِ یکسان در برابر هدف یکسان همواره همان امتیاز را میدهند. 3
جبرگراییِ بذردار هم به کار بازیکن میآید و هم به کار توسعهدهنده. برای بازیکن یعنی دورها سازگار و منصفانهاند؛ دنبالهٔ یکسانی از تَپها همواره همان نتیجه را خواهد داد. حالت روزانه بذر خود را از تاریخ به وقت جهانی میگیرد، پس همهٔ کسانی که آن روز در درجهٔ دشواری معینی بازی میکنند هدف یکسانی میگیرند، در حالی که حالت تمرین برای هر دور بذری تصادفی و تازه برمیگزیند. برای توسعهدهنده یعنی موتور را میتوان با بذرها و دنبالههای تَپِ از پیش تعیینشده بهطور کامل آزمود. این جبرگرایی قید نیست؛ ویژگیای است که سامانهٔ زمانبندی بازی را شفاف و قابلاتکا میکند. 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.