Game Development - Task 3 Game Prototype

 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 1: Game Design Document


1. INSTRUCTIONS:



Task 3

REQUIREMENT:
Students given the task to create the prototype of their game. The prototype doesn’t need to have the final art asset, and the use of grey boxing is allowed. The focus here is to quickly test out the game mechanics and to troubleshoot any technical difficulties discovered during the development. The focus should be the MVP of your game.

This includes: 
  • Coding movements and actions
  • Coding obstacles and enemies’ interactions
  • Coding game levels (Logic of the game)

Submission Requirement
1. Video walkthrough and presentation of the game
2. Online posts in your E-portfolio as your reflective studies

Progression

My Task:
Coding movements and actions of playable characters ----Luky
Things to render in sprite editor:

- movement

- jump

- defend (panic and with umbrella)

- hurt & death
- slippery effect


Step 1: Sprite Sheet Setup
I gathered and imported all animation sprite sheets for Luky — including walk, jump, defend (panic & umbrella), hurt, death, and slippery effect.




Problem & Solution: 
  1. Some sheets had inconsistent frame sizes.
    I fixed this by adjusting Pixels Per Unit (e.g., 100 → 89) so the character have consistent size across all animations.

  2. Auto‑slicing gave each sheet a slightly different center, the position is inconsistent and when animation play, some frame jumped around.
    I re-sliced all sprite sheets manually using Grid by Count, and set the pivot point to bottom-center to make Luky’s feet always stay on the ground.

Step 2: Animation & Animator Setup
Created an Animator Controller for Luky and set up basic animations: idle, walk, jump, defend, hurt, etc.



Problem & Solution: 
  1. The pre-jump animation had too many frames, causing a noticeable delay before the jump action.
    I removed the pre-jump frame to make the jump feel more responsive.
  2. The jump pose didn’t last long enough — the animation returned to the start while the character was still in mid-air.
    I added 30+ extra frames to extend the jump pose and better match the actual jump duration in gameplay.

  1. another problem found when started to combine all member's file: Jump pose getting stuck after landing.
    Solve by checking grounded state and resetting to idle/walk.



  2. Defend state (K key) wasn’t showing
    added Trigger parameter, proper transitions, and exit time.
Step 3: Defend Logic & Umbrella
My teammate, Melvin, set up the reflection attack logic (which is the open umbrella defend action) and set up trigger button (Key "K") for the player, my task is to add the open umbrella animation upon the logic. It also need to work with the default defend which will trigger panic hand weaving actions. 

Problem & Solution: 
  1. Reflection attack logic works, from the but the umbrella sprite doesn't show at the beginning.
    I work around the code and carefully to combine my Player Defend code with his code and finally it works. 

     


Step 4: Slippery Ground Mechanic
  1. Added code to detect slippery surfaces, but the visual or animation effect isn’t showing.
    I double check physics material, layer detection, and animation trigger connections, it works.













Step 5: Obstacle & Health Integration
Integrated obstacle collisions, but Luky doesn’t take damage yet.

I realized:

My defend system, teammate’s umbrella code, and our separate health scripts were clashing.

Need to merge health and damage logic into one unified system that checks IsDefending before applying damage.

Step 6: Respawn Bug fixing
Respawn logic was inconsistent — sometimes animation state gets stuck after respawn.

Teammate helped by force-calling respawn, but I still need to reset animator and transform position properly during respawn.

Current Progress:
Background environment changed to our gameplay visual.
Camera set.
Luky can walk, jump, defend, and reflect projectiles by opening umbrella.
Basic movement, animation transitions, and input logic are working.
Obstacle damage working.
 Respawn works but need polish.




Demo Video



Presentation Slide
Game Development -Task 3 - Prototype by yutian.teu





3. FEEDBACK

Week 10
  • The visual works well and can add HP bar. 

3. REFLECTION

Experience

I struggled a lot with bugs, especially when animations didn’t behave as expected or transitions got stuck. It was frustrating at times, but I felt satisfied whenever an animation finally worked smoothly. I also handled sprite preparation and animation slicing, which taught me how important small details are. Collaborating with my teammate added another layer of challenges when compiling our progress. We often had to combine our scripts carefully to avoid conflicts. Sharing the entire compressed project file was a bit inconvenient, but we didn’t have a better method. Despite the challenges, it was rewarding to see our character slowly come to life.

Observation

I noticed that auto-slicing often caused misalignment, which made the animations jump around unnaturally. Fixing this manually was time-consuming but necessary for visual consistency. Animator setup is more delicate than I expected—small mistakes in conditions or missing exit times can break the whole flow. Bugs were not always obvious, and I had to do a lot of trial and error. Working as a team made me realize how important clear communication and file organization are. It’s easy for bugs to appear when multiple people write similar systems separately. I also learned how essential it is for visuals and logic to support each other—if the umbrella doesn’t show, the player might not understand what’s happening.

Findings

This experience helped me understand the value of structured teamwork and testing in game development. I realized that setting clear animation pivots and conditions early on can save a lot of time later. It’s also better to build shared systems instead of coding similar features in parallel. I felt overwhelmed by bugs at times, but solving them taught me how Unity’s Animator and state machines really work. Sharing project files manually was a hassle—we hope to find a better way of collaborating next time, like using version control. Still, working together on this prototype gave me a strong sense of achievement. It was challenging, but worth it to see our ideas take shape.


评论

热门博文