Asteroid Navigator is a dynamic 2D space shooter made with JavaFX, where the player pilots a spaceship and shoots down asteroids in a fully interactive environment. The game features free movement, real-time aiming with the mouse, animated space backgrounds, and customizable controls.
-
Controls:
- Move – with the keyboard (fully rebindable keys)
- Aim – rotate towards the mouse cursor
- Shoot – left-click in the direction of the cursor
-
Mechanics:
- Asteroids use convex hulls for accurate hit detection (1:1 with visible shapes)
- Collision detection is fully geometric
- Pause menu allows adjusting settings mid-game
-
Options:
- Key rebinding (no fixed presets – fully editable)
- Window resolution presets
- Animated GIF backgrounds (space-themed)
- Music and sound effects
- Main menu with settings
- Free movement and shooting mechanics in all directions
- Realistic geometry-based collisions
- Customizable input and resolution settings
- Dynamic animated backgrounds and in-game music
- Polished menu interface with pause functionality
📦 Asteroid-Navigator/
┣ .idea/ – IDE configuration files
┣ .mvn/wrapper/ – Maven wrapper
┣ src/
┃ ┗ main/
┃ ┣ java/
┃ ┃ ┗ org/example/geometryproject/
┃ ┃ ┣ controller/ – FXML controllers
┃ ┃ ┣ core/ – Main game logic (ship, asteroids, bullets)
┃ ┃ ┣ main/ – Game launcher and settings manager
┃ ┃ ┗ utilities/ – Utilities like collision detection, points, etc.
┃ ┗ resources/
┃ ┣ css/ – CSS styles
┃ ┣ fxml/ – FXML UI layout files
┃ ┣ music/ – Background music
┃ ┗ textures/ – Sprites for ships, asteroids, etc.
┗ target/ – Maven output (after build)
- The project uses JavaFX, with bundled resources for cross-platform support.
- Geometry and collisions are handled precisely, making the experience more immersive and fair.

