Game Service için Oyun Geliştirmek V: Saved Games

Mustafa CAN
Huawei Developers - Türkiye
2 min readNov 4, 2020

Bir önceki yazımda oyunumuzun Leaderboards entegrasyonunu yapmıştık.

Saved Games Nedir?

Huawei Saved Games, kullanıcıların istedikleri zamanda oyunlarını Huawei Cloud’a kaydetmelerini ve istedikleri bir zamanda o kayıttan oyunlarına devam edebilmelerini sağlar. Kayıt Cloud’da durduğu için Huawei ID’ si ile giriş yaptığı herhangi bir cihazdan oyununa kaldığı yerden devam edebilir.

Bir Saved Game, şunları içerir

  • Archive File: Maksimum 3 MB boyutunda olabilecek kayıt dosyasıdır. Bu dosyaya kayıtlarımızı yazdıktan sonra Clouda atarız. Kayıtları geri getirdiğimizde oyunumuzun bu bilgileri parse etmesi gerekir.
  • Archive Metadata: Kullanıcıların doğru kayıt dosyasını seçmesi için kullanıcıya gösterilen Archive özellikleridir. Örnek olarak “Archive name” ve “last update time” verilebilir.

ID: Archive için benzersiz (unique) bir ID dir. Huawei Game Server tarafından oluşturulur

Name: Huawei Game Server tarafından oluşturulan Archive adıdır.

Description: Archive ile alakalı açıklamadır ve bizim tarafımızdan belirlenir.

Last update time: Oyunun en son kaydedildiği zamanın damgasıdır. Değer Huawei Game Server tarafından milisaniye bazında doğru olarak üretilir.

Played time: Milisaniyeler içinde oyuncunun Archive’ı oynama vaktini gösterir. Archive’i güncellerken bu değeri bizim vermemiz gerekiyor.

Game Progress: Kullanıcının Archive üzerindeki ilerlemesi. İlerlemenin nasıl ölçüleceğine biz karar verebiliriz. Örnek olarak kullanıcının seviyesini ilerleme olarak gösterebiliriz.

Cover image: Archive’lerin kaplama resimleri genelde oyunda alınan ekran görüntüleriyle olur. Bu özellik opsiyoneldir. JPG, PNG türleride 16:9 ve 200 KB den büyük olmaması önerilir.

Offline Senkronizasyon

Kullanıcının cihazı offline olduğunda, Archiveler local cache’e yazılıp okunabilir. Lokalde bulunan veriler kullanıcı online olduğunda Huawei Game Server ile senkronize edilir. Offline senkronizasyon sadece Huawei ID’ si ile giriş yapan kullanıcılara geçerlidir. Eğer bir kullanıcı cihazı online olmadan sign-out olur ise, lokalde tutulan Archive yok sayılabilir.

Kodlama

  • SaveGame.java dosyası, ana menüden Load işlemi olarak kullanılan dosyadır
  • MainActivity.java ise oyunun ana özelliklerinin bulunduğu dosyadır. Sadece Save ile alakalı olan kısımları alınmıştır.
SaveGame.java
MainActivity.java
Load Ekranı

Sonuç

Artık uygulamamıza Save Game özellikleri eklenmiş oldu. Böylece kullanıcılarımıza daha güzel ve tercih edilesi bir özellik sunmuş olduk.

(Bu yazı serinin 5. yazısıdır. Ilk yazıya aşağıdaki linkten ulaşabilirsiniz)

--

--