Games Development - Final Project / Playable Game
23.4.2025 - .5.2025 (Week 1 - Week )
Chong Hui Yi / 0363195
Games Development / BDCM
Final Project / Playable Game
Chong Hui Yi / 0363195
Games Development / BDCM
Final Project / Playable Game
TABLE OF CONTENT
1.
Lectures
2.
Instructions
4.
Feedback
5.
Reflection
LECTURES
-
INSTRUCTIONS
<iframe
src="https://drive.google.com/file/d/1PnT4yjnZ2OED7bHjCsQN_lJcPmrYhu-2/preview"
width="640" height="480" allow="autoplay"></iframe>
Final Project: Playable Game
Instruction
"Students will integrate their art asset to their game development and produce a fully functional and playable game."
Team Contributions
For this project, the majority of the work was completed by my teammates Winnie and Guo Ying. Winnie was responsible for writing and finalising the game’s intro and outro stories, which helped shape the narrative arc. She also complete the crafting system for minions, adding various types of followers, turrets, and shields, and balancing the crafting costs and progression to ensure smooth gameplay. Additionally, she introduced new enemy types to make combat and soul collection more engaging.
Guo Ying focused on designing and building the final boss fight mechanics for Anubis. He implemented two boss phases, with an ultra state triggered when the boss's health drops below 20%. He also created unique attack patterns for both phases, balanced the overall combat experience, and handled debugging and polishing of core gameplay mechanics, UI transitions, and enemy interactions.
As for me, I regret that my contribution was very limited. I only managed to adjust the background scaling to fit the camera view, helping to maintain a consistent visual layout across screen sizes. I feel very guilty that I wasn’t able to help more, but I genuinely appreciate all the hard work and dedication my teammates put into bringing the game to life.
Progression
Our base level design was already prepared, but when the player enters the boss level, the camera view zooms out by increasing the Orthographic Size in Unity’s Lens settings from 3.5 to a larger value. This change reveals a new issue: the background does not scale accordingly to fill the expanded screen space. As a result, yellow areas appear around the edges, as shown in Fig. 1.0, where the background no longer covers the entire visible area.
Fig. 1.0 Visible yellow areas caused by insufficient background coverage
To solve this issue, I wrote an Auto Scale to Camera script. The goal was to make each background layer automatically resize according to changes in the camera’s Orthographic Size. However, I quickly realised that coding this behaviour isn’t as straightforward as expected.
At first, I didn’t specify how the background should scale. As a result, it was stretched both horizontally and vertically to fill the screen, which caused distortion and misalignment. To fix this, I adjusted the script to scale the background proportionally while keeping its position correct. However, this led to a new problem: as shown in Fig. 1.1, the background became oversized. This may have been caused by not accurately comparing the background’s size with the camera’s world view.
Fig. 1.1 Background scaled too large due to incorrect proportional calculation
In my second attempt, the scaling looked much better (see Fig. 1.2), but the clouds and sun appeared stretched. This suggests that different layers may need different scaling logic depending on their visual content and intended effect.
Fig. 1.2 Scaling improved, but cloud and sun are distorted
Fig. 1.3 shows the final version of my ScaleWithCamera script. It calculates how much the camera has zoomed in or out by comparing the current orthographic size to a base value. Then, it multiplies the original scale of the background layer by that ratio. This ensures the background scales proportionally with the camera and stays in the correct position without stretching or breaking the layout.
Fig. 1.3 Scale With Camera Script
Fig. 1.4 shows the final result where the yellow areas are no longer visible and the background scales correctly with the camera.
I also discovered that the scaling effect only works in Play Mode because the script depends on Camera.main, which only updates during runtime.
Fig. 1.4 Final background scaling result
Final Outcome
Download & Play "Sands of the Stolen Hearts" Click HERE
Google Drive Link (Unity file & exe file):
Fig. 2.0 Game Play Presentation
How to Play
- Move: A / D
- Jump: Spacebar
- Dash: Press Spacebar twice
- Attack: J
- Defeat enemies to collect their souls.
- Click the Minion Menu (bottom-left) to open 3 categories: Follower, Shield, Turret
- Click "CRAFT" to create it
- Click on a minion image, then click anywhere in the world to place it
# Note: the number on the image shows how many you can use
FEEDBACK
Week 14:
Dr Mia praised the uniqueness of our gameplay, especially the well-executed crafting system and engaging boss mechanics. She recommended improving the UI layout of the crafting system, as some text was currently obscured.
REFLECTION
During this project, I was not as involved as I should have been. I was away at the time and unable to fully focus, so I only managed to contribute a small part by adjusting the background scaling to fit the camera view. I feel genuinely guilty about not supporting my team more, especially seeing how much time and effort my teammates put into building the core mechanics and systems of the game.
This experience made me realise the importance of being present and reliable, even during busy or inconvenient times. I’ve learned that good teamwork doesn’t only depend on technical contribution but also on accountability, communication, and mutual support. In the future, I aim to manage my time more responsibly and ensure I contribute meaningfully to any group I’m part of.
Comments
Post a Comment