PlayPendium

Tempo Lock · চিন্তার খাবার

ক্লিক থেমে যাওয়ার পরে

খেলা শুরু হয় একটি ক্লিক দিয়ে, যা গতি বেঁধে দেয়; তারপর সেই ক্লিক চুপ করে যায়, আর খেলোয়াড়কে নিঃশব্দ বারগুলোর মধ্যেও সেই একই গতিতে তাল ঠুকে যেতে হয়।

ইংরেজিতে লেখা ও সম্পাদিত। এই বাংলা সংস্করণটি যন্ত্রানুবাদের মাধ্যমে তৈরি; যেখানে নির্ভুলতা গুরুত্বপূর্ণ, সেখানে ইংরেজি মূলটিই প্রামাণ্য। ইংরেজিতে মূল লেখাটি পড়ুন →

একটি রাউন্ডের গড়ন

Tempo Lock-এর একটি রাউন্ড গড়া হয় একটি লক্ষ্য থেকে, যা চারটি জিনিস নির্দিষ্ট করে: গতির জন্য একটি প্রতি-মিনিটে-বিট মান, যত বারের জন্য ক্লিক বাজবে তার সংখ্যা, তারপরের নিঃশব্দ বারের সংখ্যা, এবং প্রতি-বারে-বিট মান, অর্থাৎ তালমাত্রার লব। ইঞ্জিন এই ঘরগুলো দিয়ে প্রথম শোনা-যাওয়া বিট থেকে শেষ নিঃশব্দ বিট পর্যন্ত গোটা রাউন্ডটি গড়ে তোলে। গতি ক্লিকের চাল ঠিক করে, শ্রাব্য বারগুলো ঠিক করে খেলোয়াড় কতক্ষণ মেট্রোনোম শুনবেন, আর নিঃশব্দ বারগুলো ক্লিক ছাড়া সেই গতি ধরে রাখার চ্যালেঞ্জটি বেঁধে দেয়। প্রতি-বারে-বিট মান ঠিক করে প্রতিটি বারে কয়টি বিট পড়বে, আর গেম প্রতিটি রাউন্ডেই সেটি 4-এ রাখে, অর্থাৎ সাধারণ তালমাত্রায়। 3

ইঞ্জিন স্কোরিং ব্যবস্থাকে চালাতে লক্ষ্য থেকে কয়েকটি উদ্ভূত মান হিসাব করে নেয়। সে বিটের দৈর্ঘ্য বের করে ষাট হাজারকে গতি দিয়ে ভাগ করে, যা একটি বিটের স্থিতিকাল মিলিসেকেন্ডে দেয়। সে মোট বিট-সংখ্যা বের করে শ্রাব্য আর নিঃশব্দ বারের যোগফলকে প্রতি-বারে-বিট দিয়ে গুণ করে, যা খেলোয়াড়কে মোট কয়টি বিট জুড়ে তাল ঠুকতে হবে তা দেয়। সে নীরবতার শুরুর বিন্দু বের করে শ্রাব্য বারকে প্রতি-বারে-বিট দিয়ে গুণ করে, যা ঠিক কোন বিট-সূচকে ক্লিক থেমে যাবে তা চিহ্নিত করে। এই উদ্ভূত মানগুলোই গোটা রাউন্ডের গাণিতিক ভিত্তি গড়ে দেয়। 3

ক্লিক শ্রাব্য বারগুলোতে লক্ষ্য-গতিতে বাজে, তারপর থেমে যায়, আর খেলোয়াড়কে নিঃশব্দ বারগুলোর মধ্যেও সেই একই গতিতে তাল ঠুকে যেতে হয়।

ক্লিক আর নীরবতা

ক্লিক হলো সেই শোনা-যাওয়া সংকেত, যা রাউন্ডের গতি প্রতিষ্ঠা করে। এটি শ্রাব্য বারগুলোর সময়টুকু লক্ষ্য-গতিতে বাজে, প্রতিটি বিটকে একটি ছোট শব্দ দিয়ে চিহ্নিত করে। এই ক্লিক একটি মেট্রোনোমের কাজ করে, অর্থাৎ সমান ব্যবধানে শোনা-যাওয়া শব্দ তৈরি করে, তবে এখানে ব্যবধানটি ঠিক করে দেয় রাউন্ডের লক্ষ্য, খেলোয়াড় নন। প্রথমে চার বিটের একটি গোনা-শুরু বাজে, আর প্রতিটি বারের প্রথম বিটে ক্লিকের পর্দা একটু চড়া হয়। সঙ্গীতশিল্পীরা তালে বাজাতে বা অনুশীলন করতে মেট্রোনোম ব্যবহার করেন, যাতে গতি স্থির আর বিট নিয়মিত থাকে। গেমের ক্লিকও শ্রাব্য পর্বে ঠিক এই কাজটিই করে, খেলোয়াড়ের তাল মেলানোর জন্য একটি রেফারেন্স-বিন্দু জুগিয়ে। 2

