Diğer

Oyun Geliştiriciler İçin Google App Engine

oyun-gelistiriciler-icin-google-app-engine

Google App Engine Oyun Geliştiricilere Ne Vaat Ediyor?

Google App Engine’in, sunucusuz (serverless) teknolojinin olanaklarıyla oluşturmayı kolaylaştırdığı uygulama sınıfları arasında online video oyunlar da yer alıyor. Google App Engine, özellikle çok yalın mekaniklerle çalışan ve mobil cihazlarda sunulan hyper-casual türündeki oyunlar için geliştiricilerin ihtiyaçlarına yanıt vermeyi başarıyor. 

Daha önce hiç Subway Surfers, Temple Run veya A Word gibi mobil oyunlara kısa bir süre de olsa bağımlı olduğunuz zamanlar yaşadınız mı? App Store veya Play Store gibi uygulama mağazaları aracılığıyla sunulan ve mobil cihazlarda deneyimlenebilen bu oyunlar, son dönemin en popüler oyun türlerinden biri olan hyper-casual (hiperbasit) türü içinde sayılıyor.

Yalnızca birkaç oyun mekaniğiyle çalışan, yalın renk şemaları ve dikkat çekici grafikleriyle öne çıkan bu video oyunlar, çok kısa zaman dilimlerinde ülke çapında, hatta küresel bir fenomene dönüşebiliyor. Yüz binlerce oyuncunun aynı anda kullandığı bu oyunlar, çoğunlukla online bir altyapıya bağlı olarak çalışıyor. Örneğin kullanıcıların puanları bölgelerinde veya küreselde sıralamalara dahil ediliyor, oyun geliştiricilerin dönemsel kampanya ve temalarıyla oyun deneyimi iyileştiriliyor. Kısa sürede çok sayıda kullanıcıya ulaşan bu oyunlar, yoğun trafikler getirdiğinden, güçlü bir altyapıya ihtiyaç duyuyor.

Google’ın serverless (sunucusuz) teknolojisini hızlı, esnek, çevik uygulama geliştirme ve yönetme süreçleri için kullandığı çözümü App Engine, bugün mobil oyunlara odaklanan oyun geliştiricileri için ihtiyaç duyulan altyapıyı sunuyor. App Engine ile Google Cloud ekosistemine dahil olan geliştiriciler, Google’ın BigQuery, Cloud DataFlow, Cloud Pub/Sub gibi ek çözümlerinden de yararlanabiliyor. 

Google’ın Türkiye’deki en eski ve tek İş Ortağı Global IT olarak bu yazımızda App Engine’in geliştiriciler için sunduğu avantajları kısaca hatırladıktan sonra, farklı oyun şirketlerinin App Engine’den nasıl yararlandıklarını ortaya koyan kullanım senaryolarına yer vereceğiz. Ardından, oyun geliştiricilerin neden Google Cloud platformunu ve bu platformda çalışan çözüm ekosistemini tercih etmesi gerektiğini ortaya koyan sebepleri birkaç maddede sıralayacağız.

Google App Engine’in temel avantajları

Google App Engine tanımına, App Engine’in özelliklerine ve geliştiricilere sağladığı avantajlara şu yazımızda değinmiştik. Google App Engine, Go, PHP, Java, Python, Node.js, .NET ve Ruby gibi popüler yazılım geliştirme dillerine ve bu dillerin kullandığı kütüphanelere dair hazır ayarlar sunuyor.

Ayrıca standart ve esnek olmak üzere iki şekilde sunduğu geliştirme ortamlarında geliştiricilere teknik altyapı ve ölçek ayrıntılarını düşünmeme özgürlüğü veriyor. Geliştiriciler, Google App Engine’i tercih ettiklerinde sunucusuz bir satıcıdan backend (arka yüz) hizmeti satın almış oluyor. Bu sayede altyapı gereksinimlerini Google gibi güçlü bir sağlayıcıya emanet ederek, yalnızca yazılım geliştirme süreçlerine odaklanabiliyor. 

