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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors