top of page

Game Programming Objectives

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

 

Melody Hell - This game was made in Unity 2D and uses sprites, music, and basic physics scripts in order to create a Rhythm Heaven clone that has different gameplay and fun controls. I used Photoshop in order to create the assets required and took music from YouTube in order to make a build suitable for play.

 

Top Down Shooter V1 - This was my first in depth 3D game made in Unity using gizmos, complex algorithms, and backwards guns. The character assets came from Mixamo, a free asset collection, and the other objects/environments were created in the engine itself. Sounds were pulled from the same asset known as "The Boss" on Mixamo.

Lost In Thought - This game was made for the 2021 Global Game Jam and used the CORE engine as part of a diversifier. The game wasn't completely finished by the time the jam ended, but I did learn a lot about how the CORE engine functions and how different it is from other engines in terms of style, assets, and code.

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

 

Top Down Shooter V1 - This game uses a pause menu that actually stops everything in their tracks. In previous games, the pause menu just stopped movement controllers of the player and enemies. This time, however, everything in the game uses scaled time, so while it was a different way to pause, it was simple to slow that scale down to 0.

3D Tank Game - I made this game over a year ago and it was one of the first menus I had implemented that controlled individual sound and optional 2 player functionality. While the menus are still buggy sometimes, I have learned a lot about UI and what makes a good menu in terms of functionality and presentation.

 

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

 

3D Tank Game - This game utilizes 4 different types of AI pathfinding: Chase, where the enemy will make a beeline for the player, Flee, where the enemy will actively avoid the player, Patrol, where the enemy will follow a specified path until it finds the player, and Sense, where the enemy will "hear" the player and try to follow that path.

Binary Search Tree assignment - Many problems occurred with this assignment, yet I pushed through with some help and made a working BST in order to satisfy the corresponding assignment for CSC382. While basic in structure, the overall algorithm can help me in later projects down the line.

 

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

 

Escape Room AR - For my Game Production Studio class, I was lucky enough to be a part of this team that I had heard about since my freshman year. However, coding in a project this large took some getting used to, and I was definitely under-prepared for the tasks given to me in the coming months. One task in particular took me a fairly long while to understand and overcome. To put into basic terms (so as to not break my NDA with the project) I needed to synchronize a variable across all players at the same time. Using examples from other puzzles and help from the programming lead Alec Carter, I hit a wall and couldn't get the information to sync properly. After banging my head against the keyboard for weeks, trying many different solutions to fix this issue, I finally figured out that a single line of code was being executed in the wrong place on the script, and once I moved it down to where it belonged, the whole thing worked like a dream. I will admit, I was tempted to forgo the project entirely and try to work on a different part of the project at times, but I'm glad I stuck through and finally found the solution I needed, even though it was a dumb one line mistake.

Top Down Shooter V1 - While the main focus of this project was to help understand root motion and implementing it into a game environment, it was a challenge to keep that motion consistent. For one thing, during the development of this project, Github has reformatted its authorization keys and prevented me from merging my commits from every week, which while frustrating, only meant I had to create a few dummy repos in order to complete the tasks needed for the class. Another thing that irked me was the root motion itself. One day, I came into class and started up my Unity project when I found that my character no longer held the gun properly. I was stumped, as it was working perfectly the day before and I had changed nothing in between. To work around this issue, I made changes to my scripts to always check for the player's hand points and always update their positions to be holding the gun, and vice versa with the gun itself. That way, they were both connected to each other and could change instantly with each new weapon that needed to be picked up.

 

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

 

FEEL THIS (SIP Project) - Creating the mock-ups for this project in Maya as well as working on an IPK in Unity allows me to explore all that this field has to offer.

Lost In Thought - The CORE Engine is fairly new on the scene, just under 2 years old, and the games created with it are astonishing, if a bit hard to understand during a 48 hour Game Jam where 12 of those hours is learning how to place a cube (I exaggerate, but that is certainly what it felt like in my first real time crunch).

 

6. Establish collaboration, mentorship, and professional leadership skills by working with other

disciplines to deliver highly polished and completed projects.

 

The aVRtar - For VRT101 two semesters ago, I was put with a team to create a concept for a VR game, to basically make everything necessary to create the game with the "last step" being to create the game, meaning we had a full beta concept under our belts when we passed the class. I came up with the initial idea for the game as well as gave feedback to my teammates' art and gameplay concepts. While the actual game may not be started, we had lots of fun designing concept art and going through different aspects of the game.

 

Escape Room AR (programmer) - When I was first introduced to Game Studios last semester, I was under the impression that it was going to be a class called "Game Studies" that would possibly teach me more about the game design aspect of creating games. Well, I was taken quite aback when I learned that I would be helping a project grow into a full game. I was, essentially, the new guy around Escape Room AR. Every game I had made up until that point were mere beta tests and gameplay concepts, I was unprepared to work on a project this ambitious. However, with encouraging words from the leads and help from the other programmers, I helped get four puzzles up and ready as well as some adjustments to the gameplay loop itself.

 

Jack Trap Board Game - Jack Trap was a board game created as the final project for GAM170. I worked with my roommate to create an amalgamation of You Don't Know Jack and Mousetrap, where I was the lead designer for the board and pieces while my roommate was responsible for creating the trivia questions and putting them into easy-to-understand cards. We both had fun creating the game and frustrated Marquit with some of our more difficult questions, so that is always a plus!

bottom of page