AWS’de Oyun Analitiği Veri Akışı Konsepti

AWS’de Oyun Analitiği Veri Akışı Konsepti

Bu yazımızda AWS kaynaklarından faydalanarak bir oyun veri analitiği yapısının nasıl kurgulanabileceğinden bahsediyoruz.
Nafiz Altay19 Oca 2023

Günümüzde oyun endüstrisi, oyunların üründen daha çok, bir hizmet haline geldiği ve uygulama içi satın alımlar, abonelikler ve farklı bir çok yöntemlerle tekrarlanan bir gelirin elde edildiği Games-as-a-Service işletim modelini benimsemeye devam ediyor. 

Bu durum ile birlikte artık oyuncuların oyunu ve tüm oyun içi hizmetleri nasıl kullandığını öğrenmek ve derin analizler gerçekleştirmek, geliştiriciler için oldukça önem kazandı. Bu öğrenimi gerçekleştirebilmek adına şirketler oyunlarındaki aktiviteleri PII ve GDPR başlıklarına dikkat ederek toplamak istiyorlar. Tüm bu oyun verileri,  oyun ve bölüm tasarımlarında, oyun içi ekonominin dengelenmesinde, genel oyun içi aktivitelerin gözlemlenmesinde, A/B testleri gibi bir çok istatistiksel ve ML çalışmalarında kullanılabilmektedir. Bu konseptte konuşmayacağımız, ancak oyun endüstrisinde toplanması ve özellikle analiz edilmesi gereken monetization (para kazanımı aktiviteleri) ve UA aktivitelerindeki daha önemli kabul edilecek veriler de bulunmaktadır.

Günümüzde bu alanda google ürünlerinin oldukça sık kullanıldığını görmekteyiz. Şirket alışkanlıkları, tecrübeli insan kaynağı, maddi kaygılar gibi birçok sebeplerden ötürü bu tercihler farklılık göstermektedir. Google Firebase ile Google Analytics oyun içi etkileşimlerin BigQuery’e aktarılması ile başlayan bir akış mevcut.

Yukarıda bahsi geçen oyun içi aktiviteleri (yazının geri kalanında event ifadesi olarak da karşımıza çıkacak) bir çok üçüncü parti uygulamalarla ya da amazon pinpoint servisi ile kolay şekilde yakalayabilirsiniz. Fakat birçok geliştirici ve oyun dağıtıcıları (game publishers) tüm uygulamalardan (mediation platformları dahil) gelen analitik veriyi ortak bir formatta kendi veri göllerinde (data lake) tutmak isterler. Bu konuda tabiki AWS analitik çözüm olarak herhangi bir altyapıyı yönetmenize gerek kalmadan verinin toplanması, depolanması ve analiz edilmesi adımlarında kolay çözümler sunuyor. Tabi ki ücretine mukabil diyebiliriz, fakat maliyet konusuna daha sonra kısaca değineceğim.

Yazımızda bahsedeceğim konsept, oyun geliştiricilerinin oyunlardan ve hizmetlerden oluşturulan verileri toplamak, depolamak ve analiz etmek için ölçeklenebilir bir sunucusuz (serverless) uçtan uca bir veri hattının oluşturulmasına yardımcı olur. Bu çözüm ile dakikalar içerisinde oyun içerisindeki verileri toplayabilir ve analizlerini gerçekleştirebilirsiniz. 

Kısaca izlenilen adımlar:

  1. Oyun verilerini toplamak ve işlemek için bir REST API ve amazon kinesis hizmetleri çalışır. 
  2. Veriler otomatik olarak doğrulanır, dönüştürülür ve depolama ve analitik için optimize edilmiş bir biçimde amazon simple storage service'e (amazon S3) aktarılır. 
  3. Amazon S3'teki verileri düzenleyip yapılandırarak ve AWS glue'yu veri kümeleri için meta verileri kataloglayacak şekilde yapılandırarak veri gölü entegrasyonu sağlanır. Böylece diğer uygulamalar ve kullanıcılarla verilerin entegrasyonu ve paylaşımı kolaylaşır.

Oyun ürün yöneticileri ve analitik ekibi, anlık ihtiyaç duyduğunda gerçek zamanlı olarak oyun aktivitelerinden diledikleri metriklere ve analitik verilere ulaşabilirler. En önemlisi ise, canlı oyunlar için gerçek zamanlı panoları (dashboard) ve uyarılar (alert) özellikle live ops ekipleri için kritik önem arz etmektedir. Live ops özellikle free-to-play genellikle casual oyun türünün olmazsa olmaz bir parçası niteliğindedir.

