F18: Flappy Bird
Contents
Grading Criteria
- How well is Software & Hardware Design described?
- How well can this report be used to reproduce this project?
- Code Quality
- Overall Report Quality:
- Software Block Diagrams
- Hardware Block Diagrams
- Schematic Quality
- Quality of technical challenge and solutions adopted.
Project Title
Flappy Bird
Abstract
Flappy Bird is a fun and intuitive mobile game on Android platform driving a lot of people crazy these days. In this game, the player can control the vertical movement of the bird that is pressing on the button makes the bird leap upward for a little bit, and the bird will fall freely without control. In the proposed game design, as soon as the game begins, obstacles will keep appearing from the right side of the screen and moving leftwards which will make bird seem to be flying in the forward direction. The goal of this game would be to control the bird, dodging and passing it through an incoming obstacle with as many obstacles as possible. The will run endlessly until bird hit the obstacle, ground or ceiling. At the beginning of the game, the player is acknowledged of the controls, rules as well as the highest score that they have to beat. Once the Bird is unable to beat the last obstacle, the game is concluded and the score for that session is displayed.
Objectives & Introduction
Flappy Bird was designed as a 2D game with simplicity in mind. Hence the primary objective was to develop a game that was a breeze to use for the end user. The push button interfaced with SJ One board acts as an interface between the user and the device which enables the control of the movement of the bird and helps it maneuver and skip the incoming obstacles. The bird continues to gradually descend and reach the bottom of the screen unless an input from the user helps it to fly upwards. The signals received from the button are relayed to the micro controller form the General Purpose I/O Pins. This input is read repeatedly and based on which the x co-ordinate of the bird gets incremented. In parallel the Obstacles are generated with random varying gaps for the bird to pass through them. The game is especially challenging when the user has take care of not letting the bird escape the screen space as well as dodging as many obstacles as possible in order to beat the high score. However, if the either of the challenges are not tackled, the game finishes and displays the current score. There are three components to the entire project:
- 1. The Display : A 32x32 LED Display Matrix acts as the display of the game which is handled using the in-built GPIO pins provided by the manufacturer
- 2. The Controller : The SJ One Board computes the random obstacle generation and handles the movement of the bird from the input button and transfers the information to the display using the GPIO pins
- 3 The Button : The push button interfaced with the game reads the input given by the user and relays to the SJ One board
Team Members & Responsibilities
- Karan Daryani
- PCB Layout Designing
- Obstacle generation driver design
- Artik Shetty
- Bird generation driver design
- Hardware and Product enclosure design
- Mahesh Shinde
- Managing Wiki page
- Collision detection driver design
- Rachit Mathur
- Code Integration(overall tasks integration)
- Switch control implementation
Schedule
Week# | Date | Task | Status | Actual Completion Date |
---|---|---|---|---|
1 | 09/18/2018 |
|
|
|
2 | 10/9/2018 |
|
|
|
3 | 10/16/2018 |
|
|
|
4 | 10/23/2018 |
|
|
|
5 | 10/30/2018 |
|
|
|
6 | 11/06/2018 |
|
|
|
7 | 11/13/18 |
|
|
|
8 | 11/20/18 |
|
|
|
9 | 11/27/18 |
|
|
|
10 | 12/04/18 |
|
|
|
11 | 12/08/18 |
|
|
|
Parts List & Cost
Item# | Part | Manufacturer | Quantity | Cost($) |
---|---|---|---|---|
1 | SJ One Board | Preet | 1 | 80.00 |
2 | Adafruit RGB LED Matrix | LED Matrix | 1 | 62.00 |
3 | Power Adapter | Power Supply | 1 | 7.95 |
4 | JLC PCB | JLC PCB | 1 | 22.00 |
6 | Miscellaneous (Jumper Wires, Connectors, Switches) | Excess Solution | 2.00 |
- Total Cost: $173.95
Design & Implementation
The block diagram for the project given below depicts the flow of the game
</td> <td> </td> |