Objective 1
Implement multiple completed games, including 3D games, using common tools, languages, and software for web, console, PC, or mobile platforms.
UAT Tank Game (Trial of Tanks)
This is the game I worked on in GPE205. This is a PC game that features split-screen multiplayer, Ai-controlled tanks using finite-state machines, and more. It was made in Unity using C#.
Out of Body XP
This PC game is my completed SIP Project. For this project, I created an endless runner with QTE character-swapping mechanics and procedural generated levels. This was made in Unity using C#.
RoboModel
This is the game I worked on in GPE340. It is a 3D shooter that runs on PC, it prioritizes animations and AI pursuit of the player. This was made in Unity using C#.
2D Platform Game
This is the game I worked on in GAM113. It runs on PC and is a 2D Platform game prioritizing level building and checkpoints. This was made in Construct 3 using JavaScript.
Objective 2
Design, develop and implement the architecture and infrastructure needed to support a complete game project.
​
UAT Tank Game (Trial of Tanks)
This game meets the objective because it includes a start screen with a main menu and a pause menu for the player's convenience.
RoboModel
This Game meets the objective because it includes a main menu and a settings menu and even allows for adjusting the volume of the game. it also has a pause menu and a quit button for each mentioned menu.
Traffic Cop
Traffic Cop meets this objective well because when making adjustments to the project I realized that it very much needed menus and options if it wanted to transition from a demo to a game. I added a main menu with an options button and a quit button. I also added a pause menu with options and quit functions as well.
Objective 3
Implement and analyze fundamental data structures and algorithms associated with game applications supporting gameplay mechanics.
Out of Body XP
My SIP fits the criteria for this objective because it includes the two unique features of Map generation and QTE's which require data analysis and algorithms in order to function.
UAT Tank Game (Trial of Tanks)
This Game fits the objective because one of its main functions is the AI enemies which are run by finite state machines to determine whether they attack or run from the player.
Binary Search Tree
The Binary Search Tree fits the criteria for this objective because it shows my understanding of data searching and how it could be helpful and efficient in pulling up needed data in the quickest time. It also proves my understanding of data analysis.
Doubly Link List
My Doubly Linked List also fits the criteria because it shows my understanding of data organization and how properly moving data in a listed order can be helpful in programming as it stores needed data and moves it according to the new data added, thus it all appears organized and clear to read.
Objective 4
Use software development processes to analyze a project or problem, and to design, build and test a corresponding software solution.
Out of Body XP
With this project, I ran into the problem of how to handle the QTE mini-game while running. The issue was that I knew my goal which was that I needed an event to occur and the player to react accordingly, the thing is how I wanted to execute it was not very common when researching online. After reviewing many videos and websites, my solution on how to handle this was to set a number of box colliders on the generated levels and whenever the player ran into it the QTE would trigger. The next step to solving my issue was to add a progress bar and quickly fill it when the event is occurring and at a pre-determined time as it's filling the player must input the action button in order to successfully pass. My biggest reference for figuring this out was the Gears of War active reload system as it closely resembled my idea.
Traffic Cop
I worked on Traffic Cop for my first semester in the production studio. This game is a Vr Traffic simulator built in Unreal Engine 4. The issue I ran into is that the player would successfully direct traffic to prevent collisions and while the cars drove off-screen they would crash into each other no matter what the player did. It took a little while to investigate this issue as I was new to AI and pathing but once I figured out the root of the issue I adjusted the pathing in order to steer clear of each other when turning out of the player's FOV.
Python Debug Assignment
This small project is coded in python and was a debug assignment from class CSC235. I downloaded this script full of errors and through use of breakpoints, comments and close review I was able to correct the script and re comment it. Its purpose is to randomly generates a number between 1-12 and which ever number is chosen has its own unique response.
No link available
Objective 5
Demonstrate development skills using multiple programming languages, development environments, and platforms, including advanced and/or experimental topics in game programming.
Out of Body XP
My SIP was a big step forward in my experience as a programmer because it required me to get familiar with Unity enough to convert an idea originally made from Unreal Engine into Unity in a short time. The whole process required a lot of study, research, and consistency. This helped me get much more comfortable with Unity C# and programming concepts as a whole.
Traffic Cop
I had a good amount of beginner experience in Unreal before working on Traffic Cop which made me a good choice for the team at the time but I still was blown away by the advanced concept of VR in Unreal. This forced me to step out of my comfort zone and get troubleshoot many issues ranging from the repository to game menus not properly working to AI pathing issues and score multiplier issues. Overall once the semester was over I gained good experience in the Unreal coding practices for future projects.
2D Platform Game
This game was my first project in Construct and working on this project for the entirety of my semester helped me get a good understanding of Java basics and how to wire together the platformer while also saving and storing data in the form of checkpoints, I even secured some experience in animation while working on the Game characters.
Objective 6
Establish collaboration, mentorship, and professional leadership skills by working with other disciplines to deliver highly polished and completed projects.
Wolf Guardian (Studio)
I joined the Wolf Guardian team for my second semester of Studio and was a Programmer for the game. I was able to cooperate with other programmers and team members by providing constant updates and joining meetings with everyone. I even worked together with other programmers to fix issues so we can present on time for the Milestones and playtesting. The biggest issue we had was a ground check issue which would get the player either stuck in the ground or sliding around too much I spent as much time as possible troubleshooting it with and without the group, and we came up with a fix before the last Milestone greatly improving overall mobility of the player.
Traffic Cop (Studio)
In my first semester in the studio, I joined the Traffic Cop team. I was assigned the role of programming lead since I was the only programmer on the team at the time. I took this as a responsibility to be as consistent as possible therefore I joined all team meetings and updated the members on my progress. My team and I were able to contact the boss of the project outside of studio hours to show the progress of his idea and better tune it to his liking, there were many issues we ran into with the game along the way but I am proud to say I helped progress the game further into its intended vision even with inexperience and lack of team members.
Dungeon-Xpress (Internship)
I was able to join Dungeon-Xpress in my final semester for my internship. I've been present in all meetings and have shown updates for each stand-up. When I don't understand something I usually reach out to our lead while further investigating the issue myself. I've dedicated many hours to my tasks and come back with some sort of progress each time. One feat I believe is worth mentioning is taking extra time out of my spring vacation in order to further develop my task, by the end of it I was able to quickly finish it and move on to another piece. My experience thus far has been positive and helped me understand efficiency in coding using standardized methods and how to make the most out of group coding whenever I needed help.