সমস্ত স্ক্রিনের জন্য গেমগুলি বিকাশ করুন৷

অ্যান্ড্রয়েডের জন্য একটি গেম তৈরি করার সময়, খেলোয়াড়ের সম্ভাব্য বিভিন্ন অভিজ্ঞতার পূর্বাভাস দেওয়া এবং একজন খেলোয়াড়ের রিয়েল-টাইম মিথস্ক্রিয়া প্রয়োজনের সাথে খাপ খাইয়ে রাখা গুরুত্বপূর্ণ। বিভিন্ন খেলোয়াড়ের অভিজ্ঞতা সমর্থন করে, আপনি গেমপ্লে নমনীয়তা বাড়ান, আপনাকে আপনার গেমের নাগাল প্রসারিত করতে সহায়তা করে।

প্লেয়ার অভিজ্ঞতার নির্দিষ্ট পার্থক্য নিম্নলিখিত অন্তর্ভুক্ত:

  • ডিভাইস ফর্ম ফ্যাক্টর: যদিও ফোনগুলি প্রথাগত অ্যান্ড্রয়েড ডিভাইস অভিজ্ঞতা প্রদান করে, অন্যান্য ফর্ম ফ্যাক্টরগুলির সাথে গেমগুলির সাথে ইন্টারঅ্যাক্ট করা সম্ভব৷ ChromeOS ডিভাইসগুলি একটি Android ধারক চালাতে পারে যা আপনার গেমটি প্রদর্শন করে৷ যে ট্যাবলেটগুলি Android চালাতে পারে সেগুলি বিভিন্ন স্তরের বিশ্বস্ততা সমর্থন করে৷ Android TV ডিভাইসগুলি আরও বিশদ-সমৃদ্ধ এবং আরও নিমগ্ন অভিজ্ঞতা সমর্থন করে৷ প্লেয়াররা একটি ডিসপ্লে এক্সটেনশন টুল ব্যবহার করে একটি মাল্টি-উইন্ডো পরিবেশ অনুকরণ করতে পারে। এবং ফোল্ডেবল ব্যবহার করার সময়, প্লেয়াররা গেমপ্লে সেশনের সময় স্ক্রিনের আকার পরিবর্তন করতে পারে।
  • মিথস্ক্রিয়া পদ্ধতি: প্লেয়াররা একটি ডিভাইসের স্ক্রীন স্পর্শ করে ইনপুট প্রদান করতে পারে, তবে তারা পরিবর্তে একটি মাউস, টাচপ্যাড, কীবোর্ড বা কন্ট্রোলার ব্যবহার করতে পারে। এছাড়াও, ডিসপ্লে এক্সটেনশন টুলস এবং ভাঁজ করা যায় এমন ডিভাইসের প্রাপ্যতা খেলোয়াড়দের একটি বড় স্ক্রিনে আপনার গেমটি উপভোগ করতে দেয়, যা দীর্ঘতর গেমপ্লে সেশন এবং আরও জটিল ইন্টারফেসগুলিকে আরও সম্ভাব্য করে তোলে।
  • হার্ডওয়্যার সমর্থন: কিছু অ্যান্ড্রয়েড-চালিত ডিভাইসে এমন হার্ডওয়্যার নেই যা হ্যান্ডহেল্ড ডিভাইসে বেশি সাধারণ, যেমন পিছনের দিকের ক্যামেরা, একটি জিপিএস এবং নেটওয়ার্ক সংযোগ। আপনার গেমটি উপলব্ধ হার্ডওয়্যারের সাথে খাপ খাইয়ে নেওয়া উচিত এবং নির্দিষ্ট বৈশিষ্ট্যগুলি উপলব্ধ নয় এমন পরিস্থিতিগুলি সুন্দরভাবে পরিচালনা করা উচিত।

এই নির্দেশিকাটি বিভিন্ন ধরণের স্ক্রীন এবং ব্যবহারকারীর ইন্টারঅ্যাকশনের জন্য আপনার গেম বিকাশের সাথে সম্পর্কিত সেরা অনুশীলনগুলি উপস্থাপন করে। এই নির্দেশিকাটি আপনার গেম ডিজাইন এবং একটি কার্যকর পরীক্ষার কৌশল তৈরি করার পরামর্শও প্রদান করে।

গেম ডিজাইনের সেরা অনুশীলন

আপনার গেমের ডিজাইন এবং আর্কিটেকচারের পরিকল্পনা করার সময়, নিম্নলিখিত বিভাগে বর্ণিত সেরা অনুশীলনগুলি অনুসরণ করুন।

কনফিগারেশন পরিবর্তন ম্যানুয়ালি সাড়া

যখন Android সিস্টেম একটি কনফিগারেশন পরিবর্তন শনাক্ত করে, যেমন স্ক্রীনের আকার, স্ক্রীন অভিযোজন, বা ইনপুট পদ্ধতিতে পরিবর্তন, ডিফল্টরূপে সিস্টেমটি বর্তমান কার্যকলাপ পুনরায় চালু করে। একটি অ্যাপ বা গেমের মধ্যে স্থিতি সংরক্ষণ করতে, ক্রিয়াকলাপটি পুনরায় চালু হওয়ার আগে ডিফল্টভাবে কল করে onSaveInstanceState() এবং এটি পুনরায় চালু হওয়ার পরে onRestoreInstanceState() । যাইহোক, এই প্রক্রিয়াটির জন্য সমস্ত সংশ্লিষ্ট পরিষেবা এবং সংস্থানগুলি পুনরায় লোড করার জন্য কার্যকলাপের প্রয়োজন। এই ডিফল্ট আচরণ সম্পর্কে আরও জানতে, কনফিগারেশন পরিবর্তন পরিচালনার নির্দেশিকা দেখুন

একটি সাধারণ গেমপ্লে সেশনে বেশ কিছু কনফিগারেশন পরিবর্তন হয়। যদি আপনার গেমটি সিস্টেমটিকে প্রতিটি কনফিগারেশন পরিবর্তন পরিচালনা করতে দেয়, আপনার গেমের দৃশ্যটি ধ্বংস হয়ে যায় এবং বারবার পুনরায় চালু হয়, আপনার গেমের কার্যক্ষমতা হ্রাস করে। এই কারণে, আমরা আপনাকে আপনার গেমে এই কনফিগারেশন পরিবর্তনগুলি পরিচালনা করার জন্য আপনাকে উত্সাহিত করি

আপনার গেমে এই কনফিগারেশন পরিবর্তন যুক্তি যোগ করার জন্য, কীভাবে কাস্টম কনফিগারেশন পরিবর্তন হ্যান্ডলার তৈরি করতে হয় তার বিভাগটি দেখুন

একটি নমনীয় আর্কিটেকচার তৈরি করুন

যতটা সম্ভব ডিভাইসে আপনার গেমের জন্য সমর্থন যোগ করতে, এই সেরা অনুশীলনগুলি অনুসরণ করুন:

  • পৃথক APK-এর পরিবর্তে Android অ্যাপ বান্ডেল স্থাপন করুন। Android App Bundles আপনাকে বিভিন্ন রেজোলিউশনের আর্টিফ্যাক্ট এবং x86, ARM-এর মতো বিভিন্ন আর্কিটেকচার মডেলকে একটি একক আর্টিফ্যাক্টে প্যাকেজ করার অনুমতি দেয়। আরও ভাল, Android অ্যাপ বান্ডেলগুলি আপনার গেমের জন্য উচ্চ আকারের সীমা সমর্থন করে; প্রতিটি বেস APK 150 MB এর মতো বড় হতে পারে এবং বান্ডেল নিজেই অনেক গিগাবাইট আকারের হতে পারে।
  • x86 আর্কিটেকচারের জন্য সমর্থন যোগ করুন। এই পদক্ষেপটি ARM সমর্থন করে না এমন ডিভাইসগুলিতে আপনার গেমের কর্মক্ষমতা উন্নত করে, কারণ এই ডিভাইসগুলি এখন নির্দেশনাগুলিকে অনুবাদ না করেই কার্যকর করতে পারে৷

Vulkan জন্য সমর্থন যোগ করুন

Vulkan সমর্থন করে, আপনার গেম উচ্চতর গ্রাফিক্স কর্মক্ষমতা অর্জন করতে পারে। বেশিরভাগ ডিভাইস এই গ্রাফিক্স API সমর্থন করে।

কাস্টম কনফিগারেশন পরিবর্তন হ্যান্ডলার তৈরি করুন

কনফিগারেশন পরিবর্তনের প্রকারগুলি ঘোষণা করতে যা আপনার গেম নিজেই পরিচালনা করে, আপনার ম্যানিফেস্টের প্রতিটি <activity> উপাদানের সাথে android:configChanges অ্যাট্রিবিউট যোগ করুন যা একটি স্ক্রীন বা জটিল ইন্টারফেসের প্রতিনিধিত্ব করে।

