Category: Game Development

  • Shrouded Ascent

    Over the course of my Senior year at Shawnee State University, I have been working with 18 other people to create a single-player stealth game entitled “Shrouded Ascent.” It primarily uses blueprints in Unreal 5.4, with a small mix of C++. This project has challenged me, especially in the realm of communication and keeping on track with the thoughts and feelings of 18 unique and wonderful people.

    Specifically speaking, this project was also used as a great way to learn enemy AI patterns, especially in Unreal using behavior trees.

    In the game so far, the enemy has quite a few unique behaviors: it can spot and attack the player of course, but it can also seek out the player if it loses sight of them, check around corners (as seen in the gif below), and even listen for sound and touch sensations.

    The enemy also has dynamically changing sight and hearing ranges depending on its level of alertness, which is indicated by the eye above its head. This was not easy in Unreal, as the AI Perception object can not itself be changed at run-time.

    With some hacky workarounds, the effect can still be achieved however. As seen in the blueprints above, a flag is tripped when the enemy first sees or hears the player, changing their alertness state. This just loads in another AI Perception and replaces the old one in real-time, making it so that we don’t have to break Unreal’s rules by altering the sensing ranges after compile time.

    Apart from attacking the player, the enemy can also be attacked by the player, albeit only slightly. Since the player can throw rocks, we thought it would be funny if the player could hit the enemy with the rocks to stagger the enemy.

    This plays the animation on the enemy and allows the player a brief moment to escape.

    Since our project also reflects the school as a whole, we were asked to present at Shawnee Game Conference 2024. Here is a recording of that presentation:

  • The Big Cheese

    For the 2025 Global Game Jam, I worked with a group of 6 people to create The Big Cheese, a top-down, 3-D strategy game in which the player clicks on requests and either gives money, buys cheese, or sells cheese to cities, suburbs, and the dairy farmers.

    One of my favorite contributions to the game was the menus. For the main menu and loss screen, I created a projection of a 3D camera’s view on a 2D plane, which allowed me to put spinning cows on the main menu.

    As for my biggest contribution to the game, it would have to be the behavior of the world itself, as in when certain events take place, which are displayed as bubbles on the screen or scrolling text at the bottom. Each of these events are not random, for they are based upon a state machine that describes a binary decision tree. The branches of this tree are chosen based upon a player scoring system with 4 criteria: how much cheese they have in, how much money they have, what percentage of votes have they received, and what the city health is at. The tree itself ends in 16 unique states, which have differing probabilities which describe the spawn rates of specific bubbles and the chances of “random” events occurring. To the player on the outside, it just feels as though the world is just acting in an “unlucky” manner, but in reality it was made to make certain events much less likely when the player would need them to occur. An example is when the player needs to sell cheese in order to earn money, they would have a lot in their inventory, so the probability of cities and suburbs asking for cheese is much lower in that state.

    Thanks for a last minute balancing addition made by one of my teammates, and for the robust AI of the dairy farmers made by another teammate, the game does feel intelligent in a way, or as intelligent as a milk market propagated by a corrupt politician can feel. That being said, I am very proud of the work we all did for this project, and I am excited to participate in next years Global Game Jam!

    https://globalgamejam.org/games/2025/big-cheese-2

  • Protect The Pure!!

    Protect the Pure was a small group project made for a course at Shawnee State University. It is a single-player, top-down survival game in which the player must stop enemies from defeating creatures under their protection.

    Using Godot’s particle and shading systems, I made interesting effects for the menus, UI, attacks, and enemies. Highlight is the “lava-lamp” effect for the main menu, which was achieved with the fragment code as seen here.

    The project itself is on itch and can be downloaded and played on any Windows operating system.

    Itch Page: https://acousticjamm.itch.io/protect-the-pure