****SPOILER WARNING****
This post talks about parts of the game later in the campaign. If you want to stay away from that information, stop reading now!!!

Spoiler!
As part of the campaign in Cosmo’s, we wanted to create crazy epic moments for the player to experience while trying to design unique explorations of the game’s ruleset. One of the ways we approached this was to have boss fights, which is something you rarely see in other games like ours. These fights help us explore ways to play our game which are super fun and crazy, but are most likely too much to be part of the main game. The final boss, obviously, is the craziest and most fun of all the ideas. However, this did not come easy.
Our biggest problem with designing the final boss was one of our own creation. We gave the player too many ways to play the game! The variety of different amenities and upgrades are drastic enough that they make many different playstyles possible. Some choices make the game easier, some make it harder, some make things make more money, some add more time to each day, some reduce variance, some add variance, etc etc etc. If we make any of these decisions not matter during this boss we start invalidating the players choices and setting them up for failure. Because of this we knew we had to make an exciting design without drastically changing the base ruleset of the game, which makes designing unique things hard!
Our first design revolved around having three distinct phases of boss, which each phase focused on different aspects of the game, such as combos, money, and speed. The thought was that we could validate different player choices in different phases which would let us get away with craziers designs. This sounded like a great idea until we realized that it meant that we had to design three fun boss fights instead of one! On first pass of this we ended up with 1 fun phase, 1 boring phase, and 1 interesting phase. The fun phase revolved around a predetermined customer setup that led to a very specific choreographed dance the player had to complete. This phase was too fun to just throw away, so many elements were saved and implemented into an earlier boss. The second phase was about overloading the station with many more aliens then normal and letting them run wild. While in theory more aliens equals more tasks which equals more fun, it actually led to boring days with certain layouts and computer performance concerns, so we scrapped it.

That second phase maybe had a couple too many aliens in it…
The third phase ended up being too complicated as part of a many phase thing, so we decided to try just making it a standalone boss! The idea was based on the concept of man vs machine, a general theme that runs throughout the game. It requires the player to “beat” the boss by reducing its health to 0 by undocking ships. To promote the idea that you were fighting a machine, there was also a short timer that repeatedly counted down. If the player did not undock at least one ship in the span of the timer they would be heavily penalized. As the boss went on, the timer would get faster, the boss would restore its health bar multiple times, and the game would get harder and harder. We created a version that was fun and beatable with many different layouts and called it a day.
We were very happy with it until we played it about two months later in context with the rest of the campaign. As we make big production milestones in the campaign, we have everyone stop what they are doing and play through it in its entirety. One of the biggest sticking points that everyone came across was the final boss and the fact it didn’t feel like a good end to the game. There was no victory moment for the player, no triumphant “I beat you” emotion. The boss felt very binary, either you were fast enough to complete the tasks or you weren’t. No back and forth, no overwhelmed vs in control, no variety of game play besides play faster, which is what the player is always trying to do anyways. And when you did win, the game just ended. The player felt very detached from the boss’ gameplay, so much so they might not even realize they were delivering a knockout punch until after they beat it. So we scrapped it.
Going back to the drawing board, we knew we needed a triumphant moment for the player. We needed the player to feel connected to what’s going on, for it to have ups and downs, for it to have escalating non-linear difficulty, and for it to work with the millions of different combinations of amenities and upgrades the player could currently have equipped. Easy!
So we ended up looking at the competitive world of puzzle games, with our biggest influence coming from a game called Puyo Puyo (some might know it as Kirby’s Avalanche). With random elements, escalating difficulty, fail states, speed requirements, and a back and forth caused by player decisions, these games sound a lot like what we were looking for! So we brought them into our boss fight and ended up with something really fun.

Puyo Puyo!
Framed as a fight between you and your rival Dr. Quazar, this challenge revolves around player decisions. Completing and undocking ships in quick succession sends over attacks, with power based on the amount of ships you undock and total money earned. The boss does the same to you, which then can be defended from by undocking more ships. If attacks do hit, they break parts of your station which then have to be fixed through player input. So now we have the player playing the game normally, but then making extra decisions about attacking, defending, fixing docks, saving up for bigger combos, or clearing space to earn extra money.

Your rival’s station, the Convenience Cube!
All these extra decisions create gameplay that feel markedly different from normal while not deviating too far from the already established rules in the campaign. It also directly connects the player to the outcome, which creates these triumphant moments we have been searching for.
Challenges that come with this design are mostly based around balance and pacing. We have to make the boss difficult enough to create interesting decisions for the player, but it also needs to be adaptable to how much trouble the player is in. If the player fails, it should feel like it’s the players fault and not because the boss simply overwhelmed them. But if the player is in control the whole time, all excitement is lost. To try to make these interesting moments, we overload certain parts of the boss to basically force the player to take damage, and then ease up to allow them to recover from it. This back and forth becomes more dramatic as the boss goes on, with the final exchange forcing the player to come back from the almost failure to smash the boss with a final attack. Spread throughout this are mini cutscenes that give the player a small respite, help mark increases of difficulty, and give some extra flavor to the whole fight.
The boss is still getting tweaked a bit, but in general we are super happy with the direction it ended up going. Now we just got to finish the rest of the game so you can try it out!