Game Development / Task 3 : Game Prototype

10.06.2024 - 09.07.2024 / Week 7 - Week 12
Yung Siew Weng / 0339847
Game Development / 
Bachelor of Design (Hons) in Creative Media
Task 3 / Game Prototype


Task 3

MODULE INFORMATION


Game Development - Task 3 : Game Prototype

INSTRUCTION
We are given the task to create the prototype of our game. The prototype doesn’t need to have the final art asset and the use of greyboxing 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 including the coding movements and actions as well as the coding obstacles and enemies' interactions (Logic of the game)


EXPLORATION

01. Level 01 - Spring 

By using the Figma prototype as a reference guide, I transferred the .PNG files into Unity. The first issue I encountered was forgetting how to move elements to the front or back. 

Fig 1.1 Position-Z adjustment

After a quick research, I discovered that you can adjust the order by going to Additional Settings > Order in Layer and changing the value there. The structure is similar to using the z-index in web development.

<-- imma breakline -->

To make the gameplay more engaging, adding animations is necessary. Since I didn't create the animations during task 2, I directly constructed the animations in Unity using the Animator : 

Fig 1.2 Animator

<-- imma breakline -->

During development, I noticed that the screen resolution seemed very low, even though I imported the PNGs at maximum resolution from Figma.

The Issue : The imported PNGs appeared blurry and pixelated.

Fig 1.3 Pixelated Issue

#Solution : 
After some exploration, I discovered that in the "Game" panel, turning off the "Low Resolution Aspect Ratios" option resolved the issue.

<-- imma breakline -->

I figured out that the character seemed to lack “gravity” and would fall when walking. I reached out to Mr. Razif regarding this issue and discovered that freezing the Position-Z would solve the problem :

Fig 1.4 Gravity Issue

#Solution : 
Freeze the Position-Z under the Rigidbody2D component.

<-- imma breakline -->

To ensure the hazards like knives and spikes cause the player to die when they come into contact, simply adding "Box Colliders" isn't enough. They need a script to control this behaviour. As thinking the players should be disabled or having the 5 live system in the gameplay, "respawn" is needed : 

Fig 1.5 Control Player's Death

#Solution : 
Since there are numerous hazards in the gameplay, a better approach is to add a tag to each hazard (Inspector > Tag dropdown > "Add Tag" > Add a new tag). > add a script to control the player's death. 

<-- imma breakline -->

While continuing development, I noticed that the character/player can walk directly between platforms without falling off :

Fig 1.6 Platform Boundaries Issue

#Solution : 
Edit the collision boundaries to the appropriate size to ensure the player can fall off outside the platforms 



 
02. Level 02 - Summer

After completing the basic structure of Level 1, I moved on to creating Levels 2 - 4. While further exploration of animations is needed, the creation of Levels 2 to 4 is similar to Level 1, with adjustments required for hazards and minor issues. For this task, I aimed to create a basic structure of the gameplay without focusing too much on game experience and animations.

In Level 2, I encountered an issue with the sliding platform. When the character walked on it, the character would "fly" above the platform instead of sliding down or following the platform's movement :

Fig 2.1 Sliding Platform Issue

#Solution : 
Apply "Edge Collider 2D" and edit the collider based on the platform instead of using "Box Collider 2D".

<-- imma breakline -->

After solving the previous issue, I moved on to the next challenge: "How can Nuttie push the stone to pass the sliding platform?" While exploring how to enable the character to push objects, I realized it would take more time to figure out. Therefore, I decided to first address the issue of the stone falling directly after adding a "Box Collider 2D" and "Rigidbody 2D" to it.

Fig 2.2 Stone Falling Issue

#Solution : 
Apply "Kinematic" instead of "Dynamic" under Rigidbody 2D > Body Type.
This change prevents the stone from falling immediately and allows for better control over its movement and interactions.



 
03. Level 03 - Autumn

Due to time limitations, I imported each frame and asset into Level 3, applying the same methods to hazards and tools as in previous levels. The main elements of Level 3 are the stackable boxes, moving platforms, and falling leaves.

Since the falling leaves need more exploration — specifically, requiring the player to collect a shield to prevent damage from the spiked leaves. I decided to move this to task 4 for further exploration.

#Stackable Box

Fig 3.1 Stackable Box

For the stackable boxes, I applied a "Rigidbody 2D" with the Body Type set to Dynamic and added a "Box Collider 2D". This allows the player to control the box movement by moving left and right.

<-- imma breakline -->

#Moving Platform

Based on the tutorial I learned before, I believed the easiest method to solve this issue is through the Animator. However, I realised that when the character arrives on the moving platform, it would not move together with the platform.

Fig 3.2 Moving Platform

#Solution : 
Add a script to handle this : 

Fig 3.3 Script



 
04. Level 04 - Winter / Final Boss

In Level 04, the main challenge is figuring out how to collect the key and activate the door (pass the key to the snowman) to allow the player to fight the Final Boss. I decided to leave this for the next task and focus on what I can accomplish at this stage.

For now, I decided to construct all the elements I can, such as idle animations, applying hazards, setting up the rolling snowball as an attack, and creating moving platforms :

Fig 4.1 Level 4 Screen in Unity

The screen (Fig 4.1) showcases the basic fundamentals of the level, but I believe there is more to explore in Task 04.




#Final Outcome Submission

Submission Link : Google Drive Folder 

Fig 5.1 Task 03 _ Video Presentation

Fig 5.2 Task 03 _ Nuttopia Video Walkthrough


#Completed Tasks :
  • Level 1- 4 Map Layout
  • Basic Static Structure
  • Move Left / Right, Jump
  • Character Idle Animation
  • Moving Platform
  • Animation for Nuts, Nuts Manager
  • Hazards
  • 5 Lives System
  • Stackable Box (Push and Navigate)
  • Obstacles Animation and Controller (Rotating Knife, Spike)
  • Checkpoint Animation

#Remaining Tasks:
  • Start Screen
  • Guide Screen 
  • Game Over (End Scene Design)
  • UI Bar
  • Keypad Controller (Climb, Push, Attack)
  • Camera Experience
  • Background Music and Effects
  • Nuttie Animation (Walk, Attack, Climb, Push)
  • Boss Animation (Walk, Attack)
  • Collectible Items Controller (Shield, Keys)
  • Failing Leaves Animation & Collider
  • Snowman Animation 
  • Level Transitions


REFLECTION

Throughout the journey of Task 3, it didn't seem very challenging initially, thanks to the fundamental knowledge I gained from the tutorial during the class session. However, what I learned and experienced is that the actual gameplay experience is very different from what I had envisioned during the design assets stage. It required numerous attempts and adjustments to make each platform function correctly. Even the smallest and simplest platforms significantly impact the overall gameplay.

The primary challenge during the development process was self-management. This task could have been completed quickly if I had consistently focused and worked on it. However, maintaining my attention on the task was difficult, leading to a more challenging journey. I found myself easily distracted, which prolonged the development process.

Reflecting on this experience, I realized that while technical skills and knowledge are crucial, effective self-management and discipline are equally important in game development. The process taught me the importance of persistence and staying focused. It also highlighted how minor elements in game design can drastically influence the player's experience. Moving forward, I aim to improve my time management skills and maintain a more disciplined approach to development tasks to ensure timely and efficient completion of my Nuttopia! 🐿️✨

Comments