Ting-Chun Sun (孫鼎鈞)

Game Developer/Programmer

Email

Far Cry 6

Far Cry 6

Welcome to Yara, a tropical paradise frozen in time. As the dictator of Yara, Antón Castillo is intent on restoring his nation back to its former glory by any means, with his son, Diego, following in his bloody footsteps. Their oppressive rule has ignited a revolution.

Hyper Scape

Hyper Scape

Hyper Scape is the one and only urban futuristic free-to-play Battle Royale where 100 contenders engage in first-person close-quarters combat and fast-paced matches to become the next global superstar.

H1Z1

H1Z1

H1Z1 is a pure, fast-paced battle royale shooter revamped for PS4. Drop in to a massive map in search of weapons, ammo, vehicles and air drops to get a leg up on the competition and be the last one standing. Hot swap looting, radial menus, natural and quick feel are built for console controls.

Georifters

Georifters

The ground is your weapon in the fast paced battle arena of Georifters. Team up with or against your friends to punch portals, twist tunnels, flip lasers, and steal the ground from under each other using a unique arsenal of weapons and abilities in this ground busting adventure.

Fat City

Fat City

Fat City is an action puzzler in which player plans and starts bank heists. It's ported to Gear VR and Pico VR with controller support by using Oculus Utilities for Unity 5 and PicoVR Unity SDK, respectively.

PlayOcean

PlayOcean

As a compilation of several casual and casino games, including Trivia, Slots, Keno, and Bingo, player can acquire a variety of fun by playing with virtual currency or real money. The games feature player progress tracking, cruise leaderboards, and multi-platform support.

Project Khora

Project Khora

A VR spatial reconnaissance game to identify illegal spacecrafts and authorize attack by utilizing the direct integration between Autodesk Stingray and Oculus Rift. Spacecraft data about cargo, manifest, and specification is procedurally generated to extend replay value.

Forsaken

Forsaken

Forsaken is a first-person horror survival game set in a seemingly abandoned asylum. The main character has no idea how s/he got there, but definitely wants out. Someone seems to have ideas about you leaving their sphere of influence however and the entire asylum, including its architecture, is following their whims.

Multiple BVH Files Viewer

Multiple BVH Files Viewer

This system can demonstrate multiple BVH files with different frame indexes. With a controller panel built based on GLUI, user can readily adjust several kinds of parameters, e.g., type, size, and color of geometric primitives. Some environmental tools, such as camera and light, can also be intuitively manipulated by user.

Virtual Interaction between Human Motion and Basic Objects

Virtual Interaction between Human Motion and Basic Objects

While capturing motion by Microsoft Kinect, this system can create different kinds of virtual scenes by integrating with Open Dynamics Engine so that user can test some physical rules or have pure fun via natural motion.

ZombieVR

ZombieVR

ZombieVR is a mobile VR survival game created with Unity and Google VR SDK. Player has to kill zombies before killed by zombies. Gameplay and VR spatial user interface are built single-handedly with the help of GvrReticlePointer, GvrPointerPhysicsRaycaster, and GvrEventSystem in Google VR SDK.

Run For Life

Run For Life

Player and other NPC preys have to run away from hunter's capture in order to be able to survive as long as possible. This simple survival game is implemented with the help of AI controller and behavior tree in Unreal Engine 4.

Character Template

Character Template

One of Autodesk Stingray standard templates includes a basic shooter level with an animated 3D character. The third person controller implemented via Lua is well supported for keyboard/mouse and gamepad input. The translation and rotation of character and camera are smoothly blended while switching between walking and aiming.

3D Breakout

3D Breakout

A breakout-style game with a first-person perspective is implemented via OpenGL and GLSL. Player has to destroy all bricks by keeping the balls bouncing with the help of five different types of power-ups.

Umbrella Revolution

Umbrella Revolution

While facing countless tear gas grenades and rubber bullets, the only thing protesters can do is to use whatever they have to protect themselves.

Whakman

Whakman

Whakman is a simple Pac-Man clone which player has to collect coins without being captured by ghost. This project utilizes a generic GameObject class with various components for different aspects, such as input, collider, rigid body, and graphics. A* search algorithm is also implemented for ghost AI to chase player.

Nekoban

Nekoban

Player has to push all boxes to the goal positions in as less steps as possible. This Sokoban-like puzzle game is implemented with Cocos2d-x in C++. Various design patterns are utilized to increase the architecture flexibility and functionality, e.g., factory pattern, component pattern, and command pattern.

