https://github.com/berkbavas/breakout
2D Continuous Collision Detection Algorithm Between Circle and Line Segment
https://github.com/berkbavas/breakout
2d-game 2d-physics analytic-geometry bouncing-ball bouncy-ball breakout continuous-collision-detection dx-ball dx-ball-game java javafx linear-algebra
Last synced: 2 months ago
JSON representation
2D Continuous Collision Detection Algorithm Between Circle and Line Segment
- Host: GitHub
- URL: https://github.com/berkbavas/breakout
- Owner: berkbavas
- Created: 2021-11-05T18:58:30.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-09-20T20:37:56.000Z (over 1 year ago)
- Last Synced: 2025-01-05T13:11:04.878Z (12 months ago)
- Topics: 2d-game, 2d-physics, analytic-geometry, bouncing-ball, bouncy-ball, breakout, continuous-collision-detection, dx-ball, dx-ball-game, java, javafx, linear-algebra
- Language: Java
- Homepage:
- Size: 442 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Breakout
Breakout is a Java-based 2D game engine and demo featuring continuous collision detection between circles and line segments. It includes a simple bouncing ball physics engine and can be used as a library for building classic games like Breakout.
## Features
- Continuous collision detection (circle vs. line segment)
- Simple 2D physics engine
- Debugger mode for visualizing collisions and trajectories
- Ready-to-use Breakout game demo
## Getting Started
### Prerequisites
- Java 17 or higher
- Maven
### Build & Run
Clone the repository and use Maven to build and run:
```sh
mvn clean install
```
#### Run Debugger
```sh
mvn javafx:run -Pdebugger
```
#### Run Breakout
```sh
mvn javafx:run -Pbreakout
```
## Demo
[Debugger](https://github.com/user-attachments/assets/62305376-e13d-450e-813e-401cba68d1da)
[Breakout](https://github.com/user-attachments/assets/a72b0965-f39b-416f-b196-5c04f24f3f87)
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.