I made a simple 2D physics engine with C++, and I used
DirectX 2D
to render the graphics on the screen.
In order to optimise collision detection performance,
I used Quadtree
to manage scene objects. As a result,
it can handle collision tests for thousands of objects.
Game Programming
In 2018, I made a Pokémon battle game as my assignment of a cource only with C++.
And, I used DirectX 2D
to render the graphics on the screen.
※ The sprite assets are downloaded from the Internet
and only used for learning and exercise.
Not only did I implement the code for the battle system,
but I also created a framework for displaying the UI.
C#
4 years' experience with C#
Game Programming
In 2022, I made a text-based game as my assignment of a cource only with C#.
Not only did I implement the code for dialogue system,
but I also created a framework for displaying the UI.
Network Programming
I have some knowledge of network programming, protocols, etc.
This is a Windows application of an internet chatroom
that I wrote in C#.
Unreal Engine
4 years' experience with Unreal Engine
Game Programming
I have worked on many game projects as a programmer using Unreal Engine.
As a result, I have a good understanding of UE's
C++, blueprint, UI, shaders, AI, physics, animation, networking
and more.
In the summer of 2020, I spent a week working independently on
a third-person shooter prototype,
which enabled me to successfully pass the written exam at
Ubisoft Chengdu.
UI Programming
By modifying and extending
Unreal Engine's source code,
I created an advanced rich text block.
UI designers can easily use this widget in UMG.
Not only does it support displaying text with a typewriter effect,
it also supports configurable print speed, intervals and pauses.
Also, I added annotation (Chinese or Japanese pronunciation symbols) function to it,
which is a very common need in Japanese language games.
Here is the demonstration video.
Demonstration video
I've also integrated these code features into the Unreal plugin
for reuse between different projects and Unreal Engine versions.
Unity
4 years' experience with Unity
Game Programming
I have worked on many game projects as a programmer using Unity.
As a result, I have a good understanding of Unity's C# scripting, design patterns, physics,
character animation, networking, shaders and more.
UI Programming
I extended Unity's TextMeshPro
component to implement a dialogue system with its UI effects.
It can output text in typewriter style and supports rich text effects.
Also, I added annotation (Chinese or Japanese pronunciation symbols) function to it.
Here is the demonstration video.
Demonstration video
Editor Programming
In the project Disco Dispute, I made an editor tool in Unity by
Unity UI Toolkit,
so that designers can visually modify the effects of player skills.
Technical Art
4 years' experience with Computer Graphics
Maya & MEL Script
I understand the basic use of Maya and
the MEL scripting language of Maya.
I am able to write scripts using MEL to do some automated, or batch processing in Maya.
Cel Shading
I implemented a cel shading effect that imitates The Legend of Zelda: Breath of the Wild
/
Tears
of the Kingdom,
by modifying Unreal Engine's source code
to create a custom shading model.
It can be affected by all the light sources and global illumination.
Here is the demonstration video.
Demonstration video
※ The model assets in this video are downloaded from the
Internet
and only used for learning and exercise.
Grass Shader
I made a stylized grass shader in Unreal Engine that can interact with the player,
the NPCs and the objects.
I also made a rain effects (particle system and screen post-processing) in this demo.
Click
here
to download the demo.