Game Programming Portfolio

University of Advancing Technology

Objective 1

Implement multiple completed games, including 3D games, using common tools, languages, and software for web, console, PC, or mobile platforms.

Sneaky McSneakface

Super UAT Brothers

Undead: Axe Toss

Unhindered: Arial Takeover

Super Ultra Happy Craps

By utilizing the Unity and Unreal game engines, I have been able to develop multiple video games, in both 2D and 3D perspectives, including side-scrolling platformers, top-down stealth, survival, and open world.

I have also developed text-based console games, driven by C++, web based simulators, using HTML/CSS, as well as some Python projects, rendered through Python's built-in Turtle graphics library.

Using Visual Studio as my integrated development environment (IDE) of choice, I was able to breathe life into my games through a variety of C# scripts. Finally, I have picked up experience in PyCharm as well as Unreal blueprints.

Objective 2

Design, develop, and implement the architecture and infrastructure needed to support a complete game project.



Start Menu

Unnerved-Assault Torrent

Ragdoll / Animations

Game Systems

From functional menus to procedurally generated maps, UATanks and Unnerved - Assault Torrent pushed the limits of what I could do, as a solo developer, in the span of five weeks.

Combined, these games include state machine logic, player life count, score tracking, multi-player, multi-input, pause menu, win/loose conditions, animations, ragdoll deaths, collisions, sound, power-ups, and random item drops.

Objective 3

Implement and analyze fundamental data structures and algorithms associated with game applications supporting gameplay mechanics.


State Machine/Game Loop

Procedural Map Generation

Binary Search Tree

Random Tree Generator

Tree Traversal

Featured here, you can see the code implemented to bring to life the elements of the game loop as well as the enemy state machine for my UATanks project. I have also included a portion of the code to highlight the methodology behind the game's procedural map generation.

I have also added pictures to showcase my, text-based, Binary Search Tree program. The top image shows the program in action, and the next two images show the corresponding code that drives the program's logic.

* Click the images for full-screen previews *

Objective 4

Use software development processes to analyze a project problem, and to design, build, and test a corresponding software solution.

Art of Reading: Object Recognition

Art of Reading: Puzzle Generator

The ability to successfully analyze and debug code is a crucial skill that all programmers should hold in their toolbox. Understanding how to set breakpoints, step through functions, and visualize memory allocation, was so important to my overall success at UAT.

For my student innovation project, Art of Reading, I had to manufacture a system that could detect any given object and then generate a word puzzle for that object. In the images, you can see the puzzle generated for the Porsche, as well as the code that drives it (pun intended).

Objective 5

Demonstrate development skills using multiple programming languages, development environments, and platforms, including advanced and/or experimental topics in game programming.

Snake: Python

Pirates vs Ninjas: C++

Pointers: C++

Blueprints: State Machine

Audio Manager: C#

Genetic Algorithm with Ray Casting

GitKraken: Source Control

Happy Craps: HTML/CSS

With a combination of projects, both from UAT and personal, I have been able to experiment with a variety of programming languages over the last two years.

The most notable languages include C# and C++, but I was also able to develop a few programs with Python as well as with HTML/CSS.

My work has spanned across multiple IDEs, including Atom, Visual Studio, and PyCharm, and I have also worked in the Unity and Unreal game engines.

Finally, my exposure to source control methods includes GitHub, GitKraken, and SourceTree.

Objective 6

Establish collaboration, mentorship, and professional leadership skills by working with other disciplines to deliver highly polished and completed projects.

Player Movement / AI

Augmented Puzzle Game

Puzzle Game: Score Feature

As a lead programmer, for the UAT Summer Game Jam 2021, I was able to contribute to the successful build of our space-themed game, "Slime to Die." In the first image, you can see an example of the audio management system, that was programmed by me, as well as the many scripts that were implemented by the programming team. The second image depicts player movement and AI scripts that were also developed by me.

The next row of pictures is from my Production Studio courses at UAT, where I was given the opportunity to join Team NT Studios LLC and contribute to a project that is scheduled to ship soon. The first image shows a pickup and placement system that was managed by me, and the second image is the code that I implemented for the final score feature.