Bloga Don

Kod Yazmadan Önce Bir Unity Projesi Nasıl Planlanır

Unity Oyun Geliştirme Proje Planlama

Yeni bir Unity projesine başladığımda yaptığım ilk şey, herhangi bir kod yazmadan önce ana sistemleri haritalamak oluyor. Kulağa basit geliyor, ama çoğu solo geliştirici ve küçük ekip bu adımı atlıyor ve iki hafta sonra kod tabanının yarısını yeniden düzenlemek zorunda kalıyor.

İşte kullandığım akış ve neden zaman kazandırdığı.

Büyük Resimle Başlayın

Unity’yi açmadan önce projemin ihtiyaç duyduğu temel sistemleri listelerim. Basit bir oyun için bu liste şöyle görünebilir:

  • Oyuncu kontrolcüsü
  • Düşman AI
  • Seviye yükleme
  • Kaydet/yükle sistemi
  • UI yönetimi
  • Ses yönetimi

Bu, detaylı bir tasarım dokümanı değildir. Var olması gereken büyük sistemlerin hızlı bir dökümüdür.

Sistemler Arasındaki Bağımlılıkları Haritalayın

Liste ortaya çıktıktan sonra hangi sistemin hangisine bağlı olduğunu düşünürüm. Oyuncu kontrolcüsünün input’a ihtiyacı vardır. Düşman AI’ın oyuncuyu referans alması gerekir. Kayıt sistemi ise serileştirilebilir her sistemden haberdar olmalıdır.

Bu bağlantıları erken çizmek, dairesel bağımlılıkları önlemeye yardımcı olur ve hangi sistemleri önce inşa etmeniz gerektiğini gösterir.

Unity editörü içinde Project Designer+ planlama çalışma alanı

Sistemleri Görevlere Bölün

Her sistem somut görevlere ayrılır. “Oyuncu kontrolcüsünü yap” fazla belirsizdir. Onun yerine:

  • CharacterController ile hareket kur
  • Zemin algılama ekle
  • Coyote time ile zıplama uygula
  • Kamera takip scripti ekle
  • Input action map oluştur

Küçük ve net görevleri tahmin etmek daha kolaydır; ertelemek de daha zordur.

Planı Unity İçinde Tutun

Eskiden Notion, Google Docs hatta kağıt not defterleri kullanıyordum. Sorun şu: bağlam değiştirmek ivmeyi öldürüyor. Project Designer+ gibi bir araçla planı Unity içinde tuttuğumda, diyagramları ve görev listelerini yazdığım kodun hemen yanında görebiliyorum.

Gittikçe Gözden Geçirin ve Güncelleyin

Hiçbir plan uygulamayla ilk temastan tamamen sağlam çıkmaz. Sistemler birleşir, bölünür ya da tamamen kesilir. Planlamanın amacı geleceği kusursuz tahmin etmek değil; net bir yönle başlamak ve öğrendikçe onu güncellemektir.

Her çalışma oturumunun başında proje planıma geri dönüyorum. İki dakika sürüyor ama “ben en son ne yapıyordum?” problemini ciddi biçimde azaltıyor.

Özet

  1. Kod yazmadan önce temel sistemleri listeleyin
  2. Sistemler arasındaki bağımlılıkları haritalayın
  3. Sistemleri küçük, somut görevlere bölün
  4. Planı çalıştığınız yerde tutun, mümkünse Unity içinde
  5. Planı düzenli olarak gözden geçirip güncelleyin

Planlama karmaşık olmak zorunda değil. Bağlı düğümler ve görev listesinden oluşan basit bir diyagram bile sonradan saatler sürecek refactor’ların önüne geçebilir.