My name is Caleb Compton. Nice to meet you! I’m a software developer with a passion for gaming who is seeking a new position in game development!

Professional Projects

Game Development Intern – Rooster Teeth

May – August, 2019

Vicious Circle

Vicious Circle was an “un-cooperative” first-person shooter game, developed using the Unreal Engine and released on Steam. By the time I arrived on the scene the majority of the game had already been completed, so my contributions were mainly in the form of play-testing and quality assurance. I also demoed the game at RTX (Rooster Teeth’s annual fan convention) and promoted the game by writing about it for sites like Gamasutra (Article Link).

Death Battle: The Game

The Death Battle card game is based on the popular Death Battle YouTube series. In this game you build a custom fighter by selecting their weapons, armor and skills from the cards in your hand, and pit your fighter against your opponent’s in a fight to the death. This game was nearly entering production when I joined Rooster Teeth, and I assisted with proofreading the game rules and components, ensuring quality of physical components such as the box and dice, filming the game trailer, and demoing the game at RTX.

Personal Projects

Master’s Degree Project

Report –

Tools – Unity Game Engine, Unity ML-Agents, TensorFlow

In this project I used machine learning to train a set of randomly generated creatures how to walk towards a goal location. I developed this project independently, mostly using C# and the Unity Game Engine.

Dragon Riding VR Experience

Tools: Unity, C#, Blender

This project was a twist on the classic VR roller coaster, with the player riding on the back of a dragon through a varied landscape. This project was created entirely by myself, with the exception of a handful of free assets from the Unity asset store (such as the trees and buildings). The dragon itself was modeled, textured and animated by me.

Pokemon AI Projects

Repository –

Tools – Python, Open AI Gym Retro

The first project was developed by me as a final project in an artificial intelligence course, and the goal was to develop an agent that could play Pokemon Emerald autonomously. The agent interacts with the environment to create an internal map of the area around it, and uses A* pathfinding to search for unexplored areas.

The second project consists of a handful of bots for the Pokemon Showdown online battle simulator. These bots use a handful of different approaches to determine the best move in battles, including a heuristics-based approach and a minimax game-tree search.

Inverse Kinematics Projects


Tools: Unity, C#, Processing

These three projects were all developed by me as part of a study of procedural animation. The octopus uses inverse kinematics to follow the cursor if it is range. The gecko will follow the cursor with its head and feet, but will move away if it gets too close. The gecko was inspired by a tutorial on, but my implementation is unique and does not follow the tutorial. The humanoid figure uses inverse kinematics to walk (with an optional physics component), and can be controlled with the arrow keys on the keyboard.

Game Engine Design Project – “Studious Invention”

Repository –

Tools – Godot Game Engine

This project was made as part of a group of 6 programmers. My contributions were mostly to the level design, and included both procedurally generated and hand-crafted areas.

Senior Game Project – “Rune Battle”

Repository –

Design Document –

Tools – Processing for Android, Java

This project is an RPG style game with connect-3 puzzle style combat. I developed this project alone, including the gameplay, character selection, map screen, and save system.