Her ne kadar bu süreçler kulağa güzel gelse de, bir maliyet konusu vardır ki çoğu şirketin bilerek çekindiği noktadır. Maliyet konusu oyun verisinin büyüklüğüne, ne kadar sıklıkla verinin işleneceğine, ne kadar boyutlu verinin işleneceğine, iş akışının ne kadar süre çalışacağına gibi birçok faktöre bağlıdır. Maliyeti en iyi tahmin etmenin yöntemi; örnek bir veri seti ile bu operasyona basit seviyede başlatıp benchmark yaparak ilerlemektir. Daha sağlıklı bilgi için AWS’in pricing sayfasına göz atabilirsiniz.

 

Oyun analitiği veri akışı mimarisi

Akan veriler, veri gölü entegrasyonu ve anlık analizler için amazon S3'e alınır. Akış analiz prosesi gerçek zamanlı olayları işler ve ölçümler oluşturur. Veri ekibi  amazon cloudwatch'taki ölçüm verilerini ve amazon S3'teki ham olayları analiz eder. 

 

Figure 1 - oyun analitiği veri akışı mimarisi

 

Şimdi biraz da diyagramdaki aşamaların kısa açıklamalarını yapalım, bu şekilde konsepti daha anlaşılabilir kılabiliriz.

 

API çözümü ve veri konfigürasyonu (API çözümü ve data configuration)

Amazon API gateway, REST API end pointlerini kullanarak oyun uygulamalarını kaydeder ve oyun içi veriyi toplamaya başlar. Toplanan veriler amazon kinesis data streams‘e aktarılır. Amazon dynamodb ise oyun uygulamasının konfigürasyonlarını ve API anahtarlarını bu süreçte saklar.

 

Event akışı (event stream)

Amazon kinesis data streams anlık olarak oyundan gelen verileri yakalar ve anlık olarak işlenebilmesi için amazon kinesis data firehouse ve amazon kinesis data analytics servislerini aktive eder.

 

Akış analitiği (streaming analytics)

Kinesis data analytics, kinesis data streams ile toplanan verileri analiz eder ve özel metrikler (custom metrics) oluşturur. Özel metrik çıktıları ise daha sonra AWS lambda kullanılarak işlenir ve amazon cloudwatch'ta yayınlanır.

 

Metrikler ve bildirimler (metrics & notifications)

Amazon cloudwatch ile tüm bu süreçler sırasında AWS içerisinde oluşturduğumuz kaynakların kullanımlarını takip edebilir, günlüklere kaydedebilir ve alarmlar oluşturabiliriz. Cloudwatch ayrıca kinesis data analytics tarafından oluşturulan özel metrikler için metrik depolaması sağlar. Amazon simple notification service (amazon SNS), cloudwatch alarmları tetiklendiğinde tüm ilgililere bildirimde bulunur.

 

Verilerin toplanması (streaming ingestion)

Kinesis data firehose, kinesis data streams'den gelen verileri kullanır ve veriler amazon S3'e teslim edilmeden önce sunucusuz veri işleme ve dönüştürme için AWS lambda'yı çağırır.

 

Veri gölü entegrasyonu ve ETL süreci (data lake integration and ETL)

Amazon S3, ham veya işlenmiş tüm veriler için depolama sağlar. AWS glue ise entegrasyonda veri gölü için temel sağlayan AWS glue data catalog'da ETL işleme iş akışları ve meta veri depolaması (metadata storage) sağlar.  

 

Interaktif analytics (interactive analytics)

Tüm akış süreci sonunda amazon athena SQL sorguları ile (presto ile çalışır) dilediğiniz analizi yapabilir ve çıktılarınızı amazon quicksight‘a entegre edebilirsiniz.

 

Bu yazımızda Türkiye’de sayılı mobil oyun stüdyolarının kullandığı, AWS ortamında oyunlardan elde edilen veri akışının sağlanması, ardından verilerin saklanması ve bir BI arayüzünde gösterimi gibi süreçlerle ilintili genel oyun analitiği konseptini derlerken, AWS kaynaklarından faydalandık.

 

Kaynaklar

İlginizi Çekebilir
Miuul topluluğunun bir parçası ol!

Abone ol butonuna tıklayarak Miuul'dan pazarlama ve haber içerikleri almayı onaylıyorum.