Major Project II

03.02.2026 - 19.03.2025 (Week 1 - Week 7)

Low Li Vern/ 0362678

Major Project II / Bachelor of Design (Honours) in Creative Media





Table of Contents

1. Introduction & Instructions
2. Project Recap
3. Development Progress (Weekly Logs)
    3.1 Week 1 – Direction Reset & Technical Setup
    3.2 Week 2 – Environment Style & Asset Exploration
    3.3 Week 3 – Terrain & Scene Development
    3.4 Week 4 – Asset Development & VR Testing
    3.5 Week 5 – Terrain Refinement & Environment Enhancement
    3.6 Week 6 –Animation & VR Implementation (Godot)
    3.7 Week 7 – Final Output & Presentation

4. Final Compilation
    4.1 Final Promotional Video
    4.2 Final VR Demo Video
    4.3 Final Presentation Slides
    4.4 Supporting Documents
5.Reflection
6.Appendix


Introduction & Instructions


Project Recap : Quest of Twelve

Quest of Twelve is a VR storytelling experience based on the Chinese Zodiac. The idea is that instead of just learning through books, users can actually go into a dreamlike world, guided by the Jade Emperor, and discover the meaning behind each zodiac animal through interaction.

We focused mainly on children, because traditional ways of teaching the zodiac are quite static and not very engaging. This makes younger audiences less interested in learning about it.

So for this project, we wanted to change that by using VR, storytelling, and simple game interactions to make the experience more fun and immersive. The goal is for users to learn naturally while exploring, instead of being forced to read or memorise.

Overall, the project is about testing how immersive storytelling and gamification can make cultural learning more interesting and meaningful.


Week 1

A.Discussion

In Week 1, my group and I met to review our previous work and decide how to move forward for Major Project II. We looked at what we had done earlier and discussed how to improve the project direction.

From this discussion, we made several key decisions.

First, we decided to switch from Unity / Unreal Engine to Godot, as it is lighter and more suitable for our workflow. We also decided to refine our project scope. Instead of building multiple stages, we chose to focus on one main scene, the dragon scene. This is not because we are unable to complete the full game, but because we want to focus on quality, detail and clear art direction. By developing one strong scene, we can better show the visual style, interaction, and overall experience of the game.

This scene works as a core concept of the full game, where other scenes can be developed in the future following the same direction.

B. Jade Coin 3D Model

After the discussion, my role is to focus on the dragon environment and the assets used in the scene, such as the zodiac coins. I decided to start with the coin first.

Fig 1.1 Adobe Illustrator Sketch

I began by designing the 12 zodiac animals in Adobe Illustrator, focusing on clean outline designs. The idea is to keep the style simple but still have depth. After that, I exported the designs as SVG files and brought them into Blender to convert them into 3D models.


Fig 1.2 12 Zodiac Coin 3D Model
C. Jade Coin Texture

Next, I experimented with textures using shader nodes in Blender to create a more interesting and cool visual effect.

However, when we imported the models into Godot using GLB files, we realised that the shader textures could not be used. This is because Blender and Godot use different systems, and Godot does not support these shader node effects. It only supports more basic materials such as colour and image textures.

Because of this, I adjusted my workflow and continued experimenting with textures that are compatible with Godot.


Week 2

A. Cloud Model
In Week 2, I started working on the main scene environment, focusing first on the clouds since they are an important part of the overall look and mood.

I modeled the clouds in Blender and used decimate and remesh to create more random and curvy shapes. This helped make the clouds feel more natural and less rigid. After testing a few variations, I felt that the result worked well visually and matched the style we wanted. Because of this, we decided to continue using this cloud design for the environment.

Fig 2.1 Clouds Block

Fig 2.2 Clouds Model

Fig 2.3 Clouds Model used method

B. Flying Stone Model
After finishing the clouds, I moved on to another important element in the scene, which is the flying stones.

I started by stacking basic shapes together in Blender to form the rock structure. Then I applied a similar method as the clouds. At first, the stones looked too round and smooth, which did not match our style. Since our game uses a low poly and more meshy look, I adjusted the model by using remesh with sharp settings to keep the edges more defined. This helped the stones look more stylised and consistent with our art direction.

Fig 2.4 Floating Rock Base

Fig 2.5 Different shape of rocks suitable for stacking

C. Particle Systems
After that, I added more detail by placing grass on top of the stones. I used the particle system (hair) to make the grass grow randomly, so it looks more natural.

Fig 2.6 Rock with grass

Fig 2.7 Grass grow method

