Android-এর জন্য গেম ডেভেলপ করার সময়, প্লেয়ারের সম্ভাব্য বিভিন্ন ধরনের অভিজ্ঞতা আগে থেকে অনুমান করা এবং প্লেয়ারের রিয়েল-টাইম ইন্টার্যাকশনের প্রয়োজনীয়তার সাথে মানিয়ে নেওয়া গুরুত্বপূর্ণ। বিভিন্ন প্লেয়ারের অভিজ্ঞতাকে সমর্থন করে, আপনি গেমপ্লে নমনীয়তা বাড়ান, যা আপনার গেমের নাগাল প্রসারিত করতে সাহায্য করে।
প্লেয়ারের অভিজ্ঞতায় নির্দিষ্ট পার্থক্যের মধ্যে নিম্নলিখিত বিষয়গুলি অন্তর্ভুক্ত:
- ডিভাইস ফর্ম ফ্যাক্টর: ফোন, Android ডিভাইসের প্রথাগত অভিজ্ঞতা প্রদান করলেও, অন্যান্য ফর্ম ফ্যাক্টরে গেমের সাথে ইন্টার্যাক্ট করা সম্ভব। ChromeOS ডিভাইস একটি Android কন্টেনার চালাতে পারে যা আপনার গেম দেখায়। Android চালানো যায় এমন ট্যাবলেট বিভিন্ন লেভেলের ফিডেলিটি সাপোর্ট করে। Android TV ডিভাইস আরও বিস্তারিত এবং আরও ইমারসিভ অভিজ্ঞতা প্রদান করে। প্লেয়াররা ডিসপ্লে এক্সটেনশন টুল ব্যবহার করে মাল্টি-উইন্ডো এনভায়রনমেন্ট সিমুলেট করতে পারবেন। এবং ফোল্ডেবল ডিভাইস ব্যবহার করার সময়, প্লেয়াররা গেমপ্লে সেশন চলাকালীন স্ক্রিনের সাইজ পরিবর্তন করতে পারবেন।
- ইন্টার্যাকশন পদ্ধতি: প্লেয়াররা ডিভাইসের স্ক্রিন টাচ করে ইনপুট দিতে পারেন, তবে তারা এর পরিবর্তে মাউস, টাচপ্যাড, কীবোর্ড বা কন্ট্রোলারও ব্যবহার করতে পারেন। এছাড়াও, ডিসপ্লে এক্সটেনশন টুল এবং ফোল্ডেবল ডিভাইসের উপলভ্যতা প্লেয়ারদের আরও বড় স্ক্রিনে আপনার গেমের অভিজ্ঞতা নিতে দেয়, যার ফলে দীর্ঘ গেমপ্লে সেশন এবং আরও জটিল ইন্টারফেস আরও বেশি সম্ভব হয়।
- হার্ডওয়্যার সাপোর্ট: Android দ্বারা পরিচালিত কিছু ডিভাইসে এমন হার্ডওয়্যার থাকে না যা সাধারণত হ্যান্ডহেল্ড ডিভাইসে থাকে, যেমন রিয়ার-ফেসিং ক্যামেরা, জিপিএস এবং নেটওয়ার্ক কানেক্টিভিটি। আপনার গেমটি উপলভ্য হার্ডওয়্যারের সাথে মানানসই হতে হবে এবং নির্দিষ্ট ফিচার উপলভ্য না থাকলে পরিস্থিতি সুন্দরভাবে সামলাতে হবে।
এই নির্দেশিকায় বিভিন্ন ধরনের স্ক্রিন ও ব্যবহারকারীর ইন্টার্যাকশনের জন্য গেম ডেভেলপ করার পেশাদার পদ্ধতি সম্পর্কে বলা হয়েছে। এছাড়াও, এই নির্দেশিকায় আপনার গেম ডিজাইন করা এবং একটি কার্যকর টেস্টিং স্ট্র্যাটেজি তৈরি করার ব্যাপারে সাজেশন দেওয়া হয়েছে।
গেম ডিজাইন সংক্রান্ত পেশাদার পদ্ধতি
আপনার গেমের ডিজাইন ও আর্কিটেকচার প্ল্যান করার সময়, নিম্নলিখিত বিভাগে বর্ণনা করা পেশাদার পদ্ধতি অনুসরণ করুন।
কনফিগারেশনে হওয়া পরিবর্তনের ম্যানুয়ালি উত্তর দিন
Android সিস্টেম যখন স্ক্রিনের সাইজ, স্ক্রিনের ওরিয়েন্টেশন বা ইনপুট পদ্ধতির মতো কোনও কনফিগারেশন পরিবর্তন শনাক্ত করে, তখন সিস্টেম ডিফল্ট হিসেবে বর্তমান অ্যাক্টিভিটি রিস্টার্ট করে। অ্যাপ বা গেমের মধ্যে স্ট্যাটাস বজায় রাখতে, অ্যাক্টিভিটি ডিফল্ট হিসেবে
রিস্টার্ট হওয়ার আগে
onSaveInstanceState()
এবং রিস্টার্ট হওয়ার পরে
onRestoreInstanceState()
কল করে। তবে, এই প্রসেসের জন্য অ্যাক্টিভিটিকে সব
সংশ্লিষ্ট পরিষেবা ও রিসোর্স আবার লোড করতে হয়। এই ডিফল্ট অ্যাকশন সম্পর্কে আরও জানতে,
কনফিগারেশন পরিবর্তন ম্যানেজ করা সংক্রান্ত
গাইড দেখুন।
সাধারণত গেমপ্লে সেশনে কনফিগারেশনে একাধিক পরিবর্তন করা হয়। আপনার গেম যদি সিস্টেমকে প্রতিটি কনফিগারেশন পরিবর্তন ম্যানেজ করতে দেয়, তাহলে আপনার গেমের দৃশ্য নষ্ট হয়ে যায় এবং বারবার রিস্টার্ট হয়, যার ফলে আপনার গেমের পারফর্ম্যান্স কমে যায়। এই কারণে, আমরা আপনাকে আপনার গেমে এইসব কনফিগারেশন পরিবর্তন নিজে ম্যানেজ করার জন্য অত্যন্ত উৎসাহিত করি।
আপনার গেমে এই কনফিগারেশন পরিবর্তন লজিক কীভাবে যোগ করবেন তা জানতে, কীভাবে কাস্টম কনফিগারেশন পরিবর্তন হ্যান্ডলার তৈরি করবেন সেই সংক্রান্ত বিভাগ দেখুন।
একটি ফ্লেক্সিবল আর্কিটেকচার তৈরি করুন
যত বেশি সম্ভব ডিভাইসে আপনার গেমের জন্য সহায়তা যোগ করতে, এইসব পেশাদার পদ্ধতি অনুসরণ করুন:
- আলাদা আলাদা APK-এর পরিবর্তে Android অ্যাপ বান্ডেল ডিপ্লয় করুন। Android App Bundles-এর সাহায্যে আপনি বিভিন্ন রেজোলিউশন ও আর্কিটেকচার মডেলের আর্টিফ্যাক্ট, যেমন x86, ARM, একটিই আর্টিফ্যাক্টে প্যাকেজ করতে পারবেন। আরও ভাল হয়, Android অ্যাপ বান্ডেল আপনার গেমের জন্য আরও বেশি সাইজের সীমা সমর্থন করে; প্রতিটি বেস APK-এর সাইজ ১৫০ এমবি পর্যন্ত হতে পারে এবং বান্ডেলটি নিজেই অনেক গিগাবাইট সাইজের হতে পারে।
- x86 আর্কিটেকচারের জন্য সহায়তা যোগ করুন। এই ধাপটি ARM কাজ করে না এমন ডিভাইসে আপনার গেমের পারফর্ম্যান্স উন্নত করে, কারণ এই ডিভাইসগুলি এখন প্রথমে অনুবাদ না করেই নির্দেশাবলী কার্যকর করতে পারে।
Vulkan-এর জন্য সহায়তা যোগ করুন
Vulkan-এর মাধ্যমে আপনার গেম আরও ভালো গ্রাফিক্স পারফর্ম্যান্স অর্জন করতে পারে। বেশিরভাগ ডিভাইসে এই গ্রাফিক্স API কাজ করে।
কাস্টম কনফিগারেশন পরিবর্তন হ্যান্ডলার তৈরি করুন
আপনার গেম যে ধরনের কনফিগারেশন পরিবর্তন নিজেই ম্যানেজ করে তা ঘোষণা করতে, আপনার ম্যানিফেস্টে প্রতিটি <activity> এলিমেন্টে android:configChanges
অ্যাট্রিবিউট যোগ করুন যা স্ক্রিন বা জটিল ইন্টারফেসকে
প্রতিনিধিত্ব করে।
আপনার গেম স্ক্রিনের সাইজ, স্ক্রিনের ওরিয়েন্টেশন এবং ইনপুট পদ্ধতির পরিবর্তন ম্যানেজ করে, তা কীভাবে ঘোষণা করবেন তা নিম্নলিখিত কোড স্নিপেট থেকে দেখানো হয়েছে:
<activity ... android:configChanges="screenSize|orientation|keyboard|keyboardHidden"> </activity>
ঘোষিত কনফিগারেশনে পরিবর্তন হলে, সিস্টেম এখন অন্য একটি পদ্ধতি ব্যবহার করে,
onConfigurationChanged().
এই পদ্ধতির মধ্যে, আপনার গেমের UI আপডেট করার জন্য লজিক যোগ করুন:
- স্ক্রিনের স্কেল ফ্যাক্টর ও ওরিয়েন্টেশন আপডেট করুন। মনে রাখবেন যে, পারফর্ম্যান্সের উদ্দেশ্যে, কখনও কখনও আপনার গেমের UI শুধুমাত্র একটি ডাইমেনশন বরাবর স্কেল করা ভালো।
- প্লেয়ারের ব্যবহার করার জন্য সবচেয়ে উপযুক্ত ইনপুট পদ্ধতি শনাক্ত করুন।
স্ক্রিন কনফিগারেশনে পরিবর্তন ম্যানেজ করা
আপনার গেম স্ক্রিনের সাইজ ও স্ক্রিনের ওরিয়েন্টেশন ম্যানুয়ালি পরিবর্তন করে যখনই
আপনি screenSize এবং orientation ভ্যালু যথাক্রমে
android:configChanges
অ্যাট্রিবিউটে যোগ করেন। আপনার দৃশ্যের কন্টেন্ট এবং প্লেয়ার ইনপুট এরিয়া আপডেট করতে আপনি এই নতুন ভ্যালুগুলি ব্যবহার করতে পারেন। আপনার গেমের লেআউট কীভাবে ডিজাইন করবেন যাতে এটি আপডেট করা সহজ হয়,
সেই বিষয়ে নির্দেশনার জন্য, বিভিন্ন স্ক্রিনের সাইজ সাপোর্ট করার বিষয়ে
গাইড দেখুন।
আপনার গেমে onConfigurationChanged() প্রয়োগ করার সময়, স্ক্রিনের সাইজ ও স্ক্রিনের ওরিয়েন্টেশনের জন্য আপডেট করা ভ্যালু নির্ধারণ করতে,
যথাক্রমে পাস-ইন করা
Configuration অবজেক্ট ও
উইন্ডো ম্যানেজারের Display অবজেক্ট ব্যবহার করুন।
নিম্নলিখিত কোড স্নিপেট থেকে জানতে পারবেন যে কীভাবে আপনার গেমের আপডেট করা স্ক্রিন সাইজ ও ওরিয়েন্টেশন পাবেন:
Kotlin
override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) val density: Float = resources.displayMetrics.density val newScreenWidthPixels = (newConfig.screenWidthDp * density).toInt() val newScreenHeightPixels = (newConfig.screenHeightDp * density).toInt() // Get general orientation; either Configuration.ORIENTATION_PORTRAIT or // Configuration.ORIENTATION_LANDSCAPE. val newScreenOrientation: Int = newConfig.orientation // Get general rotation; one of: ROTATION_0, ROTATION_90, ROTATION_180, // or ROTATION_270. val newScreenRotation: Int = windowManager.defaultDisplay.rotation }
জাভা
@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); float density = getResources().getDisplayMetrics().density; int newScreenWidthPixels = (int) (newConfig.screenWidthDp * density); int newScreenHeightPixels = (int) (newConfig.screenHeightDp * density); // Get general orientation; either Configuration.ORIENTATION_PORTRAIT or // Configuration.ORIENTATION_LANDSCAPE. int newScreenOrientation = newConfig.orientation; // Get general rotation; one of: ROTATION_0, ROTATION_90, ROTATION_180, // or ROTATION_270. int newScreenRotation = getWindowManager().getDefaultDisplay() .getRotation(); }
মনে রাখবেন, ফোল্ডেবল ডিভাইসের পোজ পরিবর্তন করলে কনফিগারেশন পরিবর্তন হয়, এমনকি আপনার অ্যাপ ফুল-স্ক্রিন মোডে চললেও। এর ফলে, আপনার গেম চলাকালীন ব্যবহারকারী ডিভাইস ভাঁজ করলে বা খুললে, আপনার অ্যাপকে স্ক্রিনের সাইজ বা পিক্সেল ঘনত্বে পরিবর্তন ম্যানেজ করতে হতে পারে।
গেম-নির্দিষ্ট স্ক্রিন কোয়ালিটি
আপনার গেমের কোয়ালিটির উপর নির্ভর করে, স্ক্রিনের সাইজ বা স্ক্রিন ওরিয়েন্টেশন পরিবর্তন হলে, আপনার গেম কীভাবে প্রতিক্রিয়া দেখাবে তা নিম্নলিখিত বিভাগে বর্ণনা করা হয়েছে:
পূর্ণ স্ক্রিন মোড
ChromeOS-এর মতো কিছু প্ল্যাটফর্মে, Android অ্যাপ ও গেম ডিফল্ট হিসেবে উইন্ডো করা ও
ছোট বড় করা যায়। আপনার গেম সবসময় ফুলস্ক্রিন মোডে রান করতে চাইলে, আপনি
android:resizeableActivity
অ্যাট্রিবিউটকে আপনার কোনও একটি <activity> এলিমেন্টে false হিসেবে সেট করতে পারেন, যেমনটি
নিম্নলিখিত কোড স্নিপেটে দেখানো হয়েছে:
<activity ... android:resizeableActivity="false"> </activity>
এছাড়াও, সাইজ-ভিত্তিক কনফিগারেশন পরিবর্তন হওয়া আটকাতে, আপনি android:resizeableActivity অ্যাট্রিবিউট false-এ সেট করতে পারেন। তবে, আপনার গেম সবসময় ফুল-স্ক্রিন মোডে রান না করলে, টেস্টিংয়ের উদ্দেশ্যে সাময়িক সমাধান হিসেবে
এই অ্যাট্রিবিউট যোগ করা উচিত।
স্ক্রিন ওরিয়েন্টেশন
আপনার গেম যদি কোনও ডিভাইসের সেন্সরের নির্দিষ্ট ওরিয়েন্টেশনের উপর নির্ভর করে,
তাহলে আপনার গেমের অ্যাক্টিভিটিতে
android:screenOrientation-এর জন্য একটি ভ্যালু উল্লেখ করুন, যেমনটি নিম্নলিখিত কোড স্নিপেটে দেখানো হয়েছে। এই সেটিং আপনার গেমের কোনও দৃশ্যকে
অপ্রত্যাশিতভাবে উল্টে যাওয়া থেকে আটকাতে সাহায্য করে।
<activity ... android:screenOrientation="landscape"> </activity>
ডিভাইস-নির্দিষ্ট স্ক্রিন কোয়ালিটি
কিছু ডিভাইসের নির্দিষ্ট কোয়ালিটি অনুযায়ী স্ক্রিন-ভিত্তিক কনফিগারেশন পরিবর্তন কীভাবে ম্যানেজ করতে হয় তা নিম্নলিখিত বিভাগে বর্ণনা করা হয়েছে।
অ্যাস্পেক্ট রেশিও
কিছু ডিভাইসে বিভিন্ন অ্যাস্পেক্ট রেশিও কাজ করে। যেমন, ফোল্ড করা যায় এমন ডিভাইস ফোল্ড করা অবস্থায় ২১:৯ অ্যাস্পেক্ট রেশিওতে কাজ করার জন্য ডিজাইন করা হয়েছে। অ্যাস্পেক্ট রেশিওর এই সম্ভাব্য বৈচিত্র্য ম্যানেজ করতে, নিম্নলিখিতগুলির মধ্যে অন্তত একটি করুন:
- Android 8.0 (API লেভেল ২৬) বা তার পরবর্তী ভার্সনকে টার্গেট করুন।
- আপনার গেমের দৃশ্য ও ইন্টারফেস ছোট-বড় করার সুবিধা দিন। Android 7.0 (API লেভেল ২৪) এবং তার পরবর্তী যেকোনও ভার্সনে চলা ডিভাইসে
android:resizeableActivitytrue-এ সেট করুন। সর্বাধিক কাজ করে এমন অ্যাস্পেক্ট রেশিও ঘোষণা করুন। আপনার গেমের সাথে সম্পর্কিত
<meta-data>অ্যাট্রিবিউটে,android.max_aspect-কে2.4-এ সেট করুন, যেমনটি নিম্নলিখিত কোড স্নিপেটে দেখানো হয়েছে। তবে মনে রাখবেন, আপনার উল্লেখ করা অ্যাস্পেক্ট রেশিওর থেকে বড় অ্যাস্পেক্ট রেশিও ব্যবহার করলে, গেমটি ডিসপ্লেতে লেটারবক্স হিসেবে দেখা যাবে।<application> <meta-data android:name="android.max_aspect" android:value="2.4" /> </application>
একসাথে একাধিক অ্যাক্টিভিটি দেখা যাচ্ছে
অনেক আধুনিক ডিভাইসে স্প্লিট-স্ক্রিন, ছবির-মধ্যে-ছবি এবং বড় ডিসপ্লে এরিয়া সহ বিভিন্ন ধরনের স্ক্রিন লেআউট কাজ করে। এইসব লেআউটের মধ্যে কোনও একটি ব্যবহার করার সময়, সিস্টেম একই সময়ে একাধিক অ্যাক্টিভিটি দেখাতে পারে।
Android 9 (API লেভেল ২৮) বা তার পরবর্তী যেকোনও ভার্সন রান করে এমন ডিভাইসে, সব টপ
দৃশ্যমান অ্যাক্টিভিটি একই সময়ে আবার শুরু করা সম্ভব। তবে, এই আচরণ কাজ করার জন্য, আপনার গেম এবং ডিভাইসের OEM, উভয়কেই কার্যকারিতা বেছে নিতে হবে। আপনার গেমের ম্যানিফেস্টে android.allow_multiple_resumed_activities-কে true-এ সেট করে
আপনি গেমের মধ্যে সহায়তা যোগ করতে পারবেন,
যেমনটি নিম্নলিখিত স্নিপেটে দেখানো হয়েছে:
<application> <meta-data android:name="android.allow_multiple_resumed_activities" android:value="true" /> </application>
তারপর, আপনি বিভিন্ন ডিভাইসে আপনার গেম পরীক্ষা করে দেখতে পারেন যে কোন ডিভাইসগুলি মাল্টি-রিজিউম সঠিকভাবে কাজ করার জন্য প্রয়োজনীয় OEM সহায়তা প্রদান করে।
মাল্টি-উইন্ডো ডিসপ্লের অংশ হিসেবে আপনার গেম কনফিগার করার ব্যাপারে আরও তথ্য পেতে, মাল্টি-উইন্ডো সহায়তা কীভাবে যোগ করবেন সেই সংক্রান্ত গাইড দেখুন।
বিভিন্ন ধরনের ইন্টার্যাকশন মডেল ম্যানেজ করা
আপনার গেম কীবোর্ডের উপস্থিতি এবং কীবোর্ডের উপলভ্যতা ম্যানুয়ালি ম্যানেজ করে যখনই
আপনি keyboard এবং keyboardHidden ভ্যালু, যথাক্রমে, একটি
android:configChanges
অ্যাট্রিবিউটে অন্তর্ভুক্ত করেন। আপনার গেমের প্রাথমিক ইনপুট পদ্ধতি আপডেট করতে আপনি এইসব নতুন ভ্যালু ব্যবহার করতে
পারবেন।
একাধিক ধরনের ব্যবহারকারীর ইনপুট সমর্থন করার জন্য আপনার গেম কনফিগার করার সময়, নিম্নলিখিত বিষয়গুলি মনে রাখবেন:
- আলাদা আলাদা ডিভাইসের পরিবর্তে ইনপুট পদ্ধতি শনাক্ত করা। এই মানসিকতা থাকলে, প্লেয়ারের কাছে কোন নির্দিষ্ট ডিভাইস আছে তার উপর খুব বেশি ফোকাস না করেই প্লেয়ারের অভিজ্ঞতা উন্নত করা সহজ হয়।
- ম্যানুয়ালি-ম্যানেজ করা কনফিগারেশন পরিবর্তনের তালিকায়
keyboardHiddenঅ্যাট্রিবিউট যোগ করুন। এর ফলে, আপনার গেম ট্র্যাক করতে পারবে যে কখন ডিভাইসের সাথে ফিজিক্যাল কীবোর্ড অ্যাটাচ করা আছে কিন্তু ব্যবহার করা যাচ্ছে না। বর্তমানে উপলভ্য ইনপুট পদ্ধতি নির্ধারণ করুন। এটি করতে, গেম শুরু করার সময় এবং প্রতিটি কনফিগারেশন পরিবর্তনের পরে
getInputDeviceIds()কল করুন।আপনি প্রায়ই নির্ধারণ করতে পারবেন যে প্লেয়ার কীভাবে আপনার গেমের সাথে ইন্টার্যাক্ট করার পরিকল্পনা করছে তাদের পছন্দের ইনপুট ডিভাইসের উপর ভিত্তি করে:
- প্লেয়াররা সাধারণত কীবোর্ড বা গেম কন্ট্রোলার ব্যবহার করে দ্রুত বোতামের সিকোয়েন্স পারফর্ম করেন।
- আরও জটিল জেসচার পারফর্ম করার জন্য প্লেয়াররা সাধারণত টাচস্ক্রিন বা টাচপ্যাড ব্যবহার করেন।
- আরও নিখুঁত ইনপুট পারফর্ম করতে প্লেয়াররা সাধারণত মাউস ব্যবহার করেন।
নিম্নলিখিত বিভাগে নির্দিষ্ট ধরনের ইনপুট ডিভাইসের জন্য পেশাদার পদ্ধতি দেওয়া আছে।
কীবোর্ড
আপনার গেমের জন্য কীবোর্ড লেআউট তৈরি করার সময়, প্লেয়ার কীভাবে কোনও দৃশ্যের মধ্যে নেভিগেট করবেন এবং গেমের সেটিংসের সাথে কীভাবে ইন্টার্যাক্ট করবেন তা বিবেচনা করুন।
WASD কী বা তীরচিহ্ন কী সাধারণত চরিত্রের মুভমেন্ট কন্ট্রোল করার জন্য সবচেয়ে ভালো। এছাড়াও, আপনার গেমের মধ্যে কন্ট্রোল করা যায় এমন চরিত্রের প্রতিটি গুরুত্বপূর্ণ অ্যাকশন বা দক্ষতার জন্য একটি নির্দিষ্ট কী অ্যাসাইন করা সবচেয়ে ভালো। প্লেয়ারের অভিজ্ঞতা আরও ভালো করতে, আপনার গেমে কাস্টম কী বাইন্ডিংয়ের জন্য সহায়তা যোগ করার কথা বিবেচনা করুন।
এছাড়াও, প্লেয়ারদের কীবোর্ড ব্যবহার করে আপনার গেমের মেনু খুলতে এবং সেগুলির মাধ্যমে নেভিগেট করতে
পারতে হবে। Esc কী হল দৃশ্য পজ করা এবং গেমের মেনু দেখানোর জন্য
একটি সাধারণ ম্যাপিং।
আপনার গেমে কীবোর্ড ইনপুট সাপোর্ট করার ব্যাপারে আরও তথ্যের জন্য, কীবোর্ড নেভিগেশন কীভাবে সাপোর্ট করতে হয় সেই সংক্রান্ত নির্দেশিকা এবং কীবোর্ড অ্যাকশন কীভাবে ম্যানেজ করতে হয় সেই সংক্রান্ত নির্দেশিকা দেখুন।
গেম কন্ট্রোলার
আপনার গেমে কন্ট্রোলার ইনপুট ম্যানেজ করার ব্যাপারে আরও তথ্য পেতে, গেম কন্ট্রোলার কীভাবে সাপোর্ট করবেন সেই সংক্রান্ত নির্দেশিকা দেখুন।
মাউস বা টাচপ্যাড
আপনার গেম যদি মাউস বা টাচপ্যাড থেকে প্লেয়ার ইনপুট সমর্থন করে, তাহলে মনে রাখবেন যে প্লেয়াররা আপনার গেম খেলা ছাড়া অন্য উপায়ে ডিভাইসের সাথে ইন্টারঅ্যাক্ট করে। পয়েন্টার ক্যাপচার করার অনুরোধ করার মাধ্যমে, সমস্ত মাউস ইনপুট আপনার গেমে নির্দেশিত হয়, এই বিষয়টি জানা গুরুত্বপূর্ণ। তাই, আপনার গেমের কাছে প্রয়োজনীয় তথ্য চলে আসার পরে, পয়েন্টার ক্যাপচার রিলিজ করুন যাতে প্লেয়াররা তাদের ডিভাইসে মাউসের স্ট্যান্ডার্ড কন্ট্রোল ফিরে পান।
Android 8.0 (API লেভেল ২৬) এবং তার পরবর্তী যেকোনও ভার্সনে চলা ডিভাইসে, আপনি মাউস
ক্যাপচার API ব্যবহার করে পয়েন্টার ক্যাপচার প্রসেসে সহায়তা করতে পারেন। যেসব গেম
হাই-প্রিসিশন ইনপুটে প্রতিক্রিয়া জানায়, সেখানে আপনি getX() এবং
getY() পদ্ধতি কল করে
পয়েন্টারের বর্তমান কোঅর্ডিনেট পেতে পারেন।
আপনার গেমে মাউস ইনপুট ও টাচপ্যাড ইনপুটের জন্য সহায়তা যোগ করার ব্যাপারে অতিরিক্ত তথ্যের জন্য, টাচ ও পয়েন্টার মুভমেন্ট কীভাবে ট্র্যাক করতে হয় সেই সংক্রান্ত নির্দেশিকা এবং মাল্টি-টাচ জেসচার কীভাবে ম্যানেজ করতে হয় সেই সংক্রান্ত নির্দেশিকা দেখুন।
আপনার গেম টেস্ট করা
আপনার গেম লঞ্চ করার আগে, নিম্নলিখিত বিভাগে বর্ণিত ধাপগুলি সম্পূর্ণ করে কনফিগারেশন পরিবর্তনের ক্ষেত্রে এটি কীভাবে প্রতিক্রিয়া জানায় তা পরীক্ষা করুন।
আপনার টেস্ট প্ল্যান আপডেট করুন
আপনার গেমের কার্যকারিতা যাচাই করার সময়, নিম্নলিখিত টেস্ট কেসগুলি অন্তর্ভুক্ত করুন:
- আপনার গেম আছে এমন উইন্ডো ছোট ও বড় করুন। (আপনার গেম সবসময় ফুল-স্ক্রিন মোডে থাকলে এটি প্রযোজ্য নয়।)
- স্ক্রিনের সাইজ পরিবর্তন করুন।
- স্ক্রিনের সজ্জা পরিবর্তন করুন। (আপনার গেমের ওরিয়েন্টেশন ফিক্সড থাকলে এটি প্রযোজ্য নয়।)
- কীবোর্ড ও মাউসের মতো ইনপুট ডিভাইস কানেক্ট ও ডিসকানেক্ট করা।
- আপনার গেমে কাজ করলে, মাল্টি-রিজিউম করুন।
এছাড়াও, আপনার গেমের কোয়ালিটি কন্ট্রোল সিস্টেম আপডেট করার কথা বিবেচনা করুন যাতে আপনি আরও বিভিন্ন ধরনের প্লেয়ারের অভিজ্ঞতা অপ্টিমাইজ করতে পারেন।
আপনার গেম টেস্ট করার পেশাদার পদ্ধতি সম্পর্কে জানতে, টেস্ট করার গাইড সংক্রান্ত ফান্ডামেন্টাল দেখুন।
টেস্টিং ও ডিবাগিং টুল ব্যবহার করা
প্ল্যাটফর্মটি সাপোর্ট করে এমন বিভিন্ন টুল ব্যবহার করে আপনি পরীক্ষা করতে পারেন:
Android এমুলেটর এবং Firebase Test Lab সহ এমুলেটর।
ChromeOS পারফর্ম্যান্স অ্যানালাইজার, ChromeOS M75 বা তার পরবর্তী ভার্সন রান করার সময় উপলভ্য।