VectorBreakout-mirror/README.md

1.7 KiB

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.