D. Scene Composition
Finally, I combined different stones together and placed them in the scene. I also added some clouds around them to test how everything looks together. This helped me better visualise the overall environment.

Fig 2.8 Testing on placing the rocks

Fig 2.9 Adjust lighting and placement

Fig 2.10 Close up view

E. Mountain Development & Texture Workflow Testing
After that, I worked on the mountains for the dragon environment, since we wanted large mountains to surround the scene.I tested different mountain shapes and textures in Blender. I first used shader nodes to create the texture, and I also tried baking the texture so it could be used in Godot.

However, we noticed that after baking, some parts of the texture did not appear correctly in Godot. Because of this issue, we decided not to continue using this method.

Fig 2.11 Mountain Experiment

Fig 2.12 Mountain texture experiment

Fig 2.13 Shador Node

Fig 2.14 Mountain Texture

Week 3
A. Terrain Experiment
In Week 3, I continued working on the terrain of the scene.

I adjusted the placement of the rocks and clouds, and kept checking how everything looked together visually. I also imported the scene into Godot to test the scale and positioning.

One challenge I faced was that it is hard to understand the actual VR experience just by looking at it on a PC screen. The view in VR is very different from what we see on the monitor.

So we borrowed a VR headset from VorteXR and tested the project directly in VR. We also worked on transferring the files into the headset for testing.

Fig 3.1 Terrain Compilation Side View

Fig 3.2 Terrain Compilation Top View

Fig 3.3 Terrain Compilation Version 2

Fig 3.4 Terrain Compilation Version 2 Lighting

Seeing my own environment and models inside VR was a really satisfying moment. It made the scene feel more real, and I could better understand the space and scale in a 3D world. 


Week 4

A. Dragon Model

After the Chinese New Year holiday, I started working on the main character of the scene, which is the dragon. My groupmate, Enyu had already created and rigged a dragon model. However, there were some issues when rigging it, especially because the dragon’s body was not straight, which made the process more difficult.

So I decided to help by remodelling the dragon, making the shape more suitable for rigging. The goal was to simplify the structure so that it would be easier to animate and work better in the pipeline.

Fig 4.1 Dragon Modeling Progress

Fig 4.2 Dragon Head Modeling

Fig 4.3 Dragon Head Wireframe

I struggled quite a lot with designing the dragon’s head, as it was hard to find clear references for a Chinese-style dragon that fits our art direction. Because of that, I decided to create a mix of Chinese and Western dragon styles, so it still feels suitable for the scene while being easier to design.

Fig 4.4 Dragon Body Progress

Fig 4.5 Dragon Body Model Close up

Fig 4.5 Dragon Rig Exploration

I also did some testing using curves to check if the dragon’s body can be rigged properly while still keeping the mesh shape.

B. Godot testing - Dragon
After that, I imported the dragon into Godot and placed it inside my environment to check the visual consistency. I also made sure that the model could be imported into Godot without any issues before passing it to Enyu for rigging and animation.

Fig4.6 Dragon Model inside Godot

Fig 4.7 Simulate the Dragon in VR environment

C. Coin Design Exploration (2D vs 3D)
I have designed a 3D jade coin, but I felt that the result was not good enough. It lacked detail and did not match the style I wanted.

So I looked at more VR references and found that it is possible to use 2D drawings to create a 3D like visual (2.5D). Based on that, I created a 2D coin design with depth and details, which actually looked better than the 3D version.

Fig 4.8 Dragon Zodiac Jade Coin 2D

Fig 4.9 Three colour choices for Dragon Zodiac Jade Coin 2D

I also tested different colours and decided to use green, since jade in real life is usually green.

Fig 4.10 Coin Interactive in Godot

After that, we imported the 2D coin into Godot. The result was good, and it still kept the 3D feeling in the scene without losing depth.

D. Constellation Design
For the final stage, we kept our idea from Major Project I, where the player collects all 12 zodiac jade coins, and they transform into constellations floating above the player.

I designed the constellations using a 3D line style. The idea is that when the constellation rotates around the player, it sometimes looks like a real constellation, and at certain angles, it forms the shape of the zodiac animals.

Fig 4.11 Constellation Model

Fig 4.12 Constellation in Final Stage


Week 5
A. Terrain Refinement & Design Enhancement

In Week 5, we presented our progress and concept to our lecturer and received feedback on the environment.

He mentioned that while the terrain looks good visually, it lacks detail for gameplay. There are not enough elements for players to explore, especially when flying in VR. He suggested adding more Chinese ancient style assets, such as buildings, temples or statues, so that players will have more things to see and experience.

