MIT Lincoln Laboratory
Worked in the Advanced Capabilities and Systems group on developing computer vision system that is to be used on an unmanned aerial vehicle (UAV).
Trained and implemented a cascade classifier using OpenCV and a convolutional neural network using a supervised learning algorithm structured with the Caffe deep learning framework in order to detect cars from a top-down view. Tools with Matlab were created for faster data collection and labelling to improve the training set.
Software: C++, OpenCV, Python, Caffe, Matlab, Linux
Concepts: Cascade Classifiers, Convolutional Neural Networks
Fall 2014 - Summer 2015
Research project while studying abroad in Japan under the Field Robotics laboratory at Tohoku University. The goal was to design and assemble a quadcopter capable of autonomous indoor navigation to be used for disaster response operations in GPS-denied environments.
Focused on the integration of a LiDAR laser scanner and PID controller for wall detection and flight stabilization. Also delivered multiple presentations and prepared instructional materials to be used by graduate-level students for future use.
Software: C++, PID Control, Shell Scripting
Tools: Raspberry Pi, ROS Robot Operating System, MAVLink, Solidworks
Fall 2012 - Spring 2014
IEEE team project for designing and creating a fast, palm-sized robot that autonomously navigates through a 16 x 16 cell maze. Teams work together in order to develop the most efficient algorithms and control systems for completing the maze within the fastest time.
Lead PCB designer using two layers of components, including working with microcontrollers, motor drivers, voltage regulators, IR sensors, and encoders.
Co-lead programmer in charge of implementing basic artificial intelligence using maze solving and path planning algorithms.
Software: C++, PID Control, Navigation, Artificial Intelligence
Hardware: SMD Soldering, Circuit Analysis, PCB Design, EAGLE CAD Software
As part of UCSD's CSE 125 Video Game course, we designed and created a 3D multiplayer game from scratch in a team of 7 people. Our game combines the complexity of a dungeon crawler with the chaotic interactions of a party game. Players compete against friends to have the most amount of gold by the end of the game by avoiding obstacles, winning mini games, and stealing from your opponents.
This project was split into three teams : networking, graphics, and artists. I was one of the members of the graphics team who was in charge of developing the rendering pipeline, designing the engine structure, and implementing various gameplay mechanics. I handled the implementation of our animation system, design of our graphic system's structure, gameplay design and mechanics, and general content creation.
Software: C++, OpenGL, Assimp, Git, Blender
Concepts: Teamwork, Engine Design, Game Design, System Architecture
Mahou~! VR RPG
Winter 2017 - Spring 2017
An anime-style, virtual reality role-playing game that is currently in development by the small startup game company, Familiar Works. Our goal is to create an immersive system for players to be able to experience life at a magical academy filled with various quests and challenging combat.
My role has been the programming of the characters' cel-shaded design, various logging and data collection scripts, and input in game design discussions regarding core mechanics, systems, and world building. I also handled the initial design and implementation for the game's inventory system and quick select system.
Software: C#, HLSL/Cg, Unity, HTC Vive
Concepts: Cel-Shading, Game Design, Large Scale Design, Virtual Reality Design
A VR survival game where the user can scavenge for items and create weapons to stay safe from the creatures of the night. Made to incorporate various aspects of good virtual reality design, including the creation of a user-friendly inventory, use of teleportation, menu navigation and selection, and general user interface.
This game was made in Unity in the span of two weeks as a solo project, although I did have a partner who helped in the creation of one of the game's items. In addition to the general gameplay mechanics, I also implemented procedurally generated terrain and simple monster AI. This game was made for both the HTC Vive and Oculus Touch. All models in the game were created using Blender.
Software: C#, Unity, HTC Vive, Oculus Touch, Blender
Concepts: Game Design, Virtual Reality Design, Procedural Generation
Course project designed to combine various advanced computer graphics techniques, while simultaneously creating an entertaining virtual reality game experience for the HTC Vive. Done in a team of two people, we designed and programmed a cartoon-esque using procedurally generated terrain, trees, and buildings, shadow mapping, shader programming, and virtual reality integration, all programmed to run in real-time using a forward rendering pipeline written in in C++ with OpenGL.
Software: C++, OpenGL, GLSL, OpenVR, HTC Vive
Concepts: Forward Rendering, Procedural Generation, Shadow Mapping
Shader Programming, Virtual Reality, Real-Time Lighting
A 360° virtual reality shooter made for the Samsung Gear VR headset, created in a span of 24 hours for a local hackathon. Players must struggle to combat waves of surrounding enemy zombie animal plushies. With a focus on being aware of your surroundings, players try to compete for the highest score in this wave shooter.
This game was created using the Unity3D game engine. All assets were obtained for free from the Unity asset store.
Software: C#, Unity, Samsung Gear VR
Concepts: Level Design, Virtual Reality User Interfaces
A simple 2D role-playing game made in JavaFX for a course project. The player must control a young boy who goes through a small series of encounters where he must fight three different enemies in order to continue through the story. Uses turn based combat and tile-based movement.
My first game and my first true programming project, teaching me the basics of writing structured code for large projects. All assets are property of their respective creators.
Software: Java, JavaFX
Concepts: Code Structure, Basic Programming