3D-Birdy
Abstract
This is a 3D casual game made by Unity3D. And I made this game during the course that I learned in university named Computer Graphic from 01/2021-05/2021.
In this game, player will able to experience a new visual effects. It just like the Flappy Bird but in 3D. The difficulty will also be different because all the obstacles set as random by the code.
It just a casual game, so enjoy the game and try to get a higher score!!!
Brief Description
The player controls a bird which moves forward persistently. The player needs to navigate the bird to dodge or fly through the obstacles with different heights and positions in front of it.
The bird automatically descends and only ascends when the player hits the “Space” key on the keyboard.
The player can also use “A” or “D” keys on the keyboard to control the bird to move left or right. Each successful pass through the obstacles awards the player one point and the game ends if the bird collides with an obstacle or falls down to the ground.
Important reference:
Step-by-step description of all associated challenges
1) Find and download the 3D materials of Flappy Bird, including bird model, background objects. Port the materials into Unity.
2) Design the background, obstructions and bird style.
3) Control the ascent and descent of the bird, and the move direction of the bird.
4) Design the move pattern of the obstructions.
5) The generation of new obstructions and the elimination of obstructions which are passed by the bird.
6) The condition of earning points and ending the game.
7) Design the animation of the bird and some basic game UI including menu and scoreboard.
8) Add sound effects.
Timeline Description (03/21-05/21)
Week 1 (3.1-3.7)
Create a new project and scene in Unity and download materials.
1. Find some bird models online, discuss which one we will use for the game, and then push the selected one into the github repository.
2. Find and download background elements like background images and land texture and discuss which one we will use for the game.
Figure 1: Potential Materials I Downloaded
Week 2 (3.8-3.14)
Design the background and obstacles.
1. Build the game background and set the background image.
2. Design the models of different kinds of obstacles and test them in Unity and adjust their shape in game.
3. Build the basic framework of the game.
Figure 2: The Background of the Game
Week 3 (3.15-3.21)
Control the ascent and descent of the bird, and the move direction of the bird.
1. Test the bird model in Unity and set its initial position.
2. Add a collision rigid body to the bird for preparation of later development.
3. Set the bird weight and the gravity constant so that the bird will automatically descend.
4. Set the move speed of the bird and the horizontal displacement of the bird when hitting the left arrow key and right arrow key.
Figure 3: Add C# Script to Control the Position and the Animation of the Bird
Week 4 (3.22-3.28)
Design the move pattern of the obstructions.
1. Discuss about the possible patterns for different obstructions and come up with the code logic.
2. Add code to implement the movement of various obstructions.
Figure 4: Core code for obstacle random appear
Week 5 (3.29-4.4)
The generation of new obstructions and the elimination of obstructions which are passed by the bird. (detail of obstacle code, see here)
1. Discuss how the obstructions are generated and eliminated and come up with the code logic.
2. Add code to implement the generation of new obstructions.
3. Add code to implement the elimination of the obstructions passed by the bird.
Figure 5: Bird Passing through Obstacles
Week 6 (4.5-4.11)
The condition of earning points and ending the game.
1. Add code to check and increase the score if the bird passes the obstruction.
2. Add code to check if the bird collides with the obstruction.
part of code: add point
Week 7 (4.12-4.18)
Design the animation of the bird and some basic game UI including menu and scoreboard.
1. Add Scoreboard image and score numbers image. Implement the code to let the score show on the scoreboard.
2. Design the main menu and Start button. Implement the function of each button. When the user clicks on the start button, the game starts.
3. Add code to control the Retry button. Similar to the Start button in the main menu.
4. Add the bird’s animation including the animation of ascent and descent.
5. Add the animation of the background. Thus, background can run back and forth repeatedly.
UI controller code
All GameObject that used in UI controller
Week 8 (4.19-4.25)
Add sound effects into the game.
1. Add main menu music.
2. Add In-game music.
3. Add sound effects when the bird hits obstacles.
4. Add new high score music / loss sound.
Audio Manager in Unity and in C# script
Week 9 (4.26-5.2)
Test the whole game and fix possible bugs.
1. Conduct the alpha test and fix found bugs.
2. Find some friends to conduct the beta test, get feedback and make any optimization.
3. Export final version of the game.
Final Game
Game Future
In future, I need to figure out how to add more obstacle into the game. And the most stuff I need to improve is my art skill.
I will learn some art knowledge in the master program. I want to design a brand new style of bird, background and obstacles in the game. It should still keep cartoon but the visual effect will be better.
Maybe I can add 2-4 players mode to let more people to enjoy this game together. For example, control their own birds to pass the level.