
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.
UATanks
Multiplayer
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.
UATanks
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.