Aurora is a simple 2D shooter game built with Golang and the Ebitengine game library. This project is currently in early development with basic gameplay features implemented.
- Basic top-down shooter mechanics
- Player character with movement and shooting
- Extensible weapon system with 4+ weapon types:
- Normal: 5 projectiles, disappear on hit, balanced stats
- Piercing: 2 projectiles, pierce through enemies, faster speed
- Rapid Fire: 8 projectiles, very fast firing, thinner bullets
- Heavy Cannon: 1 projectile, slow but powerful, large bullets
- Simple enemy AI with random movement patterns
- Optimized collision detection with spatial partitioning
- Grazing system for scoring points by narrowly avoiding enemy bullets
- Simple level progression with phases and scenarios
- Togglable hitbox display (press B)
- Background tiles with grass/no-grass variants
To run this game, you need to have Go installed on your machine. You can download it from the official Go website.
-
Clone the repository:
git clone https://github.com/Akaiko1/aurora cd aurora -
Install the dependencies:
go mod tidy
To run the game, execute the following command in your terminal:
go run main.go- Arrow Keys: Move your character
- Space: Shoot projectiles
- B: Toggle hitbox display
- 1: Normal weapon (5 projectiles, balanced)
- 2: Piercing weapon (2 projectiles, pierce enemies)
- 3: Rapid Fire weapon (8 projectiles, very fast)
- 4: Heavy Cannon weapon (1 projectile, slow but powerful)
main.go: The main entry point of the gameinternals/game/: Contains game logic and rendering codeinternals/entities/: Player, enemy, and projectile definitionsinternals/physics/: Simple collision detection with hitboxesinternals/events/: Event handlers for game objectsinternals/inputs/: Image and font loading utilitiesinternals/config/: Game constants like screen size and speedsassets/: Game sprites and fonts
- More enemy types and attack patterns
- Power-ups and special abilities
- Score system improvements
- Sound effects and music
- Menu system and game settings
Contributions are welcome! Feel free to open issues or submit pull requests with improvements or bug fixes.
This project is licensed under the MIT License. See the LICENSE file for details.