App Engine kullanıcıları, Google altyapısının sunduğu kesintisiz erişilebilirlikten yararlanarak ürünlerinin versiyonlarını çok daha hızlı bir biçimde pazara ve son kullanıcıya ulaştırabiliyor. Kolay yönetilebilen, ihtiyaca göre ölçeklenebilen Google App Engine, altyapı maliyetlerini de yönetilebilir bir noktaya çekiyor. Zira Google App Engine, sunucusuz yaklaşımlı bir çözüm olarak, kullandığın kadar öde modeliyle çalışıyor.

Google App Engine kullanan oyun geliştiricilerinden başarı hikayeleri

Google’ın App Engine kullanan oyun şirketi referansları içinde Nintendo öne çıkıyor. Nintendo, Super Mario Run’ın geliştirme sürecinde bir başka geliştirici olan DeNA ile işbirliği yaparken, oyunu eşzamanlı olarak 150 ülkede yayına almayı planlıyor.

Bu durum, sistem kesintilerini kabul edilemez kılıyor. DeNA’nın Sistem Geliştirme Bölümü Ekip Lideri Kenta Sugahara, seçenekleri değerlendirdikten sonra Google App Engine’i kullanmayı öneriyor. Sugahara, bu tercihinin arkasındaki sebebi şu cümlelerle anlatıyor:

“Geçtiğimiz bahar Miitomo isimli oyunumuz piyasaya sürüldüğünde, backend neredeyse tamamen şirket içinde inşa edildi. Bu, kaçınılmaz olarak kaynakların operasyonlarda tüketildiği ve bazı açılardan verimli gelişmeyi engellediği anlamına geliyor.

O zaman işe yarıyor olsa da, yaklaşımımızı değiştirmeden daha fazla konu üzerinde çalışmanın giderek zorlaşacağını biliyordum. Super Mario Run için öngörülen trafiğin çok büyük olacağını öğrendik. Bu nedenle App Engine gibi yönetilen bir hizmet kullanmayı önerdik.” 

DeNA ve Nintendo’nun App Engine’i seçmesinin başlıca nedenlerinden biri, yüksek düzeyde erişilebilirlik ihtiyacı olarak öne çıkıyor. Lansman gününde büyük bir trafik artışı bekledikleri için bulut platformlarının hızlı bir şekilde ölçeklenebilmesinin farkında olan ikili, App Engine’in otomatik ölçeklendirme, trafik hacmine göre altyapıyı milisaniye cinsinden optimize edebilme yeteneklerinden faydalanmayı tam olarak bu sebepten tercih ediyor. 

Google App Engine, 600 milyon indirmeyi ve 40 milyon aylık aktif kullanıcıyı aşan interaktif kitaplar, oyunlar ve eğitici uygulamalar geliştiren Crazy Labs’in de başarı hikayelerinin lokomotifi olarak konumlanıyor. Bugüne dek 350’den fazla uygulama çıkaran Crazy Labs, daha hızlı geliştirme süreçleri yürütebildikleri için Google App Engine altyapısını kullanıyor.

Backend tarafında Google’ın eşzamanlı programlama dili olan Go’yu kullanan Crazy Labs, birkaç hafta içinde tam geliştirme hızına ulaşmayı başarıyor. Go, Python, Java ve diğer dillerle Google App Engine’de geliştirilen uygulamalar, Google Datastore, Google BigQuery ve diğer Google hizmetleriyle sorunsuz bir şekilde entegre çalışıyor. 

Bu kapsamda bir uygulama ailesi için kullanıcılarının erişimlerini sürekli kılmak da önem kazanıyor. Kod dağıtımı için App Engine kullanan Crazy Labs, bu sayede güncel olmayan sürümleri değiştirirken canlı trafiği yeni sürüme geçirmeyi, aktif kullanıcıların mevcut oturumlarını ise eski sürümde tutmayı başarıyor. Crazy Labs yeni bir sürüm çıkardığında, bunu kullanıcıların %5’ine gönderebiliyor ve bu sayede değişikliği tüm kullanıcı tabanına aktarmadan önce her şeyin sorunsuz çalıştığından emin olabiliyor. Bir terslik yaşandığında, birkaç saniye içinde kolayca eski bir sürüme dönme şansına da sahip oluyor.

Oyun geliştiricilerin Google Cloud kullanması için 5 sebep

Örneklerden de anlaşılacağı üzere, Google App Engine oyun ve eğitim içeriği üreticileri için bir endüstri standardı konumunda bulunuyor. Esneklik, yüksek erişilebilirlik, kolay yönetim ve sorunsuz güncelleme gibi olanaklarıyla öne çıkan Google App Engine, Google Cloud’un diğer çözümleriyle birleştiğinde oyun şirketleri için aşağıdaki faydaları sunuyor. 

1. Uygulama geliştirmeyi hızlandırın: Oyun şirketlerinin, oyuncularının katılımını sağlamak için yalnızca yeni oyunlar geliştirmenin yanı sıra, mevcut oyunlarını da düzenli olarak güncellemesi ve geliştirmesi gerekiyor. Google App Engine gibi çözümler, ekipleri altyapı yönetimiyle meşgul etmeden, yalnızca geliştirmeye odaklanma olanağı sunuyor. Bu sayede uygulama geliştirme süreçleri hızlanıyor ve oyuncuların şirketlere bağlılıkları artıyor.

2. Performanstan ödün vermeden yatay ölçeklendirin: Nintendo örneği, yalın oyun dinamiklerini benimseyen bir oyunun dahi 150 ülkeden milyonlarca kullanıcıya aynı anda ulaşabileceğini gösteriyor. Dünya çapında oyunlar geliştiren oyun stüdyoları, kullanıcı yüklerinin nereden geleceği ve ne kadar ağır olacağı hakkında %100 tutarlı öngörülerde bulunamıyor. En zor kısım, tüm uygulama için satın almaların, kullanıcı kimliklerinin ve meta verilerin nasıl ele alınacağını keşfetmek oluyor. Google Cloud Spanner ilişkisel veritabanlarının avantajlarını ilişkisel olmayan yatay ölçeklenebilirlik ve performansla bir araya getiren bir çözüm olarak, App Engine ile uyumlu, oyun endüstrisinde kullanılabilecek bir hizmet sunuyor.

3. DDoS saldırılarından korunun: Online oyun endüstrisi, DDoS saldırılarıyla uzun süredir mücadele ediyor ve bu mücadele süreci giderek daha büyük, karmaşık ve yönetilmesi zor bir hal alıyor. Google, App Engine ile entegre sunduğu güvenlik çözümlerinin yanı sıra, Google Cloud Armor gibi Google’ın küresel altyapısının güvenlik sistemlerini kullanıcılara ulaştıran, DDoS saldırılarına karşı yerleşik savunma sağlayan seçenekler de vaat ediyor.

4. Kesintisiz erişimi deneyimleyin: Google Cloud Platform’un Cloud Load Balancing teknolojisi, trafik, ağ ve backend sağlığı gibi faktörlerdeki değişikliklere anında tepki vererek trafiği dünyanın diler bölgelerine yönlendirebiliyor ve çok büyük, beklenmedik, anlık artışları yönetebiliyor.

5. Makine öğrenmesi ve veri analitiği gibi çözümlerle gelişin: Oyuncuyu elde tutma ve büyüme için oyun tasarımını optimize etmenin en iyi yolu, mevcut oyuncuların oyun içinde oluşturduğu çok miktarda veriyi analiz etmekten geçiyor. Google Cloud Platform’un (GCP) önde gelen makine öğrenmesi ve analiz çözümleri, geliştiricilerin minimum ek yük ile petabaytlarca veriyi depolamasına, yönetmesine ve analiz etmesine olanak tanıyor.

Sektörünüz ne olursa olsun, Google Cloud ile Global IT aracılığıyla tanışın

2006’da kurulan ve Türkiye’yi Google hizmetleriyle tanıştıran ilk yeni nesil teknoloji çözümleri danışmanlık şirketi olan Global IT, Google’ın Türkiye’deki ilk bulut çözüm ortağı. GCP’nin Google Workspace, Google Maps çözümleriyle e-ticaretten üretime, lojistikten yazılım sağlayıcılarına, geniş bir endüstri yelpazesindeki müşterilere bulut teknolojileri alanında danışmanlık yapıyor. 

Dijitalleşme, modernizasyon ve inovasyon yolculuklarına Google çözümleriyle devam etmek ve bu çözümleri size en uygun biçimlerde sunacak bir iş ortağıyla çalışmak isterseniz, bu sayfanın altındaki formu doldurun, size ulaşalım.