Unity Game School portfolio : Angry Birds (Production time : 4 days)
- Re-familiarize myself with Unity
- Apply what I learned in class
- Manage and use hash values as static readonly data
- Manage objects with C# List
- Manage UI structure (using
transform.Find, onClick.AddListener
) - Optimize (
rigidbody.velocitiy.sqrMagnitude
)
- Using advanced syntax
- Managing logic with Delegates
- Using Lambda Expressions
- Using Cinemachine
- Consolidate data related to Bird into a Dictionary and manage it in the inspector
- Remove Switch statements using Enum
- Created by hand with AIVA
- Prompts : not heavy, fun, old west
- Theme : heavy rock ensemble
- Some direct modifications afterward for a natural loop
- External link
- 2D Angry Birds used for the button UI in the bottom right corner were taken and shared by a student at Unity Game School
- Cartton FX Remaster Free Asset Store (Free)
- Low Poly Fire Asset Store (Free)
- Low Poly Atmospheric Locations Pack Asset Store (Free)
- FREE Skybox Extended Shader Asset Store (Free)
- Map stages are placed by hand
- UI Ultimate Clean GUI Pack Asset Store (Paid)
- When the user presses the UI in the bottom right, the corresponding bird is added to the spawn list (top left toggle)
- Birds are created in order, and when one flies away, the next one is created.
- The yellow, black, and blue birds each have a skill and can be used by left-clicking while flying.
- Since we are creating birds dynamically, we have the data we need to do so.
- We use
Resources.Load
to get the bird prefab as a static structure and use it to create the bird. - The
BirdColor
class andBirdType
enumeration are used to interact with the created bird objects. (sounds, effects, etc.) - Use the Queue structure to manage the creation of birds.
- Uses a Queue structure to manage the toggle (list of birds to create).
- We need a parameter for the function to pass to the AddListener, so we wrapped it in a lambda expression once and then added it.
- Each time a bird is created, we move the toggle one space to the left.
- The default script attached to each bird's prefab. It is responsible for functions related to the behavior of throwing the bird. (before, during, and after flight).
- Checks the status of the bird using the bird's tags and releases it.
- Shows the expected path to the user in advance. The objects displayed as paths are created with Instantiate and managed with List.