ARM11 Group Project: Snake

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.