HotnCold Ball — Prosedürel Level Generator'lı 2D Bulmaca Oyunu
Sıcak/soğuk mekaniğiyle görünmez bir altını bulmaya çalıştığın top bazlı 2D platform oyunu. İlk hobi projesi olarak başladı; hazır asset entegrasyonu ve level tasarımından sonra prosedürel bir harita üretecine dönüştü.
Görseller
Proje Detayları
Proje Hakkında
Kişisel bir hobi projesi. İlk aşamada hazır asset setleriyle iki el yapımı level tasarlandı; menü akışı, ses entegrasyonu ve temel top fiziği yerleştirildi. İkinci aşamada odak noktası değişti: her oyunlamada farklı bir harita üretilebilmesi için sıfırdan bir prosedürel level generator yazıldı. Proje aktif geliştirilmiyor ancak kapatılmadı da.
Oyun Konsepti
Klasik "sıcak-soğuk" oyununun platform mekaniğiyle buluşması. Seviyede görünmez bir altın rastgele bir noktaya yerleştiriliyor; oyuncu topu kontrol ederek haritada ilerlerken hedefe olan mesafeye göre geri bildirim alıyor. Amaç, bu geri bildirimi okuyarak altını bulmak.
Tasarım aşamasında planlanan ek mekanikler:
**Ağ atma** — geniş boşlukları geçmek için
**Küçülme** — dar geçitlerden sızmak için
**Çift zıplama** — daha yüksek platformlara ulaşmak için
Prosedürel Level Generator
Projenin teknik ağırlık merkezini oluşturuyor. Hedef: tamamen kod tarafından üretilen, her seferinde oynanabilir ve farklı görünen bir harita.
Algoritma aşağıdan yukarıya çalışır. Ekranın alt kısmına rastgele bir başlangıç platformu yerleştirir, ardından bir hedef pozisyon belirler. Bu iki nokta arasında platformlar yatay ve dikey olarak örülür:
Her adımda bir platform segmenti sağa ya da sola doğru büyür
Belirli aralıklarla yön yukarı kırılır; böylece harita düz bir koridor yerine organik bir yol izler
Ekran kenarına ulaşıldığında platform yönünü tersine çeviren diyagonal geçiş blokları devreye girer
Boşluk kontrolü için **kademeli olasılık** mekanizması kullanıldı: art arda birkaç tile yerleştirilemezse bir sonraki tile'ın yerleştirilme ihtimali yükselerek hiçbir zaman geçilemez bir boşluk oluşmaması sağlanır.
Topun zıplama yüksekliği ve yatay menzili konfigürasyondan okunur; generator bu fizik parametrelere göre platform mesafelerini sınırlar — bu sayede üretilen haritalar teorik olarak her zaman tamamlanabilir.
Mimari
**`LevelManager`** — Prosedürel platform üretimi, Unity Tilemap API entegrasyonu, kamera sınırı hesaplama
**`PlayerMovement`** — `Rigidbody2D.AddForce` tabanlı fizik hareketi ve zıplama
**`PlayerState`** — Zemin temas durumu, hareket kilidi, pozisyon sıfırlama
**`InputManager`** — Giriş olaylarının hareket ve aksiyon sistemine delegasyonu
Geliştirme Durumu
Aktif olarak geliştirilmiyor. Level generator tamamlandı ve çalışıyor; görüntüdeki harita gerçek bir jenerasyondan alındı. Planlanan skill sistemi ve sıcak/soğuk geri bildirim mekanizması henüz implemente edilmedi.