Protostar
Team Size: 5 Time Span: One Semester Engine: Unity Year: Junior Play the game! Protostar is a 2D space exploration simulation with arcade-style combat. Players are thrust into a living galaxy, full of factions tied up in wars and alliances, where credits and reputation can be earned by working with or against the powers that be. Players can use their money to purchase new ships and weapons, customizing their own unique starship to survive the hostility of the galaxy. Pick a side in the Evangelist-Reclaimer war, try to stay neutral by aligning with the Arbitrage, or simply fall in with the pirate factions around the galaxy - Protostar is whatever experience you make of it. My Contribution: I was the team lead and head programmer on this project. I was responsible for organizing team priorities, deadlines, and responsibilities as well as spearheading most of the critical design decisions regarding gameplay systems and their interactions. I also coded most of the core game logic, data structures, and aforementioned system interactions. This includes the navigation and combat AI, the AI decision making, the support for ship modularity and customization, the overall game flow, the weapon behaviors, the underlying class structure, and all data organization. |
|
Star 'Splosions
Team Size: 1 Time Span: Several Weeks Engine: Unity Year: Junior Play the game! Star 'Splosions is a simplified, node-based RTS game that tasks players with conquering the galaxy against a direct opponent. The game features both manual control for a single player as well as a set of AI's, which are capable of facing off against both the player and themselves. The game has three units with unique strengths and weaknesses, a simplified control scheme for managing large groups of units without micromanagement, and a full set of traditional RTS intel mechanics. My Contribution: As this was a solo project, I was responsible for everything. In addition to the fully integrated AI that can play the game as a player would, I had to design and implement the interface, the combat mechanics, the fleet movement and collisions, the waypoint and pathfinding mechanics, and all visual feedback elements. Some visual assets (models, textures, and fonts) were obtained from the Internet (with permission) or Unity Asset Store. |
|
Coloration
Team Size: 2 Time Span: Several Weeks Engine: Unity Year: Junior Play the game! Coloration is a 3D puzzle game that takes heavy inspiration from Portal and Antichamber. The player is asked to traverse a single, connected game world where they must learn the rules of the world to solve puzzles and progress from room to room. The game's core mechanic is changing the color of the room you are in to remove exposed objects of that color from the room. My Contribution: I was responsible for all of the code and work within the Unity engine, while my partner handled all of the modeling and artistic decisions. This means that I had to do some minor work with the shader pipeline in Unity in addition to wiring up the color changing, cube layering system, conditional collision, the color stack mechanics, and all of the other various gameplay necessities. Design was a significant part of this game, and it was a joint venture between both myself and my partner. I am very proud of this game's overall puzzle and world design as it demonstrates a very complex yet robust mechanic that is flexible enough to provide players with multiple solutions based purely on their understanding of the underlying mechanics. The world and puzzles are specifically designed to allow players to bypass entire rooms once the game's mechanics are fully understood. |
|
The Bakery
Team Size: 5 Time Span: 4 Weeks Engine: Unity Year: Junior Play the game! The Bakery is a story-driven game set in Nazi occupied Poland where the player operates a family-run bakery while hiding a Jewish family from the Nazis. The game's mechanics were largely inspired by Papers, Please and Recettear in that the player must earn enough money in a day to provide for his family and the Jews by running a small storefront and selling items to customers. My Contribution: I was responsible for the majority of the code except for the audio manager, the "Finances" screen (where the player pays bills), and the "Baking" screen (where the player decides what bread to bake for the next day). Some of my contributions include customer navigation, the back end for the conversation system, the bartering system, the inventory, and all of the glue that held things together. From a design perspective, I was the driving force behind having the economic component and storefront as integral parts of the game's mechanics. |
|
Re-pulse
Team Size: 5 Time Span: 2 Weeks Engine: Unity Year: Junior Play the game! Re-pulse is a level-based, 3D puzzle game based around the manipulation of gravity. Each level has a number of "repulsor" objects that the player can activate to re-orient gravity, making it possible for the player to reach the level exit. My Contribution: I was responsible for all of the code except for level transitions. This most notably included the global gravity manipulation system and the player rotation mechanics, which included a good amount of quaternion manipulation. I also designed the second to last level, which is the most "puzzle-like" of all the stages in the game. |
|
Shattered Skies
Team Size: 4 Time Span: 1 Semester Engine: Unity Year: Sophomore Shattered Skies is a networked, two-player RTS/4X hybrid set in space. Most succinctly described as "an RTS with a metamap", Shattered Skies is a strategy game that ties short, fast-paced RTS skirmishes together with a longer-term strategic campaign. The game is very simplistic due to limited time and experience at the time of creation, but it stands out as one of the most significant technical challenges I have faced during my college years. My Contribution: I was responsible for coding the RTS portion of the game. This included the netcode, the individual unit AI (including combat navigation due to the physical simulation of individual projectiles), the implementation of the interface elements, the initialization and proper resolution of individual battles, and all of the countless other interactions that are necessary for an RTS game. I also had a significant hand in the design of the project, mostly focusing on the RTS components. |
|
Walls
Team Size: 5 Time Span: 2 Weeks Engine: Python/Pygame Year: Junior Walls is a bullet-hell style shmup with an unusual theme. The game boasts many different enemy types, scripted events, a five-stage final boss, lasers, bombs, upgradable weapons, and some dialogue elements. The game is about a male model struggling with his various vices in a hallucinated rampage. My Contribution: I was responsible for all of the code except for animations, the title screen, and the AI for two enemies. This includes the AI for most of the enemies (including the boss phases), the bullet patterns, the level design formatting, all of the core gameplay, and the giant laser beam. I am not responsible for the game's theme, but I did have a significant role to play in deciding on the core gameplay mechanics as well as the AI behaviors and patterns. |
|
I Can't Believe It's Not Pong!
Team Size: 4 Time Span: 3 Weeks Engine: Panda3D Year: Junior I Can't Believe It's Not Pong! is a simple yet polished music-driven, head-to-head 3D Pong variant. Players must bounce balls back and forth, changing the color of the balls with each return. Scoring balls on your opponent gets you points, unless said balls are green or white, in which case points are gained for letting them through. Ball spawning is loosely based on a music file which plays for the duration of a match. Any .wav file can be parsed and used to drive a match. My Contribution: I was responsible for coding the multi-mouse support, the overall game flow, the menu screen, the UI, the multiple viewports, and some behind-the-scenes data structures. |
|
Wall All Ball
Team Size: 1 Time Span: Several Weeks Engine: Python/Pygame Year: Freshman Wall All Ball is a very simple game that I developed independently during my first semester at RPI. Despite its simplicity, it still stands out as a technically robust and mechanically solid game. There are no crazy gimmicks or amazing technical accomplishments, but being legitimately fun to pick up and play counts for quite a lot in my book. |
|