Asteroids clone built in Go
Go GLSL Makefile
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Godeps
assets
game
.gitignore
Makefile
gosteroids.gif
main.go
readme.md

readme.md

Gosteroids

Asteroids clone built in Go, a tribute to rusteroids

Current state

Gosteroids

Installing

Run-time dependencies:

Note: on Mac, make sure you install libogg and libvorbis first, otherwise homebrew will compile sdl without Ogg support and you'll miss the tune :(

  • gl
  • glfw3
  • ogg
  • vorbis
  • sdl2
  • sdl2_mixer

All compile-time dependencies can be installed via Godep:

$ godep restore

Compiling

To compile run:

$ make install

This will create the executable binary in the root folder.

Running

Make sure you're in the project root folder as the binary have to load in the shader files.

$ ./gosteroids

Less resource-heavy:

$ ./gosteroids -bg=0

Controls

  • Throttle (UP)
  • Break (DOWN)
  • Turn left (LEFT)
  • Turn right (RIGHT)
  • Fire (SPACE)

Misc Controls

  • Restart (R)
  • Mute music (M)
  • Volume down (-)
  • Volume up (=)
  • Quit (ESC)

Usage

Usage of ./gosteroids:
  -bg=1: Background quality (0: low, 1: med, 2: high)
  -h=512: Height
  -w=512: Width

Roadmap

  • Replace GLFW3 with SDL2 for less run-time dependencies
  • Use FBO instead of direct rendering and add post-processing effects
  • Replace primitive collision detection with SAT
  • Refactor scene object
  • Fine tune firing rate
  • Game over animation
  • Menu and HUD