A high-performance JavaFX-based space shooter game featuring dynamic difficulty, ship upgrades, and intense arcade action.
- Dynamic Difficulty: Levels increase in complexity with faster aliens and challenging patterns.
- Ship Progression: Upgrade your ship from Alpha to Blaze as you score higher and survive longer.
- Alpha: Balanced starter ship.
- Spectra: Enhanced firepower.
- Fury: Aggressive multi-shot capabilities.
- Blaze: Ultimate destructive power.
- Advanced Combat:
- Combo System: Chain kills to multiply your score.
- Strategic Enemies: Four distinct alien types with unique behaviors.
- Lives & Health: Manage your lives carefully to survive the waves.
- Modern Tech Stack: Built with Java 23 and JavaFX 23 for optimal performance.
| Alpha | Spectra | Fury | Blaze |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| Crusher | Phantom | Specter | Toxin |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
The game supports both keyboard and mouse controls (selectable in the menu).
- Movement:
←(Left Arrow) and→(Right Arrow) - Fire:
Space - Pause:
P - Restart:
R(When Game Over) - Main Menu:
ESC
- Java Development Kit (JDK): Version 23 or later.
- Maven: Version 3.8 or later.
-
Clone the repository:
git clone https://github.com/amyndev/space-invaders/
-
Run the application using Maven:
mvn clean javafx:run
src/main/java: Source code organized by functionality.src/main/resources: Game assets (images, sounds, FXML views).pom.xml: Maven project configuration.








