2 puan yazan GN⁺ 2024-10-19 | Henüz yorum yok. | WhatsApp'ta paylaş

Zindanlar ve Arayüz

Genel Bakış

  • Önceki bölümde, oyun geliştirmede yaygın olarak kullanılan varlık-bileşen-sistem (ECS) mimari desenini ve meta dil programlama paradigmasını inceledik.
  • Bu kez bu teknikleri kullanarak dungeon crawler türünde küçük bir oyun yapacak ve bunun üzerinden gerçek bir oyun uygulamasının sistem tasarımına bakacağız.

Hazırlık Çalışmaları

  • Common Lisp ortamı kuruluyor ve gerekli paketler güncelleniyor.
  • Proje cookiecutter şablonu kullanılarak başlatılıyor ve oyun penceresi boyutu 1280x800 olarak ayarlanıyor.

Zindan

  • Oyuncunun zindanı keşfedebilmesi için bir zindan haritası gerekiyor.
  • Açık kaynak harita editörü Tiled kullanılarak zindan haritası oluşturuluyor ve bunu Lisp nesnelerine yüklemek için cl-tiled kütüphanesi kullanılıyor.
  • Harita dosyası hazırlandıktan sonra, oyunda yüklenip kullanılabilmesi için bazı hazırlık işlemleri yapılıyor.

ECS Deseninin Uygulanması

  • Performansı artırmak için harita döşemesi verileri ECS deposuna taşınıyor.
  • cl-fast-ecs çatısı projeye ekleniyor ve ECS sistemleri başlatılıyor.
  • Harita döşemeleri ayrı varlıklar olarak saklanıyor ve bunları işleyen sistemler tanımlanıyor.

Animasyon

  • Tiled animasyonlu döşemeleri destekliyor; bu sayede oyuna canlılık katılabiliyor.
  • Animasyonu uygulamak için kod yapısı genişletiliyor ve yeniden düzenleniyor.
  • Animasyon durumunu yönetmek için animation-frame ve animation-state bileşenleri tanımlanıyor.
  • Uygun zamanda animasyon karelerini değiştirmek için update-animations sistemi tanımlanıyor.

GN⁺ Özeti

  • Bu yazı, ECS deseninin oyun geliştirmeyi nasıl daha verimli hale getirebileceğini açıklıyor.
  • Tiled gibi araçlarla haritaların kolayca nasıl oluşturulup yönetilebileceğini gösteriyor.
  • Animasyonla oyuna nasıl canlılık katılacağını anlatıyor.
  • ECS deseni kullanıldığında performans optimize edilirken kod yapısı da sade tutulabiliyor.
  • Benzer işlevlere sahip diğer projeler arasında Unity'nin ECS sistemi ve Unreal Engine'in Blueprint sistemi bulunuyor.

Henüz yorum yok.

Henüz yorum yok.