top of page
Untitled1.png

Lancelot

Lancelot is an action game in which the player takes on the role of Lancelot, a member of an elite organization who must eliminate the traitorous members who betrayed the organization.

About This Project

Team Size: 4 members.

My Position: Background Artist, 3D Artist

This is my first game where I do 3D assets on a mobile game. This game is a project for the Mobile Game Development class in my university. It's quite challenging for me to optimize the game and assets for mobile phones.

In this project, I focus on optimizing game assets and use optimizing techniques in Unity, such as light baking and occlusion culling, to ensure the game is playable on mobile.

First, we planned to make at least three scenes in the game. However, as I worked on the assets, I realized that I wouldn't be able to complete everything in time. Therefore, I consulted my team early on about reducing the number of scenes from three to one, while focusing on enhancing the quality of that single scene instead.

Concept Art

My designer wanted to set the theme in 19th century London, so I researched references on buildings and sidewalks from both real photos and other video games such as Assassin's Creed Syndicate (it's giving for free in that time, what a perfect timing).

passers-by-and-horse-drawn-carriages-in-cheapside-in-london-in-the-background-the-church-o
image4.png
image3.png

reference sample

Next, I sketched and quickly mocked up the first concept art to discuss with other artists about the art direction of the game.

London BigBen.png
Screenshot 2025-04-11 142413.png
Screenshot 2025-04-11 142354.png

first concept arts

​However, to ensure that all artists can complete their tasks on time, I changed the art style to what all the artists are good at to make all the artists match the same style.

house design.png
image5.png

put assets from other artists in the scene while working on background

Modelling and Texturing

I painted the outline of the model to ensure that the art style matched the character. For the round objects, I used the Solidify modifier in Blender to create the outline before importing them into Unity. I don't apply the Solidify modifier to all objects to create outlines because this would double the polygon count. Instead, I only use it for certain objects.

Screenshot 2025-04-12 120720.png

use Solidify to make outline for round object

For the buildings, I reused the same 3-4 building pattern and added decorations and plants to make it look less repetitive.

Untitled1.png
Screenshot 2025-04-12 063251.png
Screenshot 2025-04-12 063547.png

I deleted the unseen face to improve the performance.

Screenshot 2025-04-12 052224.png

don't look what's behind the scene

In the far background, I used a plane with black material with fake window lights instead of fully detailed buildings. This approach helps reduce draw calls. Additionally, I applied camera depth of field to blur the far background, making it less noticeable that the buildings are not fully detailed.

Screenshot 2025-04-12 061932.png

use fake building in far background

Bricks on the floor are created by multiple bricks aligned with arrays and then baked on a single plane. This method can reduce rendering from almost a million polygons to just a single plane. It will reduce some details but not that noticible.

Screenshot 2025-04-12 011437.png
Screenshot 2025-04-12 011327.png

before and after baked

At that time, I was learning how occlusion culling works in Unity. This technique renders objects only when they are in the camera's view to improve performance. To make this function work effectively, the objects need to be separate pieces. Therefore, I separated elements such as building pillars and other decorations to ensure they work well with occlusion culling.

Screenshot 2025-04-12 051605.png
Screenshot 2025-04-12 051611.png

before and after occlusion culling

Conclusion

In conclusion, this is the first time I have done a 3D game for a mobile device. There are a lot of things that I have to think ahead while creating the assets, such as polygon count and the way to optimize. However, the biggest lesson that I learn from this project is time management because at first we planned to create three scenes in this game, but I estimated the time incorrectly, which led to cutting out another two scenes.

bottom of page