PlayDrop oyunları için başarımlar
catalogue.json içinde simgeli standart ve artımlı başarımlar tanımla, bunları aç ve ilerlemeyi sdk.achievements ile bildir.
Başarımlar oyunundaki hedefleri, oyuncuların PlayDrop’ta gördüğü bir simge ve açıklamayla işaretler. Misafirler ve giriş yapmış oyuncular için çalışır.
Başarımları tanımla
{
"achievements": [
{ "key": "first-win", "displayName": "First flag", "description": "Reach the flag once",
"kind": "STANDARD", "icon": "achievements/first-win.png" },
{ "key": "collector", "displayName": "Collector", "description": "Collect 100 stars",
"kind": "INCREMENTAL", "maxProgress": 100, "icon": "achievements/collector.png" },
{ "key": "secret-room", "displayName": "Secret room", "description": "Find the hidden room",
"kind": "STANDARD", "hidden": true, "icon": "achievements/secret-room.png" }
]
}key, liderlik tablosu anahtarlarıyla aynı biçimi izler.kind,STANDARD(bir kez açılır) ya daINCREMENTAL(ilerleme pozitif bir tamsayı olanmaxProgressdeğerine ulaşınca açılır) olur.icon, paketteki bir PNG’dir. Küçük boyutlarda da okunabilen net, kare bir görsel kullan.hidden: true, adı ve açıklamayı açılana kadar gizli tutar.
Yayınlanmış anahtarlar kaldırılamaz; kind, maxProgress ve hidden değiştirilemez. Bir başarımı "status": "RETIRED" ile kullanımdan kaldır.
Aç ve ilerlemeyi bildir
await sdk.achievements.unlock("first-win");
await sdk.achievements.setProgressAtLeast("collector", starsCollected);
const { achievements } = await sdk.achievements.list();
const { achievement } = await sdk.achievements.get("collector");setProgressAtLeast, asla bir artış miktarı değil, o ana kadarki toplamı alır. İlerleme yalnızca yükselir,maxProgressile sınırlıdır ve bu değerde başarımı açar.- İki çağrı da
{ accepted, changed, unlocked, progress, unlockedAt, achievement }döndürür; yeni bir şey olmadığındachangedfalse olur, böylece kendi bildirimini yalnızca bir kez gösterebilirsin. list({ includeHiddenDefinitions: true, includeRetired: true })gizli ve kullanımdan kaldırılmış tanımları da içerir.
Başarımları yalnızca gerçek oynanış sırasında aç, önizlemelerde ya da görüntü yakalamalarında asla. Hiçbir oyuncu oturumu yoksa çağrılar kaydedilmeden tamamlanır.
İyi başarımlar
Oyunu öğreten erken başarımları uzun vadeli hedeflerle karıştır. Ödülü değil eylemi adlandır: “Hasar almadan kazan” ne yapılacağını söyler. Özenle düşünülmüş bir düzine başarım, yüz basit başarımdan iyidir.