Operation Eagle Cross

Operation Eagle Cross

Ten worlds. Three lives.
Arcade shooter · Free · iPhone

Hard, but never unfair.

A vertical shoot-em-up of the old school: your ship goes up, everything else comes down, and your finger never leaves the glass. What isn't old school is the part that actually hurt back in the arcades — here, dying on stage eight doesn't send you back to stage one. Stages unlock, and the next run starts where you got to, with the firepower that stage expects.

Ten worlds, ten bossesEvery stage brings a new setting, new music and new enemies, and ends with something too big to fit on screen.
Five weapon levelsYour gun powers up when you clear a whole formation. And it drops when you get hit: every death costs firepower, not just a life.
You feel it in your handEvery hit, every explosion and every death has its own haptic. With the phone on silent, the game still tells you what's happening.
Nothing elseNo ads, no purchases, no accounts, no internet. Open it and play.

The ten worlds

01Asteroid fieldnear star
02Ship graveyarddeep space
03Cyber cityfull light
04Sea of dunesplanet shadow
05Enemy stationdeep space
06Orbital shipyardion storm
07Dry dockplanet shadow
08Assembly linedeep space
09Turbine hallion storm
10Heart of the fortressdeep space

And in all of them, something you cannot destroy: asteroids, scrap, dock plating. You don't shoot those. You dodge them.

What's waiting for you

Cannon fodderThey come down in formation and never shoot. They're there so your gun can level up — if you clear them all.
GunnerAims where you are, not where it's facing. Flying in a straight line in front of one is the worst idea in the game.
TankTakes more than it looks like it should, and fires slow, fat shells. You see them coming; the problem is they fill the gap you were heading for.
KamikazeDoesn't shoot. Just comes straight at you.
TurretSpins on the spot and throws blades along whatever angle it's at. From stage eight on, three at a time.
🔧 For the curious: how it's balancedSwift, a ten-row table and two mistakes that cost dearly — only if you fancy going deeper▾

You don't make a shoot-em-up hard by adding enemies. You make it hard by knowing exactly how much fire fits on screen and how long you have to get out of it.

Difficulty is a table, not code. Ten rows and five columns: bullet speed, burst size, enemy health, wave density and the pause between waves. Tuning a stage means changing a number — and automated tests check the curve never goes backwards.
The game can be tested without opening it. The rules live in a separate Swift package that doesn't know how to draw: no SpriteKit, no screen. That's why all ten stages were balanced in a terminal, with the whole curve printed out, before touching the phone.
The expensive lesson. Starting on stage seven gave you stage one's gun: one shot every 0.17 seconds against a stage calibrated for four every 0.11. That wasn't "harder", it was seven times less firepower. Now the weapon starts at the level that stage expects.
The second expensive one. Asteroid cadence tightened according to how well you were doing — which makes sense for anything you can shoot, and none at all for anything you can't. Playing well filled your screen with indestructible plating. Obstacles now depend on the stage alone.
Haptics hang off what the game already announces. The scene already shakes the screen on every explosion, every hit and every alarm; the haptics hook in there, and the strength of the shake picks the right jolt on its own. Delete that one file tomorrow and the game is exactly what it was.
Backgrounds and music come out of a script. The ten settings are painted by a generator that lights faceted solids and closes the vertical loop seamlessly. Same for the audio: the distorted guitar is a waveshaped oscillator, EQ'd for a phone speaker — not for headphones, which was exactly what was wrong with the first mix.
Stages10, each with a boss
Lives3 · stages stay unlocked
TechnologySpriteKit + SwiftUI · 60 fps
AudioGenerated in code
Data collectedNone
PriceFree

On screen

Operation Eagle Cross — stage 3, the asteroid belt Operation Eagle Cross — stage 7, the dry dock Operation Eagle Cross — stage 10, the fortress
Download free

Help and privacy

Questions about the controls, the weapon levels, or why you started again on stage six? It's all on the support page. The privacy policy fits in one line: this app collects no data at all.