๐Ÿ‘‹ Greetings Traveller! ๐Ÿง™๐Ÿปโ€โ™‚๏ธ
You’ve landed on the fun side of this website. ๐Ÿ˜ƒ

Here, you’ll find a collection of projects (let’s be honest, just games ๐ŸŽฎ) that have challenged me, entertained me, and taught me something new along the way! Each project is a labor of love, blending code, creativity, and the occasional late-night bug fix ๐Ÿ›โ˜•.

I hope you enjoy exploring these creations as much as I enjoyed building them. โœจ


Shatter Space

This game was made purely in C++ as part of Ubisoft Next 2023-24 programming challenge. In this game you're going through space & smashing glass! Fun, right?! This game is heavily inspired by Smash Hit.

Starting Point: Ubisoft gave an API to draw a line between 2 points in 2D.
End Result: I used the 2D line drawing API to create a 3D game, as you can see in the GIF.

Salient features:

  • ECS-based game engine using entity archetypes and object pooling to boost cache performance.
  • Math library with 3D-to-2D projection matrices and O(log n) BVH tree collision detection.
  • High-efficiency physics simulation system capable of real-time rendering of >10,000 objects.
Shatter Space Gameplay
3D Space Flight and Glass Shattering Mechanics

Slime Hunter

A 3D open-world action RPG game built with Unity. I worked on this game in a team of 5 people (2 programmers, 2 designers, 1 artist) as part of my final semester project at Sheridan College.

This game wouldn’t have been possible without the valuable contributions of my talented teammates, namely Roy Lu, Sagar Jadhav, Riccio Li, and Connor Switzer.

My Main Contributions: Developed Slime AI with FSM, engineered Quest/NPC dialogue system using Ink, created secure Persistence System, and built Navigation System for quest guidance.

Main City Hub
Main City Hub
Main Menu
Main Menu

Helicopter Neuroevolution

There's an old game called Helicopter that I used to play as I kid. It was really tough! You can play it online here: Helicopter Game | Addicting Games

As a kid, I always wanted to get really good at this game. As an adult, I realize that it’s easier to just train an AI to do it!

I found on Youtube that someone scored 16,758 on this game. Well, not to brag, but my AI can score more than 500,000 ๐Ÿ™‚

This game was created using p5.js and trained using Genetic Neuroevolution.

The neural network I designed for this game had 10 inputs, 1 hidden layer with 12 nodes, and 2 outputs.

Neural Network Training
Neural Network Training
Final Result - AI Playing
Final Result - AI Playing

Tetris Neuroevolution

I designed & developed a replica of the famous puzzle video game, Tetris. After playing it for a while, I realized that I was bad it at.

So, I implemented and trained a Neural Network to play it using Genetic Neuroevolution! The AI was able to achieve a score 10x better than my best attempt!

This game was created using p5.js and trained using Genetic Neuroevolution.

The neural network I designed for this game had 5 inputs, 1 hidden layer with 6 nodes, and 1 output.

Tetris Gameplay
Tetris Gameplay
Neural Network Training
Neural Network Training
AI Playing Tetris
AI Playing Tetris