A C++ programmer from Canada with a passion for games
Path of Titans
Path of Titans is an MMO dinosaur video game created with Unreal Engine 5 and provides a framework for dinosaur enthusiasts to roleplay as their favorite prehistoric beasts.
I assisted in getting the Save Feature to work on Console and within console requirements. As well assisted with making sure the game met console specific standards such as handling language and parental controls
A multiplayer co-op survival game made in Unreal Engine 4 in a team of 10 people. I was tasked with programming and networking, the Player and the UI.
Each of the 4 main playable characters has a unique special ability but all inherit from the same base. It made networking the player easy. All I had to change was the Special Ability per class.
I programmed the Main Menu logic and the player HUD logic. Along with implementing the third person player animations in state machines and anim montages in the player.
Custom Open GL Framework
I am currently working on an Open GL framework. My goal is to make a 2D game that is playable in the web. I was successful in using this for my GMTK 2022 jam entry.
By using Open GL and Emscripten I can bring my custom C++ framework and games to the web for all to play without having to download a random executable.
Aside from a select few libraries this is planned to be created entire from scratch! (With help from all corners of the internet) The goal is to create a game framework, something such as Raylib or SDL2, that I can reuse to make my own games.
After getting things working on Web and creating a framework I am happy with I plan to create a Nintendo Switch compatible version
Freetype allows me to display text on screen and stb_image allows the loading of images on screen. These as well as glm are the few libraries I have used, so far.
My engine showing Text and Sprite rendering, on the web!
The rest of the code has been opengl, windows specific or emscripten based.
After using it to create a game I realized that I don't have it setup in the best way, every thing relied on the base engine class with no way to use the functionality outside of the class. I want to make this better and have a way to call all core functionality from anywhere.
Pirate Ship Puzzles
A puzzle game I made with the intent to publish to the google play store; and I was successful in that.
My favourite part of working on this game in Unity was creating an in editor level creator. I made a simple script to handle which block you are on and a way to create the blocks, that way I could easily make levels of any size and the game would still work. The level editor made it easy to create and prototype levels I wanted to play.
Puzzle Solving Algorithm
This project is a puzzle solver that takes various pieces and sees how many unique solutions there are.
The logic for this project was coded in C++ and exported as a DLL. I created a wrapper class in C# so that I could generate the solutions on the C++ side and display them in Unity on the C# side.
Card Shark at the Casino
is a stealth game where you play as a kid dressed in a shark costume and sneak through a casino collecting casino cards
This game was my first experience working with other team mates. It was a lot of fun to focus on just programming while someone else made the music and art. It allowed for better quality of everything since the work was shared.
Champion of the Crypt
is a Boss Rush game where you must battle 6 bosses to become champion.
This game gave me valuable experience programming unique AI. Each of the bosses in the game do something different.
I created had a simple player that can attack and get Health or Weapon upgrades.
I also made the music and the artwork for this game.
SFUI Test (Stellar Fever UI Test)
This project was to test Player Selection in UI. It was to test accessing animations from C++. It was also a test of using the Game Instance to keep track of which player was selected and later telling the Game Mode of the other scene to set the default pawn to that selection.
It was also a test to give each button a reference to the player and use that player information to display the players information before it gets selected.
Pack A Punch - Black Eye Galaxy
I added a WeaponAttachmentComponent. It acted as a container to hold all the schematics. It had an Equip and Unequip functionality to change what is attached and it would loop through each of the schematics triggering the effect at specific times during the weapons attacks.
The BaseSchematic is setup in C++ with some blueprint callable functions so the Blueprint gun could trigger call upon the C++ code. That function couldn't be virtual due to the fact that it was a UFUNCTION so this blueprint exposed function called a virtual C++ only function. This way I could write unique C++ code for any component that inherited it and it would continue to be able to be called from blueprints
Exposing the Base Schematic to blueprints. I accomplished this by making a new class that inherited from the base schematic. This C++ overrode the original C++ virtual functions to call 'BlueprintImplementable' functions. This would allow the designers to implement their own versions inside of the blueprint event graph. I chose BlueprintImplementable, and not BlueprintNative, since I already had a C++ version to work with