Proje Detayları
Grafik programlama, pencere yönetimi ve oyun döngüsü (game loop) mantığını kavramak amacıyla C dilinde sıfırdan geliştirilmiş iki boyutlu bir oyun projesidir. Proje, X Window System (X11) tabanlı MiniLibX grafik kütüphanesi üzerine kurgulanmıştır. Uygulama, oyuncunun klavye hareketlerini (W, A, S, D) asenkron olarak yakalayan bir etkinlik yöneticisi (event handling) ve her harekette ekranı optimize şekilde güncelleyen bir grafik işleme mimarisi içerir.
Projenin en kritik mühendislik zorluğu, dışarıdan .ber uzantılı dosyalarla beslenen haritaların parse edilmesi ve doğrulanması sürecidir. Haritanın etrafının duvarlarla kapalı olması, minimum bileşenleri (oyuncu, çıkış, en az bir toplanabilir obje) barındırması gibi kuralların kontrolünün yanı sıra, haritanın çözülebilir olup olmadığını (çıkışa ve tüm objelere ulaşılabildiğini) test etmek adına grafik teorisinde sıkça kullanılan Flood Fill algoritması implemente edilmiştir. Oyunun tüm görsel varlıkları (sprites), .xpm formatındaki görsellerin bellek yönetimi ilkelerine uygun olarak dinamik şekilde yüklenmesi ve her adımda hamle sayısının terminale (veya ekrana) sızdırmasız yazdırılması prensipleriyle yönetilmiştir. Süreç, kararlı bir Makefile mimarisiyle derlenmiş ve Valgrind ile bellek güvenliği (memory safety) onaylanmıştır.