FreeIn your browserNo install

Thirty mil. Zero install.

A twin-stick helicopter shooter that lives in a browser tab. Fly an AH-64E Apache over a desert that's built fresh every sortie, and take it apart with a 30 mm cannon and Hellfires.

Desktop browser · keyboard & mouse or a gamepad · sound on

Scroll

01 The pitch

A side project that got out of hand.

Project Apache started on 23 August 2026 as a flight simulator: rotor physics, a phosphor HUD, two cockpits. Then it grew an arcade mode on the same airframe, and the arcade mode turned out to be the fun part.

So that's what this page is about. You fly from above, the nose follows your mouse, and things on the ground have opinions about you. Clear a wave, take an upgrade, go again. Get shot down three times and it's over.

Range Size
0km squared
Range seeds
0thousand
Upgrade cards
0
Enemy types
0
Mission types
0+ a Hind
Installs & Accounts
0

02 Flight school

A twin-stick shooter with a 30 mm opinion.

  • WASDFly screen-relative
  • MouseAim the nose follows
  • LMBCannon mind the heat
  • RMBHellfire it homes
  • ShiftSnap-roll can't be hit
  • ZGunner's sight in the real game
  • Gamepad? Plug it in. It knows.

Honest label: this is a little 2D toy built for this page so your hands get the idea. The real game is 3D, with terrain, line of sight, and a lot more shooting back.

03 Gunner's sight · TADS

Lock three. Fire three. Go home early.

Tap Z and the camera drops into the turret under the nose: a white-hot FLIR picture, day or night. Hold a target in the cross for 0.6 s and it's tracked. Up to three. Each Hellfire goes to the next track.

The gunner's sight: a white-hot thermal picture of a tank on a desert plain, a truck and two soldiers to its left.
TRK 0/3 MSL 8 Slew onto a target

The picture is a real frame from the game's sight. The brackets you're placing are this page's stand-in for its tracker.

04 The draft

Clear a wave. Pick a card.

Every cleared wave opens a supply crate and deals three upgrades. Take one. About one card in six comes up rare: gold, two levels in one. From wave three, about one in twenty is elite: red chrome, straight to the max, plus 1,000 points. Now and then the crate holds a fourth card.

These aren't mock-ups. They're the game's own cards, drawn by the game's own code. Tilt them.

Dealing…
  • Barrel coolant
  • AP-EX rounds
  • Match barrel
  • Extra rails
  • Fast loader
  • Thermobaric warhead
  • Kevlar panels
  • Field repairs
  • Reflex trim
  • Double dodge
  • Flare dispenser
  • Stealth mode
  • Rocket pods
  • Bounty contract

05 The waves

It starts with trucks. It does not end with trucks.

Strike

Supply caches, trucks driving loops, radars, rifle squads in the villages. Wave one is always a strike: destroy everything.

  • Trucks
  • Supply caches
  • Radars
  • Rifle squads

Things shoot back

AA turrets lob slow rounds that lead you by half. MANPADS gunners paint you with a red line for 1.8 s, then fire. Dodge inside 45 m, or put a ridge between you.

  • Trucks
  • Caches
  • Radars
  • Squads
  • AA turrets
  • Technicals
  • MANPADS

Armour

Tanks shrug off the cannon (it does 15%). Bring Hellfires. Mortar teams drop a red ring where the round will burst. Don't be in it.

  • Trucks
  • Caches
  • Radars
  • Squads
  • AA
  • Technicals
  • MANPADS
  • Tanks
  • Mortars

Long range

APCs pull up near you and unload a squad. SAM launchers lock from far away, but only while their paired radar stands. Kill the radar.

  • Trucks
  • Caches
  • Radars
  • Squads
  • AA
  • Technicals
  • MANPADS
  • Tanks
  • Mortars
  • APCs
  • SAMs

Gunship

