mirror of
https://codeberg.org/boyfailure/VectorBreakout.git
synced 2025-06-07 23:24:05 +10:00
36 lines
No EOL
1.7 KiB
Markdown
36 lines
No EOL
1.7 KiB
Markdown
# 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 in the future to something more sensible, 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. |