# Build a Space Game A space game to teach advanced JavaScript fundamentals In this lesson, you'll learn how to create your own space game. If you've ever played "Space Invaders," this game follows a similar concept: control a spaceship and shoot at monsters descending from above. Here's what the completed game will look like: ![Finished game](../../../6-space-game/images/pewpew.gif) In these six lessons, you'll learn the following: - **Interact** with the Canvas element to draw objects on the screen - **Understand** the Cartesian coordinate system - **Learn** the Pub-Sub pattern to design a game architecture that's easier to maintain and expand - **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 project are from https://www.kenney.nl/. If you're interested in game development, they offer excellent assets—many are free, and some are paid. --- **Disclaimer**: This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we aim for accuracy, please note that automated translations may include errors or inaccuracies. The original document in its native language should be regarded as the authoritative source. For critical information, professional human translation is advised. We are not responsible for any misunderstandings or misinterpretations resulting from the use of this translation.