When Yacht Club Games decided to style Shovel Knight after the NES games that inspired it, they took that project seriously. Shovel Knight can’t fill the screen with 1000 bullets or radically switch up how it plays. It has to stay true to its inheritance, else, as programmer and co-designer David D’Angelo tells me, “It’d stand out as bizarre.”
So its bosses naturally follow classic rules, too, including its final one, the Enchantress. Here, Yacht Club faced the challenge of producing a fight with the same restriction of four attacks and 20 hit points as all the other bosses, while also acting as a striking culmination of the adventure. But the real challenge began when they went back to redesign her another three times, once for each of the game’s expansions. And now the project is finally done, these four riffs on the same battle are a chance to witness a studio jamming on and exploring the nooks and crannies of its design.
While all Shovel Knight’s other bosses zero in on a specific aspect of the game, stretching your skills in different directions, the Enchantress was always going to do more. As D’Angelo says, “When you get to the final boss, we’re giving you the main theme of the game as much as possible, so you feel, ‘Oh yeah, this is what it’s about.’”
So, the first time they designed the Enchantress, Yacht Club figured the battle had to be about digging. The game is called Shovel Knight, after all. They also wanted her to be floating around the stage. But that’s as much as they’d planned until the last few months before the game was released, when D’Angelo pitched the idea of some kind of auto-scroller in which the player had to destroy processions of blocks as they tried to near the Enchantress. “But whenever we talked about it it didn’t seem very exciting to anyone,” he says, a little ruefully.
Then they thought about the Plague Knight boss fight, which takes place on top of a line of blocks which Plague Knight can destroy. They’d considered suspending these blocks above a void, causing an instant death if the player fell off, but figured it’d be too difficult at that stage in the game. At the finale, though, players would be ready to face it. “We were like, OK, a pit below you and you are destroying the blocks and so is she. That sounds cool,” says D’Angelo.
“But then the immediate concern was that if all of those blocks could get destroyed, how could we recover from that state?” That’s why the Enchantress can summon blocks as well as destroy them. But with that solution came another question. “How not to make an AI nightmare of her figuring out where you are and put just the right blocks down so you don’t fall in the pit?” Yacht Club couldn’t make an unfair fight in which you could find yourself trapped, with a un-jumpable five-block gap between you and safety. Sure, they wanted the battle to feel precarious, but D’Angelo says they wondered whether the whole idea was going to be a disaster.
The way it works, however, is much more simple than the team feared it’d have to be. Her rule is that there are fewer than 20 blocks left, she’s got to spawn some. “If there are 20 blocks on the screen, then the likelihood that there’s a gap you can’t jump is tiny,” D’Angelo explains. And if there are fewer than 12 blocks left, she won’t even play her spawning animation: she’ll immediately fill in all the blocks.
So, no nightmare AI was required. In fact, all the Enchantress’ AI is very simple, not because it was difficult to make, but because Yacht Club wanted the whole fight to play in a way that methodically teaches each of her four attacks to players. “We really care a lot about teaching the player,” says D’Angelo.
So at the start of the fight, for the first three hits you get on her, she’ll stay above the blocks and only shoot horizontal fireballs at you. “It gives me the opportunity to see that, oh, when I use my down-thrusts I’m going to start digging down, so I’m scared to use them here,” says D’Angelo. “And I might learn that when she fires straight projectiles, I can hit them back at her. And you see the cadence of how she launches fireballs at you, and how fast she moves around the arena, and that she goes over here to launch fireballs and then over there. You get a sense of how I can jump and attack her and be safe.”
After three hits, she starts moving so her fireball attacks can destroy blocks. Then she’ll start summoning areas of fiery blocks that you’ll need to dodge, and then she starts dashing between the top and bottom of the screen. Finally she’ll throw diagonal fireballs, which really start tearing the blocks apart.
“Now it’s becoming a different battle, compared to when she was just up on top,” says D’Angelo. “It’s not just like she does four attacks and you have to hit her 20 times and you already know what to do. It’s a drama that’s unfolding before you.”
And so the first Enchantress fight was finished. But the real challenge started when Yacht Club returned to her for the Shovel Knight’s three expansions. Each one stars one of the original campaign’s bosses as a playable character and they reconfigure the original levels for their character’s new abilities. In 2017’s Specter of Torment, for example, the emphasis is on dash-slashing. This attack homes in on a target and launches your character, ninja edgelord Specter Knight, into the air. In King of Cards, which came out in December, you play as the portly hoarder, King Knight, who gains extra height by slamming into walls and enemies.
These new movement and attack mechanics meant Yacht Club had to re-think every boss battle. For 2015’s Plague of Shadows, which featured Plague Knight, they didn’t want to change much, so for the Enchantress, they looked directly at how his characteristics affected the fight. They decided what happens when his bombs hit her fireballs (they blow it up), and saw that his normal movement is slower than Shovel Knight’s, which meant Enchantress would continually bump him as he moved in to attack.
“It’s just obnoxious to get hit when you don’t think you should be,” says D’Angelo. “We slightly tuned all her parameters, so she shouldn’t move this fast, or she should be in this space a little shorter, or destroy one less block. Maybe she spawns six blocks instead of five to help you out, because Plague Knight’s a little more slidey. So it’s about giving it function with the character so it doesn’t feel bullshit.”
But as prequels to Shovel Knight’s campaign, the Specter Knight and King Knight expansions demanded more. Their Enchantress fights had to feel different. So in some ways, it was just as well that the knights’ new abilities entirely broke the original Enchantress boss design.
Specter Knight’s complication is that he destroys blocks when he jumps off them. So Yacht Club couldn’t use the Enchantress’ old trick of holding the fight above a void. “There was no way that was going to work!” says D’Angelo. “It’d give you three or four jumps and then you’re dead!”
But if there was a permanent floor, what point would there be to the Enchantress summoning blocks? The answer lay in Specter Knight’s dash-slash, which eventually informed a fight in which he must make his way up from the floor to the top of the screen, where the Enchantress floats around. To do so, he has to jump up to platforms of blocks that she summons, and then use fire lanterns that she throws to dash-slash over to her and attack.
“The next component was well, we can make it tell a story,” adds D’Angelo. So, during the final couple of hits on the Enchantress, she summons an entire floor of blocks. “So people realise, ‘Oh, this is the prequel! Specter Knight set it up in the way you see it when you walk into the room with Shovel Knight!’”
For King Knight’s version of the battle, the team had to contend with the way his attacks are very horizontal. Now the fiery blocks that she summons rise and form a bridge in the middle of the screen; at first he has to dodge them, and then he has a surface to jump and slam into, propelling him into the top of the screen where he can attack the Enchantress.
”And a real big change was that normally she keeps moving and does her pattern when you hit her, but in King Knight’s campaign, she’ll actually stick in place, like a hit-stop. That gives you more time to line up your spin and it feels like your big weighty bash has actually done something to her. So there are so many really small, minute interactions that we consider to make them feel unique and special.”
And here’s a detail that shows just how much thought went into these changes. King Knight doesn’t usually destroy blocks when he touches them, but Yacht Club wanted the Enchantress’ summoned ones to be destroyed so they match the way they work for the other knights, providing limited chances to successfully hit her at each summoning. So they introduced a new block type. That might not sound remarkable, but to help players understand that it’s breakable, they added them to the level that precedes the battle.
D’Angelo says that in many ways, these riffs on the original fight were harder to design. It’s tricky, he says, because they wanted players to find her as fresh and exciting as the first time they fought her with Shovel Knight, while also adding a twist that means whatever trick you used before won’t work again.
“Figuring out how to do that is a much different problem than starting from scratch. At first, we can invent anything to get an idea across,” he says. “That’s almost easier than working within these bounds, with all this baggage.”