Skip to content

Frigzer/Geometry-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 

Repository files navigation

🚀 Asteroid Navigator

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.

Main menu

🎮 Gameplay

Gameplay demo

  • 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

✨ Features

  • 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

📁 Project Structure

📦 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)

📌 Notes

  • The project uses JavaFX, with bundled resources for cross-platform support.
  • Geometry and collisions are handled precisely, making the experience more immersive and fair.

About

Final project for "Computional geometry" classes

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors