Önce çok hızlı, sonra çok yumuşak: İtme gücünü ayarlamak
Tek bir sabit, TUNL'ün nasıl hissettirdiğini diğer her şeyden daha çok belirliyor. Bir oyuncu bana oyunun çok hızlı olduğunu söyledikten sonra tek bir günde bu sabiti iki kez değiştirdim ve ikinci değişiklik bana birinciden daha çok şey öğretti.
Kontrol çoğu insanın sandığı gibi değil
Flappy Bird tarzı bir oyunda tek bir dokunuş kuşa anlık bir yukarı hız verir. TUNL farklı. Basılı tutmak hızını belirlemez, ivmeni belirler. Bastığın sürece yerçekimine yukarı yönlü bir kuvvet eklenir, bıraktığında ise yalnızca yerçekimi etkilidir. Gemi bu geçişte momentumunu korur, yani bir yükselişin tepesinde bırakırsan bir an daha yükselmeye devam edersin. Bu, oyuna ağırlığını verir ve aynı zamanda sayıları çok hassas hale getirir.
Bunu üç sabit tanımlar: yerçekimi aşağı çeker, itme gücü basılı tutarken yukarı iter, maksimum hız ise tempoya bir üst sınır koyar. Hissiyat için en önemli olan, net ivme çiftidir: basılı tutarken yukarı ne kadar güçlü ivmelendiğin (itme eksi yerçekimi) ile bıraktığında aşağı ne kadar güçlü ivmelendiğin (yalnızca yerçekimi). Bu ikisinin oranı oyunun kişiliğidir.
Nasıl çok hızlı hale geldi
Birkaç geçiş boyunca, Flappy Bird tarzı keskin bir his peşinde sayıları giderek daha da sıkılaştırdım. Yerçekimi 1150'den 1300'e, itme gücü 2400'den 3400'e, maksimum hız ise 820'den 1080'e çıktı. Her adım test ederken daha iyi hissettirdi, çünkü başparmağımla gemi arasındaki gecikmeyi azaltmaya yönelik ayar yapıyordum. Sonunda net yukarı ivme, net aşağı ivmenin yaklaşık 1,6 katına ulaştı.
Sonra Reddit'te bir oyuncu ivmenin çok hızlı hissettirdiğini, bir koşunun heyecanını hissetmeden ölüp gittiğini söyledi. Bu, oyunun aldığı ilk istenmemiş geri bildirimdi, bu yüzden ağırlığı vardı. Optimize ettiğim şey, tepki hızı, oyunu tam olarak acımasız yapan şeydi.
Önce çok yumuşak, sonra bir yerlerde ortada
İlk tepki, itme gücünü 2700'e geri çekmek oldu. Bu, yerçekimine çok daha yakın; net yukarı ivme, net aşağı ivmeden sadece biraz daha büyük. Aynı gün oynadım ve bu sefer ters yönde yanlıştı: yumuşak. Gemi havada asılı kalıyormuş gibiydi ve yükselmek düşmekten neredeyse farksız hissettiriyordu, bu da hissi kaybetmenin başka bir yolu.
Bu yüzden ikinci değişiklik, yalnızca hisse değil iki orana birden bakılarak seçilen bir uzlaşma oldu. Orijinal keskin ayar yaklaşık 2100 yukarı karşı 1300 aşağı idi. Yumuşatılmış olanı ise 1400 yukarı karşı 1300 aşağı idi. İtme gücünü 3100'e sabitledim, bu da 1800 net yukarı karşı 1300 net aşağı demek, kabaca ortada. Yükselmek hâlâ düşmekten daha tepkili hissettiriyor, ama artık maksimum hıza neredeyse anında kilitlenme yok. Bütün bunlar boyunca yerçekimi ve maksimum hız hiç değişmedi.
Bundan çıkardığım ders şu: "çok hızlı" ve "çok yumuşak", iki ayrı sorun değil, tek bir oranın iki ucu. Net yükseliş ile net düşüşe bir kez baktığımda hedef açıktı. Ondan önce tek bir sayıyı ayarlayıp yeniden hisle değerlendiriyordum.
Cevabın ikinci yarısı başlangıçtaydı
İtme gücünü yeniden ayarlamak hissi düzeltti, ama yeni bir oyuncunun neden çabucak öldüğünü düzeltmedi. Bir acemi koşusunu ölçtüğümde, medyan yaklaşık bir saniyelik uçuştu. Yalnızca kalkış animasyonu bile bundan uzundu. Ve örüntü açıktı: acemi basar ve tutar, gemi tavana çıkar ve iş biter. Oyunda hiçbir şey, kontrol şemasının diğer yarısını, bırakmayı, hiç öğretmedi.
Bir metin ipucunu eledim. Başlığın altında "Yükselmek için BASILI TUT, düşmek için BIRAK" diye bir tane denedim ve zaten basılı tutmayı söyleyen düğmenin yanında gereksiz görünüp altındaki düğme sırasını sıkıştırdığı için aynı gün kaldırdım. Bilgi doğruydu. Tek bir cümle bunu iletmenin doğru yolu değildi.
Bunun yerine bunu açılış paraları öğretiyor. Mağaranın ilk bölümü boyunca para dizisi, kalkış yüksekliğinin altında başlayıp üstüne çıkan yumuşak bir yaya zorlanır. İlk parayı almak için bırakıp aşağı süzülmen gerekir. İkincisini almak için basılı tutup yükselmen gerekir. Üçüncüsüne geldiğinde kontrolün her iki yarısını da hissetmiş olursun ve kimse tek kelime etmemiştir. Bu, değişikliğin geri kalanıyla, yani iki gövde çiziğine izin veren güvenli bir açılış bölümüyle birlikte işe yaradı; bunu tempo hakkındaki yazıda anlatıyorum.
Ayar geçmişi ne işe yarar
Bu kaydı tutmamın nedeni, böyle bir sabitin zamanla kaymasıdır. Bir dosyadaki bir sayı, biraz oynatmak kolaydır ve her küçük dokunuş anında haklı görünür. Bu değerin şimdiye kadar aldığı her değerin ve nedeninin bir geçmişini tutuyorum, böylece bir dahaki sefere biri (ben dahil) oyunun biraz daha keskin olsa daha iyi olacağını düşündüğünde, cevap zaten yazılmış oluyor: bu zaten denendi ve oyuncular çok hızlı olduğunu söyledi.
Girdi modeli de sabittir. İvme olarak basılı tutmak, oyunun kimliğidir ve ayar bunun içinde hareket edebilir ama bunu asla anlık bir dürtüyle değiştiremez. Farklı boyutlardaki ekranlar, adillik yazısında anlattığım bir ölçekleme kuralı sayesinde aynı hissedilen yörüngeyi elde eder.
Sonucu hissetmek istersen, gemi bir dokunuş uzaklıkta.