Worked on a first person shooter in the Unreal Engine using the Gameplay Ability System (GAS) to create various effects and abilities.
Fast Learner & Educator: I went from having no knowledge of the GAS to helping others in the company understand its workings and proper usage within 6 months.
Worked closely with Audio Engineers to create systems to interface with Wwise to allow for a desired audio experience.
Self Learner, Flexible, & Problem Solver: The unreal plugin for wwise has little documentation and can be a minefield to navigate at times. I had to read what little documentation there was, but mostly looking through the source code itself to parse what each function and class was used for. I had to rethink and rebuild several systems as I learned more, all to reach an efficient, scalable, and good sounding solution.
The company was a high rapid environment focusing on innovation and trying new ideas. The amount of change that could happen on a day to day basis forced me to be Efficient, Forward Thinking, & working on Scalable solutions. The systems I made needed to be able to survive any number of redesigns and reworks, without needing to massively change anything.
Most Recent Uploaded DevLog
After having worked at Prophecy Games for a year and gaining a new understanding of C++ engine development from working with the Unreal Engine I decided to take another crack at creating my own Game/Engine again. The video next to this section is the most recent devlog I've created about the creation of the project. My goal is to do about one a week!
Much like the engine test project below it utilizes opengl, and only a handful of external libraries for text, audio, window management, and image reading. My goal is to make a customizable game engine of a block based world to make a wider variety of games. It is currently closed source, but once I reach certain milestones I will be posted the source online on my github. It has a custom memory manager as I wanted Unreal Engine-esque shared and weak pointers.
This was the first project I had to cancel due to it being to ambitious. My original plan was to create a Minecraft-esque game engine in C++ and OpenGL. I had reached the point where you could fly around a void placing and removing blocks, and things only started to fall apart when it came to collisions and the realization that I just didn't have the knowledge required to execute every aspect of the project to my liking. Even though the project was canceled, I still feel that I learned a great deal about how (and what not to do) to make interconnecting systems work in a larger game. It has also made me have more respect for those who make game engines.
A friend group wanted to host a limited tournament of Magic: The Gathering; to do this we needed somewhat realistic card packs. So I used LUA to create a system for packing together a random list of cards to make packs. However, in order to make these packs easily I created a Python script to access the Scryfall API, which is a database of MTG cards. I got the collection of cards in the correct set, sorted by type. I then used that data in order to automatically sort the cards so when I imported them into Tabletop Simulator I could easily make the packs from them.
During my Senior year at Champlain College I teamed up with ten other students to create a full fledged game over the course of the year. We had four designers, four artists, one producer, one writer, and me as the one programmer. We worked together to develop a visual novel mystery game for mobile devices. It was my main job to create and manage the back-end systems to allow the designers to easily create and integrate various puzzles and dialogues into the game. I also had to create an extensive document detailing the technical aspects of the game, as well as managing the controls and keeping in close communication with the artists and designers to make sure everything worked as it was intended.
In the first GIF, as the character runs they leave behind after effects. While in the second one, it's a demo of the GIF recorder/poster system.
During my Junior year in college, I studied abroad in Montreal, Canada. While there, for each semester I worked as an intern at two different indie companies. In the first I worked on a platform fighting game called King of the Hat. This was a laid back work environment where I made visual effects that the three other devs didn't have time to really focus on. While my second internship was on a game called Cefore where I had to make such things as a GIF recorder, auto-poster for imgur/reddit/twitter, and do some basic MySQL work. That internship was also much more time sensitive and strict in what I could do. So over the course of those two jobs I experienced both sides of the "casual to strict" spectrum; and this has lead me to realize that I like it best when it's somewhere in the middle.