নিম্নলিখিত কোড স্নিপেট দেখায় যে কীভাবে ঘোষণা করবেন যে আপনার গেমটি স্ক্রীনের আকার, স্ক্রীন অভিযোজন এবং ইনপুট পদ্ধতির পরিবর্তনের যত্ন নেয়:

<activity ...
    android:configChanges="screenSize|orientation|keyboard|keyboardHidden">
</activity>

ঘোষিত কনফিগারেশন পরিবর্তন ঘটলে, সিস্টেম এখন একটি ভিন্ন পদ্ধতি চালু করে, onConfigurationChanged() । এই পদ্ধতির মধ্যে, আপনার গেমের UI আপডেট করতে যুক্তি যোগ করুন:

  • স্ক্রিনের স্কেল ফ্যাক্টর এবং ওরিয়েন্টেশন আপডেট করুন। মনে রাখবেন যে, পারফরম্যান্সের উদ্দেশ্যে, কখনও কখনও আপনার গেমের UI শুধুমাত্র একটি মাত্রা সহ স্কেল করা ভাল।
  • প্লেয়ার ব্যবহারের জন্য সর্বোত্তম ইনপুট পদ্ধতি সনাক্ত করুন।

স্ক্রিন কনফিগারেশন পরিবর্তনগুলি পরিচালনা করুন

যখনই আপনি একটি android:configChanges অ্যাট্রিবিউটে যথাক্রমে screenSize সাইজ এবং orientation মানগুলি অন্তর্ভুক্ত করেন তখন আপনার গেমটি স্ক্রীনের আকার এবং স্ক্রীনের অভিযোজন ম্যানুয়ালি পরিচালনা করে। আপনি আপনার দৃশ্যের বিষয়বস্তু এবং প্লেয়ার ইনপুট এলাকা আপডেট করতে এই নতুন মান ব্যবহার করতে পারেন। আপডেট করা সহজ করার জন্য আপনার গেমের লেআউট কীভাবে ডিজাইন করবেন তার নির্দেশনার জন্য, বিভিন্ন স্ক্রীন মাপ সমর্থন করার নির্দেশিকা দেখুন

আপনার গেমের onConfigurationChanged() এর বাস্তবায়নে, যথাক্রমে স্ক্রীন সাইজ এবং স্ক্রীন ওরিয়েন্টেশনের জন্য আপডেট করা মান নির্ধারণ করতে পাস-ইন Configuration অবজেক্ট এবং উইন্ডো ম্যানেজারের Display অবজেক্ট ব্যবহার করুন।

নিম্নলিখিত কোড স্নিপেট দেখায় কিভাবে আপনার গেমের আপডেট করা স্ক্রীন সাইজ এবং ওরিয়েন্টেশন পেতে হয়:

কোটলিন

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, অ্যান্ড্রয়েড অ্যাপস এবং গেমগুলি ডিফল্টরূপে উইন্ডো করা এবং পুনরায় আকার দেওয়া যায়। যদি আপনার গেমটি সর্বদা ফুলস্ক্রিন মোডে চলা উচিত, আপনি নিম্নলিখিত কোড স্নিপেটে দেখানো হিসাবে আপনার <activity> উপাদানগুলির একটিতে android:resizeableActivity বৈশিষ্ট্যটিকে false সেট করতে পারেন:

<activity ...
    android:resizeableActivity="false">
</activity>

সাইজ-ভিত্তিক কনফিগারেশন পরিবর্তনগুলিকে ঘটতে না দেওয়ার জন্য আপনি android:resizeableActivity অ্যাট্রিবিউটকে false সেট করতে পারেন। যতক্ষণ না আপনার গেমটি সর্বদা ফুলস্ক্রিন মোডে চলে, তবে, আপনাকে পরীক্ষার উদ্দেশ্যে শুধুমাত্র একটি অস্থায়ী সমাধান হিসাবে এই বৈশিষ্ট্যটি যোগ করা উচিত।

স্ক্রীন অভিযোজন

যদি আপনার গেমটি একটি ডিভাইসের সেন্সরের উপর নির্ভর করে যার একটি নির্দিষ্ট ওরিয়েন্টেশন রয়েছে, তাহলে আপনার গেমের কার্যকলাপে android:screenOrientation এর জন্য একটি মান নির্দিষ্ট করুন, যেমনটি নিম্নলিখিত কোড স্নিপেটে দেখানো হয়েছে। এই সেটিং আপনার গেমের একটি দৃশ্যকে অপ্রত্যাশিতভাবে উল্টে যাওয়া থেকে আটকাতে সাহায্য করে৷

