How I Built Knight Flyer

Sal's Journey to Master Medieval Aerial Combat

Inspired by Joust (1982)

The Original Memory

"Joust was different from every other arcade game I'd ever seen. Knights riding flying ostriches, battling it out in mid-air – it was absolutely ridiculous and completely brilliant. The first time someone explained the concept to me, I thought they were pulling my leg."

Sal recalls Joust as one of the most unique games in his arcade. Players would furiously tap the flap button, trying to gain altitude advantage over their opponents, turning medieval combat into an aerial physics puzzle.

"The genius was in the momentum. You couldn't just hover – you had to constantly flap, constantly think about momentum and positioning. And that moment when you'd knock an enemy rider off their mount? Pure satisfaction."

The Vision

Recreating Joust's unique aerial combat meant capturing its distinctive physics and strategic elements:

  • Momentum-Based Flight - Tap to flap, gravity always pulling down
  • Height Advantage Combat - Higher rider wins the collision
  • Platform Navigation - Use floating platforms strategically
  • Egg Collection Mechanics - Defeated enemies drop collectible eggs
  • Increasing Difficulty - More enemies with better AI each wave
  • Medieval Aesthetic - Knights, lances, and fantasy elements

"Joust wasn't just about flying – it was about controlling momentum while thinking three moves ahead. Every flap had to count, every platform could be the difference between victory and defeat."

The Challenge: Boring Button Masher

The first version of Knight Flyer completely missed Joust's strategic depth. Instead of tactical aerial combat, Sal got a mindless flapping simulator.

The Problems:

  • Flight felt floaty and disconnected
  • No height-advantage combat mechanics
  • Enemies were too easy and predictable
  • No strategic use of platforms
  • Missing the satisfying "jousting" collisions

"I played it for two minutes and thought, 'This isn't Joust, this is some kind of flight training program.' Where was the combat? Where was the strategy? You could just hover in one spot and win."

Sal's direct feedback: "This needs the momentum physics and height-advantage combat that made Joust legendary"

The Breakthrough: Physics-Based Combat

The solution came when the AI implemented proper momentum physics and collision-based combat rules that rewarded skilled positioning.

Key Gameplay Mechanics:

  • Gravity System - Constant downward pull requires active flapping
  • Height Comparison - Higher rider wins collisions and eliminates enemies
  • Momentum Conservation - Each flap adds upward velocity with physics
  • Platform Interaction - Solid landing spots for strategic positioning
  • Enemy AI - Opponents actively seek height advantage

"When I saw the knight actually bounce off platforms and gain height advantage to eliminate enemies, I knew we had captured the Joust magic. Suddenly every flap mattered again."

The Magic Details

Knight Flyer succeeds because it captures Joust's unique tactical elements:

The Momentum Challenge

"Every time you tap that flap button, you're making a commitment. Too little and you fall, too much and you overshoot your target. Finding that perfect rhythm is what separates good Joust players from great ones."

Height Advantage Drama

"The moment when you and an enemy are both climbing for the same altitude, both desperately flapping, and you edge out just a pixel higher – that's pure Joust tension right there."

Platform Strategy

"Those floating platforms aren't just obstacles – they're tactical advantages. Landing on one gives you a moment to plan your next move and a solid base to launch from. Master players use them like chess pieces."

The Technical Breakthrough

Here's how Knight Flyer creates authentic Joust mechanics:

Momentum-Based Flight

// Gravity constantly pulls the player down this.player.velocityY += this.gravity; // Flapping adds upward velocity if (this.keys.flap && !this.lastFlap) { this.player.velocityY = -this.flapPower; this.playSound(440, 0.1); // Wing flap sound } // Update position based on physics this.player.y += this.player.velocityY;

Height-Advantage Combat

// Check collisions between player and enemies for (let enemy of this.enemies) { if (this.checkCollision(this.player, enemy)) { if (this.player.y < enemy.y) { // Player is higher - defeats enemy this.eliminateEnemy(enemy); this.score += 100; } else { // Enemy is higher - player loses life this.loseLife(); } } }

Strategic AI Behavior

// Enemies actively seek height advantage updateEnemyAI(enemy) { // Try to get above the player if (enemy.y > this.player.y - 50) { enemy.flapping = true; enemy.velocityY = -this.flapPower * 0.8; } // Move toward player horizontally const direction = this.player.x > enemy.x ? 1 : -1; enemy.x += direction * enemy.speed; }

Sal's Final Thoughts

"Knight Flyer gets Joust right because every movement has consequences. You can't just button mash your way to victory – you need to think about momentum, positioning, and timing with every single flap."

"When I watch someone playing Knight Flyer and they start using the platforms strategically, timing their flaps to gain height advantage, I know they've discovered what made Joust special. It's chess in the sky."

"The best arcade games aren't just about reflexes – they're about understanding systems. Joust taught players physics through fun, and Knight Flyer brings that lesson back to life."