Competitive programmer + side project maniac by night.
Overview
The page is mainly intended to showcase some of the "side coding tasks" I do for learning/fun.
Projects
Gender and Number Identification Audio System
Used pytorch to train a multi-task Resnet-34 network to identify the gender and the number spoken by the speeker. The system is triggered using the trigger word "on" and then it classifies the gender of the speeker (male or female)
as well as the number spoken by the speeker (from 1 to 9). The trigger word detection part of the system was trained on SpeechCommand Dataset, while the gender and number identification part was trained on Speech MNIST.
source code
Deep Q network for Atari Breakout game
Used TensorFlow and the Q learning algorithm to train a deep Q network that makes an agent learn to play the game Atari Breakput. source code
A hybrid AI agent that uses both rule-based actions and MCTS algorithm to play the game BomberMan using the Pommerman framework (the java implementation of the game).
My player is the green one in the video,notice how it focuses on collecting power ups without dying inorder to get to the end game as the strongest player. When playing against MCTS (the best agent in the Pommerman framework),
my player was able to get a 48.2% win rate, 25% draw rate, while losing 26.8%.
source code
Assembly Pong Game
This is a pong game that is developed entirly using assembly language in NASM syntax. The game is booted in an virtual machine without an operating system. This means that the assembly code is responsible of taking input from the users
(dealing with keyboard intrrupts) and drawing to the screen (as an output device). The game supports two player modes in which two players play against each other. The first uses "Q" and "A" to move the pads up and down, while
the second uses "arrow up" and "arrow down" to control the pad. (watch first match in the video)
It also supports one player mode in which the player plays against hard coded rules (the second match in the video). notice how good the PC player is :)
source code
Lazy Resturant Game
A simple resturant game developed using unity game engine and C# where the player controlls the waiter to serve the customers. Main reason behind doing this mini-game is to play around with Search algorithms namely (BFS, DFS , and A*). the final game uses BFS to search for the fastest route the waiter should take to get to the destination.
Get In Touch
If you have any questions about how to reproduce the projects I've done, or any queries at all, please feel free to contact me.