Checkers

Checkers

Checkers is a network board game implemented as console application with the help of the stand-alone asio C++ library. All the rules and game mechanics are fully supported, such as crowning and forced capture. Invalid input will be rejected and player will be requested to input again.

InventorySystem

Inventory System

2D player can move on the level and pick up items from the ground to the inventory. Various item types/functionalities are supported, such as pickupable, equipable, stackable, and consumable. Player attributes are updated accordingly when item is equipped or consumed. Inventory grid screen is dynamically adjusted based on if a row is needed or not.

GridRoad

Grid Road

With this tool, user is able to use mouse to draw roads and construct waypoints, which are the nodes at the start, end, turn, and intersection with another road. Road graphs are established accordingly since waypoint knows its neighbor waypoints. Disjoint-set data structure is also implemented to detect whether two waypoints are connected or not.

DouDizhu

DouDizhu

Unity prototype of a gambling card game DouDizhu. All basic game mechanisms and user interface are single-handedly implemented in 2 days.

Kinect Inverse Kinematics

Kinect Inverse Kinematics

This system utilizes Cyclic Coordinate Descent method to solve inverse kinematics problem. Via a natural interface based on Microsoft Kinect, user can manipulate this system without any mouse or keyboard commands. Some parameters can be adjusted by user stepping away from the origin, e.g., number of joints, bone length, and joint angle.

Kinect Motion Capture

Kinect Motion Capture

The system can be utilized to capture character motion by Microsoft Kinect. User only needs to perform a calibration pose beforehand, and the system then starts to capture the skeleton and motion information. After the capture process, the system can produce motion data for advanced use.

Constrained Particle System

Constrained Particle System

This is a physically-based simulation of a 1D deformable chain-like structure modeled as a particle system. The chain is "hard" constrained, e.g., rigid edge constraint, pin constraint, and ring constraint. User can interactively adjust parameters and apply extra force by arrow keys and mouse, respectively.

Jello Cube Simulation

Jello Cube Simulation

This is a physically-based simulation of a jello cube modeled as a three-dimensional mass-spring system. The cube is constrained to stay inside a bounding box with inclined plane, sphere, cone, and time-independent force field. User can interactively adjust parameters and apply extra force by arrow keys and mouse, respectively.

Particle-Based Fluid Simulation

Particle-Based Fluid Simulation

Smoothed particle hydrodynamics (SPH) is a method to simulate fluid based on particle systems. It supposes that the physical quantities of each particle can be interpolated by certain radial symmetrical smoothing kernels. For this project, SPH is applied to simulate the movement of water being poured into a container.

Curve and Surface Modeling

Curve and Surface Modeling

By utilizing this tool, user can interactively generate various curves or surface, such as Bezier, cubic B-spline, and subdivision curves/surfaces. User can also use this tool to reconstruct curve based on NN-Crust or Crust algorithm.

Generation and Analysis of Directed Maze with Circuits

Generation and Analysis of Directed Maze with Circuits

A wall carving algorithm adapted from depth-first search algorithm is utilized to generate directed mazes with single solution path, no dead ends, no isolated nodes, and several circuits. In addition, an analysis method is proposed to evaluate if the generated mazes help player explore most of themselves without losing patience.

Motion Graph

Motion Graph

A simple Unity demo contains a virtual human character doing different movements, including running, jumping, waving, and feigning death.

Ripples

Ripples

A simplified shallow wave approach is applied to animate ripples on a water surface.

Cloth Animation

Cloth Animation

Strain limiting is widely used in games for cloth animation due to its simplicity. This cloth simulator utilizes strain limiting instead of the physics simulator provided by Unity.

Rigid Body Simulation

Rigid Body Simulation

This is a self-implemented rigid body simulator without help of Unity physics simulator.

Solar System

Solar System

This is a small 3D solar system Unity demo based on some basic transformations.

Processing Particle System

Processing Particle System

This tool can load .txt file to simulate a virtual scene by utilizing particle systems, force fields, and collision planes.

Processing Wireframe

Processing Wireframe

This tool is implemented for wireframe rendering of a virtual scene specified via text file.

Processing Paint

Processing Paint

User can utilize this interactive sketchpad to draw lines based on the midpoint algorithm. There are also several additional features inspired by Microsoft Paint.