After discussing this as a group, we decided to make major changes to the terrain design. Instead of having only simple floating stones, we redesigned the environment to include several main islands with unique features and designs for players to explore. The smaller stones without specific design are kept as floating elements around the main islands to support the overall scene.

B. References and Ideation
To design the islands, I referred to different sky environment and Chinese-style architecture references to understand how to create mood using shape, scale and placement.

Fig 5.1 Reference from Pinterest for Island

Based on this, I designed four main islands with different focus:

Island 1 – Temple & Tree
A small temple with a large tree to create a calm and welcoming starting point, giving the player a soft introduction to the environment.

Island 2 – Rock & Water Elements
Focused on stacked rocks, rock arch, and small waterfalls, to create a more dynamic and interesting space for the player to explore while flying.

Island 3 – Main Temple & Cave
A larger temple with a cave for the dragon to fly through, making it feel like a more important stage and supporting the gameplay experience.

Island 4 – Final Island (Main Stage)
A larger main island designed as the final destination, with a strong visual focus using a central structure and lighting. This island represents the ending stage, where all elements come together, giving the player a sense of completion and highlight in the experience.

Real World Reference

Fig 5.2 Reference from Real World

I started with sketches of the island designs, then moved on to modelling the Chinese style buildings.

I looked at real world references because Chinese architecture has its own unique style. I used the Forbidden City (Beijing) as a reference for the building structure and design.

For the environment, I referred to Huangshan (Yellow Mountain), as it has many interesting rock formations that fit well with my floating island concept.

For the water elements, I used Jiuzhaigou (China) as a reference, especially for the colour and feeling of the water.

C. Island Building Progress
Building Progress

 Fig 5.3 Building Modeling Progress

This shows the progress of my building modelling. Since there are many steps and changes, I only included some selected screenshots to show the development process. 

Building Wireframes

This is several of the building models I created, along with their wireframes.

The wireframes help to show the structure and topology of the models, making sure they are clean and suitable for use in VR. I kept the models in a low poly style to match the overall art direction and to maintain performance.

Fig 5.4 Building for Island 1

Fig 5.5 Building for Island 1 Wireframe

Fig 5.6 Building for Island 4

Fig 5.7 Building for Island 4 Wireframe

Fig 5.8 Building for Island 3

Fig 5.9 Building for Island 3 Wireframe

Fig 5.10 Building for Island 4


Fig 5.11 Building for Island 4 Wireframe

Each building is designed based on Chinese architecture references, while still keeping the forms simple and consistent with the environment.

D. Texture Paint
In this stage, I worked on texture painting to add more detail to the models. Instead of using complex textures, I painted directly on the model using simple colours and gradients. This helps keep the low poly style while still adding some variation and depth. I focused on creating a soft blend between colours, such as green and grey, to make the surface look more natural without making it too realistic.

This method also works better in Godot, as it uses simple textures and helps maintain performance in VR.

Fig 5.12 Texture Paint on rock
E. Island Combination
Each island is combined with different elements to create variety while keeping a consistent style.

Island 1
I started by placing the base terrain and adjusting the shape of the island. After that, I added the temple and tree, and kept adjusting their position and scale to make the composition look balanced. I also tested the layout in Blender to check how it looks from different angles.

Fig 5.13 Island 1 Combination

Fig 5.14  Island 1 Combination Front View

Fig 5.15 Island 1 Combination Close up

Island 2
For this island, I first arranged the main rock structures, then added smaller rocks to support the overall shape. After that, I created the rock arch and waterfall, and adjusted their placement to make the scene look more natural. I kept testing different combinations to see how the elements work together.

Fig 5.16 Island 2 Combination

Fig 5.17 Island 2 Combination Side View

Fig 5.18 Island 2 Combination Close up
Island 3
I started with the terrain and main rock formation, then placed the large temple as the main focus. After that, I added the cave structure and adjusted the scale and position to make sure the dragon can pass through it. I tested the layout to ensure everything fits well in the scene.

Fig 5.19 Island 3 Combination

Fig 5.20 Island 3 Combination Close up

Island 4 (In Progress)
I started by placing the main terrain, rocks and buildings for this island. At this stage, I focused on testing the overall layout and composition, adjusting the position and scale of each element. The island is still in progress and will be further developed.

Fig 5.21 Island 4 Combination Progress


Week 6

Island Finals and Environment 

A. Island 4 Waterfall Animation

In Week 6, I worked on the waterfall animation for Island 4 to add more movement and life to the environment.

