ARM11 Group Project: Snake

Created: 25th June 2018

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.

Videos

Classic Mode

Crazy Mode

Maze Mode

AI Timelapse