Invaders is an open source terminal arcade game with audio, based off of the "Space Invaders" classic arcade game.
This game was initially developed for a presentation at OSCON Open Source Software Superstream Series: Live Coding—Go, Rust, and Python and then adapted for inclusion as an example project for the Ultimate Rust Crash Course. The tags part-1
, part-2
, etc. correspond to the various stages of the original presentation.
Since the original presentations, folks continue to tinker and improve the game. Feel free to fork this repository, make a change, and submit a pull request if you have a good idea!
If you want the sound files used in the course video, but don't want to clone the repository, here are all the sounds in two different archive formats (the sound files are the same):
Notice the new path to the sound files used in the course.
It is now under audio
> original
.
All new contributions can be placed under audio
> contributions
.
We have now a new set of instrumental music sound files in MP3 format. You may listen to the sounds on Musescore.com.
Audio should work out-of-the-box on macOS, Windows, and iOS. For Linux, the downstream package for actually playing sound ([CPAL]) requires the Alsa development libraries to be installed.
CentOS
sudo yum install -y alsa-lib-devel
Debian/Ubuntu
sudo apt install libasound2-dev pkg-config
For learning purposes others have started to build other games based on the same structure. If you finish a project yourself, open a PR and it may be considered to be linked here as a motivation or reference for others as well.
All contributions are assumed to be dual-licensed under MIT/Apache-2.
Distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See license/APACHE and license/MIT.
Star this repository and sponsor me to support projects like this. 💖