Projelere Dön

Flappy Bird Game

PythonPygame

Pygame ile gelistirilmis Flappy Bird klonu. Ozel tasarimlar, PNG skor gostergesi, akici kontroller ve kalici en yuksek skor sistemi.

Proje Özeti

Bu çalışma, klasik Flappy Bird mekaniklerinin Python ekosistemi içerisinde yeniden inşa edilmesini ve optimize edilmesini hedefler. Proje, standart bir oyun kopyası olmanın ötesinde, nesne yönelimli programlama (OOP) prensipleriyle tasarlanmış modüler bir yapıya sahiptir. Oyun döngüsü (Game Loop), kare hızı (FPS) stabilizasyonu ve varlık (asset) yönetimi konularında endüstriyel standartlara yakın bir yaklaşım benimsenmiştir.

Teknik Mimari ve Özellikler

Fizik Motoru ve Çarpışma Algılama

Oyunun en kritik bileşeni olan çarpışma testleri (Collision Detection), basit geometrik hesaplamalar yerine piksel tabanlı maskeleme (Pixel-Perfect Masking) yöntemiyle gerçekleştirilmiştir. Bu yaklaşım, görsel sınırlarla fiziksel sınırların birebir örtüşmesini sağlayarak oyun deneyimindeki tutarsızlıkları ortadan kaldırır. Yerçekimi ivmesi ve hız vektörleri, gerçekçi bir uçuş mekaniği simüle edecek şekilde matematiksel olarak modellenmiştir.

Varlık Yönetimi ve Render Optimizasyonu

  • Dinamik Sprite İşleme: Oyun içi varlıklar (kuş, borular, zemin), bellek yönetimi gözetilerek yüklenir ve işlenir.
  • Özel Grafik Tasarımı: Standart kütüphane görselleri yerine, projenin atmosferine özgü tasarlanmış grafikler kullanılmıştır.
  • Skor Sistemi: Sayısal veriler, sistem fontları yerine özel olarak haritalanmış görsel setleri üzerinden render edilir.

Veri Kalıcılığı

Kullanıcı skorları, yerel dosya sisteminde güvenli bir I/O yapısı ile saklanır. Bu yapı, oyunun kapatılıp açılması durumunda veri bütünlüğünü korur ve en yüksek skor takibini mümkün kılar.

Kullanılan Teknolojiler

| Teknoloji | Rolü | |-----------|----------------| | Python 3.x | Çekirdek mantık ve uygulama çatısı | | Pygame | Grafik render motoru, ses işleme ve giriş (input) yönetimi | | Math Modülü | Fizik hesaplamaları ve vektör işlemleri | | OS/Sys | Dosya sistemi yönetimi ve kaynak yolu çözümleme |

Tech Stack

  • Python 3.x
  • Pygame
  • Math Module
  • OS/Sys

Technical Architecture

Input -> Game Loop -> Physics & Collision -> Renderer -> Score Storage

Challenges & Lessons Learned

  • Pixel-perfect collision ile adil carpisma algilama
  • FPS stabilizasyonu ve performans optimizasyonu
  • Varlik (asset) yukleme ve bellek yonetimi

Testing / Logging / Monitoring

  • Tests: Manuel oyun testleri (farkli FPS ve zorluk)
  • Logging: Debug overlay/console loglari (opsiyonel)
  • Monitoring: Yerel uygulama, izleme gerektirmez

Kurulum

Projeyi yerel ortamda çalıştırmak için:

  1. Depoyu klonlayın:
    git clone https://github.com/furkandalyan/Flappy-Bird.git
    
  2. Gerekli bağımlılığı yükleyin:
    pip install pygame
    
  3. Başlatın:
    python main.py