Vector Breakout clone written in Java
Find a file
2025-03-26 01:33:15 +00:00
src/main/java/dev/boyfailure/quajra/vectorbreakout Text objects 2025-03-26 01:33:15 +00:00
.gitignore Look on my Works, ye Mighty, and despair! 2025-03-23 22:40:27 +00:00
LICENSE Added Apache License 2.0 2025-03-23 23:27:32 +00:00
pom.xml Look on my Works, ye Mighty, and despair! 2025-03-23 22:40:27 +00:00
README.md Remediated The Brick Problem, levels, rudimentary particle effects 2025-03-25 01:49:04 +00:00

Vector Breakout

A clone of Breakout built using swing/awt in Java

Very early proof of concept for a "vector graphics engine" for arcade style games. Eventual plans to create a real vector graphics game engine, potentially using LWJGL, once I have enough knowledge and experience.

Caveat emptor: I am a very novice programmer, and you might gag a bit when you see my code...

The repository as is is built with JDK 21, but I am testing the code as far back as JDK 1.5.


CONTROLS

  • Arrow keys (left and right): Move the paddle
  • Space: Spawn a ball
  • Enter: Pause
  • Escape: Debug menu

These controls may change, and I may add a controls config in the future.


TODO

  • Improve ball collision
    • "Path-casting" (for lack of a better term) for ball collision
      • The idea is to change ball collision to instead check if a brick/paddle/etc will be in its path in the next frame, and if so, execute the collision instructions
    • Bouncing horizontally off the sides of bricks
  • Implement levels as their own class
    • Each level will have unique properties, like varying playfield width, brick count/layouts, etc
    • Will be much better than just the single hardcoded level and each individual brick being put into an array

ISSUES

  • Ball sometimes passes through paddle, or gets stuck in right wall
    • This should be fixed with the aforementioned collision changes once I get to that

I AM AWARE THAT:

  • I could use a switch statement for the score/lives/level display. However, I want backwards compatability because I'm a silly nerd :3, and JDK 1.5 doesn't support passing a split string through a switch statement. If there is a better way to get the individual digits, please let me know.