Dokuz dilim bir günde kapandı
Alfanın eksikleri on dilime bölünmüştü. Torba, pazar, ganimet, yetenekler ve mob yapay zekâsı aynı gün canlıya çıktı.
Yöntem
Alfa’nın eksikleri bir liste değil, birbirine bağlı bir zincirdi. Ganimet için eşya kimliği gerekiyordu, pazar için torba, yetenekler için rol–spec geçişi.
Bunun için çalışma biçimi değiştirildi. Artık iş dilim halinde gidiyor: bir dilim sunucu tarafını, testlerini, istemci tarafını ve tek bir protokol numarasını birlikte içeriyor. Dilim canlıya çıkmadan bir sonrakine geçilmiyor.
Dokuz dilimi o gün kapattık.
Eşya, torba, pazar, ganimet
Eşyaların kimliği yoktu; adları serbest metindi. Kimlik ve nadirlik alanı tanımlandı.
Torba ve pazar paneli istemciye geldi. Pazar, bir NPC’ye sağ tıklayarak açılıyor. Yani pazar bir yer. Uzaktan alışveriş yok. Komisyon sıfır: alfada para dolaşımını ölçmek istiyoruz, komisyon o ölçümü kirletirdi.
NPC ölünce ganimet düşürüyor. Ceset parıldıyor, tıklanınca pencere açılıyor. Canlıda doğrulandı: sırtlan dört vuruşta öldü, cesetten 36 kuruş ve bir eşya çantaya girdi.
Sohbet dört kanala ayrıldı.
Rolden spec’e
Karakterler tank, şifacı, vurucu diye tutuluyordu. Bu zindan devrinden kalmaydı.
Rol alanı artık doğrudan spec kimliği: Öfke, Estergon, Tetikçi, Ergezen, Gölge, Canveren.
Yetenekler
Açık dünyada yetenek yoktu. Hasar sabit 250, menzil 5 metreydi.
Yetenek motoru açık dünyaya taşındı. Hasar, bekleme süresi, ortak bekleme, kaynak ve okuma süresi artık sunucuda karara bağlanıyor; istemci yalnız niyeti gönderiyor.
Kararlar: ortak bekleme süresi 1 saniye, okuma bedeli okumanın başında alınıyor (sonunda değil; yoksa iptal ederek bedava deneme yapılırdı), kaynak 100’de başlıyor ve iki saniyede 10 doluyor.
Aynı gün yetenek kimlikleri Türkçeleştirildi. Bir dönem WoW’dan alınmış kimlikler yer tutucu olarak duruyordu; 36 spec yeteneği ve zindan kiti sunucudan söküldü.
Mob yapay zekâsı
Moblar duruyordu. Vurulunca vuruyorlardı, o kadar.
Bu turda: kin tablosu (yüzde 10 histerezisle; yoksa iki oyuncu arasında sürekli hedef değiştiriyorlardı), 15 metre yarıçapta grup çağrısı, menzilli saldırı yapan NPC’ler, devriye ve yön dönüşü.
Bir doğrulama testi ilginç bir açık yakaladı: mob eve dönerken yediği vuruşun kini eve varınca siliniyor mu? Silinmiyordu. Silindi.
Ertesi tur A* yol bulma, kaçma davranışı, NPC okuma ve kesme, boss faz makinesi eklendi.
Seviye ve can
Can tabanı 1.000’di ve yer tutucuydu. Seviye 20 için 50.000 çapasına çekildi.
Deneyim puanı hâlâ yok, herkes seviye 1 doğuyor. Alfada seviye elle veriliyor. Amaç eğriyi denemek, ilerlemeyi değil.
Forum
forum.ergoyun.com yayına girdi.
Hazır forum yazılımı reddedildi. Gerekçe: hazır çözüm 2 GB bellek istiyor ve o kutuda oyun sunucusu koşuyor; kapalı bir alfada forumun zor kısmı (spam, açık kayıt, e-posta doğrulama) zaten yok; oyun hesabıyla giriş nasılsa yazılacaktı.
Mimari kararı: iki veritabanı ayrı. Forum kendi dosyasına yazıyor, oyun veritabanını yalnız okuma kipinde açıyor. Canlıda ölçüldü: oyun koşarken okuma çalışıyor, yazma çekirdek düzeyinde reddediliyor. Forum alfa veritabanını bozamaz.
Dağıtımda iki tuzak çıktı: sanal ortam kopyalanmış olduğu için paketler başka bir ortama kuruluyordu, ve süreç yöneticisi ev dizini olmadan çalışmıyordu.
Karşıt doğrulama
Her dilimden sonra ayrı bir tur koşuluyor: dilimi kim kırabilir?
Bu turda iki gerçek açık çıktı. Banka başlangıç eşyası sonsuz eşya kaynağıydı: hesabı boşaltıp yeniden açarak eşya üretilebiliyordu. Ve parti davetinde bir arka kapı vardı.
İkisi de bulunduğu gün kapandı.
Sonuç
Dokuz dilim, tek günde dokuz protokol sürümü. Her biri iki makinede oynanarak doğrulandı.
Geriye bir dilim kaldı: gerçek istemcilerle ölçüm.