Skip to content
← Projects

Flappy Bird (Pure Java)

A complete browser-based Flappy Bird recreation in pure Java — custom game engine, physics, collision detection, all built from scratch.

GitHub
JavaJava SwingAWTOOP
Flappy Bird (Pure Java)

Overview

A complete recreation of Flappy Bird built in pure Java — no game engine, no external libraries. Every part of it (rendering loop, physics, collision, scoring) is written from scratch using Java Swing and AWT, as an exercise in core game-programming fundamentals and object-oriented design.

What I Built

  • Custom game loop — a fixed-timestep render/update cycle driving the animation
  • Physics — gravity, flap impulse, and velocity integration for the bird's motion
  • Collision detection — pixel/bounds checks between the bird and the pipes
  • Procedural pipes — randomized gaps that scroll and recycle
  • Scoring & game states — start, playing, and game-over screens with score tracking
  • Keyboard input handling for the flap control

Tech Stack

Language: Java

UI / Rendering: Java Swing, AWT

Design: Object-oriented architecture (separate entities for bird, pipes, game manager)

Why It Matters

Building a game without an engine forced me to understand the fundamentals most frameworks hide — the render loop, frame timing, physics integration, and collision math — all in clean OOP Java.