Custom Project Final Report
Table of Contents
Parts List 3
Completed Complexities: 9
Incompleted Complexities: 9
Youtube Link 9
Folder Link 9
Known Bugs and Shortcomings 9
Future work 10
Libraries Used 11
Source Cited 11
Bomberman is a two-dimensional action game where the goal is to find the exit of the level which is hidden by walls before the time limit. The player controls an avatar that moves vertically and horizontally in the level from a top-down perspective. The player can place bombs to blow up walls and enemies in the level. These bombs detonate after a certain amount of time has passed, and the player cannot touch their own bombs if they detonate.
Score is determined by time left over and amount of enemies or walls detonated when the player finishes the level. If the player runs out of time before reaching the door or they touch an enemy, they will lose a life. Losing a life restarts the level. Once a player runs out of lives, they lose the game. Sound and motor vibrator is played for when a bomb detonates. Victory music also plays when the player completes a level or when the game is finished.
Up: Player moves up
Down: Player moves down
Left: Player moves left
Right: Player moves right
B button: Places bomb
Start button: Begins game/ Start new level/ Go to Menu
Select button: Clears high score from EEPROM
L button: Load high score from EEPROM
R button: Read high score from EEPROM
The hardware that was used in this design is listed below. The equipment that was not taught in this course has been bolded.
The next feature I would add would be multiplayer. Multiplayer was originally included in the original proposal, but the idea was scrapped due to the already completed complexities of the project satisfying the requisite amount of complexities. Bomberman is game mostly known for its multiplayer mode, and it would greatly add to the user’s enjoyment. To implement this feature, it would require a seperate state and a rework of how the player struct is handled. For hardware, it would require using the remaining available pins on PINA or PINC. Overall, it would not be a very complicated future development.
Summary: Library creates functions for simpler interfacing with the Nokia 5110 screen.
Link: Provided by instructor
Summary: Library that gets a bit in a char.
Link: Provided by instructor
Summary: Library that sets the ATMega1284’s timer. Used primarily for both timing and state machine.
JChristy. Super Nintendo Entertainment System: pinouts & protocol. GameFAQs, 26 Mar. 1996,
https://gamefaqs.gamespot.com/snes/916396-super-nintendo/faqs/5395. Accessed 27 May 2019.
TechArea. Super Mario Theme Song with Piezo Buzzer and Arduino!. Hackster.io, 20 Nov. 2017, https://www.hackster.io/techarea98/super-mario-theme-song-with-piezo-buzzer-and-arduino-2cc461. Accessed 2 May, 2019.
Bomberman: Sheet Music. NinSheetMusic, https://www.ninsheetmusic.org/browse/series/Bomberman. Accessed 6 June 2019.Source Cited