Unity और Google Play Games for PC का इस्तेमाल शुरू करें

1. परिचय

Google Play Games का लोगो

पिछली बार अपडेट किए जाने की तारीख: 18-10-2022

Google Play Games on PC के लिए, अपने गेम को कैसे तैयार किया जाता है?

Google Play Games की मदद से, Windows पीसी पर मोबाइल गेम आसानी से खेलें. इसका मतलब है कि गेम को फिर से संग्रहित किए या अपने कारोबार के मॉडल को फिर से डिज़ाइन किए बिना, खिलाड़ियों की दिलचस्पी बढ़ाई जा सकती है. साथ ही, दर्शकों की संख्या भी बढ़ाई जा सकती है. हालांकि, आपको कुछ बदलाव करने होंगे, ताकि पीसी पर खेलने वाले नए खिलाड़ियों को बेहतरीन अनुभव दिया जा सके.

आपको इनके बारे में जानकारी मिलेगी

इस कोडलैब में, ज़रूरी शर्तों की चेकलिस्ट के बुनियादी हिस्सों को शामिल किया गया है, ताकि आप अपना गेम लॉन्च कर सकें. साथ ही, इससे आपको Google Play Games on PC के लिए, अपना Unity गेम तैयार करने में मदद मिलेगी. इसमें पूरी जानकारी देने वाले इंटिग्रेशन शामिल नहीं हैं. जैसे, Play Games में साइन इन करना और Play Integrity API.

  • Unity के x86 आर्किटेक्चर को बनाने का तरीका.
  • Google Play Games एम्युलेटर को टेस्ट करने और उसमें डिप्लॉय करने का तरीका.
  • पीसी पर बेहतरीन दिखने के लिए, अपने यूज़र इंटरफ़ेस में बदलाव करने का तरीका.
  • यह पता लगाने का तरीका कि Google Play Games एम्युलेटर पर आपका ऐप्लिकेशन चल रहा है या नहीं. साथ ही, यह भी जानें कि गेम को उसके हिसाब से कैसे ऑप्टिमाइज़ किया जाए.

आपको इन चीज़ों की ज़रूरत होगी

2. सेट अप करें

नया प्रोजेक्ट खोलना या बनाना

  1. 2D Platformer Microgame का इस्तेमाल करके नया प्रोजेक्ट बनाएं या अपना प्रोजेक्ट खोलें.

एकता

  1. प्रोजेक्ट से, फ़ाइल -> बिल्ड सेटिंग में देखें और देखें कि आपने Android का ऐप्लिकेशन बनाने के लिए सेट अप किया है या नहीं.

Unity का स्क्रीनशॉट

3. Google Play Games एम्युलेटर तैयार करें

एम्युलेटर डाउनलोड करके शुरुआत करें.

इसे इंस्टॉल करने के बाद, आपको एक विंडो में Android डेस्कटॉप दिखेगा:

Google Play Games एम्युलेटर विंडो का स्क्रीनशॉट. Android डिवाइस की होम स्क्रीन दिख रही है.

यह गेम डेवलपमेंट के लिए सही और पूरी तरह से तैयार Android एनवायरमेंट है. यह Android डीबग ब्रिज (adb) में लोकल होस्ट पर डिवाइस के रूप में दिखना चाहिए:

❯ adb devices
List of devices attached
localhost:6520  device

एम्युलेटर का पता लगाने के लिए, आपके पास adb का नया वर्शन होना चाहिए. Android Studio के साथ बंडल किया गया वर्शन काम करता है, लेकिन हो सकता है कि Unity के साथ शिप किए जाने वाले adb ऐसा न हो. एम्युलेटर के साथ काम करने वाला वर्शन बंडल किया गया है और आपको यह C:\Program Files\Google\Play Games Developer Emulator\current\emulator पर मिल सकता है. बेहतरीन डेवलपर अनुभव के लिए, हो सकता है कि आप Android Studio इंस्टॉल करना चाहें और इसका इस्तेमाल अपने Android SDK को मैनेज करने के लिए करना चाहें.

अगर एम्युलेटर adb से डिसकनेक्ट हो जाता है, तो इसे कमांड लाइन से इस तरह फिर से कनेक्ट करें:

adb connect localhost:6520

4. Unity को सीधे एम्युलेटर पर बनाने और डिप्लॉय करने के लिए कॉन्फ़िगर करें (ज़रूरी नहीं)

Unity के साथ शिप किए गए adb का वर्शन, एम्युलेटर के साथ काम न करे. पक्का करने के लिए, फ़ाइल -> चुनें बिल्ड सेटिंग पर क्लिक करें और डिवाइस चलाएं डायलॉग बॉक्स में देखें कि वह सूची में मौजूद है या नहीं.

डिवाइस को इसमें चलाएं

अपने प्रोजेक्ट, बिल्ड प्रोसेस, और सुविधा के हिसाब से, Unity को सीधे Google Play Games एम्युलेटर पर डिप्लॉय करने के लिए कॉन्फ़िगर किया जा सकता है या APK बनाकर उसे adb install के साथ मैन्युअल तरीके से डिप्लॉय किया जा सकता है. इसे मैन्युअल तरीके से डिप्लॉय करने के लिए, कुछ मामूली बदलाव करने पड़ते हैं. हालांकि, इससे बार-बार समीक्षा करने की आपकी प्रोसेस कम हो सकती है.

इन दो चरणों की मदद से, सीधे एम्युलेटर पर डिप्लॉय करें:

  1. Unity को किसी दूसरे Unity SDK का इस्तेमाल करने के लिए कॉन्फ़िगर करें. खास तौर पर, वह SDK टूल जिसे Android Studio ने इंस्टॉल किया है.
  2. Unity में मौजूद गड़बड़ी से जुड़ी समस्या ठीक करने के लिए, Build Tools का वर्शन अपडेट करें.

Unity के साथ भेजे गए Android SDK के वर्शन को शायद एम्युलेटर का पता न चले. इसलिए, नया SDK टूल इंस्टॉल करने के लिए Android Studio का इस्तेमाल किया जा सकता है.

  1. Android Studio खोलें और बदलाव करें -> चुनें प्राथमिकताएं -> बाहरी टूल.
  2. Android SDK Tools Installed with Unity से सही का निशान हटाएं और अपने Android Studio को इंस्टॉल करने का पाथ बताएं (आम तौर पर AppData/Local/Android/sdk). Android NDK विकल्प को अकेला रहने दें.

का स्क्रीनशॉट

कनेक्ट किए गए डिवाइसों को रीफ़्रेश करने पर, आपको बिल्ड विंडो में Google HPE device (localhost:6520) दिखेगा:

स्क्रीनशॉट

इस गड़बड़ी और आपके Unity वर्शन की स्थिति के आधार पर, आपको बिल्ड टूल का वर्शन भी बदलना पड़ सकता है. ऐसा करने के लिए, देखें कि mainTemplate.gradle और launcherTemplate.gradle जनरेट किए जा रहे हैं या नहीं.

  1. प्लेयर सेटिंग में जाने के लिए प्रोजेक्ट सेटिंग विंडो खोलें और Publishing Settings सेक्शन ढूंढें.
  2. नीचे की ओर स्क्रोल करके, बिल्ड विकल्प पर जाएं और "कस्टम मेन ग्रेडल टेंप्लेट" चुनें और "कस्टम लॉन्चर Gradle टेंप्लेट", जो Assets\Plugins\Android\ में Gradle दोनों फ़ाइलें जनरेट करेगा.

स्क्रीनशॉट

  1. **BUILDTOOLS** स्ट्रिंग के किसी भी इंस्टेंस को 30.0.0 से बदलें. दोनों फ़ाइलों में, अब कोड का सेक्शन ऐसा होना चाहिए:
android {
    compileSdkVersion **APIVERSION**
    buildToolsVersion '30.0.0'

5. Chromebook पर डिप्लॉय करें (ज़रूरी नहीं)

Google Play Games एम्युलेटर को ऐक्सेस किए बिना भी ChromeOS डिवाइस का इस्तेमाल करके, Google Play Games के लिए गेम डेवलप किए जा सकते हैं. Google Play Games on PC की तरह ही, Chromebook में भी कीबोर्ड और माउस होते हैं. साथ ही, इनमें बड़ी स्क्रीन होती हैं और ये x86 कॉन्फ़िगरेशन में उपलब्ध होते हैं. हम Chromebook के साथ Android Logcat Unity प्लगिन का इस्तेमाल करेंगे.

  1. पैकेज मैनेजर खोलें और Unity Registry में जाकर Android Logcat खोजें.

पैकेज मैनेजर विंडो के साथ

आपको Android डेवलपमेंट के लिए अपने Chromebook को कॉन्फ़िगर भी करना होगा. Linux को चालू करके शुरू करें.

  1. सेटिंग चुनें -> डेवलपर -> Linux.

ऐनिमेशन वाली इमेज, जिसमें Linux से जुड़ी सहायता चालू करने का तरीका दिखाया गया है.  सेटिंग विंडो में डेवलपर चुना गया है. इसके बाद

इसके बाद, ADB को डीबग करने की सुविधा चालू करें.

  1. सेटिंग -> चुनें डेवलपर -> Linux डेवलपमेंट एनवायरमेंट -> Android ऐप्लिकेशन डेवलप करें -> ADB डीबग करने की सुविधा चालू करें.

डेवलपर मेन्यू में ADB डीबग करने की सुविधा चालू है.

आपको अपने Chromebook का आईपी पता भी मिल सकता है. इसका सबसे आसान तरीका यह है कि

  1. अपने Chromebook का आईपी पता पाने के लिए, नेटवर्क की जानकारी आइकॉन पर क्लिक करें.

Chromebook पर खुली नेटवर्क विंडो का स्क्रीनशॉट.

नेटवर्क की जानकारी वाले बटन पर क्लिक किया गया, जो आईपी पता दिखा रहा है.

  1. विंडो -> चुनें विश्लेषण -> Android Logcat की मदद से Android Logcat विंडो को खोलें.

विंडो>यह विश्लेषण, Unity में इसके साथ खुला है

  1. डिवाइस की सूची खोलें. अगर फ़िलहाल कुछ भी कनेक्ट नहीं है, तो हो सकता है कि यह No Device दिखे.

Android Logcat विंडो दिखाई गई, डिवाइस का ड्रॉपडाउन चुना गया.

  1. कनेक्शन के अन्य विकल्प पर क्लिक करें और अपने Chromebook का आईपी पता डालें.

अन्य कनेक्शन विंडो खुली हैं. कोई आईपी पता डाला गया हो.

  1. कनेक्ट करें पर क्लिक करें. आपको हो गया विंडो दिखाई देगी:

डायलॉग बॉक्स, जिसमें लिखा है

आपका Chromebook अब Unity की 'रन डिवाइस' की सूची में दिख रहा है (आपको पहले स्क्रीन को रीफ़्रेश करना पड़ सकता है):

एकता

अब Chromebook पर गेम डिप्लॉय किए जा सकते हैं. साथ ही, पीसी जैसे हार्डवेयर पर उनकी जांच और डेवलपमेंट शुरू किया जा सकता है.

6. टेस्ट बिल्ड डिप्लॉय करें

Google Play Games के लिए ज़रूरी है कि आप अपने गेम का x86 वर्शन डिप्लॉय करें. यह वर्शन इस बात का हिस्सा है कि गेम, डेस्कटॉप पीसी पर गेम की परफ़ॉर्मेंस के मानदंड तक पहुंचता है. Unity के सभी एलटीएस वैरिएंट, x86 और x86-64 के साथ काम करने वाले Android बिल्ड ("Chrome OS" के तौर पर लेबल किए गए) जनरेट कर सकते हैं. साथ ही, Unity वर्शन 2018 और इससे पहले के वर्शन, x86 बिल्ड जनरेट कर सकते हैं. इन आर्किटेक्चर को अनलॉक करने के लिए, आपको पहले IL2CPP स्क्रिप्टिंग बैकएंड पर स्विच करना होगा. ऐसा हो सकता है कि आप पहले से ही आर्म64 के साथ काम करने के लिए, प्रोडक्शन में हों.

  1. फ़ाइल -> चुनें बिल्ड सेटिंग का इस्तेमाल करके बिल्ड सेटिंग विंडो खोलें. इसके बाद, प्लेयर सेटिंग पर क्लिक करें.

स्क्रीनशॉट

  1. अन्य सेटिंग सेक्शन पर जाएं और अपने Scripting Backend को IL2CPP पर स्विच करें.

स्क्रीनशॉट

आपको x86 या x86-64 की सुविधा भी चालू करनी चाहिए. Google Play Games प्लैटफ़ॉर्म पर प्रॉडक्ट शिप करने के लिए, आपको सिर्फ़ x86 का इस्तेमाल करना होगा. हालांकि, हमारा सुझाव है कि x86-64 का इस्तेमाल करें.

प्लेयर की सेटिंग के कॉन्फ़िगरेशन सेक्शन का स्क्रीनशॉट

Frame Pacing लाइब्रेरी के Unity बंडल का वर्शन भी Google Play Games के साथ काम नहीं करता है. इसकी वजह से, लॉन्च के समय आपका गेम क्रैश हो जाता है.

  1. प्लेयर सेटिंग विंडो से फ़्रेम पेसिंग बंद करने के लिए, रिज़ॉल्यूशन और प्रज़ेंटेशन सेक्शन खोलें और ऑप्टिमाइज़ किए गए फ़्रेम पेसिंग से सही का निशान हटाएं.

स्क्रीनशॉट

अब आप इसे बनाने के लिए तैयार हैं!

  1. बिल्ड सेटिंग विंडो को फिर से खोलें और बनाएं और चलाएं पर क्लिक करें. आपका गेम एम्युलेटर विंडो में दिखता है.

Google Play Games एम्युलेटर का स्क्रीनशॉट, जिसमें

अगर गेम को डिप्लॉय करने में समस्या आ रही है, तो देखें कि "Google HPE डिवाइस (localhost:6520)" उपलब्ध है या नहीं आपके "Run Device" ऐप्लिकेशन में दिखता है सूची. अगर यह मौजूद नहीं है, तो पक्का करें कि HPE_Dev चल रहा हो और आपको Android की होम स्क्रीन दिख रही हो. अगर यह अब भी आपके डिवाइस की सूची में नहीं दिख रहा है, तो adb connect localhost:6520 को ठीक उसी adb.exe के साथ चलाएं जिसका इस्तेमाल किया जा रहा है. अगर Android Logcat Unity प्लगिन का इस्तेमाल किया जाता है, तो टूल -> चुनें जिस adb.exe Unity का इस्तेमाल हो रहा है उस डायरेक्ट्री में टर्मिनल खोलने के लिए, Terminal खोलें.

स्क्रीनशॉट टर्मिनल खोलें" हाइलाइट किया गया" शैली="चौड़ाई: 624.00 पिक्सेल" src="img/9101ce3c95fb1aa2.png" 48 और 48 और 48 वाली 48 वाली और img/9101013c95 तक 1a2_72_72.png. साइज़="(max-width: 840px) 100vw, 856px">

7. अपने गेम को पीसी के हिसाब से बनाएं

जब भी हो सके, प्लैटफ़ॉर्म-एग्नोस्टिक मेट्रिक या कुछ खास सुविधाओं की मौजूदगी के आधार पर अपने गेम में कोई भी बदलाव करने की कोशिश करें. उदाहरण के लिए, Android डिवाइस पर माउस और कीबोर्ड जोड़ने या मॉनिटर को प्लग-इन करने का विकल्प मिलता है. ऐसे में, डिवाइस कॉन्फ़िगरेशन की वजह से अपनी कंट्रोल स्कीम या HUD एलिमेंट बदलने से, उन सभी प्लैटफ़ॉर्म पर Google Play Games on PC के तहत गेम खेलने का फ़ायदा मिल सकता है जिन पर यह काम करता है.

खिलाड़ी 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
}

