austinpuk at

A dreamer with a passion for creation
Hello! My name is Austin, an engineer with a passion for the creation and development of video games, animations, and robotics.

University of California San Diego
B.S. Electrical Engineering
Graduated: June 2017
GPA: 3.73
Confetti Interactive
Graphics Programmer | 2017 - 2018
MIT Lincoln Laboratory
Computer Vision Intern | Summer 2016
Tohoku University
Research Exchange Student | 2014 - 2015
Project Experience
MIT Lincoln Laboratory
Summer 2016
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

Autonomous Quadcopter
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

IEEE Micromouse
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

Spring 2017
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

Project Agygio
Winter 2017
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

Greed Island
Fall 2016
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

DreamShooter VR
October 2016
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

April 2016
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

Confetti Interactive
August 2017 - October 2018
Transistor – Port for Nintendo Switch
  • Three month project with Supergiant Games to port the popular indie game, Transistor, to the Nintendo Switch platform. Responsibilities included modifying the existing content pipeline, reworking the shader reflection system, optimizing loading times, and fixing graphical bugs.
  • Worked directly with the engine’s C# code, shaders, and C++ code generated through a transpiler.
StarVR – Virtual Reality SDK
  • Part of a team in charge of developing and maintaining the StarVR SDK, a head-mounted display system aimed at business-to-business virtual reality services. Responsibilities included implementing new tools, creating unit tests, and integrating compatibility with various tracking systems.
  • Worked with the development of various plugins to work effectively with different types of motion tracking systems and added functionality to Unreal Engine to utilize multiple viewports for compatibility with the StarVR system.
The Forge – Rendering Framework
  • Created various sample tests to showcase the usage of our cross-platform rendering framework, “The Forge”, in both DirectX 12 and Vulkan.

Software: C, C++, C#, DirectX

Concepts: Software Development, Virtual Reality, Plugin Development, Quality Assurance

CSE 169 - Computer Animation
Winter 2017
Course at UCSD focusing on common computer animation techniques:
  • Skeletons, Skinning, Rigging, Morphing
  • Animation Blending, Channels and Keyframes
  • Inverse Kinematics, Particle Systems, Cloth Simulation
CSE 167 - Intro Computer Graphics
Fall 2016
Course at UCSD introducing students to basic computer graphics concepts:
  • Rendering, Modeling, Lighting, Texturing, Shading
  • Scene Graphs, Culling, Parametric Surfaces
  • Procedural Modeling, Environment Mapping, Shadows