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.
Teknoloji | Kaynak |
---|---|
C++ Compiler | MinGW-64 |
Raylib | Get Started in raylib in 20 minutes! |
Raylib | Sprite Animation in Raylib |
Raylib | ReSize Screen Problem Solution |
Raylib | Circle and Rotated Rectangle Collision Detection |
🎮 Oyun Özellikleri
Özellik | Açıklama |
---|---|
Karakter Kontrolü | Fare ile karakter yönlendirme ve rotasyon |
Çarpışma Sistemi | Gelişmiş çarpışma algılama mekanizması |
Seviye Sistemi | Karakter büyüme ve gelişme mekanikleri |
Ses Efektleri | Oyun içi ses ve müzik sistemi |
📊 Teknik Zorluklar ve Çözümler
Zorluk | Çözüm Yaklaşımı |
---|---|
Hareket Sistemi | Fare takibi ve açısal rotasyon hesaplamaları |
Çarpışma Algılama | Daire tabanlı çarpışma sistemi ve orijin noktası optimizasyonu |
Ses Sistemi | Raylib ses sistemi entegrasyonu |
Karakter Boyutlandırma | Seviye 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)
IDE | Kurulum Kılavuzu |
---|---|
CLion | Create/open CMake projects |
VS Code | Import 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:
- Email: mthansnyr@gmail.com
- LinkedIn: @metehansenyer
Oyun geliştirme ve yazılım projeleri hakkında her zaman sohbet etmeye açığım!