top of page
Stationary photo


I am an aspiring texture/material artist looking to join the video game industry and create memorable and immersive experiences for players. This webpage is dedicated to showcase the projects I've worked on and my experiences with them. You can find my latest textures and materials on my ArtStation page HERE

Your feedback is always welcomed and I look forward to hearing from you soon! 


 My Projects


Dad to the Bone (2023)

Description: Dad to the Bone is a 3D top-down 2-player coop horde slayer where 2 dads are fighting to defeat the AllFather and escape from the Multiverse of Dadness. The game was developed by a group of 6 talented people.

As an environment artist, I was responsible for creating all 4 biomes (i.e., the backyard, the beach, the tailgate party, and the stadium as well as the overworld node map) of the game, including every prop, materials, decals, etc. I have created over 60 props (including modelling, UV mapping, high-low bake, texturing), 25 tileable textures, materials, all adhere to the current environment production pipeline.  As a level designer, I was responsible for creating the play space and experience (including determining metrics, scaling, enemy spawn rate etc.) that support the core pillars of the game.


My experience working on this game has prepared me to join the video game industry. 

My Role: Environment Artist, Level Designer

Engine: Unity 

Duration: 4 Months 

Key Challenge #1: Conveying the narrative features of the game

During the early stage of development, I struggled to create environments that fit the game. "What does a backyard look like in the Multiverse of Dadness?", "What size is the space we needed for environmental storytelling?", "How do we make the players pay attention to the environment of each level when there is so much happening on scree?", these are some of the questions that we needed to answer. Design and implement an unique environment mechanic for each biome. After extensive discussion with the team, I decided that the best way to convey narrative and environemntal features in this game is to create an unqiue environment hazard for each biome. These hazards would get progressively more challenging as the players move forward. These mechanics not only effective in delivering the visuals and narratives of the game but also significantly enhanced player's gameplay experience. The mechanic of each biome also ramps up by each level. This is an effort to create tutorials through level design. For example, in the BBQ biome, there are only 2 BBQs that would light up periodically. In the second level, there are 4 BBQs that would light up in more frequently than the first level. And for the mini-boss level, the entire arena got turned into a giant BBQ.

Key Challenge #2: Creating high-quality environment assets in a timely and efficient manner

The project has a tight art requirement, particuarly given the time contraint. To deliver on the key visuals of each biome, there were a certain amout of props that needed to be created among other environment pieces. I took it upon myself to expand my environment art skills in order to realize the creativity coming from my team. I spent a significant amount of time to improve every step of the environment production pipeline, including modelling, UVs, high-low baking, texturing, iteration and more. As a result, my knowledge on Maya and Substance Designer/Painter in particular has substantially improved. I was able to produce assets and materials much more efficiently and with high quality.

Key Challenge #3: Creating level spaces that support the core pillars of the game

The gameplay space of each level was closley tied to each department of the project. Early on in development, I optd to create modular pieces for the levels in order to create levels with flexibility and enable potential procedural generation. However, the development went, it was proven to be very challening to implement those pieces (i.e. size, lighting, technical constraint etc) Ultimately, I looked back to the core pillars of the game for guidance, which in essece was a horde slayer. I understood that complex geo does not work well for this project. The feedback we got from playtesters agreed with this sentiment. As a result, I opted to switch to a simpler design which was to create 3 key play spaces (namely, playspace S,M,L) with a well defined size and metric for each. With this approach, the team were able to start implement systems, enemies, and among other components on the levels effectively and efficiently.

Check out the pre-alpha footage by clicking the arrow on the clip

Key Tools Used: Maya, Substance Designer/Painter, ZBrush, Unity, Sourcetree


Dandelion (2023)

Description: Dandelion is a 3D side-scrolling platformer where the player plays as, Dan the lion, with the objective of reaching the end of the level while planting as many dandelion flowers on the pots as possible. 

My Role: Environment Artist, Game Designer

Duration: 2 Days 

Engine: Unity 

Dandelion is an entry for the Vancouver Film School Game Jam 2023. It was created by a group of 5 talented people. I was responsible for the creating the environmental assets of the game (including all flowers, variations of pots, mud textures, background etc.) as well as the design of the game. The Game Jam gave me a wonderful opportunity to practice making decisions when it comes to designing game and approach to create environment assets. The theme that was given to us was "flower power". 

Key Challenge #1: Creating a simple and functional game within 2 days

