- Defend the datastream from the incoming obstacles!
- Use ARROW KEYS to move and press/hold SPACE to shoot
- You can shoot down the obstacles to gain money
- Use the money to buy health and upgrades (press F)
- Shooting also costs a small amount of money
- You'll lose health if you collide with an enemy
- You'll also lose health when enemies reach the top
Hint: Don't forget to get upgrades and health!
Mobile controls are not implemented due to lack of time, so desktop only.
This game uses zengl to render with OpenGL/WebGL, webwindow for Pyscript window and input handling, pygame-ce for utility functions like collisions and image loading (+ audio and window when running natively), and numpy for data manipulation.
Image assets were generated with DALL*E 3, music generated with SUNO, sfx created with JSFXR, font from https://fonts.google.com/. The shader code for the background was adapted from/inspired this shadertoy contribution
You can also checkout the repo to run locally.
To run in local browser:
python -m http.server -d .
Then navigate to http://localhost:8000/ (internet connection required still for dependencies)
Or run natively:
pip install zengl pygame-ce numpy
python -m main