Project: Angry Birds Game Application in Unity with Source Code
About the App
The original Angry Birds has several game objects: birds, pigs, blocks, TNTs, and other miscellaneous objects used mainly for decoration. There are several types of birds, and they vary in color and size. Some of them have special abilities that are triggered by touching the screen after a shot. The game also has different types of pigs, each of which has a different size and “health” points. Blocks have different materials, what impact their physical properties and “health points.” TNTs are used to cause explosions that deal with damage in the area, affecting several blocks and pigs. All these objects are placed on a terrain that can be either wholly flat or complex. Science Birds currently supports only part of these objects:
- Birds
- Red: Regular bird, no special abilities.
- Blue: Splits into three birds when clicked, firm against ice blocks.
- Yellow: Shoots forward at high speed when clicked, firm against woodblocks.
- Black: Explodes when clicked or after impact, firm against stone blocks.
- White: Drops explosive egg when clicked.
- Pigs:
- Small
- Medium
- Large.
- Blocks:
- ice
- stone
- wood.
- TNT
- Terrain
All these objects can be seen at the level shown in the figure above. It has three blocks of each material, three pigs, a TNT block and five birds (one of each type). Moreover, it has two rows of static square platforms floating in the air.
Level Representation
As mentioned before, levels are represented internally using an XML format. This format is composed of several birds and a list of game objects, as shown in Figure 3. Each game object has four attributes:
- Type: a unique string representing the id of the object.
- Material: line defining the content of a block. Valid values are only “wood,” “stone,” and “ice.”
- Position: (x,y) float numbers representing the position of the game object. The origin (0,0) of the coordinates system is the center of the level.
- Rotation: float number that defines the rotation of the game object.
To avoid any conflict in the codes, download the latest of Unity Game Engine. To know more about the connection on Android Studio and Unity, have these docs here.
This mobile app uses Unity as game engine, language used is C#, and the platform is Android.
Download Here