Time constraint was the most significant limitation of this project. In order to create a functional game within 2 days, we needed to decide on the core gameplay mechanics, the level layout, the art assets needed to create for the game in a decisive manner. I made the decision that the team should take inspiration from arcade games, such as CrazyTower, where the player could play the game with simply one button. With this approach, I was able to solidfy the core loop of the game quickly and accelerate the production of the game.

Key Challenge #2: Creating environment assets in a timely and efficient manner

The theme of the game was flower power. Therefore, it was important to hit a certain visual fidelity for the flower and to ensure there is a consistent visual style in the game. While I have modeled flowers in the past, modelling a dandelion was a challenge for me especially when taking into consideration the camera angle of this game. I also had to consider the model and texture of other smaller objects, such as the chains that are holding the pots. I gathered all the necessary references (particular close up images of dandelion) and started modelling as soon as possible. Afterward, I created the pedal texture in Substance Designer. To create an 'upgrade' version of the same dandelion (found in the upper pot), I removed the stem and duplicate 3 more of the same model. The key to achieve this level of visual within a short period of time was to hold the 'just do it' attitude. I found it to be the most effective way to learn and improve my skills.

Key Tools Used: Maya, Substance Designer/Painter, Unity, Sourcetree


Into The Forest (2022) 

Description: Into the Forest is a 3D third person fixed camera angle mystery game. The player plays a kid named Oliver who has awaken in a forest where there is a strange force that is trapping Oliver in an unending loop, preventing him from escaping. The objective of the game is to collect the necessary number of fragments and reach the cabinet at the end of the forest.  The game was created by a group of talented 4 people.

For this game, I designed and polished all 3 versions of the forest, from concepting, whiteboxing/greyboxing, to designing the path for each camera angle, enemy placement, props and textures creation, creating key VFX for each version of the forest and more. I had the wonderful opportunity to work closely with the team's programmer to design on the enemies' AI. their behaviors, implement the 'chase' mode, along with other production related task.

This game was my first experience working with a group of people to create a game. It was my first experience in witnessing the interdisciplinary nature of level design (and game design/production by extension) and put what I learnt in level design and environment art into practice. This game also exposed me to Substance Designer for the first time. 

My Role: Environment Artist, Level Designer

Engine: Unity 

Duration: 2 Months 

Key Challenge #1: Creating gameplay spaces and levels using fixed camera angle and tank control

Creating interesting levels using fixed camera angle and tank control is more challenging than I thought it would be. Many elements need to be taken into consideration, such as player's orientation, ease of navigation, how to creating intrigue along the path? the distance betwen each camera angle? how to guide the player without an indicator? how does it impact the terrain?What are the invisible colliders looking like? and more. I worked closely with the team's programmer and other team members to ensure that there is a proper achraticecture in place for me to adjust the camera angles of each loop with ease. Iteration based on feedback is another key compoment for creaing an intuitive understanding of each level in terms of both orientation and goal.

Key Challenge #2: Creating a consistent yet different version of the same environment

The game consists of 3 different version of the same forest. Each version has a set of camera angle that is different from the other 2 versions. Each version needed to deliver an unique visual aesthetics that depicks the mystery of the forest. Some questions that needed to be consider: what are the moods of each forest? how do they affect color composition? how would the props, ground textures, foliage differ in each loop? I first decided on the overall mood of each loop. The first loop is the normal version of the forest. It has brighter color composition, healthy looking grass, trees, and lily flowers. The second loop is when the mystery started to deepen. Fog and rain are in general a good representation of mystery. The trees are changed from a thick healthy tree to a skinner one to amplify the effects of the fog and rain. The last loop is when Oliver decends to madness. I added a red overlay to change key color composition of this loop. The trees are bended in a unnatural way to reflect on the madness theme. To add to the atmosphere of each loop, I also learned to create basic VFXs, using Unity's VFX graph and particle system (e.g., the fireflies and god lights in the first loop, the rain and fog in the second loop, the particles emitting from the cabin etc.).

Key Challenge #3: How to make this game more interesting in terms of gameplay?

