PC এর জন্য Unity এবং Google Play Games দিয়ে শুরু করুন

1. ভূমিকা

Google Play Games লোগো

শেষ আপডেট: 2022-10-18

পিসিতে গুগল প্লে গেমসের জন্য আপনি কীভাবে আপনার গেম প্রস্তুত করবেন?

Google Play গেমগুলি আপনার মোবাইল গেমটিকে Windows PCগুলিতে আনা সহজ করে তোলে৷ এর মানে হল যে আপনি আপনার গেমের পুনর্নির্মাণ বা আপনার ব্যবসায়িক মডেলকে পুনরায় ডিজাইন না করেই আপনার খেলোয়াড়ের ব্যস্ততা এবং আপনার দর্শকদের বৃদ্ধি করতে পারেন৷ আপনার নতুন পিসি প্লেয়ারদের সম্ভাব্য সর্বোত্তম অভিজ্ঞতা দেওয়ার জন্য আপনাকে এখনও কিছু পরিবর্তন করতে হবে।

আপনি কি শিখবেন

এই কোডল্যাবটি আপনার গেমটি মাটি থেকে নামিয়ে আনার জন্য প্রয়োজনীয় চেকলিস্টের বেস অংশগুলিকে কভার করে এবং পিসিতে Google Play গেমগুলির জন্য আপনার নিজস্ব ইউনিটি গেম প্রস্তুত করতে সহায়তা করে৷ প্লে গেমস সাইন-অন এবং প্লে ইন্টিগ্রিটি এপিআই-এর মতো আরও গভীরতর ইন্টিগ্রেশন কভার করা হয় না।

  • ইউনিটি থেকে x86 আর্কিটেকচারের জন্য কীভাবে তৈরি করবেন।
  • Google Play Games এমুলেটরে কীভাবে পরীক্ষা এবং স্থাপন করবেন।
  • একটি পিসিতে দুর্দান্ত দেখতে আপনার ব্যবহারকারীর ইন্টারফেস কীভাবে পরিবর্তন করবেন।
  • আপনি Google Play Games এমুলেটরে চালাচ্ছেন কিনা তা কীভাবে সনাক্ত করবেন এবং সেই অনুযায়ী আপনার গেমটি মানিয়ে নিন।

আপনি কি প্রয়োজন হবে

2. সেট আপ করুন

একটি নতুন প্রকল্প খুলুন বা তৈরি করুন

  1. 2D প্ল্যাটফর্মার মাইক্রোগেম ব্যবহার করে একটি নতুন প্রকল্প তৈরি করুন বা আপনার নিজস্ব প্রকল্প খুলুন।

ঐক্য

  1. প্রকল্প থেকে, ফাইল -> বিল্ড সেটিংস নির্বাচন করুন এবং আপনি Android এর জন্য তৈরি করতে সেট আপ করেছেন কিনা তা পরীক্ষা করুন।

ঐক্যের একটি স্ক্রিনশট

3. Google Play Games এমুলেটর প্রস্তুত করুন৷

এমুলেটর ডাউনলোড করে শুরু করুন।

এটি ইনস্টল করার পরে, আপনি একটি উইন্ডোতে একটি অ্যান্ড্রয়েড ডেস্কটপ দেখতে পাবেন:

Google Play Games এমুলেটর উইন্ডোর স্ক্রিনশট। অ্যান্ড্রয়েড হোম স্ক্রীন দৃশ্যমান হয়.

এটি গেম ডেভেলপমেন্টের জন্য উপযুক্ত একটি সম্পূর্ণ বৈশিষ্ট্যযুক্ত হাই-পারফরম্যান্স অ্যান্ড্রয়েড পরিবেশ। এটি লোকালহোস্টে একটি ডিভাইস হিসাবে অ্যান্ড্রয়েড ডিবাগ ব্রিজ (এডিবি) এ দেখানো উচিত:

❯ adb devices
List of devices attached
localhost:6520  device

এমুলেটর সনাক্ত করতে আপনার adb এর একটি সাম্প্রতিক সংস্করণ প্রয়োজন। অ্যান্ড্রয়েড স্টুডিওর সাথে বান্ডিল করা সংস্করণটি কাজ করে, তবে ইউনিটির সাথে পাঠানো অ্যাডবি নাও হতে পারে। একটি সামঞ্জস্যপূর্ণ সংস্করণ এমুলেটরের সাথে বান্ডিল করা হয়েছে এবং আপনি এটি C:\Program Files\Google\Play Games Developer Emulator\current\emulator এ খুঁজে পেতে পারেন। সেরা বিকাশকারী অভিজ্ঞতার জন্য, আপনি Android Studio ইনস্টল করতে এবং আপনার Android SDK পরিচালনা করতে এটি ব্যবহার করতে চাইতে পারেন।

যদি এমুলেটরটি adb থেকে সংযোগ বিচ্ছিন্ন করে, তাহলে কমান্ড লাইন থেকে এটিকে এভাবে পুনরায় সংযোগ করুন:

adb connect localhost:6520

4. সরাসরি এমুলেটর তৈরি এবং স্থাপন করতে ইউনিটি কনফিগার করুন (ঐচ্ছিক)

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

এ ডিভাইস চালান

আপনার প্রজেক্ট, বিল্ড প্রসেস এবং কমফোর্ট লেভেলের উপর নির্ভর করে, আপনি হয় ইউনিটি কনফিগার করতে বেছে নিতে পারেন Google Play Games এমুলেটরে সরাসরি স্থাপন করতে, অথবা একটি APK তৈরি করতে এবং adb install সাথে ম্যানুয়ালি স্থাপন করতে পারেন। এটিকে ম্যানুয়ালি স্থাপন করার জন্য সবচেয়ে কম পরিবর্তন প্রয়োজন, কিন্তু আপনার পুনরাবৃত্তি চক্রকে ধীর করে দিতে পারে।

এই দুটি ধাপে সরাসরি এমুলেটরে স্থাপন করুন:

  1. অন্য ইউনিটি এসডিকে ব্যবহার করতে ইউনিটি কনফিগার করুন, আদর্শভাবে অ্যান্ড্রয়েড স্টুডিও দ্বারা ইনস্টল করা একটি।
  2. ইউনিটিতে একটি বাগ মোকাবেলা করতে বিল্ড টুলস সংস্করণ আপডেট করুন।

কারণ ইউনিটির সাথে পাঠানো Android SDK-এর সংস্করণ সম্ভবত এমুলেটর সনাক্ত করতে পারবে না, আপনি আরও সাম্প্রতিক SDK ইনস্টল করতে Android স্টুডিও ব্যবহার করেন।

  1. অ্যান্ড্রয়েড স্টুডিও খুলুন এবং সম্পাদনা -> পছন্দগুলি -> বাহ্যিক সরঞ্জাম নির্বাচন করুন।
  2. Android SDK Tools Installed with Unity আনচেক করুন এবং আপনার অ্যান্ড্রয়েড স্টুডিওর ইনস্টলেশনের পথটি প্রদান করুন (সাধারণত AppData/Local/Android/sdk )। Android NDK বিকল্পটি একা ছেড়ে দিন।

এর স্ক্রিনশট

যখন আপনি সংযুক্ত ডিভাইসগুলি রিফ্রেশ করবেন, তখন আপনি Google HPE device (localhost:6520) বিল্ড উইন্ডোতে উপস্থিত দেখতে পাবেন:

এর স্ক্রিনশট

এই বাগ এবং আপনার ইউনিটি সংস্করণের অবস্থার উপর নির্ভর করে, আপনাকে আপনার বিল্ড টুল সংস্করণ পরিবর্তন করতে হতে পারে। এটি করার জন্য, আপনি একটি mainTemplate.gradle এবং launcherTemplate.gradle তৈরি করছেন কিনা তা পরীক্ষা করুন।

  1. প্লেয়ার সেটিংসে প্রজেক্ট সেটিংস উইন্ডোটি খুলুন এবং Publishing Settings বিভাগটি সনাক্ত করুন৷
  2. বিল্ড বিকল্পগুলিতে SSস্ক্রোল করুন এবং "কাস্টম মেইন গ্রেডল টেমপ্লেট" এবং "কাস্টম লঞ্চার গ্রেডল টেমপ্লেট" চেক করুন, যা Assets\Plugins\Android\ এর অধীনে উভয় গ্রেডল ফাইল তৈরি করবে।

এর স্ক্রিনশট

  1. স্ট্রিং **BUILDTOOLS** 30.0.0 দিয়ে যেকোন উদাহরণ প্রতিস্থাপন করুন। উভয় ফাইলে, কোডের বিভাগটি এখন পড়া উচিত:
android {
    compileSdkVersion **APIVERSION**
    buildToolsVersion '30.0.0'

5. একটি Chromebook এ স্থাপন করুন (ঐচ্ছিক)

আপনি একটি ChromeOS ডিভাইস ব্যবহার করে Google Play Games এমুলেটরে অ্যাক্সেস ছাড়াই Google Play Games-এর জন্য গেম তৈরি করা শুরু করতে পারেন। অনেকটা পিসিতে গুগল প্লে গেমসের মতো, ক্রোমবুকে কীবোর্ড এবং মাউস রয়েছে, বড় স্ক্রিন রয়েছে এবং x86 কনফিগারেশনে উপলব্ধ। আমরা Chromebook এর সাথে Android Logcat Unity প্লাগইন ব্যবহার করব..

  1. প্যাকেজ ম্যানেজার খুলুন এবং Unity Registry অধীনে Android Logcat অনুসন্ধান করুন।

সাথে প্যাকেজ ম্যানেজার উইন্ডো

এছাড়াও আপনাকে Android ডেভেলপমেন্টের জন্য আপনার Chromebook কনফিগার করতে হবে। লিনাক্স সক্ষম করে শুরু করুন।

  1. সেটিংস -> বিকাশকারী -> লিনাক্স নির্বাচন করুন।

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

তারপর ADB ডিবাগিং সক্ষম করুন।

  1. সেটিংস নির্বাচন করুন -> বিকাশকারী -> লিনাক্স বিকাশ পরিবেশ -> অ্যান্ড্রয়েড অ্যাপগুলি বিকাশ করুন -> ADB ডিবাগিং সক্ষম করুন

বিকাশকারী মেনু থেকে ADB ডিবাগিং সক্ষম করা হয়েছে৷

আপনি আপনার Chromebook এর IP ঠিকানাও পেতে চাইবেন৷ এটি করার সবচেয়ে সহজ উপায় হল

  1. আপনার Chromebook এর IP ঠিকানা পেতে নেটওয়ার্ক তথ্য আইকনে ক্লিক করুন৷

একটি Chromebook এ খোলা নেটওয়ার্ক উইন্ডোর স্ক্রিনশট।

নেটওয়ার্ক তথ্য বোতামটি ক্লিক করা হয়েছে, আইপি ঠিকানা দেখাচ্ছে।

  1. অ্যান্ড্রয়েড লগক্যাট উইন্ডো খুলতে উইন্ডো -> বিশ্লেষণ -> অ্যান্ড্রয়েড লগক্যাট নির্বাচন করুন।

উইন্ডো>এনালাইসিস উইথ ইউনিটিতে খোলা

  1. ডিভাইস তালিকা খুলুন এটি No Device পড়তে পারে যদি বর্তমানে কিছু সংযুক্ত না থাকে।

Android Logcat উইন্ডো দেখানো হয়েছে, ডিভাইস ড্রপডাউন নির্বাচিত হয়েছে।

  1. অন্যান্য সংযোগ বিকল্পগুলিতে ক্লিক করুন এবং আপনার Chromebook এর IP ঠিকানা লিখুন৷

অন্যান্য সংযোগ উইন্ডো খোলা. একটি আইপি ঠিকানা প্রবেশ করানো হয়।

  1. কানেক্ট এ ক্লিক করুন। আপনি একটি সফল উইন্ডো দেখতে হবে:

একটি ডায়ালগ বক্স বলছে

আপনার Chromebook এখন ইউনিটির রান ডিভাইসের তালিকায় উপস্থিত হয় (আপনাকে প্রথমে স্ক্রীনটি রিফ্রেশ করতে হতে পারে):

ঐক্য

আপনি এখন আপনার Chromebook-এ গেম স্থাপন করতে পারেন এবং PC-এর মতো হার্ডওয়্যারে পরীক্ষা ও বিকাশ শুরু করতে পারেন৷

6. একটি পরীক্ষা বিল্ড স্থাপন

Google Play Games এর জন্য প্রয়োজন যে আপনি আপনার গেমের একটি x86 সংস্করণ স্থাপন করবেন, এটি ডেস্কটপ পিসিতে কীভাবে এটির পারফরম্যান্স বেঞ্চমার্কে পৌঁছায় তার একটি অংশ। ইউনিটির সমস্ত LTS ভেরিয়েন্ট x86 এবং x86-64 সামঞ্জস্যপূর্ণ অ্যান্ড্রয়েড বিল্ড তৈরি করতে পারে ("Chrome OS" লেবেলযুক্ত), এবং ইউনিটি সংস্করণ 2018 এবং তার আগের x86 বিল্ড তৈরি করতে পারে। এই আর্কিটেকচারগুলি আনলক করার জন্য, আপনাকে প্রথমে IL2CPP স্ক্রিপ্টিং ব্যাকএন্ডে স্যুইচ করতে হবে, যা আপনি সম্ভবত ইতিমধ্যেই arm64 সমর্থনের জন্য উৎপাদনে করছেন।

  1. বিল্ড সেটিংস উইন্ডো খুলতে ফাইল -> বিল্ড সেটিংস নির্বাচন করুন এবং তারপর প্লেয়ার সেটিংসে ক্লিক করুন।

এর স্ক্রিনশট

  1. অন্যান্য সেটিংস বিভাগে নেভিগেট করুন এবং আপনার Scripting Backend IL2CPP এ স্যুইচ করুন।

এর স্ক্রিনশট

এছাড়াও আপনার x86 বা x86-64 সমর্থন সক্ষম করা উচিত। Google Play Games প্ল্যাটফর্মে পাঠানোর জন্য আপনাকে শুধুমাত্র x86 সমর্থন করতে হবে, যদিও আমরা সুপারিশ করি x86-64।

প্লেয়ার সেটিংসের কনফিগারেশন বিভাগের স্ক্রিনশট

ফ্রেম পেসিং লাইব্রেরি ইউনিটি বান্ডেলগুলির সংস্করণটি Google Play গেমগুলির সাথেও বেমানান এবং আপনার গেমটি লঞ্চের সময় ক্র্যাশ করে৷

  1. প্লেয়ার সেটিংস উইন্ডো থেকে ফ্রেম পেসিং নিষ্ক্রিয় করতে রেজোলিউশন এবং উপস্থাপনা বিভাগটি খুলুন এবং অপ্টিমাইজড ফ্রেম পেসিং আনচেক করুন।

স্ক্রিনশট

আপনি এখন নির্মাণের জন্য প্রস্তুত!

  1. বিল্ড সেটিংস উইন্ডোটি আবার খুলুন এবং বিল্ড অ্যান্ড রান এ ক্লিক করুন। আপনার গেমটি এমুলেটর উইন্ডোতে প্রদর্শিত হবে।

এর সাথে Google Play Games এমুলেটরের স্ক্রিনশট

আপনি যদি আপনার গেমটি স্থাপন করতে সক্ষম না হন তবে "Google HPE ডিভাইস (localhost:6520)" আপনার "রান ডিভাইস" তালিকায় দেখা যাচ্ছে কিনা তা পরীক্ষা করে দেখুন। এটি অনুপস্থিত থাকলে, নিশ্চিত করুন যে HPE_Dev চলছে এবং আপনি Android হোম স্ক্রীন দেখতে পাচ্ছেন৷ যদি এটি এখনও আপনার ডিভাইসের তালিকায় প্রদর্শিত না হয়, তাহলে আপনি যে adb.exe ব্যবহার করছেন তার সাথে adb connect localhost:6520 চালান। আপনি যদি অ্যান্ড্রয়েড লগক্যাট ইউনিটি প্লাগইন ব্যবহার করেন, একই adb.exe ইউনিটি ব্যবহার করে ডিরেক্টরিতে টার্মিনাল খুলতে টুল -> খুলুন টার্মিনাল নির্বাচন করুন।

এর স্ক্রিনশট ওপেন টার্মিনাল" হাইলাইট করা" style="width: 624.00px" src="img/9101ce3c95fb1aa2.png" srcset="img/9101ce3c95fb1aa2_36.png 36w, img/9101ce3c249g, img/9101ce3c249g, img9488 fb1aa2_72.png 72w, img/9101ce3c95fb1aa2_96। png 96w, img/9101ce3c95fb1aa2_480.png 480w, img/9101ce3c95fb1aa2_720.png 720w, img/9101ce3c95fb1aa2_856.png 856c95fb1aa2_856 60w, img/9101ce3c95fb1aa2_1440.png 1440w, img/9101ce3c95fb1aa2_1920.png 1920w, img/9101ce3c95fb1aa2_2880.png 2880w" sizes="(সর্বোচ্চ-প্রস্থ: 840px) 100vw, 856px">

7. পিসির জন্য আপনার গেম মানিয়ে নিন

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

প্লেয়ারটি Google Play Games বা ChromeOS-এ আছে কিনা তার উপর ভিত্তি করে যুক্তি পরিবর্তন করা যদি বোধগম্য হয়, তাহলে এই স্ক্রিপ্টটি আপনাকে HPE_EXPERIENCE সিস্টেম বৈশিষ্ট্য পরীক্ষা করে সনাক্ত করতে সাহায্য করে:

using UnityEngine;

public class GoogleDeviceUtilities
{
#if UNITY_ANDROID && !UNITY_EDITOR
    private static AndroidJavaObject PackageManager
    {
        get
        {
            var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
            return currentActivity.Call<AndroidJavaObject>("getPackageManager");
        }
    }

    public static bool IsChromeOS => PackageManager.Call<bool>("hasSystemFeature", "org.chromium.arc");

    public static bool IsGooglePlayGames =>
        PackageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");

    public static bool HasKeyboard
    {
        get
        {
            var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
            var resources = currentActivity.Call<AndroidJavaObject>("getResources");
            var configuration = resources.Call<AndroidJavaObject>("getConfiguration");
            var keyboard = configuration.Get<int>("keyboard");
            return keyboard == 2; // Configuration.KEYBOARD_QWERTY
        }
    }
#else
    public static bool IsChromeOS => false;
    public static bool IsGooglePlayGames => false;
    public static bool HasKeyboard => true;
#endif
}

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

এর স্ক্রিনশট

আপনি যদি সনাক্ত করেন যে আপনি Google Play গেমস চালাচ্ছেন তাহলে রানটাইমে QualitySettings.SetQualityLevel কমান্ড ব্যবহার করে গতিশীলভাবে গুণমান সেটিংস সেট করতে চাইতে পারেন। Google Play Games এমুলেটর ANGLE ব্যবহার করে ওপেনজিএল ইউনিটি থেকে নেটিভ ডাইরেক্টএক্স বা ভলকান কমান্ড ইস্যু করে, যাতে আপনি সম্ভবত আপনার মোবাইল গেম বিল্ডে উপলব্ধ থেকে উচ্চতর গ্রাফিক্স বিশ্বস্ততা অর্জন করতে পারেন।

8. ইনপুট হ্যান্ডলিং

Google Play Games-এ গেম শিপিং মাউস এবং কীবোর্ড ইনপুটের চারপাশে তৈরি করা উচিত। মাউস এবং কীবোর্ডের সাথে আপনার গেমের সাথে কীভাবে ইন্টারঅ্যাক্ট করবেন তা আপনাকে পরিকল্পনা করতে হবে, তাই ইনপুট SDK ইউনিটিপ্যাকেজ অর্জন করতে এখনই সময় নিন। আপনি যদি সেই পৃষ্ঠায় একটি ডাউনলোড দেখতে না পান তবে নিশ্চিত করুন যে আপনি play-mp-libs গ্রুপে একটি অ্যাকাউন্ট দিয়ে সাইন ইন করেছেন৷

পরীক্ষার উদ্দেশ্যে, অনেক গেম এডিটরে বিকাশের জন্য মৌলিক মাউস এবং কীবোর্ড নিয়ন্ত্রণ তৈরি করে। যখন সম্ভব, আপনি যখন ChromeOS ডিভাইসে বা Google Play Games এমুলেটরে চালাচ্ছেন তখন আপনি এগুলি সক্ষম করতে চাইতে পারেন৷

ডিফল্টরূপে, Google Play Games এবং ChromeOS মাউস ইনপুটকে একটি সিমুলেটেড স্পর্শে রূপান্তর করে। আপনি যদি Input.GetTouch এবং Input.touchCount ব্যবহার করেন, আপনার গেমটি প্রত্যাশিতভাবে কাজ করতে থাকে। আপনি যদি মাল্টি-টাচ ইনপুটের উপর নির্ভর করেন, যেমন ডুয়াল থাম্ব কন্ট্রোল বা জুম করার জন্য পিঞ্চ, তাহলে আপনাকে কী প্রেসে অ্যাকশন ম্যাপ করতে হবে। আপনার ইন-গেম অ্যাকশনগুলিকে কী প্রেসে ম্যাপ করা উচিত, যেমন আপনার ইনভেন্টরি খুলতে i টিপে, ডায়ালগ বক্সগুলি বন্ধ করতে পালানো , এবং ইন-গেম বার্তা পাঠাতে প্রবেশ করুন

2D প্ল্যাটফর্মার মাইক্রোগেম সরানোর জন্য তীর ব্যবহার করে এবং লাফ দেওয়ার জন্য স্থান ব্যবহার করে। আপনি যদি নিজের গেমটি ব্যবহার করেন তবে নিশ্চিত করুন যে পরবর্তী ধাপের জন্য আপনার পছন্দের কী বাইন্ডিং আছে।

9. ইনপুট SDK ইন্টিগ্রেশন

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

  1. আপনার প্রকল্পে SDK আমদানি করার পরে, InputMappingProviderBehaviour.cs নামে একটি ফাইল তৈরি করুন এবং এই বিষয়বস্তুগুলি যোগ করুন:
using System.Collections.Generic;
using Google.Play.InputMapping;
using UnityEngine;
using Input = Google.Play.InputMapping.Input;

public class InputMappingProviderBehaviour : MonoBehaviour
{
    private void Start()
    {
        Input.GetInputMappingClient().RegisterInputMappingProvider(new MyInputMappingProvider());
    }

    private class MyInputMappingProvider : InputMappingProvider
    {
        public InputMap OnProvideInputMap()
        {
            return new InputMap
            {
                InputGroups = new List<InputGroup> { },
                MouseSettings = new MouseSettings
                {
                    InvertMouseMovement = false,
                    AllowMouseSensitivityAdjustment = false
                }
            };
        }
    }

    private enum ActionIds
    {
    }
}
  1. এখন আপনি আপনার গেমে ব্যবহার করছেন এমন অ্যাকশনের তালিকা দিয়ে ActionIds পূরণ করুন। 2D প্ল্যাটফর্মার মাইক্রোগেমের জন্য, ক্রিয়াগুলি হল বাম, ডান এবং লাফানো:
private enum ActionIds
{
    Left,
    Right,
    Jump
}
  1. OnProvideInputMap এ, প্রতিটি কর্মের জন্য একটি InputAction তৈরি করুন। এর জন্য আপনাকে অ্যাকশনের নাম, ইনপুট এবং তারপরে মাউসের বোতাম বা কীকোডগুলিকে আবদ্ধ করতে হবে। নমুনা খেলার জন্য:
var leftAction = new InputAction
{
    ActionLabel = "Walk Left",
    UniqueId = (int)ActionIds.Left,
    InputControls = new InputControls
    {
        AndroidKeycodes = new[]
        {
            AndroidKeyCode.KEYCODE_DPAD_LEFT
        }
    }
};

var rightAction = new InputAction
{
    ActionLabel = "Walk Right",
    UniqueId = (int)ActionIds.Right,
    InputControls = new InputControls
    {
        AndroidKeycodes = new[]
        {
            AndroidKeyCode.KEYCODE_DPAD_RIGHT
        }
    }
};

var jumpAction = new InputAction
{
    ActionLabel = "Jump",
    UniqueId = (int)ActionIds.Jump,
    InputControls = new InputControls
    {
        AndroidKeycodes = new[]
        {
            AndroidKeyCode.KEYCODE_SPACE
        }
    }
};
  1. এর পরে, এই ইনপুট ক্রিয়াগুলিকে গ্রুপে রাখুন।

মাইক্রোগেমের জন্য আমাদের শুধুমাত্র একটি গ্রুপ আছে, কিন্তু আপনি আপনার খেলোয়াড়দের তাদের প্রয়োজনীয় ক্রিয়াগুলি খুঁজে পেতে সাহায্য করার জন্য যতগুলি প্রয়োজন ততগুলি তৈরি করতে পারেন। OnProvideInputMap এ এটি যোগ করুন:

var movementInputGroup = new InputGroup
{
    GroupLabel = "Movement",
    InputActions = new List<InputAction>
    {
        leftAction, rightAction, jumpAction
    }
};
  1. ইনপুট মানচিত্রে আপনার তৈরি করা সমস্ত ইনপুট গ্রুপ যোগ করুন। পড়ার জন্য OnProvideInputMap এ রিটার্ন স্টেটমেন্ট পরিবর্তন করুন:
return new InputMap
{
    InputGroups = new List<InputGroup> { movementInputGroup },
    MouseSettings = new MouseSettings
    {
        InvertMouseMovement = false,
        AllowMouseSensitivityAdjustment = false
    }
};
  1. অবশেষে, আপনার গেমটিতে আপনার তৈরি করা স্ক্রিপ্ট যোগ করুন:

নামের একটি নোডের স্ক্রিনশট

  1. আপনি যখন আপনার গেমটি আবার স্থাপন করবেন, তখন ইন-গেম ওভারলে খুলতে Shift+Tab টিপুন।

এর স্ক্রিনশট

  1. আপনার কনফিগার করা নিয়ন্ত্রণগুলি দেখতে নিয়ন্ত্রণগুলিতে ক্লিক করুন৷

এর স্ক্রিনশট

10. এম্বেড করা ওয়েব ভিউ সরান

আপনার খেলোয়াড়দের একটি দুর্দান্ত অভিজ্ঞতা দিতে, আপনার এমবেড করা ওয়েব ভিউগুলি সরিয়ে দেওয়া উচিত৷ আপনার গোপনীয়তা নীতি বা পরিষেবার শর্তাবলীর মতো আইটেমগুলি প্রদর্শনের জন্য এমবেড করা ওয়েব ভিউ ব্যবহার করা সাধারণ। যদিও এইগুলি Google Play Games-এ কাজ করে, তারা প্লেয়ারের পছন্দের ডেস্কটপ ব্রাউজারের পরিবর্তে একটি এমবেড করা "মোবাইল" ব্রাউজারে দেখায় এবং পিসি প্লেয়ারদের জন্য কিছু বিভ্রান্তির কারণ হতে পারে। তাই ইউনিটিতে, যদি আপনি একটি এমবেডেড ব্রাউজার দেখানোর জন্য কোনো এক্সটেনশন ব্যবহার করেন, Application.OpenURL(url) এ ফিরে যান।

11. অনুমতি এবং বৈশিষ্ট্য

অনেকগুলি Android বৈশিষ্ট্য এবং অনুমতি রয়েছে যা Google Play গেমগুলিতে অসমর্থিত৷ একটি সাধারণ নিয়ম হল আপনার পিসি বিল্ডে কখনই অনুমতি ডায়ালগ পপ আপ করা উচিত নয়। একটি ভাল জিনিস, এখন আপনি আপনার বিল্ড প্রস্তুত, একটি সাধারণ নতুন ইনস্টলের মাধ্যমে যান এবং আপনার গেম জমা দেওয়ার জন্য আপনার "টুডো" তালিকায় যোগ করতে আপনি যে কোনও ডায়ালগ দেখতে পান তা লিখুন৷

কিছু ইউনিটি গেম Android.Permission API ব্যবহার করে অনুমতির জন্য অনুরোধ করেif (GoogleDeviceUtilities.IsGooglePlayGames) চেক করে তাহলে আপনার এগুলি মোড়ানো উচিত এবং প্রযোজ্য হলে সরাসরি আপনার ব্যর্থতার যুক্তিতে যাওয়া উচিত।

12. ডেস্কটপ অপ্টিমাইজেশান

একটি সাধারণ অ্যান্ড্রয়েড ফোনের সাথে তুলনা করলে Google Play গেমগুলির কয়েকটি পার্থক্য রয়েছে এবং আপনি সেই অনুযায়ী আপনার গেমটি কনফিগার করতে চাইতে পারেন।

টেক্সচার কম্প্রেশনের জন্য DXT-এ স্যুইচ করুন। সাধারণ অ্যান্ড্রয়েড টেক্সচার ফরম্যাট যেমন ETC রানটাইমে মেমরিতে ডিকোড করা হয় যদি সেগুলি সরাসরি প্লেয়ারের GPU-তে না যায়। ASTC আপনাকে সেরা ডেস্কটপ সামঞ্জস্য দেয়, যদিও আপনার গেমের জন্য প্রত্যাশিত আচরণ যাচাই করার জন্য আপনাকে একটি ডেস্কটপ GPU প্রোফাইলিং টুল ব্যবহার করতে হবে।

ঐক্য

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

এর স্ক্রিনশট

13. অভিনন্দন

Google Play Games-এর জন্য আপনার গেমে কাজ শুরু করার জন্য আপনার কাছে সবকিছু আছে। আপনি আপনার গেমের পরীক্ষা এবং পুনরাবৃত্তি শুরু করতে পারেন। মনে রাখবেন যে যদিও আপনি আপনার একই কোড বেস রাখতে পারেন, আপনি আপনার গেমটিকে একটি নেটিভ পিসি গেমের মতো অনুভব করতে মানিয়ে নিতে চাইবেন।

এরপর কি?

Google Play Games এ একটি গেম পাঠানোর জন্য আরও কাজ করতে হবে:

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