Computer Science

Evolving Human-Like Micromanagement in StarCraft II with NeuroEvolution and Reinforcement Learning

In our project, we implement neuro-evolution using NEAT and reinforcement learning using Sarsa(λ) on micromanagement scenarios in StarCraft II involving the small-scale precise control of combat units. Using our developed training framework for applying NEAT to StarCraft II, we evolved neuroevolutionary agents that learned to demonstrate precise hit-and-run strategies to beat the in-game AI in ranged vs melee matchups. Our reinforcement learning agents using Sarsa(λ) learned to be successful in more complex micromanagement scenarios involving enemy engagement selection and timing. Our results serve as a proof-of-concept of the benefits and potential of the applications of these techniques in video games and represent meaningful contributions to the wider video gaming and artificial intelligence communities.

A MMORPG to raise public awareness on Computer Crimes

Create a Massive Multiplayer Online Role-Playing Game (MMORPG) populated with computer mechanism related elements that can help players raise awareness on cyber-secure behaviors in their daily computer and smart device usage. There are two game modes available for demonstration, namely single player career and multiplayer arena. The former displays how the story background is set and links the logic flow between the player and the AR device that allows the player to visualize computer mechanisms and cyber behaviors into magical spells and abilities. The latter allows up to 20 players to practice these abilities in a simulated battle arena where the objective is to take down the enemy “server”, which can then disable enemies to respawn from their server data and obtain victory.

Find A Seat App

Many students endured a difficult and time-consuming search for an empty chair, particularly during the examination period. Furthermore, hogging seats with personal belongings for a long time are some notorious acts that are very common in the libraries. With a view to tackle these issues, this project “Find A Seat App” aims at building an application that can detect the occupancies of the seats in HKU Main Library in real-time. Two approaches, i.e. using Computer Vision techniques and Internet of Things (IoT) device, are examined and discussed in the project.

返工・Working after hurricane

返工・Working After Hurricane is a single-player 2D platformer, made using unity. It is about a worker rushing to work after hurricane. The worker has to collect $500 to afford a taxi ride. Player controls the worker using arrow keys and mouse. The worker can jump, walk and run around to collect coins. The worker’s arm rotates freely, following the mouse cursor. By left-clicking, the worker can shoot documents to collect coins. Don’t forget to avoid falling objects as well, they may kill the worker! All graphics used in this game are 100% original.

Augmented reality in retail

Through the BazaAR iOS application, we propose a hybrid shopping experience enabled by Augmented Reality technology and Photogrammetry. A retailer enters the application and adds items for sale with various details including product description and cost. He/she uploads images of this product which are then converted into 3D models(using Photogrammetry) by the application. Once the customer starts the application, he browses through the list of products for sale and selects a product from the list after which the respective 3D models is pulled out from the database for interactive viewing in Augmented Reality.

Dumb ways to fail

Dumb ways to fail is a game which simulates a typical student experience, which one’s lack of attention to different aspects of a course (attendance, coursework, exam etc) could lead to failing a course. Within the game, players will go through a series of mini games, in which they will be given short instruction and react quickly to complete that game successfully. After players have played the game for several times, they will become better at the game and could achieve higher grade at the end of the game. Random bonus will be given to players to create extra excitement.


In the app market, most money-saving apps have complicated UI and only target adults. KidFinance is a money-saving app targeting kids and teenagers. It allows user to develop a personalized financial record portfolio, with one of the simplest but attractive income/expense management and review functions. Moreover, to attract teens establishing money saving habit, they can set a money saving target and get award. Furthermore, surprise achievements also pop up according to their money saving/expense behavior (E.g. If they rely too much on parents to get money).

Animal shield

Nowadays we often see posts of finding lost animals on social media. Also, there are posts discussing discovering stray animals on streets. However, these social media are not effective enough, since the news feed of users will change from time to time.

Seen in this light, our team hopes to develop an application which solely focus on spreading information on finding lost pets and rescuing stray animals. Users can make use of our platform to seek help. Our application will also connect to the vet clinics to make finding vet more convenient. Our application will also update users with news focusing on pet-caring and pet issues, these news and useful pet-caring tips will give positive influence on users to increase their attention on animal rights.

Lost slime: a new home

Lost Slime is a Multiplayer-Educational-Rhythm game that runs on your web browser, written in javascript with Node.js, Express.js and Socket.IO. It is designed to be lightweight and responsive to run on any PC.

Find Slimies new houses! Players compete to stack the tallest pillar to gain a high ground — which helps Slimies in spotting new locations for housing. To stack a pillar block, players time their space-bars along with the music beats. There are also phrases or sentences intertwined, that players have to input correctly before pressing space-bar. With these two objectives carried out, Slimies can then jump on the newly stacked pillar block!

What’s more, there are two additional single-player modes, where players strive for stacking the tallest pillar in High-score Mode, as well as surviving as long as possible, in Survival Mode, before the camera catches up!

We set out in making the game casually improve players’ typing proficiency. It could be cheerful-lighthearted, or mechanically intensive. We have designed an additional beat-mapper program to translate music pieces into custom track information used by the game, in json format. Which means players can create authentic mappings with their favorite music!