ERGGalata
← Devlog
Tasarım

Savaş mekanikleri baştan tasarlandı

Yetenekler tek tek kodlanıyordu. Artık her yetenek 21 temel davranışın bileşimi. Yeni yetenek yazmak kod değil veri işi.

Sorun

Yetenekler tek tek yazılıyordu. Yeni bir yetenek, yeni bir kod yolu demekti.

Bunun iki bedeli var. Birincisi hız: bir yeteneği denemek için derleme gerekiyor. İkincisi ve daha ağırı tutarlılık: aynı işi yapan iki yetenek iki farklı yerde, biraz farklı yazılıyor. Sonra biri düzeltiliyor, öteki unutuluyor.

Ne yapıldı

Önce kartlar yazıldı: altı spec için 7 aktif yetenek, bir pasif ve bir takım aurası. Toplam 54 kart.

Sonra o 54 kartın ne istediğine bakıldı ve ortak davranışlar çıkarıldı: 21 primitif. Hasar ver, kaynak üret, hareket ettir, koru, yavaşlat, zamanla hasar, kesme, sıçrama…

Artık bir yetenek bu primitiflerin bir bileşimi. Kart bir veri satırı; sunucu onu okuyup uyguluyor. Yeni yetenek yazmak kod değil, satır eklemek.

Canlı yenileme ucu da açıldı. Kart dosyası değişince sunucu yeniden başlatılmadan yükleniyor.

Yedi yuva

Yetenek barı yedi sabit yuvaya indirildi: 1-5, Q, E, R.

Serbest yerleştirme yok. Sebep alfa: herkesin bara aynı şeyi koyduğu bir düzende geri bildirim karşılaştırılabilir oluyor. “Üçüncü tuş çok zayıf” cümlesi ancak üçüncü tuş herkeste aynıysa bir anlam taşıyor.

Tuş basma kilidi

Bir yetenek listesi, en kısa bekleme süreli tuşa sürekli basmakla oynanabiliyorsa tasarım çökmüş demektir.

Beş ayrı mekanik kondu: kaynak yönetimi, kritik vuruş pencereleri, birbirini besleyen zincirler, kalabalık kontrolüne azalan bağışıklık, ve dolu başlayan kaynak barı.

Sayı kararları: kritik vuruş PvE’de iki kat, PvP’de bir buçuk kat. Kalabalık kontrolü tekrar edildikçe kısalıyor.

Adlar

Yeteneklerin adları o gün kondu. Gölge’ninkiler: Kesik, Saplama, Sis Adımı, Duman, Aparkat, Suikast.

Ergezen bir erg mühendisi olarak tanımlandı: basınç biriktiren, kazan dolduran, aşırı yükle boşaltan bir kaynak döngüsü. Canveren adının hakkını veriyor: Yaşam Bağı ve Can Aktarımı ile canını başkasına veriyor.

Tetikçi’de menzil cezası yok ve takım katkısı hız veriyor; kritik vuruş katkısı Gölge’de.

Karşıt doğrulama

Kartlar yazıldıktan sonra onları kırmak için bir bot koşturuldu: altı spec, yedi kart, tel üstünden test, spam ve uzun süreli yük.

Altı kök hata çıktı. Savaş dışında yeniden doğuş yapılabiliyordu. Yavaşlatma azalan bağışıklığın dışında kalmıştı; üst üste basılınca sonsuza kadar yavaşlatıyordu. Partideki dosta hasar geçiyordu. Sıçrama yeteneği duvarın içinden geçiyordu.

Hepsi aynı gün kapandı.

İstemci tarafı

İstemcide görsel bir dizi kök neden çözüldü.

Moblar geriye yürüyordu: model dosyaları ileri yönü farklı tanımlıyordu, yön farkı model başına bir alana bağlandı.

İsim plakaları hareket ederken bulanıklaşıyordu. Plakalar dünya uzayında çiziliyordu; ekran uzayına taşındı.

Motorların farları önü aydınlatmıyordu. Işık kaynağı, gidon ve teker mesh’inin sınırlayıcı kutusunun içinde kalıyordu. Işık doğuyor ve hemen kendi modeline çarpıyordu. On beş santim öne alındı.

Seçim görseli eklendi: üstüne gelince ince dış çizgi, seçiliyken dış parlama ve ayak altında halka. Düşman kırmızı, dost yeşil, kendisi sarı.

Bütçe

Üçgen sayısı 12 milyona, bellek 2,2 GB’a çıkmıştı.

Elle dizilen evlere görüş menzili kondu, ağaç menzili kısaldı ve 289 sıkıştırmasız doku sıkıştırmaya alındı. Galata Kulesi’nin sahnedeki sürümü 1,5 milyon üçgenden 90 bine indirildi. Aynı kule, sahneye uygun sürümü.

Yama dağıtımı

Oyuncu her güncellemede tüm paketi indiriyordu.

Taban ve yama ayrıldı: yalnız değişen dosyalar iniyor. Bir başlatıcı yazıldı: sürüm kontrolü, doğrulama, yarım kalan indirmeyi kaldığı yerden sürdürme, kendini güncelleme.

Sonuç

Günün asıl çıktısı 54 kart değil, kartların veri olması.

Bundan sonra denge ayarı bir dosya düzenlemesi. Yanlış bir sayıyı düzeltmek için kimsenin derleme beklemesi gerekmiyor.