MAJOR PROJECT 2

 

03.02.2026 - 29.03.2026 (Week 1 - Week 7)
TAN JIE YING / 0353959 / BACHELOR IN DESIGN OF CREATIVE MEDIA
MAJOR PROJECT 2


Miro Board



Guidelines for Game Visual Style - By Bernice




Week 1
This week, the primary objective was to bridge the gap between our creative vision and technical execution. To maximize our efficiency, Kelly and I decided to decouple our workflows: she is taking the lead on the UI/UX design and aesthetic framework, while I am dedicated to engine exploration in Unity. My focus is on researching the core mechanics and technical architecture required to bring our character to life. This 'divide and conquer' strategy allows us to iterate much faster as we move into the prototyping phase.

 
Figure 1.1 Game menu references

I initiated the character locomotion pipeline by sourcing Mixamo animations (Idle, Walk, Run, Jump) and integrating them into a Unity Animator Controller with fluid transitions. 

Figure 1.2 Animator tree


Through this testing, I identified a critical technical bottleneck: while the animations are visually functional, a custom C# script is required to map keyboard inputs (WASD) to these states. This discovery has refined my focus for the next sprint, moving from asset integration to functional player control.


Week 2
Based on last week’s feedback, Mr. Kannan suggested that we test our project within the actual environment. Since our custom scene is still in production, I found a third-party environment on the Unity Asset Store that perfectly matches our third-person gameplay and is suitable for character movement. Seeing the default robot in that scene gave me the idea to "hot-swap" it with our own character, Timothy, as the scripts and camera systems were already fully applied and functional.

Figure 2.1 Starter Assets - ThirdPerson

Figure 2.2 Replaced the robot

During the process of replacing the default robot with Timothy, I encountered a technical hurdle: although the animations for running, walking, and jumping were applied, Timothy would only loop these actions in one spot. When I used the WASD keys, he would move through the space but remained stuck in a running pose. I eventually realized that the animations manually added to Timothy were "fighting" the script for control, preventing the script from detecting or driving the character properly.



To resolve this, I re-imported Timothy using his default T-pose armature for the replacement, which successfully fixed the script control issues. This experience was a major breakthrough for me, as it demonstrated exactly how a script manages and triggers a character’s specific movements—like running, jumping, and walking—by maintaining a clear link between the logic and the model.



Week 3
This week, our main character, Cynthia, has completed the retopology phase, and the first version of our environment (the first level of the house) is done. My primary target this week was to replace the test robot with Cynthia, find an efficient way to import materials from Blender into Unity, and test the lighting of the environment.

Figure 3.1 Manually upload material to Unity (Timothy)

I discovered a tutorial that suggested importing all materials together with the model by using the GLTFast package (com.unity.cloud.gltfast) and exporting from Blender as a .glb file. This method is designed to allow Unity to read the material data and apply it automatically to the model upon import.

Tutorial:
https://www.bilibili.com/video/BV1oMsheNEkT/?spm_id_from=333.337.search-card.all.click&vd_source=799ccaf0af4827240520179ee02641ca


Figure 3.2 Imported the GLB furniture file to Unity

Unfortunately, because Cynthia is still considered high-poly, the model appeared "crushed" or distorted upon import. I attempted to upload and apply the materials manually within Unity, but this also failed. Based on the feedback from Mr. Kannan, the bottom part of the model is still too high-poly. He suggested changing to an "easy surface dress" (a simplified mesh) to prevent the model from crashing or looking distorted in the engine.

Figure 3.3 Imported using GLB file


Figure 3.4 Imported material manually

To enhance the game’s atmosphere, I implemented blue point lights and fog to match the cold, eerie color palette of Little Nightmares. These visual adjustments successfully create a mysterious and immersive mood for our environment.

Figure 3.5 Reference


Figure 3.6 Added lighting and fog to the room

I faced a new challenge: since Cynthia is a ghost and has no legs, the robot’s script couldn't detect her, so she wouldn't move. To settle this, I used Gemini to generate a Hover and Movement Controller. While she now floats, she remains stationary. My vision is for her to move via keyboard keys with a rhythmic 'up and down' floating motion, just like my reference.



Figure 3.7 Apply 2 scripts to Cynthia



Week 4
Building on last week's experience, this week I focused on refining Cynthia’s locomotion scripts and establishing environmental particle effects.

For Cynthia's script, I realized that the two scripts were fighting each other. To make the setup easier to control, I asked Gemini to combine them so she can hover and move using the keyboard keys. However, the script Gemini provided used the old input system, so I changed the settings to "Both" Input Systems; this change made the script work, and now the movement is settled. 

Figure 4.1 Input system used

Figure 4.2 Combined scripts and details setup

Next, since our environment is an old and dusty space, I successfully explored and plugged in a Particle System. This replicates the atmospheric dust effects from our original Blender concept, enhancing the "Living Room" environment with non-stop, procedural floating particles.

Figure 4.3 Particle system plugged in


