At the end of the first year at Imperial, students work in teams of 4 to complete a group project. The first 3 parts are the same for every group: implement an ARMv6 emulator, implement an ARMv6 assembler, and use these to make an LED repeatedly turn on and off on a Raspberry Pi.
Each group then works on an extension. My group’s extension was an adaption of the game Snake, which is played on a 32x32 LED matrix and runs on a Raspberry Pi. It consists of 4 modes:
- The Classic mode, which is the normal game.
- The Crazy mode, which adds walls and a power-up food allowing the player to temporarily go through walls.
- The AI mode. where an AI plays.
- The Maze mode where a one-length snake, which can turn back on itself must navigate a maze.
The game has a soundtrack, that we wrote ourselves, and is housed in a box resembling an arcade machine, that we built ourselves.
We won the Most Interesting Extension prize, which was judged by representatives from the Raspberry Pi Foundation.