DEV Community


Posted on

The Breakout [Catastrophe?] Project

My Final Project

For my final few weeks in my programming class I recreated most of the game Breakout. [we were only taught the very basics of java, but luckily, you don't need someone to teach you something to learn it!] I didn't have enough time to finish it to my liking, we had about 36 hours total to work on it. My final code ended up not having a game win screen, nor a title screen.

Demo Link

You can download the compiled jar here.

Source Code

GitHub logo linktlh / JavaBreakOut

A rather sad final project in java


This repo contains my final which I had about 36 hours to spend on. (4 hours a week)
Over the course of creating this project the main thing I struggled with, and am not proud of Is collisions. Collisions are just such a nightmare, and if you look at the code I doubt it makes sense to ANYONE.

Feel free to submit an issue if you want to provide constructive critizism I'm always open to learning new things. such as breaking some sort of java standard etc. I am aware java swing is a poor choice for graphics, however, I had little time to go and learn javafx or the like.

Over all, it was more of a project for fun and to try to follow some standards!

Just Exploring my Repos?

If you're just exploring my repos, this is not something I'm very proud of However,…

How I built it

I over the progress of about 9 weeks, 4 hours each week; 1st planned out what I was going to do, then took that plan and wrote the code. Time efficiency was crucial due to the lack of time I had. In the small amount of time I got to learn about Timer, KeyBinds, and ActionListened (which kinda ties into the previous two). While my code may not be exactly pretty, I'm rather happy with the amount of progress I made in the short amount of time I had to work with.

Additional Thoughts / Feelings / Stories

While creating the project, it went very smoothly. I created a rudimentary collisions system which worked exactly how I would imagine. However, once I started implementing horizontal movement.. that's where collisions went horrible. I originally had only been checking the bottom/top of the block, however, after adding x movement, I had to add checks for the left and right of the block. TO THIS DAY I have no clue how to properly implement collisions correctly. I spent a frustrating amount of time on collisions, having to throw things such as Titlescreen, and other features out the window due to time. I was always told that "collisions would be your nightmare", but I never understood that phrase until now.

Top comments (0)