Programming Flappy Bird in Java! (Full Tutorial)

///Programming Flappy Bird in Java! (Full Tutorial)

Programming Flappy Bird in Java! (Full Tutorial)

FavoriteLoadingAdd to favorites

In this video, we program Flappy Bird in Java, in a very simplistic form!
Be sure to leave a like, and subscribe for more!


Download my version of Flappy Bird!

Look at the source code over on github!

Hey everyone! Users 00WhiteBlade, Adeyemi Ibijemilusi have requested for me to create a side scrolling game, so I’ve done it!

By |2017-05-09T19:53:28+00:00May 9th, 2017|Java Video Tutorials|50 Comments


  1. WoodrowWaffles May 9, 2017 at 7:53 pm - Reply

    How do you do that screen draw thing? My Eclipse doesn’t have it

  2. Trakkos May 9, 2017 at 7:54 pm - Reply

    You should increase the text size, it’s hard to read

  3. alexsXe May 9, 2017 at 7:55 pm - Reply

    thanks man!!

  4. Mustafa Gulam May 9, 2017 at 7:59 pm - Reply

    Hey Jaryt I think you’re a really good teacher could you help me learn coding over Skype I would really appreciate this.

  5. serralath May 9, 2017 at 7:59 pm - Reply

    Hello Jaryt!
    Thank you very much for this Tutorial! It helped a lot to get used to Java.
    Im currently trying to add a "Pause"-Mode which occurs when I press Escape – is there a simple way to do this?
    My way was to implement a new Method called pause(), which sets the speed-variable of the columns to 0. But how to freeze the y-coordinate of the bird?

  6. George Cooper May 9, 2017 at 8:01 pm - Reply

    Here is a flappy bird programmed in python:

  7. Rishi Dholliwar May 9, 2017 at 8:04 pm - Reply

    thanks for the tutorial

  8. Hmm... May 9, 2017 at 8:05 pm - Reply

    Static doesnt mean it can be accessed by any class… that is public. Static means that only one instance of a static field exist….

  9. itsthecrazytom May 9, 2017 at 8:06 pm - Reply

    This helped me create my first Graphical Java application, thank you sir! A subscription well earned 🙂

  10. Totally Anonymous May 9, 2017 at 8:10 pm - Reply

    He is one clever Bustard!!!

  11. Life Hacks des Alltags May 9, 2017 at 8:10 pm - Reply

    Hello, I’ve got a (big) problem, when I make the speed from 10 to 13 or 15 or… then the counter(score) doesen’t work right
    It’s going, but wrong…

    *Sorry for my bad english
    I hope you knew, what I mean

    Pls answer soon,

    Thank you 😉

  12. Issa M May 9, 2017 at 8:13 pm - Reply

    Am I the only one having problems with the intersects method? What could be another way to write this?

  13. Rafael Vieira May 9, 2017 at 8:15 pm - Reply


  14. Đặng Thái Dương May 9, 2017 at 8:16 pm - Reply

    code game error

  15. Shashank Borse May 9, 2017 at 8:17 pm - Reply

    Awesome video learnt alot from this video. I just wanted to know what if i want to put an image in the background and instead of the columns a image of poles or something like that what i need to do in this same program. Appreciate your help.

  16. Vermillion Rsps May 9, 2017 at 8:22 pm - Reply

    I appreciate this So much man thank you! First video i actually finished i’m still having some hard time understanding some of the codes but only because i have not done much work with it but thank you for taking your time to upload the video much much appreciated!

  17. Drodus May 9, 2017 at 8:22 pm - Reply

    "I could probably go on for a while" *Dies at 6*

  18. UlTiMaTeSh0tZ May 9, 2017 at 8:23 pm - Reply

    Could you help me, i’ve made the high score feature work fine, but say if the bird hits a top pipe and it travels through, the game is technically over but because it traveled through the pipe it is adding +1 to the score

  19. allen johnson May 9, 2017 at 8:24 pm - Reply

    Hey Jaryt,
    i copied the program exactly the same way till that renderer class and when i type that line where renderer class extends JPanel it shows errors :
    1)The hierarchy of the type Renderer is inconsistent
    2)The type javax.swing.JComponent cannot be resolved. It is indirectly referenced from
    required .class files
    how do i resolve these??
    also the jre you are using is JAVA SE-1.7 and I’m using jre1.8.0_66. Is the error because of that??
    Eitherways..please help me clear these errors. Thanks.

  20. Leo Garza May 9, 2017 at 8:24 pm - Reply

    This might be a little personal, but how old are you? You look very young.

  21. JiHo Han May 9, 2017 at 8:26 pm - Reply

    What is the shortcut for opening the Window.class?

  22. Y4b1 May 9, 2017 at 8:28 pm - Reply

    is this object oriented programming?

  23. Ibrahim Berber May 9, 2017 at 8:29 pm - Reply

    Thank you so much!

  24. Frixoe May 9, 2017 at 8:29 pm - Reply

    I don’t think you’re aware of the "else if" statement as I saw you do this:
    } else {
    if (condition) {

  25. Shahzeb Ali May 9, 2017 at 8:30 pm - Reply

    can u make columns using a recursive function.

  26. Noctis Lucis May 9, 2017 at 8:30 pm - Reply

    those fuking explainings, man who comes here has a bit of an ideea about java , so i didn’t get the point of those long comments……

  27. Mindboggler123 May 9, 2017 at 8:31 pm - Reply

    I have gotten to the step where you make the columns move but my columns arent showing up, any idea as to what could be wrong?

  28. Ben Chew May 9, 2017 at 8:31 pm - Reply

    Score count doesn’t work anymore if "int speed" is set to 20 or above. Stays at 0. Why?
    Using exact same source code from github.

  29. Y4b1 May 9, 2017 at 8:32 pm - Reply

    Can someone explain the code to get the rectangles in a continuous loop

  30. Mindboggler123 May 9, 2017 at 8:33 pm - Reply

    I am getting an error at ‘if (start)’ saying "cannot find symbol- variable start" what am I doing wrong?

  31. EGGaming May 9, 2017 at 8:34 pm - Reply

    I try to learn java but i struggle a lot. It was easy to learn the very basics of java. Now i want to keep learning but its hard. I am still in high school and i dont learn programming at school so i have to do it in my own at home. Is there anyone that can give advise to me? And btw i have a question for you Jaryt Bustard. How did you learn to code? I would like to know.

  32. ThatJuangamer May 9, 2017 at 8:35 pm - Reply

    i cant hear shit

  33. Perginese May 9, 2017 at 8:36 pm - Reply

    hey guys, can anyone please explain me this part of the code cause a did not understand it at all…:
    if (start)
    columns.add(new Rectangle(WIDTH + width + columns.size() * 300, HEIGHT – height – 120, width, height));
    columns.add(new Rectangle(WIDTH + width + columns.size() – 1 * 300, 0, WIDTH, HEIGHT – height – space));
    columns.add(new Rectangle(columns.get(columns.size() – 1).x + 600, HEIGHT – height – 120, width, height));
    columns.add(new Rectangle(columns.get(columns.size() – 2).x + 600, 0, WIDTH, HEIGHT – height – space));

  34. Hadermite May 9, 2017 at 8:36 pm - Reply

    Actually, you’re not supposed to do "onewordNextword" in package names in Java, you should do "oneword_nextword" 🙂

  35. shahana alam May 9, 2017 at 8:37 pm - Reply


  36. mandy ronald May 9, 2017 at 8:38 pm - Reply

    thanks for the tutorial , .
    but please always make ur texts bigger. I can’t read anything or even watch from my phone ,! thanks

  37. Muhammedh Nafees May 9, 2017 at 8:41 pm - Reply

    I love your explanation bro… keep it up, we are expect more from you

  38. Alaa Ghannam May 9, 2017 at 8:41 pm - Reply

    You remind me of my instructor, poor you and him xD
    he recorded the whole thing to notice at last the audio wasn’t recording as well… but THANKS MAN!

    I really like programming and programmers <3

  39. Александр Борисов May 9, 2017 at 8:41 pm - Reply

    speak clearly. don’t swallow the words

  40. zardasht awat May 9, 2017 at 8:43 pm - Reply

    hi jaryt did you study any programming languages course ?

  41. CrazyStuffToday Productions May 9, 2017 at 8:45 pm - Reply

    Hey i followed everything and it looks fine, but in the console i get this (& doesnt run)

    Exception in thread "main" java.lang.NullPointerException
    at gama.Gama.addColumn(
    at gama.Gama.<init>(
    at gama.Gama.main(

  42. Grim May 9, 2017 at 8:47 pm - Reply

    For me the bird always spawns at the bottom of the screen/top of the grass. So the variabel gameOver is always true. pls help?

  43. Mitch Rehaume May 9, 2017 at 8:48 pm - Reply

    You know how to program but you’re fucking clueless on how to zoom on screen capturing software. WTF man?

  44. ashretro epic May 9, 2017 at 8:48 pm - Reply

    flappy bird?

  45. RAJENDRA SHRESTHA May 9, 2017 at 8:49 pm - Reply

    really helpful! please try to increase the font size next time when you do a video. It will be easily visible.

  46. Angel Cruz May 9, 2017 at 8:49 pm - Reply

    si me entiendes que bien bro neta muchas gracias por este codigo base me servira de mucho!!

  47. Ayoub Bidari May 9, 2017 at 8:50 pm - Reply

    good job bro I’m still confusing about the code I wanna really to resolve it

  48. Sentenced May 9, 2017 at 8:50 pm - Reply

    If you’re going to use keyboard shortcuts / hotkeys, please tell us what you’re pressing.

  49. Đặng Thái Dương May 9, 2017 at 8:51 pm - Reply

    code game ?

  50. Ricky Septian May 9, 2017 at 8:52 pm - Reply

    What if im using neatbeans as a compiler. is that just the same like eclipse?

Leave A Comment