Pixonic ने बड़ी स्क्रीन के लिए ऑप्टिमाइज़ करके, ChromeOS पर यूज़र ऐक्टिविटी को 25% बढ़ाया

बैकग्राउंड

पिक्सोनिक, वीडियो गेम डेवलपर की एक टीम जिसका मुख्यालय मॉस्को में है. इस टीम को अपने मोबाइल ऐप्लिकेशन को अपग्रेड करने और पहले से ज़्यादा व्यापक ग्राहकों तक पहुंचने के लिए हर अवसर को दर्शक तय करते हैं. कंपनी के सबसे लोकप्रिय नामों में से एक है वार रोबोट, 12 खिलाड़ियों वाला प्लेयर-बनाम प्लेयर (PvP) गेम, जहां खिलाड़ी गेम को मैनेज करते हैं और लड़ते हैं कस्टमाइज़ किए गए रोबोट लाइव युद्ध के मैदान में.

साल 2014 में रिलीज़ हुए War Robots को मूल रूप से, Android टचपैड-आधारित मूवमेंट और माउस इनपुट के बिना, पहली पीढ़ी के डिवाइस हैं. कॉन्टेंट बनाने Pixonic की टीम, गेमर के बारे में बताती है और उसे पता चलता है कि इस ऐप्लिकेशन के लिए ज़्यादा से ज़्यादा डिवाइसों पर बेहतरीन उपयोगकर्ता अनुभव देने के लिए बदलाव, जैसे कि लैपटॉप और टैबलेट. किसी भी Android डिवाइस पर, War Robots पहले ही खेले जा सकता था Chromebook डिवाइस, Android फ़्रेमवर्क के फ़ुल वर्शन पर काम करते हैं एक कंटेनर में रखा जाता है. कोडिंग में कुछ और बदलाव करके, Pixonic ने का फ़ायदा मिलता है' पूरी क्षमता का इस्तेमाल किया जा सकता है.

यहां बताया गया है कि Pixonic की टीम ने किस तरह War Robots को ऑप्टिमाइज़ किया, ताकि वे बेहतरीन अनुभव पा सकें बड़ी स्क्रीन.

उन्होंने क्या किया

ऑप्टिमाइज़ेशन को शुरू करने के लिए, Pixonic ने AndroidManifest.xml से सिस्टम को पता चलता है कि वह ChromeOS पर पूरी तरह से काम करने के लिए तैयार है साथ ही, टच एम्युलेशन बंद करने की ज़रूरत होगी:

<uses-feature android:name="android.hardware.type.pc" android:required="false" />

Pixonic, ऐप्लिकेशन के minSdk को 24 पर भी सेट करता है, ताकि Unity गेमिंग इंजन इससे माउस क्लिक और गतिविधि से जुड़े सभी एपीआई इवेंट सीधे किए जा सकते हैं (न कि सिर्फ़ टचपैड इवेंट).

कीबोर्ड और माउस की सुविधा

वॉर रोबोट जैसे थर्ड पर्सन PvP गेम में, मूव करना और निशाना लगाना बहुत आसान होता है का इस्तेमाल किया जा सकता है. खास तौर पर, बड़ी स्क्रीन वाले डिवाइसों पर. तो, अगले वह गेम के लिए कीबोर्ड और माउस सपोर्ट के लिए कोड को फिर से लिखना था बैटल मोड के साथ-साथ टचस्क्रीन कंट्रोल को भी चालू रखें.

