Devlog · Paw & Sword · Animasyon

Piksel kedilere 8 yönde yürümeyi öğretmek

Yandan görünen kahramanlar neden yanlış durdu, beş çizim ve biraz aynalama sekiz yönü nasıl veriyor, sprite çevirmenin tuzakları neler.

Uzun süre Paw & Sword'daki kahramanlar sadece sola ya da sağa bakabiliyordu. Bir kahraman av sahasına giden yolda yukarı doğru yürüdüğünde bunu yan yan yapıyordu; elinde kılıç olan bir yengeç gibi. Bu yazı, bunu neden değiştirdiğimi, sekiz yönü beş çizimden nasıl elde ettiğimi ve sprite aynalamanın küçük tuzaklarını anlatıyor.

Sadece yandan görünüş neden yanlış hissettirdi?

Yandan görünen sprite'lar küçük oyunların klasik kestirmesidir ve kamera düz bir sahneye bakıyorsa gayet iyi çalışır. Paw & Sword'un kasabası ve av sahaları ise yukarıdan, açılı bir bakışla görülüyor. Yollar yukarı, aşağı ve çapraz gidiyor. Kahramanlar gün boyu haritayı her yöne kat ediyor.

Sadece yandan görünüşle üç şey ters gitti:

  • Dikey yürüyüş kayıyormuş gibi görünüyordu. Kuzeye yürüyen bir kahraman ekranda yukarı çıkarken yandan yürüme döngüsünü gösteriyordu. Ayaklar sağa sola giderken gövde yukarı kayıyordu. Neyin yanlış olduğunu söyleyemesen bile gözün bunu fark ediyor.
  • Gruplar biçimini kaybetti. Beş kahraman birlikte bir boss'a yürüdüğünde keyif, bir ekibin bir noktada toplandığını görmekte. Herkes sola ya da sağa bakınca ekip bir sıra karton figür gibi duruyor.
  • Savaşlar hedefini kaybetti. Bir şövalyenin altında duran bir şifacı, yandan bir sprite'la ona "bakıyorsa" ona nişan alıyor gibi okunmuyor. Yöne göre değişen pozlarla kimin kime vurduğunu görebiliyorsun.

Bütün oyun asıl oyunun izlemek olduğu fikri üzerine kurulu olduğu için bu bir cila meselesi değildi. Doğrudan okunabilirlik sorunuydu.

Paw & Sword tanıtım görseli: piksel bir kasabada arnavut kaldırımlı yolda izleyiciye doğru yürüyen kedi kahramanlar
Kahramanlar sana doğru, senden uzağa ve çapraz yürüyor. Sadece yandan görünüş yetmedi.

Beş çizimden sekiz yön

Sekiz yön kulağa pahalı geliyor: kuzey, kuzeydoğu, doğu, güneydoğu, güney, güneybatı, batı ve kuzeybatı. Ama sabit bir kameradan görülen bir karakter soldan sağa büyük ölçüde simetriktir. Bu yüzden oyun beş çizilmiş görünüş kullanıyor, kalan üçünü de çevirerek elde ediyor:

  • Çizilenler: ön (sana doğru yürürken), arka (senden uzaklaşırken), yan (doğu) ve sağ taraftaki iki çapraz (güneydoğu ve kuzeydoğu).
  • Oyunun aynaladıkları: batı, güneybatı ve kuzeybatı.

Bu, yönler için gereken çizim işini sekizde üç azaltıyor ve tasarruf katlanarak büyüyor. Paw & Sword'da 45 sınıf var, her birinin yedi rütbe görünüşü var ve her görünüşün birkaç klibi var: bekleme, yürüme, saldırı, yetenek, hasar alma. Çizmen gerekmeyen her görünüş, yüzlerce kez tasarruf demek.