During the early stage of development, the core loop of the game consisted only of picking key items, reaching the cabin at the end, and repeat. Based on feedback from playtesters and intstructors, we knew that we had to add more gameplay elements to the game. I worked with the team's programmer to create the 3 types of enemy in the game and add a 'chase' mode that gives emphasis and tension to the enemies. The 3 enemy behaviours are as follow; Yellow = always chasing the player but slow; White = can be stopped by turning off the flashlight (incorperating the flashlight as a game mecahnic, not just for visibiltiy); and Red = patrolling with a line of sight which the players need to avoid. The enemies gave me the tool to create more an interesting gameplay experience by controlling the space, creating unqiue enemy setup for different camera angle and more.

Key Tools Used: Maya, Substance Designer, Unity, VFX graph, Unity Terrain Tool, TreeIt, Sourcetree


Alexandria's Redemption (2022) 

Description: Alexandria's Redemption is a school project that emphasizes on designing a platforming-based level, a puzzle solving-based level, and a boss fight in Unreal Engine. The objective of the project is to familiarize students with the key level design tools in Unreal Engine (e.g., Sequencer, Foliage tool, Blueprint etc.).  All assets are provided in the project. I did not create any of the asset of this project.  

Engine: Unreal

This project provides me with an opportunity to build on what I learned about Unreal Engine, Blueprint, and level design to create 3 distinct levels. For the platforming level, I designed and implemented a time-base mechanic where the player needs to pull a lever to control the flow of time in order to reach the treasure chest at the end. For the puzzle solving, I designed a maze where the player needs to pull a set of levers to open the correct gate in order to advance. For the boss fight level, I designed a multi-phased boss fight. I scripted and implemented all key events and mechanics of this project via Blueprint and Sequencer. I also learned how to use sublevels, implement dialogues, quest markers, and among others. 

My Role: Level Designer

Key Challenge #1: Communicating clearly the objective of the platforming level, designing an unique mechanic that keeps the player engaged, and creating space, landmarks, and path that guide the player towards the level's objective

One of the most challenging aspects in creating the platforming level was to communciate the objective of the level without using any text. It was also important to create an enviornment that is visually and mechanically engaging and provides meaningful platforming challenges to the player while adhereing to the metrics (e.g. jump distance). To communicate the objective of the level effectively, i started off by having a clear line of sight to the goal of the level, which is the large treasure chest sitting on the throne. To deliver on the visual, I created a lava theme level where most of the village has already been destroyed by the fire and submerged in the lava. The visual theme is translated into game mechanics in several ways, for example, there was a conveyor belt on the lava that transport the player to different location. To further engage player with the level, I decided to add time control mechanic to the level by modifying the global and player's time dilation in Blueprint. By moving the levers, the player would be able to slow down time, creating interesing platforming opportunities throughout the level. One of the key challenges when implementing the time slow down mechanic was that at first it did not reduce the velocity of the jump in proportion to the slowed time. Meaning that when the character jumped off a platform, the character would get sling shot'ed across the room. I solved this challenge by disabling the impart base velocity during time slow.

Key Challenge #2: Creating a maze for the puzzle solving level 

Making an effective maze itself has proven to be an extraordinary challenging task. Designing a maze that has an unique mechanic adds another layer of complexity to the level that risks losing player's interest. Making this level has provided me with an invaluable opportunity to design my first puzzle/maze in a game I started laying out the maze on paper, marking the entrance and goal and tried to create interesring paths in between. I then added an unique mechanic where there are different color-coded gates that the player needs to operate in order to advance. The purpose of the gate was to add variety and personality to the level, making the maze unique to this particlar world. To create a maze and incorperate the color-coded door in a logical and digestiable way for the player, I decided to divide the maze into 3 sections. Once the player passed section A, they never actually need to go back (not explicit). With this logic behind the maze, the player would inhereitently understand that once they cross a certain section, they would never need to look back (i.e., limiting the options that are available to the player so they would be able to advance by logical deduction), making it less frustating to the players who do not enjoy puzzle solving.

Key Challenge #3: Creating a multi-phased boss fight level from scratch

Designing a boss fight that feels rewarding, fit the narrative, and providing player's the opportunity to demonstrate mastery involves the implementation of logics, visuals, sounds, VFX, and more. This was a challenge for me since I had little to no previous experience in scripting bosses and implementing sounds, cameras, VFX etc. To implement the boss fight, I first decided on the sequence of the fight. The fight began when the player enters the arena. I made sure that there is no camera cut in any of the cutscene to ensure seemless transition between cutscenes and battles. Then, the player must defeat 5 adds to spawn the boss. This is intended to increase tension and build up before fighting the boss. During phase transition, the boss will cast a meteor attack. The player must move away from the meteor in order to reach the 2nd phase. This is to challenge the player's movement ability on top of combat ability. I also learned how to implement sounds, animation, VFX, cutscenes using resources from the Internet.

