Game Development - Task 4 - Final Project - Playable Game
8/06/2025 - 6/07/2025 (Week8 - Week11)
Teu Yu Tian / 0371923
Application Design 2 | Bachelors of Design (Honour)
in Creative Media | Taylor's University
Task 4: Final Project - Playable
Game
1. INSTRUCTIONS:
- Unity Project files and Folders.
- Video Capture and Presentation of the gameplay walkthrough
- Game WebGL Build
- Blog post for your reflective studies
Progression
We developed a simple prototype in Task 3 for Level 2. For the final project, our goal was to complete two more levels and add UI and audio features to bring the game to life.
We split the workload as follows:
|
- Adding audio effects.
- Setting up the collectibles mechanic.
- Adding the Interact animator for the player (used in Level 3).
- Refining the defend mechanic.
- Helping compile all files from teammates into a single working build.
- Visualise storyline (if we had time)
1. Adding audio sources
Some issues I faced:
-
Silent parts in the audio.
-
Some files were too soft to hear.
-
Some were too fast.
- Used this for player and enemy sounds.
- Modified the script to include a volume slider and loop certain sounds (e.g., player defend sound).
- Used for obstacle, enemy, and player sounds.
- This required modifying existing scripts.
- Melvin added inspector slots so I could attach the correct audio clip directly.
2. Refining Player Animator & Adding Interact Animator
Fix respawn and death
While working on Task 3’s prototype, I noticed:
-
Player did not respawn correctly.
-
When health reached zero, the death animation triggered late and looped.
Using Debug.Log
, I
checked the logic and found the original template’s respawn mechanic
wasn’t called properly after we customized scripts. I moved respawn
and death logic into the
PlayerHealth
script.
Add interact animator
After getting Melvin’s updated file with player health and enemy
scripts (which included a
“J” defend key),
I imported the
Interact
animation spritesheet and animator. I added a parameter
"Interact"
and
modified scripts to trigger it when the button was pressed.
3. Refine collectibles
From Melvin’s setup:
-
Player could collect clovers to increase the timer by 30 seconds.
I modified this to match our original planning:
-
Player first interacts with a “bling” object.
-
The bling randomly spawns 0–3 clovers.
-
Added a pulse animation in the script to make the bling shine and feel more engaging.
From Melvin’s setup:
-
Player could collect clovers to increase the timer by 30 seconds.
I modified this to match our original planning:
-
Player first interacts with a “bling” object.
-
The bling randomly spawns 0–3 clovers.
-
Added a pulse animation in the script to make the bling shine and feel more engaging.
The stage 1 task is done, we had second round task delegation on week 14, for my part, i had to do the storyline illustration and refine defend mechanic and compile all teammates' file in one.
|
4. Defend mechanic
Originally, the defend function didn’t work. I updated it so:
-
Player can block all projectiles (toaster, aircon, flying
books, falling boxes).
-
Player cannot block floor hazards (poop, socks).
I worked with Melvin to:
-
Add knockback effects to flying books when blocked.
-
Implement paper box bounce physics (took some trial and error
because of collider disable timing and fade‑out
effects).
5. Storyline UI Panel & Motion Comic Setup
- I created a rough storyboard based on script written by Yanny.
A glowing astrolabe whirs into view and warns:
“Your bad luck curse is peaking. Clovers are your only lifeline—collect them fast! Every minute your luck drains by one, and at zero… well, you know.”
With the countdown, a panicked Luky jams his shoes onto the wrong feet and sprints out the door in search of his very first clover before fate clocks out......
After scrambling for clovers, dodging a giant pigeon, and shutting down a furious mega aircond, often with only a sliver of luck left—Luky survived!
“Yes! I made it through the whole day!” he gasps, clutching his last clover. WHACK!
A flying book suddenly smacks him squarely on the head, popping the final clover into the air. Luky hits the floor, dazed, but musters a woozy thumbs‑up:
“Guess… I’m still… kinda lucky…” @~@
(Cue one remaining clover fluttering down beside him as the screen fades.)
- Illustration was executed in Adobe Illustrator.
- Imported illustration into Unity and set up UI panels that fade in/out.
- Linked these to “Start” and “End” events so they display at the right moments without breaking gameplay flow.
6. Unity BGM Setup
To manage background music and UI sounds, I used an AudioManager script:
-
Scene‑specific BGMs (e.g., Home screen, Level gameplay, Story scenes).
Button click sounds for all UI elements.
-
Used
DontDestroyOnLoad
to keep music playing across scenes without restarting.
Final Submission
- The game is cute, need to see how the game set up, transition from one level to another level, UI panel and so on. The mechanics were okay.
- The obstacles are not obvious, people cannot see the
- How does player know how to defeat the boss? you might need to add some instruction for them.
- The art style is pretty, and the storyline was good and got the immersive feelings.
- It contains the uniqueness that differentiate your game with other game in the market.
评论
发表评论