Twin Stick Shooter
In Computer Science A-Level, every student is required to do a Non-Exam Assessment (NEA). This is a coursework where you choose a problem and then create a solution along with a document that documents the process.
I wanted to make a retro-style twin-stick shoot-em-up game, heavily inspired by the Journey of The Prairie King minigame in Stardew Valley, and so made up a problem that conveniently required me to do just that. I put a lot of time into this project, creating the game along with a design document, and my work was marked 73/75. Here is my long design document detailing the creation process and the code can be found on my github. I have since learnt better code organisation. Most of the work on this project took place between October 2023 and March 2024 I think.
In the game, players control a completely customisable character, using their gun to fend off waves of enemies that spawn from all sides. Enemies vary in speed, health, and movement patterns, with tougher types appearing later. Randomly dropped items grant temporary boosts and abilities. The goal is to survive as long as possible, score points, and climb up the leaderboards. A local account system lets each player create an account that saves their statistics, high scores, and custom character, while local multiplayer allows two players to team up for combined scores.
I’m very proud of this project. I think the game is well made, well thought out, and can be pretty fun. I made all the art myself using Aseprite, I made sound effects and little jingles using FamiTracker, I’m pretty proud of the design document, and I didn’t use any AI in any of the development (I didn’t really know about it at the time).
skills
- Python
- PyGame
- SQLite
- Aseprite