अन्य Android फ़ोन के मुकाबले पीसी में बड़ी स्क्रीन होती है. हमारा सुझाव है कि जब मुमकिन हो, तब HUD स्क्रीन का 20% से ज़्यादा हिस्सा इस्तेमाल न करे. कई मोबाइल गेम "स्क्रीन के साइज़ के साथ स्केल करें" का इस्तेमाल करते हैं. इसलिए, इसे "कॉन्सटेंट फ़िज़िकल साइज़" में बदलना या "कॉन्स्टेंट पिक्सल साइज़" यह लक्ष्य हासिल करने की दिशा में एक अच्छा पहला कदम हो सकता है.

स्क्रीनशॉट

अगर आपको लगता है कि Google Play Games चला रहा है, तो रनटाइम के दौरान QualitySettings.SetQualityLevel कमांड का इस्तेमाल करके, क्वालिटी सेटिंग को डाइनैमिक तरीके से सेट किया जा सकता है. Google Play Games एम्युलेटर, OpenGL Unity से आने वाले नियमों के हिसाब से, Acrobat या Vulkan के निर्देशों को जारी करने के लिए ANGLE का इस्तेमाल करता है. इससे, आपको मोबाइल गेम के बिल्ड के मुकाबले ज़्यादा ग्राफ़िक्स फ़िडेलिटी मिलती है.

