Kedi-Köpek / Siber-Evcil Hayvan Temalı 2D Kule Savunma Oyunu Projesi
Bu proje, Unity oyun motoru kullanılarak geliştirilmiş, oyuncuların bir üssü gelen düşman dalgalarına karşı savunmak için çeşitli kuleler inşa ettiği klasik bir 2D Kule Savunma (Tower Defense) oyunudur.
Proje geliştirilirken Model-View-Controller (MVC) Tasarım Deseni benimsenmiştir. Bu sayede veriler, oyun mantığı (logic) ve arayüz görselleri (view) birbirinden izole edilerek temiz bir kod yapısı oluşturulmuştur.
Controllers: Oyunun çekirdek mekanikleri, girdi yönetimi ve oyun durumu (GameManager, BuildManager).Models: Oyundaki varlıkların (kuleler, düşmanlar) özellikleri ve davranışları (Tower, Enemy vb.).Views: Arayüz (UI) güncellemeleri ve görsel bildirimler (HealthBarView, CurrencyView).
- Ekonomi ve Sağlık Yönetimi: Oyuna belirli bir bütçe (örn: 200 birim) ve üs sağlığı (örn: 100 birim) ile başlanmaktadır. Kule inşa etmek bakiye harcarken, öldürülen her düşman oyuncuya para kazandırır. Üs sağlığı 0'a düştüğünde oyun kaybedilir ("SİSTEM HACKLENDİ").
- İnşa Sistemi (Grid/Tile): Oyuncular
BuildManageraracılığıyla seçtikleri kuleleri haritada belirlenmiş özelTowerTilenoktalarına yerleştirebilirler. - Dalga (Wave) Sistemi: Düşmanlar
GameManagertarafından yönetilen belirli bir dalga yapısında (Dalgastruct) ve aralıklarla doğarlar (Spawn). - Yapay Zeka (AI) Hedefleme: Kuleler sadece en yakındaki düşmana ateş etmek yerine, yolda en çok ilerlemiş (hedefe en yakın) düşmana öncelik verir. Eşitlik durumunda en yakın mesafedekini seçerler.
- Simülasyon Logları: Oyundaki önemli olaylar (kule satın alma, hasar hesaplamaları, dalga tamamlanması) detaylı bir şekilde o anki zaman damgasıyla
savunma_gunlugu.txtadlı dosyaya kayıt (log) edilir.
Oyunda her biri farklı bir stratejik amaca hizmet eden 3 temel kule (Kedi) bulunmaktadır:
- Sniper-Cat: Yüksek hasar veren, tek hedefli kule. Zırhlı hedeflere karşı %50 daha az hasar verme dezavantajı vardır.
- Bazooka-Cat: Alan etkili (AoE) hasar vurur. Saldırıları belli bir çaptaki tüm düşmanlara zarar verir. Ancak uçan (hava) birimlerine (
DroneChihuahua) saldıramaz ve isabet ettiremez. - Hacker-Cat: Hasar vermekten ziyade destek birimidir (Destek/Utility). Hedeflenen düşmana
HizDusurzayıflatması (debuff) uygulayarak hızlarını belirli bir süreliğine %50 oranında yavaşlatır.
Belirli rota noktalarını (Waypoints) takip ederek oyuncu üssüne ulaşmaya çalışan düşman tipleri (Köpekler/Robotlar):
- Robo-Pug: Standart karasal düşman birimidir. Zırhsızdır, dengeli hız ve sağlığa sahiptir.
- Drone-Chihuahua: Uçan (Hava) düşman ünitesidir.
RoboPug'dan daha hızlıdır (%50 daha hızlı) veBazooka-Cat'in alan hasarlarından etkilenmez. - Mecha-Bulldog: Oyunun "Tank" ünitesidir. Sahip olduğu zırh (Armor) değeri sayesinde
Sniper-Catgibi birimlerden daha az hasar alır.
Bu proje herhangi bir üçüncü taraf (third-party) harici kütüphane kullanılmadan, tamamen Unity'nin yerleşik paketleriyle ve C# ile geliştirilmiştir:
- Unity 2D Paketleri: (Tilemap, SpriteShape, PixelPerfect vb.)
- TextMeshPro: UI metinleri ve gösterimler için.
Not: Bu proje, kod içi yorumlardan anlaşıldığı üzere ("PDF KURALI", "Proje İsteri" vb.) belirli kurallara ve gereksinimlere dayalı yapılandırılmış akademik/eğitim amaçlı bir tasarıma sahiptir.