ফোন কীভাবে নিজের লুপ নিজেই গোনে
Looping-এর ক্যামেরাও লাগে না, রেফারিও না: ফোন নিজের থ্রো নিজেই মাপে। ফোন হাত ছাড়ার মুহূর্ত থেকে স্কোর দেখানো পর্যন্ত মাঝখানে কী ঘটে, তা এখানে।
দুটি সেন্সর, যা সব ফোনেই থাকে
অ্যাক্সিলারোমিটার মাপে ফোনের ওপর কী কী বল কাজ করছে। টেবিলে রাখা থাকলে সে পড়ে মাধ্যাকর্ষণের টান, প্রায় 9.8 মি/সে²। জাইরোস্কোপ মাপে ফোন তার তিনটি অক্ষের প্রতিটির চারপাশে কত জোরে ঘুরছে, ডিগ্রি প্রতি সেকেন্ডে।
দুটোই ফোনে বসানো হয়েছিল স্ক্রিন ঘোরাতে, পদক্ষেপ গুনতে আর ছবি স্থির রাখতে। Looping এগুলো পড়ে ব্রাউজারের মাধ্যমে, সেকেন্ডে কয়েক ডজন বার।
উড়ান চেনা
যে মুহূর্তে ফোন হাত ছাড়ে, তাকে ঠেলার আর কিছু থাকে না। সে তখন মুক্ত পতনে, ওঠার সময়ও যেমন, নামার সময়ও তেমন, আর অ্যাক্সিলারোমিটার প্রায় কিছুই পড়ে না। এই হঠাৎ নীরবতাই উড়ানের স্বাক্ষর। উড়ান শেষ হয় একটা তীক্ষ্ণ ধাক্কায়, যখন কোনো হাত বা তোশক ফোনটাকে থামায়।
ঘুরন্ত ফোন ছবিটা ঘোলা করে দেয়: তার অ্যাক্সিলারোমিটার ঠিক মাঝখানে বসানো নয়, তাই ঘূর্ণন নিজেই তার ওপর চাপ দেয়। গেম তাই সোজাসাপটা শূন্য খোঁজে না। সে মিলিয়ে দেখে, অ্যাক্সিলারোমিটার যা পড়ছে তা জাইরোস্কোপের মাপা ঘূর্ণন দিয়ে হুবহু ব্যাখ্যা করা যায় কি না। হাতে ঝাঁকানো ফোন, বা টেবিলের ওপর ঘোরানো ফোন, এই পরীক্ষায় পাস করে না।
গোনা হতে হলে উড়ান অন্তত 0.3 সেকেন্ড টিকতে হবে: প্রায় এগারো সেন্টিমিটার উঁচু, একটা থ্রোকে হাতের ঝাঁকুনি থেকে আলাদা করতে যথেষ্ট।
পাক গোনা
উড়ানের সময় জাইরোস্কোপ সেকেন্ডে বহুবার ঘোরার গতি জানায়। প্রতিটি মাপ যতটুকু সময়ের, তা দিয়ে তাকে গুণ করো, সব যোগ করো, আর পেয়ে যাবে ফোন মোট কত কোণ ঘুরেছে, অক্ষ যেটাই হোক: ডিগবাজি খেয়ে (ফ্লিপ), লম্বা দিক বরাবর (রোল), কিংবা চ্যাপ্টা থেকে লাটিমের মতো (সমতল ঘূর্ণন)।
এক লুপ মানে 360°। স্ক্রিনের সংখ্যাটা হলো পূর্ণ পাকের গণনা, আর একটা পাক গোনা হয় তার 80% থেকে। যারা থ্রো দেখে, তারা মুক্ত উড়ানে যতটা আছে তার চেয়ে প্রায় এক পাকের পাঁচ ভাগের এক ভাগ বেশি দেখে, কারণ ছাড়ার সময় ফোন হাতের মধ্যেই ঘুরতে শুরু করে আর ধরার সময়ও ঘুরতে থাকে। লিডারবোর্ড অবশ্য চলে মোট কোণ দিয়ে, ডিগ্রি ধরে ধরে।
উচ্চতা কোথা থেকে আসে
গেম ছাদ দেখে না: সে উড়ানের সময় মাপে। ওপরে ছোঁড়া কোনো জিনিস একই উচ্চতায় ধরা পড়লে তার বাতাসে সময়ের অর্ধেক কাটে উঠতে আর অর্ধেক নামতে, আর সেখান থেকেই উচ্চতা মেলে: বাতাসে 0.5 সেকেন্ড মানে প্রায় 30 সেমি, 0.75 সেকেন্ড প্রায় 70 সেমি, এক সেকেন্ড প্রায় 1.2 মিটার।
এটা একটা অনুমান। যেখান থেকে ছুঁড়েছ তার চেয়ে নিচে ফোন ধরলে সংখ্যাটা তোমার একটু তোষামোদ করে।
সেন্সর যখন আর তাল রাখতে পারে না
প্রতিটি জাইরোস্কোপের একটা সীমা আছে: ঘোরার এমন এক গতি, যার পরে সে একই সংখ্যা বলে যেতে থাকে। আমরা মেপেছি কিছু Android ফোনে প্রায় 1,150 °/সে, অন্যগুলোতে 2,300 °/সে আর সাম্প্রতিক একটা iPhone-এ 4,000 °/সে, মানে সেকেন্ডে এগারো পাক।
থ্রো সীমা ছাড়িয়ে গেলে গেম হারানো পাকগুলো বানিয়ে নেয় না। সত্যিই যতটুকু ন্যূনতম মাপতে পেরেছে সেটুকুই রাখে আর ফলাফলে তা জানিয়ে দেয়, অথবা কিছুই নিশ্চিত করতে না পারলে থ্রো প্রত্যাখ্যান করে। স্কোর সত্যির চেয়ে কম হতে পারে; বেশি কখনও নয়।
স্কোর কেন সার্ভারের হাতে
তোমার ফোন থ্রো রেকর্ড করে; বিচার করে না। কাঁচা মাপগুলো যায় গেমের সার্ভারে, যে সবার জন্য একই নিয়মে স্কোর হিসাব করে আর যাচাই করে মাপগুলো সত্যিকারের মুক্ত উড়ানের বর্ণনা দিচ্ছে কি না। একটা রেকর্ডিং মাত্র একবারই গোনা যায়।
এ কারণেই লিডারবোর্ড বিশ্বাসযোগ্য: কেউ একটা সংখ্যা পাঠাতে পারে না, পাঠাতে পারে শুধু একটা থ্রো। নেটওয়ার্ক না থাকলে থ্রো ফোনেই রাখা থাকে (বারোটা পর্যন্ত, সাত দিনের জন্য) আর সংযোগ ফিরলে গোনা হয়।
গেম কী পড়ে, আর কী পড়ে না
Looping মোশন সেন্সর পড়ে, আর কিছু নয়: ক্যামেরা নয়, মাইক্রোফোন নয়, লোকেশন নয়। কী রেকর্ড করা হয় আর কত দিনের জন্য, তা আইনি বিজ্ঞপ্তিতে লেখা আছে।
Looping খেলোআরও পড়ো
English Français Español Português Deutsch Italiano Nederlands Polski Türkçe Русский Українська العربية हिन्दी বাংলা Bahasa Indonesia Tiếng Việt ไทย 日本語 한국어 中文