My current project is a game called "Cherry" which is a space shooter where each level consists of a fight against a huge battleship and the various fighter ships that try to protect it.
These bosses are procedurally created, and consist of a cluster of parts that are revealed as you destroy those on top of them. Each boss has an engine room somewhere near the back-center. If you destroy this part, or disable the ship's defenses completely (The engine room can hide parts that are below it), then you win the level and move on to the next one.
The player has two weapons at their disposal: A rapid-fire plasma gun and homing missiles. The plasma gun has a limited energy reserve that recharges over time. The player can hold up to 4 homing missiles, and they reload over time.
They player has both shields and armor. The player's shields absorb attacks and recharge over time. The shields recharge faster when the player's shield points are low, and more slowly when the player's shield points are high. The player's armor does not regenerate, and the player dies if it runs out. If the player has any shield points at all, their armor will not be damaged by attacks, and the player has more shield points than armor points.
The game carries on indefinitely, and it can do so because the levels are randomly generated anyway. It will also track high scores.
The game will be written in Lua using the Love2D game engine. At the time of writing, the game's current state is a demo where the player can fight an endless stream of enemy ships. (Also, there is only one kind of ship to fight) I will (hopefully) be adding in some basic boss functionality soon, as well as sound effects and a winder variety of enemies. I also hope to add sounds soon.