I first created the waterfall effect in Blender using shader nodes and animation. The result looked good in Blender, with smooth flowing water.

Fig 6.1 Waterfall Animation

Fig 6.2 Waterfall Animation Texturing

Fig 6.3 Waterfall Animation Keyframe

However, when importing into Godot, the animation could not be used properly. This is because Godot does not support the same shader animation from Blender.

To solve this, I changed the method and used a PNG sequence to create the waterfall animation in Godot. This allows the animation to work inside the engine, although it is more flat compared to the original Blender version.

Fig 6.4 Water Animation in PNG sequence

Fig 6.5 Water Animation in PNG sequence

Fig 6.6 Water Animation overview
B. Island 4 Final

For Island 4, I continued developing the final stage of the environment. I focused on combining all the elements together, including rocks, buildings, waterfall, and lighting, to form a complete scene. I adjusted the placement and scale of each element to make sure the composition looks balanced from different angles.

Fig 6.7 Island 4 Final Combination

Fig 6.8 Island 4 Final Combination Close up

I also added a holy light effect at the top of the island, inspired by Chinese mythology.

This light acts as a visual guide for the player, helping them understand that this is the main destination. It also makes the final stage feel more important and meaningful in the overall experience.

Fig 6.9 Island 4 Holy Light

Fig 6.10 Island 4 Final Combination Side View

Fig 6.11 Island 4

Fig 6.12 Island 4 Wireframe

C. Add ons for Dragon Scene
I rearranged the clouds and used the rocks to shape them into larger mountain forms around the whole scene. This helps make the environment feel more complete and gives a stronger sense of space.

Fig 6.13 Cloud placement

Fig 6.14 Side Rocks Placement

I also designed a bird model and animation to add more life to the scene. I started by modelling a simple bird with a low poly style to match the environment. After that, I rigged the bird and created a flapping animation in Blender.

I tested the movement to make sure it looks natural, especially the wing motion and flying direction. Then I placed the bird inside the VR scene and adjusted its position and scale so it fits well with the environment.

Fig 6.15 Bird Model

Fig 6.16 Bird Armature

Fig 6.17 Bird Animation keyframe

Logo model
I designed a 3D logo for Quest of Twelve, combining both Chinese and English elements.

The Chinese text “十二ε₯‡ζ—…” is used as the main visual, with “Quest of Twelve” as the subtitle. I chose a gold material to give the logo a more premium and cultural feeling.

I also adjusted the lighting and depth so the logo looks more 3D and clear when viewed in the scene. After that, I tested the logo in the engine to make sure it works properly and fits well with the overall visual style.


Fig 6.18 3D Logo

Fig 6.19 3D Logo

Interaction Part
For the interaction part, I designed a hand fan based on a Chinese-style design, keeping it simple to match the overall art direction. The model is low poly so it can work smoothly in VR. the player can use in VR.

The main interaction is that the player can hold the fan and blow away the clouds that are blocking Island 4. This creates a clear action and gives the player control over the environment.

When the clouds are cleared, the main island is revealed, creating a “suddenly open” feeling. This moment makes the island feel more mysterious and important, as it is hidden at first and only revealed through interaction.
Fig 6.20 Chinese Fan

Fig 6.21 Chinese Fan Model

Fig 6.22 Chinese Fan Interactive

This interaction helps guide the player naturally while also creating a rewarding moment, enhancing both the visual impact and the overall immersive experience.

Full Environment Combination
In this stage, I combined all the islands and elements into one complete environment.

I adjusted the overall layout, scale and spacing between the islands to make sure the scene feels connected and balanced. I also tested different camera views to check how the environment looks from both top view and player perspective.

After that, my groupmate Karyee and I placed the environment into the VR scene and tested how it feels when moving through it. This helps me understand the flow of the experience and how the player will travel between the islands.

Fig 6.23 Final Environment Front View

Fig 6.23 Final Environment Top View

Fig 6.24 Final Environment Overview


Week 7 - Final Output

Promotional Video

In Week 7, En Yu and I rendered all the scenes in Blender to create a promotional video for our project. We wanted the video to feel like a Steam Game style trailer, so it can clearly showcase the environment and give a sense of gameplay to the audience.

After rendering, we worked together to edit the video. We spent some time searching for a suitable audio track, as we wanted it to match the mood of the environment.

In the end, it was worth the effort, as the audio helped create the right atmosphere and feeling, making the video more immersive and complete.

Final Promotional Video


