ANDROID OYUN GELİŞTİRME
Google Play'de bugün yaklaşık 470 bin oyun başlığı var; mobil oyun pazarının yıllık geliri 90 milyar doların üzerinde ve bu rakamın yarıdan fazlası Android tarafından geliyor. İlginç olan şu: bu pazarın en üst 100 oyununun %70'inden fazlası tek bir motorla yapılıyor — Unity. Geri kalan dilim Unreal, Godot, LibGDX ve native Android Game Development Kit (AGDK) arasında bölünüyor.
Yani "Android için oyun yapmak" sorusu aslında "hangi motor, hangi tür, hangi gelir modeli" sorularına bölünür. Tek bir yol haritası yoktur; ama bu üç eksende doğru tercih yapan bir geliştirici, prototipini 4-6 haftada Play Console'da görebilir. Aşağıda motor seçiminden monetization'a, performans ölçümünden mağaza yayınına kadar Android oyun geliştirme sürecini somut tercihlerle ele aldık.
Hangi Oyun Motoru Seçilmeli?
Motor seçimi, oyunun teknik kaderini ilk gün belirler. Beş ciddi seçenek var ve hepsi Android'e dağıtım yapar. Aralarındaki fark öğrenme eğrisi, hedeflenen tür ve gelir modeli ile ilgili.
- Unity: Mobil oyun pazarının fiili standardı. C# ile yazılır, asset store devasa, Android export'u tek tıkla. Casual, hyper-casual, puzzle, RPG — her türde rahat. Yeni başlayanların %80'i buradan başlar.
- Unreal Engine: Fotorealistik 3D oyunlar için en güçlü seçenek; C++ veya Blueprint görsel scripting kullanır. APK boyutu büyük, mobil için optimizasyonu zor; ama "Genshin Impact" gibi AAA mobil oyunların altyapısı.
- Godot: Açık kaynak, ücretsiz, küçük ekip ve indie geliştirici için ideal. GDScript adlı Python benzeri dili öğrenmesi kolay. 2D performansı çok iyi, 3D tarafı henüz Unity seviyesinde değil.
- LibGDX: Java tabanlı, kod-merkezli, görsel editör yok. Java/Kotlin bilenler için doğrudan giriş; "Flappy Bird" tarzı hafif 2D oyunlar için verimli.
- Android Game Development Kit (AGDK): Google'ın native C/C++ toolkit'i. Maksimum performans isteyen mevcut C++ kod tabanlı oyunlar için. Üçüncü parti motor olmadan çalışmak isteyenlerin yolu.
Pratik karar: ilk oyununuzsa Unity ile başlayın. Tutorial sayısı diğer dördünün toplamından fazla. Mobil pazarın yapısı, Unity'nin sahip olduğu Ads ve IAP entegrasyonunu doğal hâle getirir — bu da gelir tarafını ilk günden kapsar.
2D mi 3D mi Oyun Yapılmalı?
Bu sadece bir görsel tercih değil; üretim süresi, ekip büyüklüğü ve performans bütçesi farkı. İki yaklaşımın somut karşılaştırması:
- 2D oyun: Sprite tabanlı, ortalama 3-6 ay üretim, tek geliştirici + tek sanatçı yeterli. Boyut küçük (30-80 MB), düşük donanımlı cihazlarda akıcı çalışır. Casual ve hyper-casual türünün %90'ı 2D.
- 3D oyun: Model, texture, animasyon ve shader gerektirir; 6 ay ile 2 yıl arası üretim, 4-15 kişilik ekip standart. APK 150 MB üstünde başlar, hedef cihaz havuzu daralır (alt segment Android'de FPS düşer).
İlk Android oyununuzsa 2D'den başlayın. Sebebi sadece teknik kolaylık değil; iterasyon hızı. Bir 2D mekaniği üç günde prototipler, oyunu test edersiniz; 3D'de aynı mekanik üç haftaya çıkar. Para kazandıran mobil oyunların büyük çoğunluğu 2D olmaya devam ediyor — "Subway Surfers" gibi 3D casual'lar istisna değil ama kural da değil.

Google Play Games Services ve Cihaz Uyumluluğu
Android oyun, mağazaya yüklenen bir APK'dan ibaret değil. Google'ın oyunculara sunduğu standart altyapıya bağlanması bekleniyor. Play Games Services (PGS) bu altyapının adı.
PGS dört temel hizmet sağlar: başarımlar (achievement), liderlik tablosu (leaderboard), kayıt senkronizasyonu (saved games), çok oyunculu eşleştirme (real-time / turn-based). Bunları kullanan oyunlar Play'in oyun keşif algoritmalarında öne çıkar. Tek hesap sistemi olduğu için kullanıcı kaydı için ekstra UX yazmazsınız — kullanıcı Google hesabıyla bir tıkta giriş yapar.
Cihaz uyumluluğu tarafında Android oyun geliştirme uygulamadan biraz daha zor. Çünkü hedef cihaz spektrumu çok geniş: 60 Hz alt segmentten 144 Hz amiral gemilerine kadar; ekran oranı 16:9'dan 21:9 katlanır panellere kadar. Tek bir build yetmez — her oyun en az iki performans profili (low / high) ile yayınlanır. Resmi Android Games developer hub performans, grafik API'leri ve giriş yöntemleri için referans dokümantasyonu sağlar.
Oyun Nasıl Para Kazandırır?
Oyununuzu para kazanır hâle getirmek bir teknik konu değil, bir iş kararı. Üç ana model var ve seçilen model oyunun tasarımını geriye doğru şekillendirir.
- Reklam destekli (Ad-supported): Casual ve hyper-casual oyunların standardı. Rewarded video (ödüllü reklam), interstitial (geçiş reklamı) ve banner kombinasyonu. AdMob, Unity Ads, ironSource başlıca SDK'lar. Kullanıcı başına ortalama gelir (ARPU) 0.05-0.30 dolar bandı; kazanç hacimden gelir.
- In-App Purchase (IAP): Oyun içinde sanal para, kostüm, can paketi, premium içerik satışı. RPG, strateji ve simülasyon türünde baskın. ARPU 1-15 dolar bandı; kullanıcıların %2-5'i ödeme yapar ama gelirin %80'ini onlar getirir.
- Premium (peşin ödemeli): Mağazadan tek seferlik satın alma. Mobil pazarda payı %5'in altına düştü; sadece çok ünlü IP'ler veya niş indie oyunlar bu modelle yaşar.
Pratikte hibrit model en yaygın: ücretsiz indirilir, oyun içinde reklam vardır, isteyen kullanıcı küçük IAP ile reklamsız moda geçer veya kozmetik satın alır. Bu model "freemium" olarak adlandırılır ve Google Play'in en çok kazanan ilk 100 oyununun %85'inde uygulanır. Geliştirme tarafında Android Kotlin eğitim sürecinden geçenler için Play Billing Library entegrasyonu doğal bir devam adımı.
Performans Optimizasyonu ve Test
Oyunun mağazada kalıcı olması, ilk 30 saniyedeki kullanıcı deneyimine bağlı. Düşük FPS, uzun yükleme veya ısınma — kullanıcı geri gelmiyor. Android oyun optimizasyonunda yoğunlaşılan beş alan:
- Draw call sayısı: Her ekran karesinde GPU'ya gönderilen çizim çağrısı. Hedef < 100 draw call. Aynı materyali kullanan objeleri "batching" ile birleştirin.
- Texture boyutu: Mobilde 2048×2048 piksel üzeri texture büyük çoğu cihazda gereksiz. ASTC formatı (Android'in destekli sıkıştırması) hem boyutu küçültür hem GPU'yu yorar.
- Bellek tüketimi: Alt segment cihazlarda oyun başına 512 MB üst sınır gerçekçi. Asset bundle ve addressable kullanarak dinamik yükleme yapın.
- Termal throttling: 10 dakikadan uzun oturumda CPU/GPU ısınır, performans düşer. Frame rate'i 30/60 FPS'e sabitleyin; gerekmedikçe 120 FPS hedeflemeyin.
- Ağ kullanımı: Çok oyunculu veya canlı servisli oyunlarda gereksiz paket trafiği pil yer. Mesajları batch'leyin, idle durumunda heartbeat'i seyrekleştirin.
Test tarafında Firebase Test Lab, Google'ın 60+ fiziksel cihaz üzerinde otomatik test yapan servisidir. APK'yı yükler, "Robo test" ile kendi başına oyun içinde gezinir, çökme ve performans raporu verir. Ücretsiz kotası küçük indie ekipler için yeterli. Android Studio'nun yeni profiler'ı GPU frame zamanlamasını detayıyla gösterir; oyun yayınlamadan önce bir oturum profiler ile geçirmek standart.
Play Console'da Yayınlama
Oyun bittiğinde mağazaya yükleme tek tıklık iş değil. Google Play Console süreci yedi aşamadan oluşur:
- Geliştirici hesabı: 25 dolarlık tek seferlik ücret, kimlik doğrulama.
- App bundle (AAB) yükleme: APK değil, Android App Bundle formatı zorunlu. Play her cihaza optimize APK üretir.
- Store listing: Başlık, kısa/uzun açıklama, ikon, hero görseli, en az iki ekran görüntüsü, opsiyonel tanıtım videosu.
- İçerik derecelendirmesi: IARC anketi; oyunun şiddet, dil, kumar içeriği derecesini belirler. Yanlış cevap mağazadan çıkarılma sebebi.
- Test track'leri: Internal (kapalı), closed (test kullanıcıları), open (herkes) sürümler. Production'a geçmeden önce en az bir hafta closed test önerilir.
- Veri güvenliği formu: Hangi veriyi topladığınız, nasıl kullandığınız. 2024'ten beri zorunlu; eksik form yayını engelliyor.
- Yayın inceleme: Google'ın otomatik + manuel kontrolü, 1-7 gün arası sürer. İlk yayın incelemesi yenilemelere göre uzun.
Bir oyun yayınlandıktan sonra iş bitmez; ilk üç ay performans takibi en kritik dönem. Vitals panelinde ANR (Application Not Responding) ve crash rate'i izleyin; her ikisi de %1'i geçtiğinde Play algoritması organik trafiği kısar. Düzenli güncelleme — ayda en az bir — keşfedilebilirliği belirleyen sinyallerden biri.
Android oyun geliştirme, motor seçimiyle başlayıp Play Console kuyruğuna ulaşan beş-altı aylık bir döngü. Ama bu döngü bir kez kurulduğunda ikinci, üçüncü oyun çok daha hızlı çıkar; öğrenilen şey tek bir oyun değil, bir mağaza ekonomisinin nasıl çalıştığı. İlk oyunu küçük tutmak, hızlı yayınlamak ve metriklerden öğrenmek — bu döngüye bir kez girdiğinizde diğer her şey daha öngörülebilir olur.



