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.

