For this Pirate Bar Management sim I was responsible for implementing the foundation of the Gameplay - minigames that include mopping the floor of spills that cause player to slip and brawling with unhappy patrons. In addition to these minigames, I have had an impact on a beer filling minigame, as well as implementation of the obstacle system that spawns the barrels dropping down on the player. There are also smaller contributions like creating parent class for minigames that served as a foundation to every other minigame, implementing a level timer with win or fail state based on the amount of points acquired. More miscellaneous contributions can be found at the bottom of this page.
Initial Version: In this minigame, the player character engages in a one-on-one brawl with a unsatisfied customer that did not receive their mug of beer in time. The opponent telegraphs their incoming punch by displaying an exclamation point ("!") above their head. Following this telegraph, a sword icon appears indicating the attack, prompting the player to dodge the punch using the left or right arrow keys. The opponent remains immune to the player’s attacks (indicated by a shield icon) until they initiate their punch. This moment provides the player with an opportunity to execute a counterattack by clicking the left mouse button.
Second Overhaul: In this revamp, Brawl minigame was changed to a timer-based clicker. The player is required to press the left mouse button a certain number of times before the time runs out in order to win.
Final Overhaul: In the final revision, the player needs to input the directional arrow keys according to the ones shown on the screen fast enough before the timer runs out. There is a right-left only variation for regular enemies, but there is also a four-directional challenge for the boss character.
Small snippets of Blueprints used in this minigame
Initial Version of the Brawl Minigame
Second Iteration of the Brawl Minigame
Final Overhaul of the Brawl Minigame
Initial Version: This minigame requires the player to move their mouse over the spill left and right until it shrinks down and disappears. Spills make player slip and lose control for a brief moment if stepped on them. Unlike the Brawl minigame, Mopping did not require as many overhauls. Each new iteration logically continued and evolved from the previous one.
Second Iteration: Initially, the player did not have a broom in hand, making it difficult to know whether their mouse movements were correct. This was addressed by adding a visible broom in the second iteration. However, the broom was immediately spawned in the protagonist's hands.
Third Iteration: Version 3 introduced a new gameplay mechanic where the player needs to pick up the broom from its designated place before attempting to wipe the floor.
There were no mechanical changes to the microgame past third iteration.
Small snippets of Blueprints used in this minigame
Initial Version of the Mopping Minigame
Second Iteration of the Mopping Minigame
Third Iteration of the Mopping Minigame
Initial Version: In this minigame, the player holds down the space button to fill the beer mug. The player gets points based on how close they were to completely filling the mug.
My Overhaul: The initial version was quite bare-bones and needed a fresh take. The decision was made to add a "Goal" fill line that would move slightly each time the minigame was played. Instead of points being awarded based on how close the player was to the top, points are now calculated based on the distance to or from the goal fill line indicated in red.
Final Overhaul: In the final revision, to succeed, the player needs to hit space at the exact time the red line is in either the blue or green zones, where green is perfect and blue is average in terms of points. Additionally, if the player presses the space bar too late, they risk overfilling the mug and causing a spill to appear nearby.
Final Overhaul of the Beer Filling Minigame
Initial Version of the Beer Filling Minigame
My Overhaul of the Beer Filling Minigame
The Obstacle system serves as a slight difficulty modifier by preventing the player from freely moving around the bar by dropping barrels in semi-random spots on the map. If a player character collides with a barrel, it has the same effect as slipping on a beer spill, resulting in the inability to move for 2 seconds and spilling any beer the player was carrying.
Initial Version: In the original pitch for the game, barrels were described as "Obstacles that never leave the screen and continue rolling even if you evade them this time. They should be enhancing the chaos feeling of this bar." The first interpretation was a barrel moving in a straight line that would make a U-turn at a certain point to move in the opposite direction. These barrels would fall at the top part of the bar and constantly make their way towards the bottom.
Second Iteration: Not much different from the first, except that instead of moving in a straight line, a barrel would make multiple turns to avoid colliding with any furniture, which was not originally planned for.
Final Overhaul: Since the game involves customers walking around the bar, combining this with the current version of the obstacle system was becoming unmanageable. To save time while retaining the feature, it was decided that the barrels would fall from the ceiling instead of moving around the bar. This made it significantly easier to control the barrel's path and ensure it was clear of any NPCs, without taking away the intended feeling of chaos.
Initial Version of the Obstacle System
Second Iteration
Final Overhaul
Established a base parent class for all minigames allowing every minigame to have one set of controllable parameters like disabling player movement, teleport the character and etc.
Implemented a level system with a timer, score goals, game over screen, and transitions to the next level.
Worked closely with other engineers to ensure timely completion of engineering tasks by assisting with implementation, testing or taking over their assignments.
Shared bug reports with other engineer, often accompanied with replication details or potential solutions.
Assisted team members with source control when help was requested.
Performed code cleanup every two or three weeks to remove debug messages, unused code, blueprints, and adding comments if applicable.
<- Some Microgame Parent ->
<- Code Snippets ->