pixels/examples/invaders/README.md

28 lines
997 B
Markdown
Raw Normal View History

2019-10-14 12:35:47 +11:00
# Pixel Invaders 👾
![Pixel Invaders](../../img/invaders.png)
The pixels have invaded!
2019-11-07 17:37:16 +11:00
## Running
```bash
cargo run --release --example invaders --features invaders
2019-11-07 17:37:16 +11:00
```
2019-10-14 12:35:47 +11:00
## Controls
<kbd>Left</kbd> <kbd>Right</kbd> Move tank
<kbd>space</kbd> Fire cannon
## Goal
Shoot all of the invaders before they reach Earth and begin a hostile takeover. Be careful, because the entire fleet is coordinated and acts as a hive mind. Their aggression increases as their numbers dwindle.
## Architecture
Pixel Invaders uses the `simple-invaders` crate for all game logic and drawing. Be sure to check out that crate if you are interested in any of the inner workings of the game.
This example is simply glue code that uses `winit` for windowing/event handling and keyboard input. The `winit` event loop is used to drive the `simple-invaders` state and rasterize each frame. Finally, `pixels` takes the rasterized frame buffer and sends it to the screen, optionally through a series of render passes.