Key Tools Used: Unreal Engine, Blueprint, Sequencer, Foliage tool, Landscape tool


Horror Demo (2022)

Description: The main objective of the Horror Demo is to familiarize myself with the use of Blueprint in Unreal Engine and to create a horror-based environment using provided assets. I did not create any of the asset in this project unless indicated (see the Challenges below). 

Engine: Unreal

The project began with whiteboxing based on a given set of metrics (including room layout, the height and width of the walls etc.) Then the goal was to create a horror game experience with the focus on using Blueprint in Unreal Engine. This project was my first experience in visual scripting. It has given me a strong foundation in understanding the implementation of various events in Unreal Engine and further developed my core level design skills (e.g. whiteboxing, understanding metrics etc.). 

My Role: Level Designer

Key Challenge #1: Implementing Blueprint with no background in programming or using visual scripting languages

The Horror Demo was my first experiencing in using Blueprint. I had little to no prior experience in programme. It was a great challenge for me to script an entire experience using Blueprint. I started by learning the basic of Blueprint including on how to trigger events, using level Blueprint, dispatchers, timeline, sequencer and more. With the basic knowledge learned, I was able to begin pieceing together the horror demo, deciding on the key events, such as blowing open the locker, flickering light,and activativing/deactivating different elements using Blueprint. This experience has given me a strong foundation for sciprting levels in Unreal.

Key Challenge #2: Giving emphasis to environmental storytelling and narrative based on a given set of assets

The project came with a number of assets, including basic props, materials, and textures. As student, I could not add any new asset to the project. However, in order to create a more unique and immersive environment, I believed I needed to deploy the assets in a more creative way and leverage other components such as animation and cutscenes. To create a more atmospheric environment, I first added multiple common household items by repurposing the assets that were given to me in a variety of ways. For examples, the clock was actually the wheel of the gurney. The musicbox was a combination of multiple assets. I also learned to use Sequencer to add simple animation to the charactesr, cutscenes, and other special effects. For example, I used Sequencer to break the bone of the patient and keyframe'd the head to move left and right rapidly.

Key Tools Used: Unreal Engine, Sequencer, Blueprint


Whiteboxing Demo (2022)

Description: The objective of the whiteboxing demo is to whitebox a level based on the game Dark Souls using BSP geometries in Unreal Engine. 

Engine: Unreal 

My Role: Level Designer

In this project I came up with a narrative which the player woke up in a cell of Anor Londo. The player must make their way to the top of the tower to escape. I worked on every component of this level including determining the metrics, scales, level structure, sizes, beats, pacing and among others. To create a level that supports the narrative, I opted to start the level from a more confined space at the bottom (i.e. the cell) then slowly move towards a more open area and to the top. This layout provides the player with a sense of progression in a logical manner while creating different opportunities for enemy encounters, exploring optional path and more. 

Key Challenge #1: Designing a cohesive level with interesting mass and void, effective landmarks for guiding players, creating interesting and engaging beats and more

+ Solution: I began by deciding the enemies that were going to be in the level since enemy placement is crucial for determining the player's gameplay experience. I then used the narrative I created as a core pillar in designing the level. The player started in a cell with only a linear path for progression. This path would lead the player to the first boss of the level. There are certain paths that were blocked from one side. This is to encourage and reward exploration. Once the player has defeated the boss, the player would reach an open area where there are a giant tower is standing. The tower is a clear indication (i.e. a landmark) for guiding the player to their next destination. At the same time, a red dragon is breathing fire down the path to the tower, signifying that the direct path to the tower is dangerous and the players are encouraged to explore an alternative path, creating a variety of gameplay beats. The player can reach the top of the tower by either running through the fire and skillfully handling the black knight that is guarding the front door of the tower or find the hidden ground tunnel and reach the inside of the tower safely.  

Key Challenge #2: Not overlapping BSP

+ Solution: Evidently there are still overlapping in the level. However, I have learned to pay attention to the snap grid value, not to scale using the brush setting, and other techniques that would help me improve my whiteboxing skills in the future. 

Click HERE to see the Level Design Document (LDD)

Key Tools Used: Unreal, BSP

Find Me On:

bottom of page