Portfolio

[Thesis] Angry Birds Artificial Intelligence

When: March 2014 - November 2014

Project-role: Solo Developer, Artificial Intelligence Analyst

Where: The University of Queensland

Description: Angry Birds is a popular video game which was first published in 2009. Although the gameplay is to kill all the pigs protected by a complex structure composed of different blocks, the laws of physics have many complex elements that can affect the play style. In this project, a successful output of the agents is quite important to let us know whether the rules-based agent can do better than training-learning agent. Moreover, this can lead to the new way for creating the agents in physics-based simulation game like Angry Birds.

How: Used machine vision software and chrome plugin to play game and capture the images. The project uses variation of Logic definition and Geometry formulas to develop the suitable algorithms. The computation also involved in determine the relations between force and stability in Physics of each object in game. Interval Algebra, Rectangle Algebra and Physics assumption are the main Qualitative Spatial Reasoning techniques in this thesis. Based on those methods, the intelligence agents can come up with the heuristic score which evaluate the good/bad of a shot to specific target object.

More Info: Download the source code on Github.



Pong Game

When: July 2014

Project-role: Solo developer

Where: Anywhere I can code :).

Description: A project that was set up by myself for learning Unity Game Engine. This game is the clone version of famous classic Pong game.

How: The game was developed in Unity Game Engine, the main programming language is C#.

More Info: Visit Play Store on Android to download game.



[Team Project] The system for monitoring of the sensitive goods while in transit.

When: March 2014 - June 2014

Project-role: Software Engineer

Where: The University of Queensland

Description: A portable logger will record GPS derived location data, accelerometer based motion data and temperature (at a minimum). An upload feature will allow capture of the data over any internet connected device. Specifically, for this project a PC based software system will display this data overlayed on Google Maps with visualisation of the variables a key feature. This project involved 3 electrical engineers and 1 software engineer.

How: The GPS logger data is stored in usb device, then plug into the computer to use the software to upload the data to named server. the software that will acquire data from the named server, process the data to permit display of the route, times, accelerometer data and temperature overlayed on the GPS correct mapping display.

More Info: Visit Github for the source code.



[Team Project] Mini Television Broadcast, reception and display system (MTV)

When: August 2013 - November 2013

Project-role: Software Engineer

Where: The University of Queensland

Description: A miniature camera is to be augmented to transmit low-resolution images over the FM broadcast band to a receiver and decoding program to display, process and store the images. This project has 4 members in one team which consisted of 3 electrical engineers and one software engineer.

How: The program is developed in C# programming language. It reads the images inputs which were encoded into an array of grey-scale image (values from 0 to 255). After that, it will display an image at a fixed resolution determined by the transmitter. The C# libraries are enough for building this project.


More Info: Visit Github for the source code.