Metehan Şenyer

Game Project: Angry Sharks

Game Project: Angry Sharks banner

Angry Sharks: KOÜ Yazılım Mühendisliği Programlama 2 Projesi

Merhaba, ben Metehan Şenyer, Kocaeli Üniversitesi Yazılım Mühendisliği öğrencisiyim. Bu proje, 2023-2024 dönemi Programlama 2 dersi kapsamında geliştirdiğim Angry Sharks Oyunudur. Proje, C++ programlama becerilerimi sergilemek ve nesne yönelimli programlama prensiplerini gerçek bir projede uygulama fırsatı sunmuştur.

🦈 Proje Hakkında

Angry Sharks, C++ dilinde geliştirilmiş, nesne yönelimli programlama prensiplerini temel alan bir 2D oyundur. Amacım, yalnızca teknik gereklilikleri yerine getirmek değil, aynı zamanda eğlenceli ve etkileyici bir oyun deneyimi sunmaktı. Proje, CLion IDE'si ile geliştirilmiş ve hem MacOS hem de Windows üzerinde test edilmiştir.

🎯 Projenin Temel Amaçları

  • C++ Programlama Dili kullanılarak nesne yönelimli programlama prensiplerinin uygulanması
  • Raylib Kütüphanesi ile 2D oyun geliştirme
  • Teknik özelliklere ek olarak ses efektleri, görseller ve oyun mekaniği gibi detaylarla kullanıcı deneyimini zenginleştirmek

🛠️ Kullanılan Araçlar

Proje boyunca aşağıdaki araçlar ve kaynaklardan faydalandım:

  • C++: Oyun geliştirme.
  • Raylib: Grafiksel oyun geliştirme kütüphanesi.
  • CLion: Kod geliştirme ortamı.
  • CMake: Proje yönetimi ve bağımlılık yönetimi.
  • Photoshop: Görsel tasarım ve düzenleme.
TeknolojiKaynak
C++ CompilerMinGW-64
RaylibGet Started in raylib in 20 minutes!
RaylibSprite Animation in Raylib
RaylibReSize Screen Problem Solution
RaylibCircle and Rotated Rectangle Collision Detection

🎮 Oyun Özellikleri

ÖzellikAçıklama
Karakter KontrolüFare ile karakter yönlendirme ve rotasyon
Çarpışma SistemiGelişmiş çarpışma algılama mekanizması
Seviye SistemiKarakter büyüme ve gelişme mekanikleri
Ses EfektleriOyun içi ses ve müzik sistemi

📊 Teknik Zorluklar ve Çözümler

ZorlukÇözüm Yaklaşımı
Hareket SistemiFare takibi ve açısal rotasyon hesaplamaları
Çarpışma AlgılamaDaire tabanlı çarpışma sistemi ve orijin noktası optimizasyonu
Ses SistemiRaylib ses sistemi entegrasyonu
Karakter BoyutlandırmaSeviye bazlı karakter ölçeklendirme

💾 İndirme ve Çalıştırma

Proje dosyalarını buradan indirip kendi bilgisayarınızda çalıştırabilirsiniz.

Geliştiriciler için

git clone https://github.com/metehansenyer/KOU-YZM104-CppGameProject-AngrySharks.git

Gereksinimler

  • CMake
  • CLion veya Visual Studio Code (CMake eklentisi ile)
IDEKurulum Kılavuzu
CLionCreate/open CMake projects
VS CodeImport a CMake project

🔄 Gelecek Geliştirmeler

Projeye eklemeyi planladığım ancak zaman kısıtlaması nedeniyle ekleyemediğim özellikler:

  • İki farklı düşman tipi eklenmesi
  • Balon balığı mekaniğinin iyileştirilmesi
  • Çarpışma sisteminin optimize edilmesi

🤝 Teşekkürler

C ve C++ programlama alanındaki öğrenimimde katkılarından dolayı Kocaeli Üniversitesi Yazılım Mühendisliği Bölümü'den Dr. Öğr. Üyesi İrfan KÖSESOY hocama teşekkürlerimi arz ederim.

🌟 İletişim

Eğer bu proje ilginizi çektiyse ve benimle iletişime geçmek isterseniz:

Oyun geliştirme ve yazılım projeleri hakkında her zaman sohbet etmeye açığım!

GitHub'da Görüntüle