Final VR Demo Video
My group mate Karyee, was responsible for recording the VR headset demo video.

She captured the gameplay directly from the VR experience to show how the environment looks and feels from the player’s perspective. This helps present the interaction, movement and overall experience more clearly compared to normal screen recording.


Final Presentation Slides

Major Project II - Final Presentation


Documents

 



Challenges & Solutions (Dragon Scene)

During the development of the dragon scene, I faced several technical challenges, especially when transferring assets from Blender to Godot.

1. Large File Size
One major issue was that the GLB file size became too large (over 1GB). This caused the VR application to crash when running on the headset.

Solution:
To solve this, I reduced the mesh complexity and lowered the texture resolution (from 4K to around 512px). This helped reduce the file size and improved performance in VR.

2. Shader Limitation
Another issue was that the shader nodes used in Blender could not be fully supported in Godot. Many visual effects were lost after importing.

Solution:
Instead of using complex shaders, I replaced them with image textures and normal maps. This allowed me to maintain a similar visual effect while ensuring compatibility with Godot.

3. Animation Limitation
I also faced problems with animation, especially for effects like the waterfall. Blender’s video texture and shader animation could not be used in Godot.

Solution:
I changed the method by using a PNG sequence animation. Although the result is more flat compared to Blender, it works properly in Godot and is suitable for VR.


Reflection

Throughout this project, I experienced both technical challenges and teamwork challenges, which helped me grow a lot as a designer.

From a technical side, I learned that working in VR is very different from just designing in Blender. Many things that looked good in Blender could not be used directly in Godot, such as shaders and animation. I had to constantly adjust my workflow, reduce file size, and find alternative solutions like using image textures and PNG sequences. This made me realise that good design is not only about visual quality, but also about performance, optimisation and engine limitations.

In terms of my own progress, I improved a lot in environment design and problem solving. I spent a lot of time developing the dragon scene, especially in the final two weeks where I made major changes to the environment. It was very challenging because I had to redesign, adjust, and test everything in a short time. However, this process pushed me to work faster and make clearer decisions. I also learned how to refine my work based on feedback and improve the overall visual direction.

For teamwork, at the beginning, our task division was quite clear and if we followed our timeline properly, we believed we could complete everything on time. However, as the project progressed, especially in the final weeks, the workload became very tight. Each person’s role became very important, especially since we had limited time to test and experiment.

Through this project, I also learned the importance of team coordination and communication. Clear communication and shared understanding are key to making sure everyone is aligned. Even though I tried my best to explain my ideas, there were still moments where misunderstandings happened. To improve this, I used visual references and held more discussions to make sure everyone was on the same page.

During the final two weeks, I not only focused on my own work, but also had to take on additional responsibilities to ensure that the overall project could be completed on time. As the deadline was very close, we could not wait for every part to be completed individually, which increased the pressure significantly.

This situation was quite challenging mentally, as I was already managing my own tasks while also supporting other parts of the project. I felt that with more focused time on my own work, I could have developed a more refined outcome.

I enjoy communicating and discussing ideas with my team, but during this period, we had very limited time to properly support each other or have deeper discussions. Most of the time, we were rushing to complete tasks rather than refining them. Towards the end, the pressure became very intense, and we had to stay up for long hours without proper rest before submission.

Because of these challenges, we tried to work together physically in school as much as possible, as it helped us solve problems faster. Face to face communication was more effective compared to text, as it reduced misunderstandings and allowed us to resolve issues more efficiently.

At the same time, I am grateful to my groupmates, especially En Yu and Karyee, who were supportive and committed to the project. From them, I learned the importance of collaboration, patience and adapting to different working styles. Working together allowed us to complete the project even under tight time constraints.

I would also like to sincerely thank Mr Ronald and Mr Kamal for their guidance throughout these 7 weeks. Their feedback was very clear and constructive, which helped us understand our weaknesses and improve our work step by step.

They guided us not only in terms of design, but also in how to think about our project more clearly, especially in refining our concept, environment direction, and overall presentation. Their comments helped us make better decisions and stay focused on what is important.

I really appreciate the time and effort they spent reviewing our progress and giving us feedback. Their support played a very important role in helping us complete this project and push our work to a better level.

Overall, this project pushed me to my limits, both technically and mentally. Although the final outcome is not exactly what I imagined at the beginning, I am still proud that we managed to complete it. More importantly, this experience made me appreciate the process and increased my passion for this project.



Appendix 

Presentation Day!!!





Behind the scenes of our 7 week journey together 🎬


THE END


Comments

Popular Posts