<activity ...
    android:screenOrientation="landscape">
</activity>

ডিভাইস-নির্দিষ্ট পর্দার গুণাবলী

নিম্নলিখিত বিভাগগুলি বর্ণনা করে যে কীভাবে স্ক্রীন-ভিত্তিক কনফিগারেশন পরিবর্তনগুলি পরিচালনা করা যায় তার নির্দিষ্ট গুণাবলী দেওয়া হয় যা কিছু ডিভাইসে রয়েছে।

আনুমানিক অনুপাত

কিছু ডিভাইস বিভিন্ন আকৃতির অনুপাত সমর্থন করে। উদাহরণস্বরূপ, ভাঁজযোগ্য ডিভাইসগুলি ভাঁজ অবস্থায় থাকা অবস্থায় 21:9 এর অনুপাতকে সমর্থন করার জন্য ডিজাইন করা হয়েছে। আকৃতির অনুপাতের এই সম্ভাব্য বৈচিত্রটি পরিচালনা করতে, নিম্নলিখিতগুলির মধ্যে অন্তত একটি করুন:

  • লক্ষ্য Android 8.0 (API স্তর 26) বা উচ্চতর।
  • আপনার গেমের দৃশ্য এবং ইন্টারফেস আকার পরিবর্তনযোগ্য করুন। Android 7.0 (API স্তর 24) এবং উচ্চতর চলমান ডিভাইসগুলিতে android:resizeableActivity true সেট করুন৷
  • সর্বাধিক সমর্থিত আকৃতির অনুপাত ঘোষণা করুন। আপনার গেমের সাথে যুক্ত একটি <meta-data> অ্যাট্রিবিউটে, android.max_aspect 2.4 সেট করুন, যেমনটি নিম্নলিখিত কোড স্নিপেটে দেখানো হয়েছে। তবে মনে রাখবেন, আপনার নির্দিষ্ট করা অনুপাতের চেয়ে বড় আকৃতির অনুপাতের কারণে গেমটি একটি ডিসপ্লের মধ্যে লেটারবক্সযুক্ত প্রদর্শিত হবে।

    <application>
    <meta-data android:name="android.max_aspect"
               android:value="2.4" />
    </application>
    

একাধিক কার্যক্রম একই সাথে দৃশ্যমান

অনেক আধুনিক ডিভাইস স্প্লিট-স্ক্রিন, পিকচার-ইন-পিকচার এবং বড় ডিসপ্লে এলাকা সহ বিভিন্ন ধরনের স্ক্রীন লেআউট সমর্থন করে। এই লেআউটগুলির একটি ব্যবহার করার সময়, সিস্টেমটি একই সময়ে একাধিক কার্যকলাপ দৃশ্যমান করতে পারে।

Android 9 (API স্তর 28) বা উচ্চতর চলমান ডিভাইসগুলিতে, সমস্ত শীর্ষ দৃশ্যমান ক্রিয়াকলাপ একই সময়ে পুনরায় শুরু করা সম্ভব। এই আচরণটি কাজ করার জন্য, যাইহোক, আপনার গেম এবং ডিভাইসের OEM উভয়কেই কার্যকারিতা বেছে নিতে হবে। আপনি আপনার গেমের ম্যানিফেস্টে android.allow_multiple_resumed_activities কে true হিসাবে সেট করে আপনার গেমের মধ্যে সমর্থন যোগ করতে পারেন, যেমনটি নিম্নলিখিত স্নিপেটে দেখানো হয়েছে:

<application>
    <meta-data android:name="android.allow_multiple_resumed_activities"
               android:value="true" />
</application>

তারপরে আপনি বিভিন্ন ডিভাইসে আপনার গেমটি পরীক্ষা করতে পারেন যে তাদের মধ্যে কোনটি মাল্টি-রিজুমে সঠিকভাবে কাজ করার জন্য প্রয়োজনীয় OEM সমর্থন প্রদান করে।

একটি মাল্টি-উইন্ডো ডিসপ্লের অংশ হিসাবে আপনার গেমটিকে কনফিগার করার বিষয়ে আরও তথ্যের জন্য, মাল্টি-উইন্ডো সমর্থন যোগ করার নির্দেশিকা দেখুন

