command
module
Version:
v1.0.1
Opens a new window with list of versions in this module.
Published: Sep 28, 2025
License: MIT
Opens a new window with license information.
Imports: 6
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
¶
Go Invaders Space!
A simple Space Invaders-style game written in Go for the terminal.
 |
| Game demo, played on terminal, recorded using asciinema |
Features
- Playable in the terminal (cross-platform)
- Move your ship left/right and shoot aliens
- Aliens move and shoot back
- Score tracking
- Game over and restart functionality
Controls
a or Left Arrow: Move left
d or Right Arrow: Move right
- Spacebar: Shoot
q: Quit
r: Restart (after game over)
Requirements
- Go 1.16 or newer
- Terminal/console with basic ANSI support
How to Run
-
Clone or download this repository.
git clone https://github.com/ahmad-alkadri/go-invaders-space.git
-
Open a terminal in the project directory and run.
go run main.go
-
Alternatively, you can build it:
go build -o go-invaders-space
./go-invaders-space
Notes
- Tested extensively on
bash, not yet on Windows
- Uses the eiannone/keyboard package for keyboard input.
Releases and Installers
- Automated packaging is configured via GoReleaser.
- On Linux, .deb and .rpm packages are created.
- On Windows and Linux, prebuilt archives (zip/tar.gz) are uploaded.
How to trigger a release (GitHub Actions)
- Go to the Actions tab, open the "Release" workflow, click "Run workflow".
- Enter a new tag like
v1.0.0 and run. The workflow will tag and publish a release with artifacts.
- Alternatively, push a tag
v* to trigger the workflow automatically.
Run GoReleaser locally (optional)
Requirements: Go and GoReleaser installed.
# snapshot build without publishing
goreleaser release --snapshot --clean
Enjoy blasting some aliens!
Documentation
¶
There is no documentation for this package.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.