Oyun, görünüşü kahramanın yürüdüğü ya da saldırdığı yöne göre seçiyor. Benzer bir şey yapacaksan bir tavsiye: Açıdaki her küçük değişimde görünüş değiştirme. Neredeyse tam 45 derecede yürüyen bir kahraman her karede iki görünüş arasında titreyebilir. Yeni yön açıkça daha yakın olana kadar mevcut görünüşü korumak çok daha sakin bir sonuç veriyor.

Aynalamanın tuzakları

Bir sprite'ı çevirmek tek satır kod. Doğru görünmesini sağlamak ise biraz daha fazla düşünmeyi gerektiriyor.

  • Sağ ve sol el yer değiştirir. Kılıcı sağ patisinde tutan bir şövalye, aynalanınca onu sol patisinde tutar. Av sahası boyutunda bu neredeyse hiç fark edilmiyor, o yüzden kabul ediyorum. Ama tek tarafa bağlı bir tasarım, mesela üzerinde yazı olan bir kalkan arması ya da göz bandı, sorun çıkarıyor; bu tür ayrıntılardan kaçınıyorum.
  • Tuvali değil, ayakları eksen al. Sprite karesinin tam ortasında değilse, tuvalin ortasından çevirmek kahramanın döndüğü anda yana zıplamasına yol açar. Çevirme, karakterin bastığı nokta etrafında yapılmalı.
  • Işığın yönü. Çizimde bir taraftan gelen güçlü bir ışık varsa, aynalanmış görünüş diğer taraftan aydınlanmış olur. Yumuşak ve çoğunlukla yukarıdan gelen ışık bunu gizliyor.
  • Silahlar ve efektler. Bir tarafa doğru uzanan bir kılıç savuruşu ya da büyü efekti, aynalandıktan sonra karenin diğer yanında da yer ister; yoksa kesilir.

Kaç kare yeterli?

Oyundaki şeritlerin çoğu 8 ile 10 kare arasında. Daha az kare emekten tasarruf ettirir ama kesik kesik görünür; hele 2 kat savaş hızında 4 karelik bir yürüyüş ayak sürümeye dönüşür. Daha fazla kare daha akıcı görünür ama maliyeti her sınıf, görünüş ve yön için katlar.

Yürüyüş için 8 kare, her ayağın yere bastığı net bir pozla tam bir adım veriyor; yürüyüşü yere basıyormuş gibi hissettiren de bu. Saldırılar biraz daha fazlasını istiyor: bir hazırlık pozu, vuruş, darbe karesi ve toparlanma. Dokuzuncu ya da onuncu kare çoğu zaman hazırlığa gidiyor, çünkü bir vuruşun geldiğini görmeni sağlayan şey okunabilir bir hazırlık hareketi.

Üst rütbe görünüşleri, Normal görünüşün pozlarını referans olarak kullanıyor. Kedi ve kıyafet değişiyor, hareket değişmiyor. Bu, 45 sınıfın aynı ritimle hareket etmesini sağlıyor ve her sınıfı her sınıfa tek kedi kuralıyla uyumlu tutuyor.

Geçişten sonra ne değişti?

Fark beklediğimden büyük oldu. Kasabadan çıkan kahramanlar artık yoldan sana doğru yürüyor, eve dönenler sırtları dönük ekranın yukarısına doğru uzaklaşıyor. Bir boss için toplanan ekip gerçekten bir ekip gibi görünüyor. Savaşta da bir kahramanın baktığı yön, kimi hedef aldığını söylüyor.

Bedeli de gerçek: üretilecek ve kontrol edilecek daha çok klip var. Bu kliplerin nasıl tutarlı tutulduğunu bir sonraki yazıda anlatıyorum: 8 karelik sayfa kuralı, ayak çizgileri ve boy sıçramaları.

Can Fabrika maskotu: gözlüklü ve İngiliz anahtarlı mor kedi mühendis, tahta bir tabelaya yaslanıyor

Kapı açık

Oyuncular, basın, yayıncılar ve iş birlikleri: hepsine açığız.