Pixonic, büyük ekranlar için optimizasyon yaparak ChromeOS'te etkileşimi% 25 artırdı

Arka plan

Pixonic merkezi Moskova'da bulunan bir video oyunu geliştiricileri ekibi, ulaşmak ve daha da fazla müşteriye ulaşmak için her fırsattan daha fazla bilgi edindiniz. Şirketin en bilinen unvanlarından biri Savaş Robotları Oyuncuların hareket edip düello yaptığı 12 kişilik Oyuncuya Karşı Oyuncu (PvP) deneyimi özelleştirilmiş robotlar oluşturdu.

2014 yılında çıkan War Robots ilk olarak Android'in ilk nesil cihazlar için yalnızca dokunmatik alan tabanlı hareketlere sahip, fare girişi yok. İlgili içeriği oluşturmak için kullanılan Oyun tutkunu olan Pixonic ekibi, uygulamada birkaç değişiklik gerektiğini fark etti. daha geniş bir cihaz yelpazesinde mükemmel bir kullanıcı deneyimi sunmak için bilgisayar ve tablet gibi işlemler yapabilir. War Robots zaten tüm Android cihazlarda oynanabiliyordu Chromebook'lar Android çerçevesinin tam sürümünü çalıştırdığından olabilir. Pixonic, birkaç kodlama çalışmasıyla daha hızlı veya ChromeOS'in avantajlarından tüm özellikleri sunar.

Pixonic ekibinin, War Robots'u en iyi şekilde optimize etmesi için daha büyük ekranlara sahip.

Ne yaptılar?

Pixonic, optimizasyonları başlatmak için Sisteme tam ChromeOS desteği için hazır olduğunu bildiren AndroidManifest.xml dosyası ve dokunma emülasyonunu devre dışı bırakması gerekiyor:

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

Pixonic ayrıca uygulamanın minSdk değerini 24'e ayarlar. Böylece Unity oyun motoru (yalnızca belirli satır öğeleri için değil, fare tıklamalarını ve hareketle ilgili tüm dokunmatik alan etkinlikleri) tıklayın.

Klavye ve fare desteği

War Robots gibi üçüncü şahıs PvP oyunlarda hareket etmek ve nişan almak çok daha kolay özellikle büyük ekranlı cihazlarda klavye ve fare kullanarak. Bir sonraki adımı, oyunun klavye ve fare desteği için kodu yeniden yazmaktı. savaş modunda kalarak dokunmatik ekran kontrollerini koruyabilirsiniz.

Doğru zamanda doğru kontrolleri sağlamak için Pixonic'in ekibi yeni bir kod yazdı kullanıcının mevcut oyun modunu kontrol etmek için:

@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();
    }
}

Q klavye algılanırsa oyun, masaüstü moduna uyum sağlar. İlgili içeriği oluşturmak için kullanılan sol alt köşedeki hareket kontrol çubuğu kaybolur ve işlemler (ör. silahları, yetenekleri ve menüleri) sıralamak klavye kısayollarını kullanabilirsiniz.

Dizüstü bilgisayar modunda War Robots.

Klavye algılanmazsa sol altta hareket kontrol çubuğu görünür klavye kısayolları sağ alt taraftaki menü düğmelerinde gizlendi.

War Robots tablet/mobil oyun modunda.

Ardından Pixonic, bir oyuncu döndürebilmelerini sağlar. Android 7.0 (API düzeyi 24) sürümünü hedefleyerek veya daha yüksek olursa ekip herhangi bir işaretçi simgesini de ayarlayabilir. Bu örnekte ekip, şeffaf bit eşlem ile imleci oyun sırasında görünmez hale getirir:

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

Bu, imlecin devre dışı bırakılmasını ve diğer tüm pencereler açıldığında görünmez olmasını sağladı. kapatıldı ve bir savaş devam ediyor. Örneğin, Pixonic, imleci görünür hale getirerek varsayılan simgesini görüntüledi.

Oyun eğiticilerini ve mekaniklerini uyarlama

Pixonic, daha iyi bir kullanıcı deneyimi sunmak için Kullanıcının mevcut cihaz moduna dayalı oyun eğitimleri. Oyuncu değişirse savaş sırasında tablet ile dizüstü bilgisayar arasında oyun oynanıyor ve henüz eğiticisi gösterilirse oyun devam ettirilmeden önce eğitim gösterilir.

Dizüstü bilgisayar modunda klavye ve fare girişiyle oyun oynama eğitimleri.

Tablet modunda dokunmatik ekran kontrolleriyle oynama eğitimi.

Pixonic, oyuncular dizüstü bilgisayar modundayken dokunmatik ekran kamerasını da devre dışı bırakır (çünkü oyuncular kamerayı fare ile kontrol edecek) (çünkü kullanıcılar, oyun düğmeleri her zamanki gibi çalışıyor. Dokunmaları fare hareketlerinden ayırt etmek için ekip, Input.touchCount özelliğini kullanır (Unity komut dosyalarında):

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

Çoklu pencere desteği

Pixonic son adımda oyunun kilitlenmediğinden emin olmak istedi. tam ekran moduna geçer. ChromeOS'te pencereli oynamayı etkinleştirmek Kullanıcıların en sevdikleri yayıncıları oyun oynarken aynı anda izlemelerine, yeni sürüme geçmelerine yeni beceriler hakkında bilgi edinerek oyunun web sitesine gidin veya pasif moddan geçebilirsiniz.

Pixonic bunun için UnityPlayerActivity öğesini yeniden boyutlandırılabilir olarak işaretledi:

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

Oyun arayüzünün yalnızca belirli bir ekip, desteklenen minimum pencere boyutlarını belirliyor:

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

Pixonic, en yoğun oynanabilirlik deneyimi için tam ekran modunu meta etiketler kullanarak ayarladı. istediğiniz şekilde varsayılan ve yatay yöne ayarlayın.

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

War Robots pencereli modda kullanıma sunuldu.

Bu optimizasyonlar oyunun duraklamamasını ve savaşın Oyuncular oyun pencerelerini genişletip küçülttükçe HUD de buna uygun şekilde ölçeklendirilir.

Sonuçlar

Online kaynaklardan oluşan geniş bir kitaplık sayesinde bu süreç, Pixonic’in beş üyeli geliştirme ekibinin sadece iki haftasını aldı.

Şu ana kadar ChromeOS'te 100.000'den fazla oyuncu War Robots oynadı Pixonic en son optimizasyonları kullanıma sundu. Çünkü oynanabilirlik artık daha büyük ekranlardaki ekstra alan sayesinde War Robots savaşları ve ilgi çekici hale getirmektir. Hatta kullanıcı oturumları% 25 daha uzun Android cihazlara kıyasla Chromebook'larda daha görünür. İlk kullanıcılardan aldığımız geri bildirimler, son derece olumlu. Hatta bazı oyuncular, oyuncuların Chromebook için optimize edilmiş oyun BlueStacks'ten daha akıcı çalışır emülatörü kullanın.

Pixonic'in geliştiricileri, elde ettikleri başarıdan dolayı War Robots'u güncellemeyi planlıyor. grafik PC kalitesine daha da yakın bir oyun deneyimi için tüm Android cihazlarda sahip olacaksınız.

Uygulamalarınızı ChromeOS için optimize etmeye yönelik en iyi uygulamalara göz atın.