শ্রাব্য বারগুলো ফুরোলে ক্লিক পুরোপুরি থেমে যায়। খেলোয়াড় আর মেট্রোনোম শুনতে পান না, আর তাঁকে নিঃশব্দ বারগুলো জুড়ে একই গতিতে তাল ঠুকে যেতে হয়। এই নীরবতাই গেমের মূল চ্যালেঞ্জ তৈরি করে, কারণ বাইরের কোনো রেফারেন্স ছাড়াই খেলোয়াড়কে গতিটি মনের ভেতরে ধরে রাখতে হয়। নীরবতা কিন্তু ফাঁকা নয়; তা ভরা থাকে গতির স্মৃতিতে আর সেটি ধরে রাখার চেষ্টায়। স্কোর পরে মেপে দেখবে খেলোয়াড় ওই নীরবতায় গতিটি কতটা ভালোভাবে ধরে রেখেছিলেন। 3

কাঁচা টাইমস্ট্যাম্প আর নির্ধারণশীলতা

ইঞ্জিন পুরোপুরি চলে মিলিসেকেন্ডে মাপা কাঁচা ট্যাপ-টাইমস্ট্যাম্প থেকে। প্রতিটি ট্যাপ একটি নিরঙ্কুশ সময়-মান হিসেবে লেখা থাকে, আর সব হিসাব আসে এই টাইমস্ট্যাম্প আর লক্ষ্য থেকে। একই ট্যাপ-টাইমস্ট্যাম্পের ধারা সবসময় একই ফল দেয়, যা ইঞ্জিনটিকে নির্ধারণশীল করে তোলে এবং ঘড়ি ছাড়াই পরীক্ষাযোগ্য করে। এই পথে সময়ের হিসাব থেকে সব অস্পষ্টতা সরে যায় এবং একই ইনপুট নিয়ে আলাদা আলাদা রানেও স্কোর একরকম থাকে তা নিশ্চিত হয়। 3

ইঞ্জিনের স্কোরিং ফাংশনগুলো ইনপুট হিসেবে নেয় মিলিসেকেন্ডে কাঁচা ট্যাপ-টাইমস্ট্যাম্প আর সঙ্গে লক্ষ্যটি। এই নকশার মানে হলো, আগে থেকে ঠিক করা টাইমস্ট্যাম্পের ধারা দিয়ে ইঞ্জিনটি পরীক্ষা করা যায়, আর গেমটিকে বাস্তব সময়ে চালানো ছাড়াই আউটপুট যাচাই করা যায়। এই নির্ধারণশীলতা সেই বীজ-নির্ভর এলোমেলো-সংখ্যা জেনারেটর পর্যন্ত বিস্তৃত, যা প্রতিটি রাউন্ডের লক্ষ্য-গতি বেছে নেয়। নির্দিষ্ট একটি বীজ আর কঠিনতা প্রতিবারই একই লক্ষ্য বেঁধে দেয়, আর সেখান থেকে প্রতিটি নিয়মই পরীক্ষাযোগ্য। 3

ইঞ্জিন কাঁচা ট্যাপ-টাইমস্ট্যাম্প থেকেই কাজ করে, তাই একই ট্যাপ সবসময় একই ফল দেয়।

ট্যাপ থেকে গতি উদ্ধার

পরপর দুটি ট্যাপের মধ্যকার গড় ব্যবধান থেকে ইঞ্জিন গতির একটি হিসাব উদ্ধার করে। সে আন্তঃ-ট্যাপ ব্যবধানগুলো বের করে, অর্থাৎ প্রতিটি ট্যাপ আর তার আগেরটির মধ্যেকার সময়ের তফাত, তারপর তাদের গড় বের করে, শূন্য বা ঋণাত্মক যেকোনো ব্যবধান বাদ দিয়ে; দুইয়ের কম ট্যাপ হলে সে কোনো গতিই জানায় না। এই গড় ব্যবধান থেকে প্রতি-মিনিটে-বিট মানটি পাওয়া যায়, যা ট্যাপ করা ধারাটিতে খেলোয়াড় যে গতি ধরে রেখেছিলেন তার একটি পরিমাপ দেয়। এই ফাংশনটি লক্ষ্য-গতি থেকে স্বাধীনভাবে কাজ করে এবং খেলোয়াড়ের প্রকৃত পারফরম্যান্সের একটি বস্তুনিষ্ঠ মাপ জোগায়। 3