Week 5
Following the script optimizations in Week 4, my primary focus this week was recalibrating the Cinemachine camera to replicate the "Free-Look" behavior of the Starter Asset Robot. Despite multiple attempts, I encountered technical hurdles with Transform Tracking and Target Aiming.

Figure 5.1 Camera setup

*The camera can't follow the character

Simultaneously, our team designed a brand logo, "Loading 99%," for our game opening, similar to the TiMi logo for Honor of Kings. I explored concepts involving "charging wires" and "escape room locks" before we collectively voted on a final design by Bernice: a mystery-themed UFO "beaming up" a game controller.


Figure 5.2 Logo ideas

Figure 5.3 Final logo (by Bernice) voted 

Week 6
Building on the failures of Week 5, my primary focus this week was on resolving the Aim Constraint and rotational logic for Cynthia. By shifting away from mimicking the Starter Asset Robot and focusing on custom Input-to-Rotation mapping, I successfully stabilized the movement.


*The camera followed, but the character is self-rotating

I identified and corrected a "Self-Rotation" bug where the character would rotate on its own axis without moving through World Space. After fine-tuning the camera and mouse sensitivity, I performed a full Integration Test, exporting Cynthia into the finalized environment for a complete "Run-Through" of the level. 


Week 7
As the final week before the presentation, my focus shifted to environmental calibration, cinematic storytelling, and total project "Run-Throughs." 

A key milestone was receiving the final lighting results in Blender from our designer, Ying Yi. Using her renders as a reference, I accurately calibrated the lighting within Unity to ensure visual parity. To make sure the surroundings doesnt effect by the I darken the skybox and also the fog.


Figure 6.1 Skyplane and fog setup

Additionally, based on feedback from Mr. Kannan, I added a dedicated light source that follows Cynthia, ensuring she remains visible and doesn't get lost in the dark environment.


Figure 6.2 Game play scenes


To enhance the narrative, I developed a high-stakes "Trigger Scene" for our NPC, Timothy. By utilizing a Mixamo-to-Blender pipeline, I animated a sequence depicting Timothy’s escape from an enraged Cynthia. Finally, I compiled all environment fly-throughs and cinematic sequences in CapCut, layering ambient soundscapes to finalize our project deliverables.


Figure 6.3 Storyboard



Figure 6.4 Mixamo adjustments (Walk, Fear, and Run)




Figure 6.5 Scene 1 & 2 Careful walk





Figure 6.6 Scene 3 & 4 Cynthia turns around and screams



Figure 6.7 Scene 5 & 6 Timothy gets afraid and runs away


After the presentation...

Following the feedback from Mr. Kannan, my primary focus this week was on refining the environmental lighting and atmospheric density to balance mood with visual clarity.

Based on his review, I first addressed the Volumetric Fog; the density was previously too high, obscuring the scene, so I reduced it to a lower setting to ensure the environment remains visible. To fix the issue of the scene being too dim, I added supplemental light sources throughout the map. 


Figure 7.1 Adjusted the opacity of the fog


Figure 7.2 Added 2 point lights on top of Timothy


Figure 7.3 Before and after (Adjusted fog opacity and added lights)


For the Sacrifice Area, I have been told that the lighting felt "fake" because it was too bright and lacked proper shadow reflections on the surroundings. To resolve this, I swapped the Directional Light for a Spotlight, carefully adjusting the intensity and the inner/outer spot angles to create more natural, localized illumination.


Figure 7.4 Light changes


Figure 7.5 Before and after


In the Relaxing Area, the lamp asset wasn't "popping" as intended. I replaced the original four-point light setup with a single Spotlight placed directly in the center of the lamp. This change created a much more focused and realistic glow, successfully highlighting the asset within the dark environment.


Figure 7.6 Light changes


Figure 7.7 Before and after

Building on the material integration failures from Week 3, I revisited the manual material linking process within Unity to identify the root cause of the previous issues.

Through this troubleshooting, I discovered that I had originally linked an excessive number of materials to our character, which resulted in a "heavy metal" cluttered visual appearance and inefficient rendering. To resolve this, I optimized the character model by removing all redundant material slots. I now only retain the essential, original texture maps required for the character's skin. This streamlined approach ensures a cleaner visual result and better performance within the engine.


Figure 7.8 Before and after

Final Outcome

Presentation Slide - Week 7


Art Bible


Animation


Gameplay overview



FEEDBACK

Week 1
  • UI/UX design for the game.
  • Human rigging.
  • Story animation (opening scene).
  • Illustration/modeling of a living room corner to test consistency with the character’s rendering style and overall texture appearance.
  • To find more references for textures and UI/UX.
  • To improve the Canva board with more detailed information.

Week 2
  • Download and study assets from other authors on Unity.
  • Create a topology for all characters.
  • Design UI/UX sprites.
  • Determine the character scale by blocking out one character first, then scaling all other props accordingly.
  • Find a suitable font that matches the horror theme.

  • (Sketches from Mr. Kannan)
  • To create a visual guidelines book for all team members to follow, ensuring more consistent art direction (including references, rendering style, etc.) 
  • Find a proper typeface for UI and list down the reasons why you use this typeface.
  • For UI, the most important thing is interaction, so do interaction first.
  • Adjust textures according to the render reference

Week 3
  • Create a UI/UX wireframe with assets, showing how it develops into the final version.
  • Explore ways to enhance the sense of weight and heaviness for all characters and the environment.
  • Determine the loop duration and ensure proper lighting particles are implemented.
  • Test the animation and evaluate how well the loop works.
  • Review all game files to identify anything missing.
  • Develop a complete and cohesive UI design set.
  • Define the concept and style, including how it evolved and how it translates from 2D to 3D.
  • The test serves as a proof of concept to demonstrate understanding.
  • Consider how to make the project into an interactive game.
  • Need solid concepts for every single room.
  • Block out everything in Blender.

Week 4
  • The model is dropping - due to no collision box.
  • Light probes are for reflections.
  • Check the error and fix it (Script).
  • Post processing for Unity (make sure the checkbox is enabled in the camera) - rendering component.
  • Need to show what you learn in your specialization.
  • Sketch out the concept for the environment.
  • Need to add some animation to the ui design.

Week 5
  • The background of the loading page can have like grain and texture slowly animating.
  • The logo - look at the proper reference.
  • Same naming convention, so that it’s easier to overwrite in Unity.
  • Test the character with the environment.
  • Test out the box (trigger box) to see if it can pop out.
  • Add a modifier to sway (movement)  in Blender.
  • Need to have more rhythm for the rooms, try to extend it.
  • Repaint the textures following our references.

Week 6
  • Find the solution to fix the camera for the character.
  • Rendered the environment to have a better showcase.
  • Finish the whole environment scene design.
  • The Unseen logo needs to be brighter
  • The loading page is too plain; put more things on it.
  • Use video editing to complete parts that cannot be achieved in Unity.

Week 7
  • The fog in the animation is too heavy.
  • The lighting in the animation is too dim.
  • Consider what can be improved in the environment.
  • Try adding a light that follows the character so the scene is not too dark (in Unity).
  • The lamp in the relaxing area is too dim and should be brighter.
  • The frames on the wall are too close together, causing them to overlap.
  • Add material to Cynthia; without material, it looks like the work is not done.
  • Add more body movement (e.g., hand movement) to the character.
  • Make sure the content on the presentation slides is easy to read.
  • Use different perspectives and apply transformations to improve the animation.
  • It would be better to present a playable live game during the presentation.
  • For the chapter selection page, the chapter frame can be enhanced.
  • The lower part of Cynthia’s model needs to be simplified, as the game cannot handle such high polycounts.
  • In the opening cinematic, fix the character’s hand.
  • Avoid using red text on a grey background.
  • Add simple animations, such as Cynthia’s hand moving up and down.
  • For the chapter select, use a simple padlock animation that opens and closes on top of it.


REFLECTIONS

Experience

Throughout the journey from Major Project 1 to Major Project 2, I learned a lot of interesting new things. As I am an animation student, not a game designer, I had never touched game design before. These past 14 weeks, including Major Project 1, have allowed me to gain a deep understanding and experience of game design concepts.

During these 7 weeks, the most challenging task was exploring Unity, as none of us in the group knew anything about this app. While Bernice and Ying Yi took the responsibility of character and environment creation, Kelly and I took the lead in testing Unity. This was the first time I had ever touched the software. Kelly and I suffered through learning the functions and setup; it gave us a lot of pressure as we faced many failures. But as they say, "no pain, no gain." We learned from those failures, which led us to success. We gained wonderful experience and achieved a great result. I felt very proud when I completed the whole gameplay—moving from an empty scene to a full environment with the expected atmosphere where our character can actually move.

Another important part of this journey that cannot be left out was my teammates. Although we were quiet sometimes, we were able to share ideas and reach the same goals. Every week, I could see us becoming more professional and getting closer to our targets. Although 7 weeks is quite short, we still managed to finish our project and produce something we are proud of. This result could not have been done if any one of us was missing. It is a proud moment for all of us.


Observation

Our team’s success relied heavily on establishing good communication. At the beginning of the project, we each had different ideas, and a lack of communication led to misunderstandings regarding our plans. However, as we grew closer and increased our communication, we slowly got back on track. By sharing our ideas and changes in the group chat instead of talking privately, we aligned our vision. This was a successful turning point for our team.


Findings

While watching tutorials, I found out that Unity can also work with animation. As technology is improving, there are many examples available online. I can search for examples, like third-party view gameplay, in the Asset Store. Using these as a reference gave me a clear path and new ideas for my work. With this experience, I would like to test creating animations directly within Unity in the future.

Additionally, Mixamo was very helpful for animation. By importing our character, it can auto-animate actions, and we can also adjust the settings. This really reduced a lot of time. However, there is still a small problem: it primarily supports human-like characters, which means our ghost, Cynthia, was difficult to use because she has no legs.






Comments

Popular posts from this blog

DIGITAL PHOTOGRAPHY AND IMAGING - PROJECT 2

INFORMATION DESIGN/ FINAL PROJECT