Drawing Application is a Microsoft Paint inspired drawing application developed during my internship at Materialise Malaysia. The project was a learning experience large scale object-oriented software development.
Features
Tags: C++
Super Miami is a top-down shooter which combines aspects of Hotline Miami (top-down shooter) with Superhot (time within the game only progresses when the player moves). This game was developed during my time at the Game Development Society in Imperial as a collaboration between 2 people.
Tags: GameMaker, Gamedev
ARMadillo is a cross-platform ARM emulator for assembling and simulating the ARM7TDMI instruction set built as part of the High Level Programming EE3-22 module at Imperial College London in 2017. My role in the project was the implementation of the ARM7TDMI instruction sets and emulator. I was also responsible for writing tests for the emulator functions. You can check it out on GitHub!
ARMadillo was a collaborative effort in a team of 4 people. It was developed in F# with the GUI developed using HTML, CSS, and, JavaScript and draws inspiration from VisUAL.
Tags: F#, Assembly, Webdev
Twog is an unfinished game and was developed while playing around with the Monocle game engine. The basic game concept is a top down shooter. Ultimately, the goal was to study the game engine. It was developed in C# using the MonoGame framework. The source code is available here.
Tags: MonoGame, C#, Gamedev
The Dog Breed Classifier was developed as as part of the Udacity Data Scientist Nanodegree. For the project, I trained a convolutional neural network with transfer learning to classify the dog breeds while experimenting with different models and parameters. Additionally, I also developed a web application to run the classifier. You can read the project write-up here or check out the code here!
Tags: Deep Learning, Python, PyTorch, Webdev, Data Science
Nature's Turn is our entry to the GMTK Game Jam 2023 with the theme "Reversed Roles". The concept of the game is that you are playing as the environment in a turn based tactics game instead of the units. Your goal is to keep peace and prevent forests from destruction. The game was made over a weekend so we ended up not being able to implement all the features we wanted to. You can check the game out here!
Tags: Godot, Gamedev
EEBug is a line following robot developed as part of my first year project at Imperial College London in 2014. The project was carried out in a team of 5 people where I was designated project manager. I also contributed to the PSPICE simulation and implementing the line following algorithm in C.
The EEBug is controlled by an Atmel Attiny 85. To detect the line, the EEBug uses IR LEDs and detectors. The motors are driven using pulse width modulation. A voltage regulator is also implemented to prevent noisy voltage signals from being sent to the microcontroller.
Tags: C, Electronics
NeuroSpell is a low-cost brain computing interface that allows people suffering from motor impairment to type on computers by looking at an on-screen keyboard. The project was developed in a team of 7 people. My role in this project was developing the software in Python and interfacing with OpenViBE. Check out our website!
NeuroSpell consists of an EEG headset which records brain signals and a processing box which amplifies and filters the signal before being sent to our software interface. On the software side, the signal is processed with Linear Discriminant Analysis (LDA) to obtain the relevant signals which are generated by the user looking at a specific key on our flashing on-screen keyboard.
Tags: Python
Heat Pipe Cooling Design System for Osram LED Luminaires was developed as a collaborative effort in a team of 3 people while we were studying A-Levels. The project was carried out to participate in The Great Lab Challenge 2014 sponsored by Osram. The goal of this project was to propose a novel design for heat sinks in LEDs. During the project, each of us contributed to the research. I was also given the responsibility of designing the diagrams. Check out the report!
Tags: Thermodynamics
Revolver is a simple puzzle game developed as a personal project and exercise in puzzle creation and game development. You only have two inputs: left and right and you're supposed to guide the hero to the key and to then to the exit. The game currently has 10 playable levels and is on GitHub. It was developed in C# with MonoGame.
Tags: C#, MonoGame, Gamedev
Katapat is a Malay language version of the popular word guessing game Wordle. During the development of the game, I assisted in procuring Malay words to add to the game's dictionary. I also wrote scripts to cross reference the words with the official Malay dictionary (Kamus Dewan) to ensure their eligibility. You can play the game here!
Tags: Python, Gamedev
ParkWare is a project developed during IC Hack 2016 (Imperial College London's Annual Hackathon). The idea was to use live surveillance of car parks paired together with machine learning and computer vision technology to provide users with live and accurate details of available parking spaces. This project was carried out in a team of 5 people where I acted as the web developer. It won the award for "Best use of Amazon Web Service (Cloud)" at the hackathon.
Tags: Webdev
Without Abandonware was developed as as an entry to the Game Off 2021 game jam. The game is a 2D platformer where the player is only allowed to change its current state. This was a collaborative project between three people where my main role was dealing with software development. You can try out the game here. The game was also featured on the GitHub blog here! Finally, the source code is also open source and available here.
Tags: Gamedev, Unity, C#
Untitled is an unfinished game developed in C# and Unity. The game is supposed to be roguelike-esque inspired by The Binding of Isaac. I implemented the base player movement, rooms, items and a random map generator.
Tags: C#, Unity, Gamedev
Distance to Space 1000 was developed for SpeedJam #5. It is a card-based puzzle game made in 3 days for the game jam. For this project, I was the Unity developer and programmer. You can check it out here.
Tags: Gamedev, Unity, C#
UniCal: a Single-Branch Transformer-Based Model for Camera-to-LiDAR Calibration and Validation is a novel architecture for carrying out camera-to-LiDAR calibration and validation leveraging self-attention mechanisms using a Transformer-based network. The work was carried out while working with the Calibration Team at Motional. You may read the full paper here!
Tags: Python, PyTorch, Deep Learning
Emotional Rollercoaster is a game where players try to match their emotions with a randomly generated emotion to move a "rollercoaster" (remote controlled car). It was built during IC Hack 2017 (Imperial College London's Annual Hackathon). I was the lead C# developer during this project in charge of integrating the emotion detection algorithm and designing the system. You can find out more and watch a video here!
This project was a collaborative effort in a team of 5 people. The software was developed in C# with the help of Microsoft Cognitive Services. The "rollercoaster" was developed by hacking a toy remote controlled car and integrating it with an arduino. This project won the runner-up prize for "Best Game" at the hackathon.
Tags: C#, Electronics
ASDA (Autonomous Snack Delivery Android) was developed as a collaborative effort in a team of 8 people as part of our third year group project at Imperial College London in 2016 supervised by Prof. Petar Kormushev. The goal of this project was to implement an autonomous snack delivery software that integrates with Robot DE NIRO, a modified version of Baxter from the Robot Intelligence Lab at Imperial. During this project, I was in charge of implementing navigation and motion planning.
DE NIRO was programmed to autonomously navigate our department building to buy snacks and bring it back to the user. We implemented a speech recognition system to take order, elevator button pressing based on visual servoing with floor recognition, robust collision avoidance, dynamic mapping and localization. Check out the demo!
Tags: Robotics, ROS, C++, Python, Electronics