Skip to content

Hakkology-Legacy/Unity-Flappy-Bird

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Language Options


Flappy Bird Recreation (Unity)

This project is an educational recreation of the famous Flappy Bird, developed in Unity. It focuses on clean code practices, object optimization, and dynamic difficulty scaling for game development classes.

Technical Features

1. Bird Mechanics & Visuals

  • Physics-Based Movement: Custom gravity and velocity implementation for precise flight control.
  • Directional Rotation: Uses Mathf.Atan2 to calculate the bird's angle based on its vertical velocity, providing a realistic "look-where-you-fly" effect.
  • Smooth Rotation: Utilizes Quaternion.Lerp to transition between rotation angles smoothly.

2. Object Pooling System

  • Memory Optimization: Implements a Pipe Pool to prevent frequent Instantiate and Destroy calls, significantly reducing Garbage Collector (GC) pressure.
  • Dynamic Reuse: Inactive pipes are automatically reset and repositioned to the right edge of the screen when needed.

3. Dynamic Difficulty & Management

  • Linear Difficulty Curve: Uses Mathf.Lerp to gradually increase pipeSpeed and decrease spawnRate based on the player's score.
  • Singleton Pattern: A centralized GameManager coordinates the game state, UI updates, and difficulty parameters.
  • Time-Scale Control: Handles game pause/play states using Time.timeScale, ensuring consistent behavior across different frame rates.

Flappy Bird Recreation (Unity) - TR

Bu proje, ünlü Flappy Bird oyununun Unity ile geliştirilmiş eğitim amaçlı bir yeniden yapımıdır. Oyun geliştirme derslerinde anlatılmak üzere temiz kod prensipleri, nesne optimizasyonu ve dinamik zorluk ölçeklendirmesine odaklanır.

Teknik Özellikler

1. Kuş Mekanikleri ve Görsellik

  • Fizik Tabanlı Hareket: Hassas uçuş kontrolü için özel yerçekimi ve hız (velocity) uygulaması.
  • Yönsel Rotasyon: Kuşun dikey hızına bağlı olarak açısını hesaplamak için Mathf.Atan2 kullanır ve gerçekçi bir "uçtuğu yöne bakma" efekti sağlar.
  • Akıcı Dönüş: Rotasyon açıları arasında yumuşak geçiş yapmak için Quaternion.Lerp kullanır.

2. Object Pooling (Nesne Havuzu) Sistemi

  • Bellek Optimizasyonu: Sık Instantiate ve Destroy çağrılarından kaçınarak Garbage Collector (GC) yükünü azaltmak için Boru Havuzu yapısı uygulanmıştır.
  • Dinamik Yeniden Kullanım: Aktif olmayan borular otomatik olarak deaktive edilir ve ihtiyaç anında ekranın sağ kenarına yeniden konumlandırılır.

3. Dinamik Zorluk ve Yönetim

  • Lineer Zorluk Eğrisi: Oyuncunun skoruna bağlı olarak pipeSpeed (hız) değerini artırmak ve spawnRate (doğma süresi) değerini azaltmak için Mathf.Lerp kullanır.
  • Singleton Yapısı: Merkezi bir GameManager, oyun durumunu, UI güncellemelerini ve zorluk parametrelerini koordine eder.
  • Zaman Ölçeği Kontrolü: Oyunun duraklatma/başlatma durumlarını Time.timeScale ile yöneterek farklı kare hızlarında (FPS) tutarlı bir davranış sağlar.

About

Flappy bird developed in Unity. Focus clean code practices, object optimization, and dynamic difficulty scaling.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors