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 tanınmış oyunlarından biri, oyuncuların canlı bir savaş alanında özelleştirilmiş robotları kontrol edip dövüştüğü 12 kişilik oyuncuya karşı oyuncu (PvP) deneyimi olan War Robots'tur.

2014'te kullanıma sunulan War Robots, başlangıçta dokunmatik yüzey tabanlı harekete sahip ve fare girişi olmayan Android'in ilk nesil cihazları için tasarlandı. İ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();
    }
}

QWERTY klavye algılanırsa oyun masaüstü moduna uyarlanır. Sol alt köşedeki hareket kontrol çubuğu kaybolur ve mevcut tüm işlemler (ör. silahlar, yetenekler ve menüler arasında sıralama) klavye kısayollarıyla etiketlenir.

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 durumda ekip, oyun sırasında imleci görünmez hale getirmek için şeffaf bir bitmap kullandı:

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.

Oyuncular dizüstü modundayken Pixonic, dokunmatik ekran kamera kontrolünü de devre dışı bırakır (oyuncular kamerayı fareyle kontrol edeceğinden). Oyun içi düğmelerin tümü ise her zamanki gibi çalışır. 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 pencere modunda başlatıldı.

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

Kapsamlı bir online kaynak kitaplığı sayesinde, Pixonic'in beş kişilik geliştirme ekibinin tüm süreci tamamlaması yalnızca iki hafta sürdü.

Ş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 Chromebook'lardaki kullanıcı oturumları, diğer Android cihazlara kıyasla %25 daha uzun. İ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 sunmaktır.

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