উদ্ধার করা গতিটি ফলের পর্দায় লক্ষ্যের পাশে “Your tempo” (আপনার গতি) হিসেবে দেখানো হয়, যাতে খেলোয়াড় দেখতে পান তিনি অভিপ্রেত চালের কতটা কাছাকাছি ছিলেন। হিসাবটি কেবল কাঁচা টাইমস্ট্যাম্প থেকেই হয়, লিপিবদ্ধ প্রতিটি ট্যাপ জুড়ে, শ্রাব্য আর নিঃশব্দ দুই পর্বেরই। এটি কেবল জানানোর জন্য: স্কোরটি বেরোয় বিচ্যুতি থেকে, উদ্ধার করা গতি থেকে নয়। 3

গ্রিড থেকে বিচ্যুতি মাপা

স্কোরিং ব্যবস্থা খেলোয়াড়কে পুরস্কৃত করে নিঃশব্দ পর্বে তাঁর ট্যাপগুলো আদর্শ মেট্রোনোম-গ্রিডের কাছে রাখার জন্য। আদর্শ গ্রিডটি সেই বিট-অবস্থানগুলো নিয়ে গড়া, খেলোয়াড়ের প্রথম ট্যাপে একটি মেট্রোনোম চালু হয়ে লক্ষ্য-গতিতে চলতে থাকলে যেগুলো পড়ত। প্রতিটি ট্যাপকে নিকটতম আদর্শ বিট-অবস্থানের সঙ্গে মেলানো হয়, আর তাদের মধ্যেকার তফাতই ওই ট্যাপের বিচ্যুতি। কেবল সেই ট্যাপগুলোই গোনা হয় যাদের নিকটতম বিট নিঃশব্দ পর্বে পড়ে, আর যেহেতু প্রত্যেকটিকে তার নিকটতম বিটের সঙ্গে মেলানো হয়, কোনো একটি ট্যাপই আধ বিটের বেশি বিচ্যুত হতে পারে না। নিঃশব্দ পর্বের যে বিটে কোনো ট্যাপ পড়ে না, তার প্রত্যেকটিকে আধ-বিটের ফসকা ধরা হয়, অর্থাৎ সবচেয়ে খারাপ ক্ষেত্র, আর সেটিকেও একই গড়ে জুড়ে দেওয়া হয়; তাই বিট বাদ দিলে গড় বিচ্যুতি উপরে ওঠে আর স্কোর নিচে নামে, আর যিনি নীরবতায় একটিও ট্যাপ করেন না তিনি শূন্য পান। 3

বিচ্যুতি-ভিত্তিক এই পথ গতি ধরে রাখাকে একটি মাপযোগ্য রাশিতে পরিণত করে। ইঞ্জিন শুধু দেখে না ট্যাপগুলো কোনো একটি জানালার মধ্যে পড়ছে কি না; সে আদর্শ অবস্থান থেকে নিখুঁত বিচ্যুতিটাই মাপে। শূন্য গড় বিচ্যুতি নিয়ে নিখুঁতভাবে ধরে রাখলে স্কোর হয় 1000, আর সেই স্কোর সরলরেখায় নেমে 0-এ পৌঁছায় সিকি বিটের গড় বিচ্যুতিতে; অর্থাৎ বিচ্যুতি যত কম, স্কোর তত বেশি। মাপকাঠিটি মিলিসেকেন্ডে নয়, বিটে মাপা, তাই প্রতিটি গতিতেই তা একই অর্থ বহন করে: প্রতি মিনিটে 120 বিটে সিকি বিট মানে 125 মিলিসেকেন্ড, আর 80-এ তা 187.5। সিকি বিট আবার এলোমেলোভাবে ট্যাপ করলে গড়ে যা দাঁড়ায় তা-ও, তাই এলোমেলো ট্যাপে প্রায় কিছুই মেলে না। ফলের পর্দা তবু গড় বিচ্যুতি মিলিসেকেন্ডে জানায়, আর স্কোরটিকে একটি রায়ে বদলে দেয়: 850 বা তার বেশি হলে “Locked in!” (তালে বাঁধা!), 650 বা তার বেশি হলে “Tight.” (আঁটসাঁট।), 350 বা তার বেশি হলে “Wobbly.” (টলমলে।), আর তার নিচে হলে “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