Career Profile

Developer, Soft Engineer, Researcher on AI, AR, VR, 3D modelling, and Agent Simulation

Experiences

RESEARCH ASSOCIATE

2011 - Present
Nanyang Technological University

I do research and software works in Game, AI, multi-agent system, machine learning, data analysis, AR, VR, education and entertain softwares.

SOFTWARE ENGINEER

2008 - 2011
Ping An Technology

I have been working for Ping An Technology Corporation.LTD as a System Management Engineer which is mainly responsible for system environment building and operation and maintenance management.

Inventions

”AR/VR based Interactive Visualisation Of Furniture Models On Mobile Devices” Technical Disclosure & commercialization through NTU NIEO, TD-268-17. 1st Inventor
"AI Game Editor", TD-056-17, 1st Inventor
"Intelligent GameDesigner", TD-079-15, 1st Inventor
"Maze", TD-078-15, 1st Inventor
"Catwalk Simulation (CASI)", TD-183-14
"Crowd Simulation API – FAME for Unity3D Game Engine", TD-014-14
AIRDesigner Technical Disclosure & commercialization through NTU NIEO, TD/185/14, 3rd Inventor
”Crowd Simulation Plugin (FAME)”, Research Commercialization Via Deployable APIs, TD/03713, 3rd Inventor

Research Publications

”A Conceptual Modeling of Flocking-regulated Multi-agent Reinforcement Learning”, Nov 3, 2016 publication. WCCI-CEC 2016, Vancouver, Canada.
”Towards Believable Resource Gathering Behaviours in Real-time Strategy Games with a Memetic Ant Colony System”, Procedings of the 17th Asia Pacific Symposium on Intelligent and Evolutionary Systems (IES 2013).

Open Source Contributions

For the video demo of some of the projects i have done in my professional works:

For my personal Open Source contribution, they can be found at the following links:

Projects

Funiture AR/VR Project (Mobile + WebGL)

May 2017 – Present

I am currently working on an AR/VR Mobile and WebGL APP which support users to download 3D models from server and view and manipulate the furniture data and models in AR and VR environment. By having furnitures (sold from an actual e-commerce site) loaded into mobile AR and WebGL VR environment in time, it allows buyers to evaluate furnitures before making purchase. The WebGL APP also provides VR functions that allow users to create and edit 2D blueprint, and it can automatically convert 2D blueprints of a floor plan into 3D room environment that interior designers can get real-time feedback about their design. The application also supports inapp purchase of furnitures via its remote shopping cart functions. I used Unity3D, Kudan, AR Kit, AR Core in the project, with C# as the main programming language. I was the developer lead in the project.

IntelliK Game Designer (include editor, server, website, mobile APP)

2016 - Present

I designed and implemented IntelliK, a game design application which can provide user who has no programming background with the capability of developing different games efficiently and effectively. Using Game Designer, user can design and develop different kinds of games. This application is flexible and pluggable, with different kinds of the plug in (such as runtime control script editor, tile-map editor, decision making AI editor, etc.), users can create powerful and complex games. As the effective of the Deep learning plugin, it supports users to embed machine learning applications (including but not limited to face verification and recognition and reinforcement learning) within games. With the data analytics plugin, it allow game creators to define the data they want to collect streaming data for game analytics. Server for the game designer: I implemented a server for the game designer which supports users to upload / download / add reviews to games. It also contains a content management system that allow administrators to create/edit contents and event triggers. Users can find the collection and analytics data of their games from this website. Mobile APP of the game loader: This APP allow users to download and play the games which is created by the game designer from server. Features such as video recording, sharing, chatting, data collection and multi-play as included as well. I was the developer lead of the project. In this project, I used a number of technologies including Unity3D for 3D modelling and visualization, Spring Boot for the backend, Vue + iView for the frontend, OpenCV for the object detection, Tensorflow for the deep learning face verification and recognition

Game Artificial Intelligence and Multi-Agent System

2014 - 2016

My master work on multi-agent system is an innovative game and simulation AI that uses SARSA (state-action-reward-state-action), Q-Learn and Fuzzy ART (Adaptive Resonance Theory) network for temporal difference (TD) reinforcement learning among game agents whose collaborative behavior are supervised via crowd-AI including ant colony system, particle warm, flocking and steering behaviors. The group behavior AI is able to allow cooperative learning between multi agents in a game or simulation environment. The project was written in Java and Swing

Boy and Robots Project (unity application part)

2013 - 2016

I designed and implemented a unity application to get series of screen captures for robot motions which follow the result of the FAME library. FAME is a flocking library which can generate location of each agent in flock of every frame. This unity application can generates realistic flocking motion (based on the FAME library) and control each characters’ action by the input commands. Then it can automatically do the screen captures to get series pictures which would use to generate videos. The project was written in C# and Unity3D

Maze 3D

2014 - 2015

MAZE is a 3D game research project which inspires from visual programming concept that let users create and design their own maze game by manipulating game characters and objects graphically. It allows users to create their own maze game environment in Maze Editor. It also provides Script Maze Editor to define and design the action scripts to control the behaviors of game character. Moreover, user can examine the ability of his/her own game character in other maze game environment created by another user. I was the developer lead, the project was written in C# and Unity3D