বিভিন্ন ধরনের মিথস্ক্রিয়া মডেল পরিচালনা করুন

যখনই আপনি একটি android:configChanges অ্যাট্রিবিউটে যথাক্রমে keyboard এবং keyboardHidden মানগুলি অন্তর্ভুক্ত করেন তখনই আপনার গেম কীবোর্ডের উপস্থিতি এবং কীবোর্ডের উপলব্ধতা ম্যানুয়ালি পরিচালনা করে। আপনি আপনার গেমের প্রাথমিক ইনপুট পদ্ধতি আপডেট করতে এই নতুন মানগুলি ব্যবহার করতে পারেন৷

একাধিক ধরণের ব্যবহারকারীর ইনপুট সমর্থন করার জন্য আপনার গেমটি কনফিগার করার সময়, নিম্নলিখিতগুলি মনে রাখবেন:

  • পৃথক ডিভাইসের পরিবর্তে ইনপুট পদ্ধতি সনাক্ত করুন। এই মানসিকতা প্লেয়ারের থাকতে পারে এমন নির্দিষ্ট ডিভাইসে খুব বেশি ফোকাস না করে খেলোয়াড়ের অভিজ্ঞতা উন্নত করা সহজ করে তোলে।
  • আপনার ম্যানুয়ালি-হ্যান্ডেল কনফিগারেশন পরিবর্তনের তালিকায় keyboardHidden অ্যাট্রিবিউট অন্তর্ভুক্ত করুন। এইভাবে, আপনার গেমটি ট্র্যাক রাখতে পারে যখন একটি কীবোর্ড ডিভাইসের সাথে শারীরিকভাবে সংযুক্ত থাকে কিন্তু অব্যবহৃত হয়।
  • বর্তমানে উপলব্ধ ইনপুট পদ্ধতি নির্ধারণ করুন. এটি করার জন্য, গেম স্টার্টআপে এবং প্রতিটি কনফিগারেশন পরিবর্তনের পরে getInputDeviceIds() কল করুন।

    আপনি প্রায়শই নির্ধারণ করতে পারেন যে প্লেয়ার কীভাবে তাদের পছন্দের ইনপুট ডিভাইসের উপর ভিত্তি করে আপনার গেমের সাথে ইন্টারঅ্যাক্ট করার পরিকল্পনা করে:

    • প্লেয়াররা সাধারণত দ্রুত বোতামের ক্রম সঞ্চালনের জন্য একটি কীবোর্ড বা গেম কন্ট্রোলার ব্যবহার করে।
    • খেলোয়াড়রা সাধারণত আরও জটিল অঙ্গভঙ্গি সম্পাদন করতে একটি টাচস্ক্রিন বা টাচপ্যাড ব্যবহার করে।
    • খেলোয়াড়রা সাধারণত উচ্চ-নির্ভুল ইনপুট সম্পাদন করতে একটি মাউস ব্যবহার করে।

নিম্নলিখিত বিভাগগুলি নির্দিষ্ট ধরণের ইনপুট ডিভাইসগুলির জন্য সর্বোত্তম অনুশীলন প্রদান করে৷

কীবোর্ড

আপনার গেমের জন্য একটি কীবোর্ড লেআউট তৈরি করার সময়, প্লেয়ার কীভাবে একটি প্রদত্ত দৃশ্যের মাধ্যমে নেভিগেট করে সেইসাথে তারা কীভাবে আপনার গেমের সেটিংসের সাথে ইন্টারঅ্যাক্ট করে তা বিবেচনা করুন।

WASD কী বা তীর কীগুলি সাধারণত চরিত্রের গতিবিধি নিয়ন্ত্রণের জন্য সেরা। প্রতিটি গুরুত্বপূর্ণ ক্রিয়া বা দক্ষতার জন্য একটি নির্দিষ্ট কী বরাদ্দ করাও ভাল যা একটি নিয়ন্ত্রণযোগ্য চরিত্র আপনার গেমের মধ্যে সম্পাদন করতে পারে। প্লেয়ারের অভিজ্ঞতা বাড়াতে, আপনার গেমে কাস্টম কী বাইন্ডিংয়ের জন্য সমর্থন যোগ করার কথা বিবেচনা করুন।

খেলোয়াড়দের আপনার গেমের মেনু খুলতে এবং কীবোর্ড ব্যবহার করে তাদের মাধ্যমে নেভিগেট করতে সক্ষম হওয়া উচিত। Esc কী হল একটি সাধারণ ম্যাপিং যা একটি দৃশ্যকে বিরতি দেওয়া এবং গেমের মেনু দেখানোর জন্য।