8. इनपुट हैंडलिंग

Google Play Games पर मौजूद गेम की शिपिंग में, माउस और कीबोर्ड इनपुट का इस्तेमाल किया जाना चाहिए. आपको माउस और कीबोर्ड की मदद से, गेम को इस्तेमाल करने का तरीका तय करना होगा. इसलिए, अभी समय निकालकर इनपुट SDK यूनिटीपैकेज पाएं. अगर आपको उस पेज पर डाउनलोड नहीं दिखता है, तो पक्का करें कि आपने play-mp-libs ग्रुप में किसी खाते से साइन इन किया है.

टेस्टिंग के लिए, कई गेम में माउस और कीबोर्ड के बेसिक कंट्रोल बनाए जाते हैं, ताकि एडिटर को बेहतर तरीके से डेवलप किया जा सके. जब मुमकिन हो, तब ChromeOS डिवाइस या Google Play Games एम्युलेटर पर चलने वाली इन सुविधाओं को चालू किया जा सकता है.

Google Play Games और ChromeOS में डिफ़ॉल्ट रूप से, माउस इनपुट को सिम्युलेटेड टच में बदला जाता है. अगर आपने Input.GetTouch और Input.touchCount का इस्तेमाल किया है, तो आपका गेम उम्मीद के मुताबिक काम करता रहेगा. अगर मल्टी-टच इनपुट, जैसे कि ड्यूअल थंब कंट्रोल या पिंच करके ज़ूम करने की सुविधा का इस्तेमाल किया जा रहा है, तो आपको बटन दबाने के लिए कार्रवाई को मैप करना होगा. आपको गेम में की जाने वाली कार्रवाइयों को, बटन दबाने पर भी मैप करना चाहिए. जैसे, इन्वेंट्री खोलने के लिए i, डायलॉग बॉक्स बंद करने के लिए escape, और इन-गेम मैसेज भेजने के लिए enter.

2D Platformer Microgame चलाने के लिए तीरों और कूदने के लिए स्पेस का उपयोग करता है. अगर आपको अपना गेम इस्तेमाल करना है, तो पक्का करें कि अगले चरण में जाने के लिए, आपके पास अपनी पसंदीदा की बाइंडिंग हों.

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 पर काम करते हैं, लेकिन ये एम्बेड किए गए "मोबाइल" में दिखते हैं . इसलिए, Unity में, अगर एम्बेड किए गए ब्राउज़र को दिखाने के लिए किसी एक्सटेंशन का इस्तेमाल किया जा रहा है, तो Application.OpenURL(url) पर वापस जाएं.

11. अनुमतियां और सुविधाएं

Android की ऐसी कई सुविधाएं और अनुमतियां हैं जिनका इस्तेमाल Google Play Games में नहीं किया जा सकता. बुनियादी नियम यह है कि आपके पीसी बिल्ड में अनुमति वाला डायलॉग कभी पॉप-अप नहीं होना चाहिए. अब आपको अपना बिल्ड तैयार कर लेना है. एक सामान्य इंस्टॉल करें और "काम की सूची" में जोड़ने के लिए दिखने वाले सभी डायलॉग लिख लें सूची सबमिट करें.

कुछ Unity गेम Android.Permission एपीआई का इस्तेमाल करके अनुमतियों का अनुरोध करते हैं. आपको इन्हें if (GoogleDeviceUtilities.IsGooglePlayGames) जांच में पूरा करना चाहिए और अगर लागू हो, तो सीधे अपने फ़ेलियर लॉजिक पर जाना चाहिए.

12. डेस्कटॉप ऑप्टिमाइज़ेशन

किसी सामान्य Android फ़ोन के मुकाबले, Google Play Games में कुछ अंतर हैं. आपके पास गेम को उसी हिसाब से कॉन्फ़िगर करने का विकल्प होता है.

टेक्सचर कंप्रेस करने के लिए, DXT पर स्विच करें. Android के सामान्य टेक्सचर फ़ॉर्मैट, जैसे कि ETC को रनटाइम के दौरान मेमोरी में डिकोड कर दिया जाता है. ऐसा तब होता है, जब उन्हें सीधे खिलाड़ी के जीपीयू में नहीं भेजा जा सकता हो. ASTC आपको सबसे अच्छी डेस्कटॉप संगतता देता है, हालांकि आपको अपने गेम के लिए सही व्यवहार की पुष्टि करने के लिए डेस्कटॉप जीपीयू प्रोफ़ाइलिंग टूल का इस्तेमाल करना होगा.

एकता

फ़िलहाल, डेस्कटॉप जीपीयू पर इस्तेमाल किया जा रहा है, इसलिए हो सकता है कि आप अपने ग्राफ़िक्स की क्वालिटी भी बेहतर बनाना चाहें. इसे सीधे प्रोजेक्ट सेटिंग में जाकर, क्वालिटी में जाकर बदला जा सकता है

स्क्रीनशॉट

13. बधाई हो

आपके पास Google Play Games के लिए अपने गेम पर काम करने के लिए सब कुछ है. आपके पास अपने गेम को टेस्ट करने और उसे दोहराने का विकल्प है. याद रखें कि भले ही आपके पास अपना कोड बेस बदलने की सुविधा हो, लेकिन आपको अपने गेम को इस तरह बनाना चाहिए कि वह आपको पीसी पर खेले जाने वाले गेम जैसा महसूस हो.

आगे क्या होगा?

Google Play Games पर, गेम को शिप करने के लिए अभी बहुत कुछ करना बाकी है:

आखिर में, Google Play Games से जुड़ी सहायता देने के लिए आपने अब तक बहुत से काम किए हैं. इससे आपको ChromeOS इस्तेमाल करने में भी मदद मिलती है. इसलिए,आपको पीसी के साथ-साथ इस प्लैटफ़ॉर्म से भी मदद मिलती है.