सही समय पर सही कंट्रोल देने के लिए, Pixonic की टीम ने नया कोड लिखा है उपयोगकर्ता का मौजूदा गेमप्ले मोड देखने के लिए:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    boolean hasQwertyKeyboard = newConfig.keyboard == Configuration.KEYBOARD_QWERTY && newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO;
    try {
        UnityPlayer.UnitySendMessage("Receiver", "ConfigChange", new JSONObject().put("keyboard", hasQwertyKeyboard).toString());
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

अगर किसी QWERTY कीबोर्ड का पता चलता है, तो गेम, डेस्कटॉप मोड में बदल जाता है. कॉन्टेंट बनाने नीचे बाएं कोने में मौजूद हलचल जॉयस्टिक गायब हो जाती है और सभी उपलब्ध कार्रवाइयों (जैसे कि हथियारों, क्षमताओं और मेन्यू की मदद से क्रम में लगाना) को लेबल किया जाता है इस्तेमाल करने के लिए कीबोर्ड शॉर्टकट का इस्तेमाल करें.

लैपटॉप मोड में War Robots.

कीबोर्ड का पता न चलने पर, सबसे नीचे बाईं ओर मूवमेंट जॉयस्टिक दिखने लगती है और कीबोर्ड शॉर्टकट सबसे नीचे दाएँ मेन्यू बटन पर छिपे रहते हैं.

टैबलेट/मोबाइल गेमप्ले मोड में War Robots.

इसके बाद, Pixonic यह पक्का करना चाहता था कि जब कोई प्लेयर अपने माउस को कैमरा घुमाने के लिए सेट कर सकता है. Android 7.0 (एपीआई लेवल 24) को टारगेट करके या तो टीम कोई भी पॉइंटर आइकॉन सेट कर सकती है. इस मामले में, टीम ने एक गेमप्ले के दौरान कर्सर को दिखाई नहीं देने के लिए पारदर्शी बिट मैप:

public boolean setPointerVisibility(boolean visible) {
    View = activity.findViewById(android.R.id.content);
    view.setPointerIcon(PointerIcon.getSystemIcon(activity, visible ? PointerIcon.TYPE_DEFAULT : PointerIcon.TYPE_NULL));
}

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

गेमप्ले ट्यूटोरियल और तकनीक को अपनाएं

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

लैपटॉप मोड में कीबोर्ड और माउस इनपुट के साथ गेमप्ले ट्यूटोरियल.

टचस्क्रीन कंट्रोल की मदद से, टैबलेट मोड में गेमप्ले ट्यूटोरियल.

जब प्लेयर लैपटॉप मोड में होते हैं, तब Pixonic टचस्क्रीन कैमरे को भी बंद कर देता है कंट्रोल (क्योंकि प्लेयर, कैमरे को माउस से कंट्रोल करेंगे) जबकि सभी गेमप्ले बटन सामान्य तरीके से काम करते हैं. टच की मदद से माउस की गतिविधियों में अंतर करने के लिए, टीम Input.touchCount प्रॉपर्टी (Unity स्क्रिप्ट में) का इस्तेमाल करती है:

if(Input.touchCount > 0) {
    // this is screen touch event
} else {
    // this is mouse (touchpad) event
}

अलग-अलग विंडो में काम करने की सुविधा

आखिरी चरण में, Pixonic यह पक्का करना चाहता था कि गेम अपने-आप लॉक न हो जाए फ़ुलस्क्रीन मोड चालू करें. ChromeOS में विंडो वाले गेमप्ले चालू करने से इससे लोग, गेम खेलने के दौरान अपने पसंदीदा स्ट्रीमर को एक साथ देख सकते हैं, साथ ही, वे अपने रोबोट को, गेम की वेबसाइट पर जा सकते हैं या लड़ाई की जानकारी कोई दूसरा वीडियो देखते समय पैसिव मोड का इस्तेमाल करें.

ऐसा करने के लिए, Pixonic ने UnityPlayerActivity को 'साइज़ रीसाइज़ किया जा सकता है' के तौर पर मार्क किया है:

<activity android:name="com.unity3d.player.UnityPlayerActivity" ....
    android:resizeableActivity="true">

ध्यान रखें कि गेम का इंटरफ़ेस सिर्फ़ कुछ खास डाइमेंशन की रेंज, टीम ने विंडो के लिए कम से कम साइज़ सेट किया है:

<activity  >
    <layout android:gravity="center" android:minHeight="800dp" android:minWidth="1200dp" />
</activity>

बेहतरीन गेमप्ले के लिए, Pixonic ने फ़ुलस्क्रीन मोड सेट करने के लिए मेटा टैग का इस्तेमाल किया को डिफ़ॉल्ट और लैंडस्केप ओरिएंटेशन के मुताबिक सेट किया जा सके.

<application>
    <meta-data android:name="WindowManagerPreference:FreeformWindowSize" android:value="maximize" />
    <meta-data android:name="WindowManagerPreference:FreeformWindowOrientation" android:value="landscape" />
    ….
</application>

विंडो मोड में वॉर रोबोट लॉन्च किए गए हैं.

इन ऑप्टिमाइज़ेशन से यह भी पक्का हुआ कि गेम न रुके और आगे भी जंग जारी है जैसे-जैसे खिलाड़ी अपने गेमप्ले की विंडो बढ़ाते हैं वैसे-वैसे HUD स्केल बढ़ता जाता है.

नतीजे

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

ChromeOS पर 1,00,000 से ज़्यादा खिलाड़ियों ने पहले ही वॉर रोबोट खेले हैं Pixonic ने नए ऑप्टिमाइज़ेशन लॉन्च किए हैं. ऐसा इसलिए हुआ, क्योंकि अब गेमप्ले बड़ी स्क्रीन पर गेम खेलने के लिए जोड़ी गई जगह का फ़ायदा उठाएं. War Robots के मुकाबले, यहां तक कि जो पहले से ज़्यादा शानदार और दिलचस्प हों. दरअसल, उपयोगकर्ता सेशन की अवधि 25% होती है अन्य Android डिवाइसों की तुलना में, Chromebook पर ज़्यादा देखी जा सकती हैं. शुरुआती सुझाव बेहद सकारात्मक है और कुछ खिलाड़ियों ने यह भी माना है कि Chromebook के लिए ऑप्टिमाइज़ किया गया गेम, BlueStacks की तुलना में बेहतर है एम्युलेटर.

उनकी सफलता के आधार पर, Pixonic के डेवलपर, War Robots अपडेट करने की योजना बना रहे हैं ग्राफ़िक्स सभी Android डिवाइसों पर इस्तेमाल किया जा सकता है, ताकि गेमप्ले को पीसी जैसी क्वालिटी जैसा बनाया जा सके अनुभव.

ChromeOS के लिए अपने ऐप्लिकेशन ऑप्टिमाइज़ करने के सबसे सही तरीके देखें.