morcmarc / gosteroids

Asteroids clone built in Go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Asteroids clone built in Go


Languages

Language:Go 80.7%Language:GLSL 19.0%Language:Makefile 0.2%