Go Space

This project is a prototype for a future tutorial series I plan to create. I am learning and practicing the basics of the Ebiten game library for the Go programming language so that I can teach others how to make a simple game. The proposed game is a simple arcade Shoot ’em up (“SHMUP”) where the player pilots a spaceship that must shoot enemies, dodge enemies and bullets, collect powerups, and ultimately get through a few levels.

I will post progress updates on this README file, in addition to tracking key concepts that I need to implement.

To Do

  • Generate a Hello World in Ebiten
  • Create a player character with movement
  • Create an enemy
  • Make the enemy move
  • Implement collisions between the player and enemies
  • Implement player shooting mechanic
  • Implement collisions between enemies and bullets
  • Implement enemy shooting
  • Create 2-3 alternate enemies
  • Create a main menu screen
  • Create a death screen
  • Add sound effects



  • Refactored code. Can now draw and update directly from each object.
  • Created ship struct in ship.go.
  • Created an enemies array that holds enemies and draw them to screen.

Initial installation and test of the Ebiten package appears to be working. The library reminds me of other libraries I have worked with before, such as PyGame with Python and Phaser with JavaScript. I created a player character with horizontal movement.


View Github