Games Development / Task 3: Game Prototype

08.06.2025 - 28.06.2025 (Week 8 - Week 10)
Gunn Joey / 0366122
Games Development / Bachelor of Design (Hons) in Creative Media
Task 3: Game Prototype


TABLE OF CONTENTS

1. Module Information Booklet
2. Task 3
3. Final Submission
4. Contribution
4. Reflection


MODULE INFORMATION BOOKLET



TASK 3

Timeframe: Week 08 – Week 10

Description:
Students given the task to create the prototype of their game. The prototype doesn’t need to have the final art asset, and theuse 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: 
  • Video walkthrough and presentation of the game
  • Online posts in your E-portfolio as your reflective studies
Progress:

A. Player

We began by importing our player character into the Unity assets to test its swimming animation in the game environment. For this, we used the sprite sheet we had previously created during Task 2, ensuring each frame of the animation was properly integrated. We then implemented the necessary code to allow the player to swim vertically, keeping the movement smooth and responsive. The character remains fixed in its horizontal position, meaning no side-to-side movement is permitted, which keeps the gameplay focused on vertical navigation for catching fish and avoiding hazards.

Fig: Player Prefab

Fig; Player Script 

B. Map

Next, we imported the map into Unity and adjusted the size of each layer to ensure they fit together seamlessly within the game view. We also added scripts to the map to control its behaviour during gameplay, allowing it to function as intended and integrate smoothly with the rest of the game mechanics.

Fig: Map Script Added 

C. Fish Character

We sliced the fish character sprite sheet into individual frames and dragged the sliced frames into the scene to create the animations. A Polygon Collider 2D was then added to each fish, with the trigger option enabled to ensure the player character could collect them during gameplay. Once the setup was complete, we converted each of the three fish types into prefabs, allowing them to be reused easily and consistently throughout the game.

Fig: Fish Character Sprite Sheet Sliced

Fig: Fish Polygon Collider 2D

D. Background Looping

This script was created to make the map loop continuously, providing a smooth and uninterrupted game experience. Our idea was to have the map move automatically so the player does not need to move horizontally. Instead, the player only needs to move vertically, navigating up and down to reach the fish while the environment scrolls on its own.

Fig: Map Script

E. Game Controller

We created a Game Controller script to set a fixed rule for the player, requiring them to collect 30 fish and 2 pearls to complete the level. This ensured that the game had a clear objective and measurable progress for the player.

Fig: Game Controller Script

For the scoring system, we used TextMesh Pro to display the collected amounts, with the fish score starting at 0/30 and the pearl score starting at 0/2. To keep the interface consistent with the game’s theme, we imported our selected Game Bubble font from DaFont and applied it to the score texts, giving them a playful and visually cohesive appearance.

Fig: GameBubble Font

Fig: Scoring Text

F. Fish Spawner

Moreover, we coded a Fish Spawner script to make the fish appear at random positions rather than in fixed locations. This added variety to the gameplay and kept each round feeling different. In total, 30 fish are spawned during the level, but the player only needs to collect 15 of them, with each fish worth 2 points, to reach the required 30 points as the game rule for Level 1.

Fig; Fish Spawner Script

G. Win / Lose Pop-up Window

In Task 2, we designed UI buttons for our SeaVive game to indicate whether the player wins or loses the level. In Unity, we coded both the win and lose UI images to function based on the player’s performance. Once the player collects 15 fish, reaching the required 30 points for the level, a win pop-up window will appear. If the player fails to meet the 30-point requirement, the lose window will appear immediately, clearly showing the outcome of the game.


FINAL SUBMISISON

Walkthrough Video

1. Win

Fig: Win Game Walkthrough Video

2. Lose

Fig: Lose Game Walkthrough Video


CONTRIBUTION



REFLECTION

Experience
Creating the Task 3 game prototype for SeaVive was a hands-on and rewarding experience that allowed me to see our earlier designs and concepts come to life in Unity. I enjoyed applying the character animations, background maps, and UI designs we had created into a working game environment, and coding the core mechanics such as player movement, fish spawning, and scoring rules. It was satisfying to test the gameplay and watch all the visual and functional elements come together as a playable prototype.

Observations
I observed that integrating assets into Unity required careful adjustments to ensure everything worked smoothly, from scaling map layers to aligning collider shapes with characters. Randomising fish spawn positions made the gameplay feel more dynamic, while the win and lose UI pop-ups provided clear feedback to the player. I also noticed that balancing the number of fish and points was important for making the game both challenging and achievable within a short play session.

Findings
Through this prototype, I found that building an enjoyable gameplay loop depends on both visual appeal and functional precision. Even small coding changes, such as adjusting movement speed or spawn rates, could significantly affect the player’s experience. I also learned that designing clear rules and objectives, supported by responsive UI elements, helped keep the gameplay straightforward and engaging. This stage reinforced the importance of combining design, animation, and programming effectively to deliver a smooth and cohesive game experience.







Comments