This is the project I am engaging now at Kabam, Beijing. It is a 2D strategy mobile game. In the game, you can build your empire, forge alliances and fight other players or NPC. It's the first mobile game of Kabam and reached #1 on the App Store in over 68 countries.
I participated in this project when it had run online for 2 years. Most systems and functions of the game are interacting with players through GUI. Thus it is also the main part of my job. In every new version of the game, I'm in charge of some features, and responsible for designing protocols with game server engineers, implementing GUI and their logic parts of these features. Besides, I also help artists with visual effects and write shaders for them.
It is available at App Storeand Google Play
This is my first project based on Unity engine. It is a 3D multiplayer online RPG with traditional Chinese celestial style.
I was in charge of UI system and UI implementation of most modules in the game client, like inventory, chat, quest list, beginner's guide, etc. And I also design and implemented the over-the-air updating system, which enables the game to update new scenes and modules without publishing a new version of the whole game client, which is quite time-consuming.
By working on this project, I learned the Unity engine from the very beginning, and get familiar with most systems and API of Unity. I really learned a lot from this project and this team.
Unfortunately, this game didn't perform well on monetization in its first several online tests, and the company finally canceled this project.
This is my first project after I joined in the mobile game industry when I worked in Happy Elements. It is a 2D casual mobile game.
Its main gameplay is to keep fishes, raise them, and collect rare fishes. A co-worker and I designed the UI system, the resource management system. And I implemented UI and logic parts for some modules like gems collections, fish tank, and fish collections. I also designed and implemented a system to dump and collect user's crash logs, and scripts for the automatic package building.
It is available at Google Play
This is my graduation project for the master degree, which is a slice of 3D action game on both PC and PS4. I and two other team members, Shih-Kuang and Rui, are building our own cross-platform engine for the game. We have 6 core team members and have been working on this project for about 5 months.
In this project, my contribution includes:
It is still under development and the repo can be found here:
You can also find the repo of animation retargeting tool viewer here:
This is an ascii-style FPS game running in Windows command console. The player's goal is to fight slimes, and find a way out of the random generated dungeon. I wrote a software 3D rendering pipeline with a simple engine for this.
It supports:
The rendering pipeline works in RGBA color mode, and maps the final color buffer to ASCII characters in Windows console window.
This is an experimental project in progress for myself to learn how to write a 3D graphics engine. I'm trying to implement all the necessary basic functions and various advanced features for it.
For now, it supports deffered shading, shadow map and some basic functions wrapping from OpenGL API. I also integrated libraries for various model format support.
This a simple implemention of sph fluid emulator. It's a part of my graduate project in my university.
It uses particles to represent the fluid and SPH(Smoothed-Particle Hydrodynamics) method to simulate fluid's movement. The simulation is done on CPU and the particles' positions are transfer to GPU to render, via OpenGL. For now, the particles are rendered as point sprite, and I'm finding a method to render them like real fluid in real-time.
There also a CUDA version of the simulater, which don't need the transfer of particles' data which is directly allocated in the video memory. And with the nature of GPU's concurrency, the CUDA version is quite faster than the CPU version. Right now, I don't have a Nvidia device, but I will upload the sources as soon as I get one and adapt the them to new CUDA version.
This is a compiler for a subset of C language. It's a course project in my university.
It supports:
This is a simple operating system, which I wrote from scratch in my high school in order to learn how an OS runs on a machine. It is partly a mimic of Linux 0.11. It contains a bootloader, a kernel, a shell and some tools that can run on it for demonstration.