LAByrinth was written for the final lab project of SE101, Introduction to Methods of Software Engineering. It features both the use of I2C serial communication to interact with the accelerometer and parallel communication in order to interact with the switches, buttons and the analog-to-digital converter.
The only requirements given for this project were that it had to revolve around an Arduino clone, the TI C Series Launchpad, and the extension-module, the Digilent Orbit Boosterpack. The Boosterpack came with an accelerometer, potentiometer, various buttons and switches, and a display.
In this project, a digital clone of a popular tabletop game, Labyrinth, was created. A "ball" is rolled around by a user whose goal is to navigate the ball to the finish without hitting any pitfall which will cause a player to lose.
There were many challenges faced during this project. At first, not all members were familiar with the tools and technologies that were used in this project. As a result, the first few meetings were spent familiarising everyone with what was being used.
In addition, there was very little documentation on the usage of the Boosterpack. The only documentation provided was badly commented example code. As a result, creating the abstraction layer for the hardware took many hours of trial and error.
- Randomly generate maps instead of using hard-coded maps.
- Organise file-structure in order to group files more logically (such as by hardware, gamelogic, etc).