Skip to content


Project Category: Software

Join us at the Capstone Fair!

Schulich School of Engineering G Block – Atrium on April 5th, 2022; 9:30am to 1:30pm

About our project

Landis is a system designed to combat cheating in a competitive video-game environment. The software uses machine learning to profile players based on their input behavior and then detects inconsistencies that may be used to identify cheating or undesirable user behavior. By comparing current input metrics to the player’s known profile Landis can detect various forms of cheating such as account sharing or if the player has activated a cheating program that enhances their gameplay.

Meet our team members

Hengjun Luo

Hengjun is a 4th year Software engineering student who is proficient in software programming, which includes C, C++, Java, Python, etc. Familiar with software development and management. Has experience in software testing and database management.

Jonathan McDermid

Jonathan is a 4th year Electrical engineering student with experience in C, C++ and MATLAB. Familiar with machine learning and data science applications.

Joseph Cordara

Joseph is a 5th year Software Engineering student with some background in data science and graphics programming. Familiar with basics of web development, database management, and virtual reality applications. Experience with commonly used programming languages and object-oriented programming.

Marco Kehoe

Marco is a 4th year Electrical engineering student, who has experience with C, python and visual basic. Familiar with project management, project logging, and project workflow. Interested in machine learning, data science, and control systems.

Mitchell King

Mitchell is a 4th year Electrical engineering student who is familiar with C, C++, Python. Also has experience with C#, HTML and CSS. Interested in communication and computer networks as well as web design.

Zirui Li

Zirui is a 4th year Software engineering student who is proficient in software programming, which includes C, C++, Java, Python, etc. Familiar with software development and management. Have experience in software testing and database management.

Details about our design


Video gaming has become a huge industry, and with its increasing popularity is it necessary to ensure the integrity of a game by preventing cheating, especially in a competitive environment. If a game gets a reputation for being infested with cheaters it can negatively impact the game’s success, making it harder to draw and/or retain players. 

For this project we worked with TELUS to develop a cloud solution to this problem. We created a software solution that can monitor a player’s input behavior and, using machine learning, determine whether the user is who they say they are, or to detect any input behavior that could be indicative of cheating.


Landis is designed to be a cloud-based anti-cheating system, unlike most current anti-cheat programs which are installed on the user’s computer. With Landis being on a separate server, the player’s user experience is not impacted by having intrusive and potentially annoying software on their computer. Additionally, this makes Landis immune to being potentially tampered with by a malicious user.


Landis utilizes machine learning models to profile users and monitor inputs for undesirable behaviour. Through our testing Landis has shown it can successfully tell when a user is fraudulent based solely on their input behavior. Additionally it is able to reliably determine which user is currently playing by comparing to known profiles. 


Landis’ validation testing was performed using different maps, characters, items, and games; each test ensured that Landis could produce the desired prediction multiple times. The keylogger was validated by pressing a string of keys and ensuring that the output string was the same as the input string. Lastly, the system can identify a non-profiled user with decent accuracy based on our pre-made “other” class.


Landis can be easily implemented on a server to monitor user inputs. The application would run in the background, not interfering with the user experience unless cheating or fraud is detected. Landis can run in any environment with Python installed. The processing power and storage requirements of creating, updating and storing user profiles are not large, but do scale up with the amount of players in the system.  

Partners and mentors

We want to thank our sponsors, academic advisor and TA for their support and patience over the course of this capstone project, whose knowledge and expertise was invaluable in its creation.

Rainer Iraschko – Sponsor Representative

Dallas Rathbone – Sponsor Representative

Dr. Yves Pauchard – Academic Advisor

Shoaib Hussein – Teaching Assisstant

Our photo gallery