Crowd Simulation Plugin for 3ds max

2013 - 2015

Crowd Simulation Plugin for 3ds max Crowd Simulation Plugin for 3Ds Max provides a crowd Artificial Intelligence (AI) solution that eases the process of 3D animated film productions. Equipped with a comprehensive set of formation manipulation features, Crowd Simulation Plugin indulge designers with agilities to create groups of virtual agents of any desired formation shapes in 3dsMax, effortlessly. Similarly, a well-designed user-friendly interface is made available to enable simple customizations of complex group behaviors that suits the diverse requirements of animated film productions. I was the developer lead on the crowd AI and simulation. The project involves technologies such as 3DMax and MaxScript, C#, C++

Air Designer

2011 - 2014

AIRDesigner (AI Rule Designer) comes with a comprehensive set of state-of-the-art AI technologies including expert system, decision tree, behavior tree, fuzzy rule and state machine. Through the lego-like graphical building blocks , user can design the behaviors of game character seamlessly via a series of drag and drop functionality. This allows even non-programmers such as game designers to define, design and modify the AI rules of game characters quickly. Moreover, AIRDesigner can be contributed as part of the game to provide human player with the capability of defining decision process and behaviors of game characters.

Decision making Rule Design Tools

2012 - 2014

I designed and implemented a GUI Tool for users to easily and quickly to create and modify the rule files used in the decision making system of the Game AI library. The Game AI library would read these rule files to generate different decision making AI for different game roles. With this tool, users can generate the rule files (xml file) without coding. The project was developed using WPF, C# and .NET

Dependency Game AI library

2011 - 2012

I designed and implemented a dependency game AI library which can be easily used to create and modify different AI in games. This library should contain different kinds of Game AI technologies: Decision making, Path finding, Tactical and Strategic AI, Learning AI, Resource manager and others. Now I have finished the decision making system and some parts of the Learning AI. The project was written by me using C# and .NET

Multi-Objective Optimization

2011 - 2012

Multi-Objective Optimization I designed and implemented evolutionary computation algorithms for solving real-world multipleobjective optimization problems involved. I implemented the multi-objective optimization algorithms such as HAPMOEA, NSGA-II, Hybrid Game. The project was written in C++ using Shark lib

Memetic Technique for Multiple Unmanned Aerial Vehicles Tasks Allocation

2011 - 2012

I designed and implemented the memetic algorithms in C++ for multiple unmanned aerial vehicles tasks allocation, which assign the scanning tasks for a set of heterogeneous unmanned aerial vehicles, I later also help to designed and developed the socket client in Python for interfacing with the UAV hardware systems. The project was written in Python, C++ and .NET

Unmanned Vehicle Automatic Control System

2011 - 2011

I designed and implemented the automatic control system that allows which design routing for UAV and communication modules that direct the UAV in the air. The modules allows camera imaging from the UAV as well as send and receive commands to and from UAV. The project was written using C# with MavLink

Queueing Models

2011 - 2011

I designed and implemented queueing models for study in Operations Research. Those models includes Erlang-B, Erlang C, MMC models. the library was written in C# and Winforms

Unity3D visualization application for controller

2011 - 2011

I designed and implemented an Unity3D-based game application for interfacing with a piezoelectric controller for innovative game playing

On-line examination system

2008 - 2008

The program mainly realizes online examination and score goals, divided into three operating authority: administrators, teachers and students. Mainly include teachers’ information management, the student information management, examination management, the exam management and analysis, management background, the function of exam results inquires. The project was written in C# and SQL Server 2005 with ASP.NET.

Task manager

2008 - 2008

Imitate Windows system, the application realize the task manager under Linux environment. Functions include: the process management, system static information and dynamic information display, CPU and memory utilization of graphically, module information display, power management, etc. In addition, under Linux environment, It can also compile kernel, add a system call, add device drivers, etc. The project was written in C and GTK+ 2.0

Supermarket management system

2007 - 2007

Functions include: catalogues management, inventory initialization, purchase and warehouse or shelving management; Inventory; The cashier; Return; Online inquiry; Inquiry, statistics and reports, sales analysis, the Vip customer information management, staff information, shopping integral management, inventory alarm etc, online inquiry with B/S model, the rest of the function with C/S mode realized. The project was written using C++ and MFC with SQL Server 2005

Mail server system

2007 - 2007

The Application support the mail compilation, send email, attachment upload and download, local draft box, the local store, mailing list view, mail server account configuration and storage function; Ability to perform functions required friendly graphical user interface (GUI). The project was written using Java and SQL Server 2005

System optimization tools

2006 - 2006

Function mainly includes: system information detection, the system optimization (through modifying registry realize), super tool (including clean up garbage documents, the rightclick menu management, desktop wallpaper changer and some system tools shortcuts), task manager, etc. The project was written using C#, Winforms and SQL Server 2005

Comprehensive site

2006 - 2006

The web site includes: the press center, video demand, user registration and login, BBS, electronic maps and background management module. The project was written using Access 2005 and Flash with C#