Tasarım konusunda dikkat edilmesi gereken önemli noktalar

Oyun kumandası desteğini uygularken oyuncuların sorunsuz ve kesintisiz bir oyun deneyimi yaşamasını sağlamak için aşağıdaki temel şartları göz önünde bulundurun.

Google Play Store'daki kullanıcılara oyununuzun kumandaları desteklediğini bildirin

Android manifest dosyanızda oyun kumandası özelliğini beyan ettiğinizde Google Play'de oyun kumandası destekleniyor simgesi ve etiketi gösterilir. Bu beyanı kullanarak daha fazla kullanıcının oyununuzu keşfetmesini ve oynamasını sağlayabilirsiniz. Ayrıntılı yapılandırma talimatları ve manifest örnekleri için Google Play Store görünürlüğü ve Oyun kumandası donanım özellikleri başlıklı makaleleri inceleyin.

Oyuncuların giriş cihazları arasında sorunsuz bir şekilde geçiş yapmasına olanak tanıma

Oyuncular giriş cihazları arasında geçiş yaparken bu geçişin sorunsuz olmasını sağlayın. Oyuncuların, ayarlar menüsünden giriş yöntemlerini manuel olarak değiştirmelerini veya oyunu yeniden başlatmalarını gerektirmeyin.

Yan yana yarış oyunu ekranları: Mobil cihazda oynarken dokunmatik direksiyon ve nitro düğmeleri görünür, fiziksel bir oyun kumandası bağlandığında ise otomatik olarak kaybolur.
Şekil 1. Oyun deneyimini kesintiye uğratmadan giriş yöntemleri arasında otomatik geçiş.

Otomatik olarak geçiş yapma ve çalışırken takıp çıkarmayı destekleme

Oyuncuların giriş cihazları arasında anında geçiş yapabilmesi için desteklenen tüm giriş cihazlarını aynı anda etkin tutun. Çalışma zamanında giriş cihazı değişikliklerini dinleyin. Böylece oyun kumandaları, uygulama yeniden başlatılmadan bağlantı kurulur kurulmaz çalışır ve oyun sırasında etkin bir kumandanın bağlantısı kesilirse diğer kullanılabilir giriş yöntemlerine sorunsuz bir şekilde geçiş yapılır. Kumanda bağlantılarını ve bağlantı kesilmelerini tespit etmek için Oyun kumandasının bağlı olduğunu doğrulama (Kotlin veya Java) ya da Kumanda durumu geri çağırma işlevini kaydetme veya kaldırma (C++ Game Controller kitaplığı) başlıklı makaleyi inceleyin. Android 16 (API düzeyi 36) ve önceki sürümlerde, kumanda bağlandığında veya kumandanın bağlantısı kesildiğinde etkinliğinizin yeniden başlatılmaması için manifest dosyanızda android:configChanges="keyboard|keyboardHidden|navigation" değerini de tanımlayın (Yapılandırma değişikliklerini işleme bölümüne bakın).

Önerilmez Önerilen
Önerilmez: Kumanda algılandığında oyuncunun Ayarlar'da giriş modunu manuel olarak değiştirmesini ve oyunu yeniden başlatmasını gerektiren kalıcı bir iletişim kutusu. Önerilen: Kumandanın bağlandığını ve girişin oyun kumandası istemleriyle otomatik olarak değiştirildiğini onaylayan, rahatsız edici olmayan bir banner.

Düğme simgelerini ve metin kılavuzlarını etkin cihaza uyacak şekilde güncelleyin.

Etkin giriş cihazına göre ekrandaki düğme simgelerini ve metin kılavuzlarını dinamik olarak değiştirin. Örneğin, oyununuz oyun kumandası girişini algıladığında "Zıplamak için dokunun" gibi bir dokunmatik kontrol kılavuzunu "Zıplamak için B'ye basın" (veya platformdaki eşdeğer düğme) olarak değiştirin.

Yan yana macera oyunu ekranları: Oyun kumandası bağlandığında "Zıplamak için dokunun" ve "Açmak için sandığa dokunun" istemleri, "Zıplamak için B'ye basın" ve "Sandığı açmak için A'ya basın" olarak değişir.
Şekil 2. Ekrandaki düğme simgeleri ve kılavuz metni, etkin kumandaya uyacak şekilde dinamik olarak güncellenir.

Oyun kumandası etkinken sanal dokunmatik kontrolleri gizle

Ekranın kalabalık görünmesini ve oyuncuların kafasının karışmasını önlemek için oyun kumandası etkinken sanal joystick'ler ve ekrandaki düğmeler gibi tüm sanal dokunmatik kullanıcı arayüzü öğelerini gizleyin. Oyuncu ekrana dokunursa dokunmatik kullanıcı arayüzünü hemen geri yükleyin.

Yan yana iki macera oyunu ekranı: Dokunarak oynarken sanal joystick ve kılıç saldırısı düğmesi görünür, oyun kumandası bağlandığında ise engelsiz bir görünüm için gizlenir.
Şekil 3. Oyun kumandası girişi etkin olduğunda sanal dokunmatik kontroller gizlenir.

Tüm oyun içi mantık için tam oyun kumandası desteği sunma

Yedek mekanizma olarak dokunmaya güvenmeyin. Menülerden çıkmak veya oyunun belirli bölümlerini oynamak için dokunmatik ekranı kullanmak, oyunun akışını bozabilir. Oyuncuların tüm oyun içi etkileşimleri tamamen oyun kumandası kullanarak gerçekleştirebilmesini sağlayın.

Tüm HUD öğelerini ve iletişim kutularını kumanda girişleriyle eşleme

Oyuncuların ekrana dokunmak zorunda kalmadan özel kısayol düğmeleri, bumper'lar veya yön tuşları (D-pad) ile gezinerek kumandayı kullanıp ekrandaki tüm uyarı ekranı (HUD) öğelerini, menüleri ve iletişim kutularını açmasına, bunlarla etkileşim kurmasına ve kapatmasına olanak tanıyın.

Önerilmez Önerilen
Önerilmez: Kumanda kısayolları olmayan kalıcı bir iletişim kutusu ve ekrandaki arayüz simgeleri, oyuncuyu ekrandaki kapat düğmesine dokunmaya zorlar. Önerilen: Net A ve B düğmesi istemleriyle kumanda girişlerine eşlenen ekrandaki arayüz simgeleri ve kalıcı iletişim kutusu düğmeleri.

Oyun ve kullanıcı arayüzü giriş bağlamlarını ayırma

Oyun sırasında bir menü veya iletişim kutusu açıldığında, oyun kumandasının yalnızca etkin kullanıcı arayüzüyle etkileşim kurması için bağlamları değiştirin veya arka plan kontrollerini engelleyin. Bu ayrım, menüde yönlendirme amaçlı gezinme veya düğmeye basma işlemlerinin arka planda yanlışlıkla karakter hareketini ya da eylemlerini tetiklemesini önler.

Önerilmez Önerilen
Önerilmez: Açık bir envanter menüsünde gezinmek, karakterin arka planda yanlışlıkla hareket etmesine ve silahını sallamasına neden olur. Önerilen: Envanter menüsü açıldığında arka plandaki oyun girişleri engellenir. Böylece, karakter hareketsiz dururken d-pad ve düğmelere basıldığında yalnızca öğe tablosu odağı hareket eder.

Ekran açıldığında ilk odağı hemen atama

Oyuncuların doğrudan düğmelere dokunduğu dokunmatik girişin aksine, oyun kumandasıyla gezinme, o anda odaklanılan öğeden bitişik bir öğeye geçiş yapar. Yeni bir menü veya iletişim kutusu, ilk odak hedefi olmadan açılırsa d-pad ve onay girişleri yanıt vermeyebilir veya arka plan öğelerinde takılı kalabilir. Ekran açılır açılmaz ilk odak noktasını varsayılan bir düğmeye atayın.

Önerilmez Önerilen
Önerilmez: Duraklatma menüsü açıldığında hiçbir düğmeye odaklanılmıyor. Bu durumda oyuncu, d-pad ile gezinmeye başlayacağı bir başlangıç noktası bulamıyor. Önerilen: Duraklatma menüsü, varsayılan Devam düğmesini net bir odak kenarlığı ve A düğmesi istemiyle hemen vurgular.