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.

Sistemleri Görevlere Bölün
Her sistem somut görevlere ayrılır. “Oyuncu kontrolcüsünü yap” fazla belirsizdir. Onun yerine:
CharacterControllerile 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
- Kod yazmadan önce temel sistemleri listeleyin
- Sistemler arasındaki bağımlılıkları haritalayın
- Sistemleri küçük, somut görevlere bölün
- Planı çalıştığınız yerde tutun, mümkünse Unity içinde
- 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.