# Build a Space Game

A space game to teach more advanced JavaScript fundamentals

In this lesson you will learn how to build your own space game. If you've ever played the game "Space Invaders", this game has the same idea: to steer a spaceship and fire on monsters that come down from above. Here's what the finished game will look like:

![Finished game](images/pewpew.gif)

In these six lessons you will learn the following:

- **Interact** with the Canvas element to draw things on a screen
- **Understand** the cartesian coordinate system
- **Learn** the Pub-Sub pattern to create sound game architecture that's easier to maintain and extend
- **Leverage** Async/Await to load game resources
- **Handle** keyboard events

## Overview

- Theory
   - [Introduction to building games with JavaScript](1-introduction/README.md)
- Practice
   - [Drawing to canvas](2-drawing-to-canvas/README.md)
   - [Moving elements around the screen](3-moving-elements-around/README.md)
   - [Collision detection](4-collision-detection/README.md)
   - [Keeping score](5-keeping-score/README.md)
   - [Ending and restarting the game](6-end-condition/README.md)

## Credits

The assets used for this came from https://www.kenney.nl/. 
If you are into building games, these are some seriously good assets, a lot is free and some are paid. 