Every fifth wave, a Mi-24 Hind shows up. It circles, it turns in, it brings rockets. It did not come to talk. It falls burning, if you're good.

  • Everything
  • Mi-24 Hind

06 Mission board

Every wave is a job.

Complete it for a bonus and a draft. Fail it and it costs one of your three lives. So does getting shot down.

STK

Strike

Destroy everything. Wave one is always this.

ESC

Escort

Three friendly trucks take the longest road on the map, up to 1.1 km of ambush. Keep them rolling.

DEF

Defend

Hold a compound for 90 seconds against groups marching on it.

RSC

Rescue

Hover low over the green smoke for four seconds, then get back to the pad. You have 150.

INT

Intercept

A convoy is driving to the end of its road. It should not get there.

OVW

Overwatch

A four-man team sneaks into a guarded compound to plant a charge. Cover them through the sight, quietly. No alarm pays double.

GUN

Gunship

Every fifth wave. See above. Bring flares.

07 Procedural ranges

New desert every sortie. Same bad decisions.

Every game builds a 1.44 km range from a six-digit seed: eleven to sixteen mountain massifs, five to eight lakes, mesas, dunes, a river, canyons, walled compounds and villages joined by roads routed over the terrain. Lit by day, dusk or night, and night is flown on thermal. The number is the seed: share it and your mates fly the same ground against the same targets.

Roll a range

Nobody has seen this one yet. The game builds it the moment you take off.

Fly range

Daily op · today

Same map for everyone today. No excuses tomorrow.

Today's range, missions and upgrade offers are seeded from the date, so everyone gets the same ones. Your best is kept on your machine. There's no global leaderboard. Yet.

Resets in--:--:--00:00 UTC
Fly today's op

09 Who made this

Vibe coded. Honestly.

I'm John Kappa. I made Project Apache with AI coding tools: I describe what I want, argue with what comes back, and keep the bits that feel right.

It's a side project. No studio, no engine, no budget, and no roadmap you should hold me to. It runs on three.js, TypeScript and Vite. There will be bugs. It's free, and it'll stay free.

If something breaks, or you put up a score you're proud of, tell me. X is the quickest way.

~/project-apache · git log
    Commits by day142 commits · ~42k lines of TS
    23 Aug: first commitSept: nothing12 Oct: arcade goes live

    10 Questions

    Before you ask.

    Is Project Apache - Arcade free?

    Yes. It's free to play in your browser, with no account, no ads and nothing to buy.

    Do I need to download or install anything?

    No. It runs in a desktop browser with WebGL 2. The first load fetches about 15 MB of 3D models, so give it a moment.

    What do I play it with?

    Keyboard and mouse: WASD to fly, the mouse to aim, left button for the 30 mm cannon, right button for Hellfires, Shift to snap-roll and Z for the gunner's sight. A gamepad works too; plug it in and the game picks it up.

    Does it work on phones or tablets?

    Not yet. There are no touch controls, so you need a desktop or laptop browser.

    Can I play the same map as a friend?

    Yes. Every range has a six-digit number, and a link like /arcade?range=482913 rebuilds the same ground and targets for anyone. The daily op gives everyone the same range, missions and upgrade offers each day.

    Is there a leaderboard?

    Not a global one. Your best score, best wave and today's best are saved in your own browser.

    Is it a realistic flight simulator?

    The arcade isn't: it's a twin-stick shooter seen from above. The same site also has the flight simulator it grew out of, at /sim, with rotor physics, both cockpits, HOTAS support and WebXR.

    Who made it?

    John Kappa, as a side project, starting in August 2026. It's vibe coded with AI coding tools, built on three.js, TypeScript and Vite, with 3D models by Sketchfab artists credited in the footer.

    Pad clear · rotors turning

    YOUR SORTIE.

    ▶ Play free

    Runs in a desktop browser with WebGL 2 · keyboard & mouse or a gamepad · not on phones yet · the first load fetches about 15 MB of models, so give it a moment