What makes a good boss fight? That's something I've been wondering real hard as I put up the finishing touches of the battle against Colonel C. A boss fight is a tougher enemy that uses moves and tactics normal enemies don't. Bosses have more health and often deal more damage as well. Badly designed boss encounters can be frustrating and break the momentum of a player through a game. Even a single terrible boss can spell the doom of a project - as most players wouldn't get further than that.
I suppose the three elements of my boss fights are patterns, increasing difficulty and a bit of randomness. Bosses have multiple moves they can do and once they start doing one, they'll stick with it. Brigadier B could move around or throw bombs, Colonel C can stand in space and spin his sword, dash horizontally or do some kind of jump-slash at the player. They pick a move, then do it, then return to an idle state.
I guess you could say my bosses are state machines. They change states via some randomness, mostly based on their remaining life, but it can also be based on where the player character is. The increasing difficulty bit is simple, the less health a boss has, the faster he executes his various moves. Since death has little consequences and you always have at least 25% of your life, I think my kind of bosses work well in a metroidvania type game.
Currently working on: Continuing the story
Time spent on the project so far: 236 hours