আপনার গেমে কীবোর্ড ইনপুট সমর্থন করার বিষয়ে আরও তথ্যের জন্য, কীবোর্ড নেভিগেশন সমর্থন করার পাশাপাশি কীবোর্ড অ্যাকশনগুলি কীভাবে পরিচালনা করবেন তার নির্দেশিকা দেখুন।

গেম কন্ট্রোলার

আপনার গেমে কন্ট্রোলার ইনপুট পরিচালনার বিষয়ে আরও তথ্যের জন্য, গেম কন্ট্রোলারকে কীভাবে সমর্থন করবেন তার নির্দেশিকা দেখুন

মাউস বা টাচপ্যাড

যদি আপনার গেম মাউস বা টাচপ্যাড থেকে প্লেয়ার ইনপুট সমর্থন করে, তাহলে মনে রাখবেন যে প্লেয়াররা আপনার গেম খেলা ছাড়া অন্য উপায়ে ডিভাইসের সাথে ইন্টারঅ্যাক্ট করে। এটি সচেতন হওয়া গুরুত্বপূর্ণ যে, পয়েন্টার ক্যাপচারের অনুরোধ করে, সমস্ত মাউস ইনপুট আপনার গেমে নির্দেশিত হয়। অতএব, আপনার গেমের প্রয়োজনীয় তথ্য পাওয়ার পরে, পয়েন্টার ক্যাপচার ছেড়ে দিন যাতে খেলোয়াড়রা তাদের ডিভাইসের মান মাউস নিয়ন্ত্রণ ফিরে পায়।

Android 8.0 (API স্তর 26) এবং উচ্চতর চলমান ডিভাইসগুলিতে, আপনি পয়েন্টার ক্যাপচার প্রক্রিয়াতে সহায়তা করতে মাউস ক্যাপচার API ব্যবহার করতে পারেন। যে গেমগুলি উচ্চ-নির্ভুল ইনপুটে প্রতিক্রিয়া জানায়, আপনি getX() এবং getY() পদ্ধতিতে কল করে পয়েন্টারের বর্তমান স্থানাঙ্ক পেতে পারেন।

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

আপনার খেলা পরীক্ষা

আপনার গেমটি চালু করার আগে, নিম্নলিখিত বিভাগে বর্ণিত ধাপগুলি সম্পূর্ণ করার মাধ্যমে কনফিগারেশন পরিবর্তনগুলিতে এটি কীভাবে সাড়া দেয় তা পরীক্ষা করুন।

আপনার পরীক্ষার পরিকল্পনা আপডেট করুন

আপনার গেমের কার্যকারিতা যাচাই করার সময়, নিম্নলিখিত পরীক্ষার ক্ষেত্রে অন্তর্ভুক্ত করুন:

  • আপনার গেমটি রয়েছে এমন উইন্ডোটিকে ছোট করুন এবং সর্বাধিক করুন। (আপনার গেমটি সর্বদা ফুলস্ক্রিন মোডে থাকলে প্রযোজ্য হবে না।)
  • পর্দার আকার পরিবর্তন করুন।
  • পর্দার অভিযোজন পরিবর্তন করুন। (আপনার গেমের একটি নির্দিষ্ট অভিযোজন থাকলে প্রযোজ্য নয়।)
  • কীবোর্ড এবং ইঁদুরের মতো ইনপুট ডিভাইস সংযোগ এবং সংযোগ বিচ্ছিন্ন করুন৷
  • মাল্টি-রিজিউম সম্পাদন করুন, যদি আপনার গেম এটি সমর্থন করে।

এছাড়াও, আপনার গেমের মান নিয়ন্ত্রণ ব্যবস্থা আপডেট করার কথা বিবেচনা করুন যাতে আপনি খেলোয়াড়দের বিভিন্ন অভিজ্ঞতার জন্য অপ্টিমাইজ করতে পারেন।

আপনার গেমের পরীক্ষা সংক্রান্ত সর্বোত্তম অনুশীলনের জন্য, টেস্টিং গাইডের মৌলিক বিষয়গুলি দেখুন।

টেস্টিং এবং ডিবাগিং টুল ব্যবহার করুন

আপনি প্ল্যাটফর্ম সমর্থন করে এমন বিভিন্ন সরঞ্জাম ব্যবহার করে পরীক্ষা করতে পারেন: