Skip to content
This repository has been archived by the owner on Mar 21, 2023. It is now read-only.

A fun little bare bones recreation of Flappy Bird in Java I did back in 2020. The application's screen dimensions simulate that of an actual mobile device to mimic the original.

License

Notifications You must be signed in to change notification settings

jcook03266/Flappy-Bird-Java-Edition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flappy-Bird-Java-Edition

A fun little bare bones recreation of Flappy Bird in Java I did back in 2020. The application's screen dimensions simulate that of an actual mobile device to mimic the original.

Brief Summary

I made this project a few years back from scratch without any third-party libraries, just the default JDK packages such as timer to control tick / refresh rates, JFrame for the application window scene etc. It was definitely good fun self learning the basics of 2D game engine design, including how different assets can be manipulated, interpolated, translated, and layered to give the effect of motion and depth to a scene. I feel as though many people don't realize video games have two coordinate systems: screen space, and world space. This game gives a great example of how a playable character's position in the screen space is fixed, but the world around the character is not because only the world moves, not the sprite you're 'moving'. Adding sounds, dynamic level sprites and character sprites was all good fun as well. Above all this was a great stepping stone in my journey to becoming a better developer, albeit a rough one since my code lacked specific design patterns, generic typing, modularity, and loosely coupled logic between my game logic and UI logic. But, in the end I've learned magnitudes more and I can now identify what I was missing, and that's something all good developers must know: how to problem solve and analyze what makes a solution better than another that also works.

Instructions on how to install the game:

1.) Download the FlappyBird.jar file

2.) (Optional) Unpack the downloaded file, or move it to a directory that you can easily access

3.) Double tap the jar file to run the application

4.) Start playing!

Instructions on how to play the game:

  • To start you can either press the spacebar or right click your mouse / touch pad.
  • Use either to control the bird and avoid obstacles
  • Try to avoid obstacles for as long as possible to see how high you can get your score to
  • Rinse and repeat until your claim your next high score

Features:

  • Awesome 2D graphics
  • Cool sound design
  • Dynamic characters switching
  • Dynamic day and night level switching after game over
  • Parabolic simulated physics
  • Smooth 60 Hz refresh rate
  • Multiple input controls (spacebar, touch pad / mouse, up arrow key, and or w key)

Game Demo:

flappyBirdJavaEditionDemo.mp4

About

A fun little bare bones recreation of Flappy Bird in Java I did back in 2020. The application's screen dimensions simulate that of an actual mobile device to mimic the original.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages