17.6.2024 - 9.7.2024 (Week 8 - Week 11)
Loke Yan Ling / 0344602
Game Development / Bachelor of Design in Creative Media
Task 3: Game Dev Final Project
Task 4: Game Dev Final Project
In this task, we need finalize the game prototype and export into a real 2D platform game.
The development of the game prototype in Unity has been a valuable, yet challenging process. Initially conceived with a specific design in mind, the prototype has evolved significantly due to the complexities of the Unity engine and the iterative nature of game development.
While the final prototype differs from the original design document, this divergence has proven essential for creating a more coherent and enjoyable gameplay experience. Several features initially envisioned were found to be impractical or unfeasible within the Unity environment, necessitating their removal. Conversely, new mechanics and elements have been incorporated to enhance gameplay logic and overall coherence.
The prototyping phase has been significantly more time-consuming than anticipated due to the steep learning curve associated with Unity. Numerous experiments and iterations were required to achieve the desired functionality and performance. This iterative process, while time-consuming, has been invaluable in refining the game's core mechanics and identifying potential issues early in development.

Fig 1.1 Backup
Building upon the foundational knowledge acquired in the previous semester, I implemented a rigorous backup strategy to safeguard against potential data loss. This proactive approach proved invaluable when a critical error disrupted player movement during the final stages of prototype development. By reverting to a stable backup, I mitigated the impact of the issue and accelerated the recovery process. While the unexpected setback was undoubtedly frustrating, the existence of multiple project versions significantly reduced the overall development time and prevented a complete project overhaul. Through careful analysis, I successfully isolated the error and integrated the corrected code into the most recent project version, ensuring the integrity of the final product.
Fig 1.2 Script
Scripts
Player
- Player Control W (All movement control and respawn are in one script)
- Spark Attack
Health & Mana item
- Heart Health Control
- Mana Manager
- Detect Player
Obstacles
Level 1
- Obstacle_Sideway
- moving Obstacle x
- moving Obstacle y
- Fall Lvl 1
Level 2
Level 3
- Obstacle Spawner
- Falling Obstacle
Viper [ Enemy 2]
- Enemy 2 [using same "BoltAttack" script. but different prefab]
Final Boss
- Final Boss [Controls boss, using same script "Bolt Attack" but suing different prefab]
Entrance
Level 1
Level 2
CameraControl
- Cinemamachine Level Intro
Game
- Game State
- Scenes manager
- Potion Selection
- Pause Scene Manager
- Persistent Pause Manger
- Sound Icon Manager
- Sfx Manager
- Music Manager
Scenes
Start
Fig 2.1 Start
Potion Selection
Fig 2.2 Potion Selection
Instruction
Fig 2.3 Instruction
PauseMenu
Fig 2.4 PauseMenu
Game Over / Retry Menu
Fig 2.5 Game Over / Retry Menu
WIN Menu
Fig 2.5 Game Over / Retry Menu
Initially, I sought to integrate a pre-existing fireworks asset provided during a tutorial by Mr. Azif. However, upon implementation, the asset's scale proved inadequate, distorting its visual appeal when enlarged. Recognizing the asset's underlying particle system, I embarked on a learning process to manipulate and enhance its properties. The effect is not that stable as it won't appears at the start of the scene, have to wait for it to appears. But I like the effect very much make this scene as my favourite scene.
JungleLevel1
Heart item
Mana item
Obstacles
Moving platforms
Checkpoint
Entrance
Fig 2.6 Level 1 Environment
TunnelLevel2
Heart item
Obstacles
Enemy 1
Enemy 2
Moving platforms
Checkpoint
Entrance
Fig 2.7 CastleLevel2
VolcanoLevel3
Obstacles
Boss
Fig 2.8 Level 3 Environment Draft
Fig 2.9 Level 3 Environment
The design of Levels 2 and 3 presented unique challenges due to the darker environment and limited asset availability. To address these issues, several modifications were implemented to enhance gameplay and visual clarity.
In Level 2, the darker lighting conditions made it difficult to distinguish enemies from the background. To improve visibility, the background intensity was reduced to a grey tone, creating a clearer contrast between characters and the environment. This change significantly enhanced gameplay by reducing player frustration and improving the overall experience.
Level 3 posed a greater challenge in terms of depth perception and visual interest. To overcome these limitations, assets from Level 1 were repurposed and inverted to create a sense of depth and scale. The addition of particle effects simulating flames further enhanced the atmosphere and overall visual impact. While this approach required creative problem-solving, the final result is a visually striking and engaging level that effectively utilizes available resources.
Items [during gameplay]
Heart Item
Mana
Fig 3.1 Heart Item
Fig 3.2 Mana Item
Sound
For my background music, player sound effects, mob sound effects and ambience is collected copyright free music from a variety of sources, .
The game commences with a serene, ambient soundtrack in the start menu, setting a tranquil atmosphere. The first level introduces a cheerful and upbeat melody to complement the game's lighthearted tone. As the difficulty escalates in Level 2, the music transitions to a more energetic tempo, heightening player excitement. Finally, the climactic final level is accompanied by a fast-paced, adrenaline-inducing soundtrack to match the intense gameplay.
Player
Hurt
Die
Respawn
Ambience
Heart item collect
Mana item collect
Checkpoint flagged
Endpoint flagged
Final Submission
Fig 2.1 Updated Game Design Document
Fig 2.2 Final Presentation Video
Reflection
Completing this game project has been a challenging yet rewarding experience. The most significant hurdle was undoubtedly the character movement mechanics. Implementing player, enemy, and boss movements proved to be a complex task, with bugs and errors frequently arising from code modifications. To mitigate these issues, I prioritized code simplicity to prevent conflicts.
While submitting the project, I questioned the sufficiency of instructions. However, I also considered the potential for player discovery as a core gameplay element, especially given the game’s simplicity. This simplicity was intentional; my strengths lie in cooking games, not platformers. Overcoming the inherent challenges of unfamiliar game mechanics was a significant hurdle.
This project has significantly expanded my understanding of game mechanics and their impact on player experience. However, I'm not eager to repeat the process without additional time. The demands of this module nearly pushed me to my limits.
Comments
Post a Comment