go-invaders-space

command module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 28, 2025 License: MIT Imports: 6 Imported by: 0

README

Go Invaders Space!

A simple Space Invaders-style game written in Go for the terminal.

invaders
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

  1. Clone or download this repository.

    git clone https://github.com/ahmad-alkadri/go-invaders-space.git
    
  2. Open a terminal in the project directory and run.

    go run main.go
    
  3. 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)
  1. Go to the Actions tab, open the "Release" workflow, click "Run workflow".
  2. Enter a new tag like v1.0.0 and run. The workflow will tag and publish a release with artifacts.
  3. 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

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL