Flight Sim · Modern air combat for macOS
Loading the airframes from the game build

Air combat sim · macOS

Flight Sim

Modern air combat with no arcade shortcuts in the physics. Four fighters, 81 km of coast, and a penguin in the seat who feels every g.

Version 0.4.0Unreal Engine 5.8Gamepad, keyboard and mouse
Or scroll at your own pace

WP02 · Walkaround

JAS 39E Gripen

Not a video. This is the game's own Gripen, cockpit and all, drawn live in your browser. Length and span are measured on the model. Thrust and the g limit come straight out of its flight model.

Length
15.23m
Span
8.59m
Thrust, AB
98kN
G limit
9g

WP03 · Controls

Fly-by-wire on top. Physics underneath.

The jet itself is a rigid body in six degrees of freedom, solved 120 times a second from aerodynamic data tables and a turbofan model. The fly-by-wire turns your stick into g and roll rate and keeps you inside the angle-of-attack limit. Watch all eleven control surfaces answer. Hold the override and it lets you past the limit, where the jet can depart. From there it's on you.

CANARD+0.0°
ELEVON+0.0°
RUDDER+0.0°
LE FLAP+0.0°
AIRBRAKE+0.0°

WP04 · Structure

Built to come apart

Each jet is cut at its structural joints, and the x-ray shows what sits around every cut: frames 42 to 48 cm apart, stringers, longerons, wing spars, ribs with lightening holes, loose wiring and the engine in its bay.

A hit breaks something specific. The damage model works out what fails: a wing, the fin, the nose or a fuel tank. Every piece falls on its own drag, tumbling or autorotating. Don't pull the handle and the pilot goes on his own, 0.5 to 6 seconds later.

WP05 · Pilot

The Military Penguin

He flies every jet in the game. Your scroll spins the turntable.

He is more than a mascot. Every pilot, AI included, has the same body. Hold high g and he tires, his vision greys out, and push too far and he blacks out. The AI has to ration its g as well, so it can't out-turn you for free.

WP06 · Loadout

What you hang, you haul

Five loadouts per jet. Their weight and drag show up in every turn and the takeoff roll. The Gripen's default:

  • IRIS-T ×2Dogfight heat-seeker. Locks on far off the nose. 87 kg.
  • Meteor ×2Ramjet-powered radar missile for the long shot. 190 kg.
  • AMRAAM ×2Medium-range radar missile, steered over the datalink. 162 kg.
  • Tank1,100 litres on the centreline. Hold R1 and Circle for a second to punch it off.

WP07 · Range Air Base

81 km of coast to fight over

Farmland, forest and snow-capped peaks, carved by the project's own terrain and erosion tools. The ground the physics flies over matches the landscape you see to within 3 cm. Clip a ridge and it's the ridge you saw.

Runway
18/36
Length
3,000m
Width
45m
Elevation
219m

WP08 · Runway 36

Burner. Rotate. Gear up.

You run the gear, flaps, wheel brakes and nosewheel steering, and push the throttle trigger through a detent to light the afterburner. Start parked on the runway, or on the glide path with the landing on you. A coach line at the bottom of the screen calls the next step and the button for it.

WP09 · Weather

Clouds you can fly through

The game draws them with its own volumetric cloud renderer. Eight weather presets run from clear sky to storm cells with anvils. The wind moves the clouds, and the sun and moon keep time at 57.6° north.

The weather reaches the physics too. Temperature and wind change with altitude, and humidity decides where you leave a contrail. Pick the weather and time of day in any mode.

WP10 · Fleet

Four jets. No special rules.

One physics model flies them all. What sets them apart is data: aerodynamics, engines, mass, gun, sensors and stores. Learn the differences, then fight with them.

JAS 39E Gripen

Small single-engine delta-canard that whips its nose around.

27 mm · IRIS‑T · AMRAAM · Meteor

F-16C

Light single-engine fighter that holds a hard turn without bleeding speed.

20 mm · AIM‑9X · AMRAAM

Su-35S

Big twin-engine fighter. Thrust vectoring keeps the nose pointing after the speed is gone.

30 mm · R‑73 · R‑77‑1 · R‑27ER

MiG-29

Twin-engine fighter, nimble at low speed. Watch the fuel.

30 mm · R‑73 · R‑27R

WP11 · Beyond visual range

The fight starts 100 km out

Squadrons meet 90 to 110 km apart, far past what you can see. A jet knows only what its sensors and datalink tell it: radar, warning receivers and, on some jets, an infrared sensor and missile warning. The AI never sees more than that. Set Sensor realism to Realistic and neither do you.

Each AI pilot has one of six personalities and flies through the fly-by-wire you fly. Add a TypeSafe key and Jev, TypeSafe's AI model, makes their calls: when to attack, turn away or defend. Without a key, the built-in AI makes them.

WP12 · Splash one

Run it back from any angle

A replay re-runs the whole simulation from the recorded inputs, so every moment is there to watch from any camera, kill cam and weapon cam included. Slow it down, or freeze it and go to photo mode.

On this page the scroll bar is the clock. Go on, scroll back up. The Meteor flies backwards.

WP13 · Return to base

Four ways to fly

  • SquadronsUp to 4v4 against AI pilots with six personalities. Lead the flight, or sit back and spectate.
  • CampaignOperation Coastal Shield, six missions. Then the Ace Ladder and Survival.
  • Tactics DuelYou and a rival write orders for your AI teams in plain words, then watch them fight it out.
  • MultiplayerCo-op and versus, 1v1 to 4v4, Mac to Mac. AI pilots fill the empty seats.

WP14 · Footage

Straight from the game

Nothing here was staged for a trailer. Every clip was captured in the game.

Play of the GameAfter every match the game picks the decisive moment and cuts it like a broadcast.
Kill screenBreak a jet apart and the moment replays through a directed camera, slowing to 1/600 speed just after the warhead bursts.
BreakupWings, fins and the nose part at their joints, then tumble down on their own drag. Shown at 1/2.5 speed.
The pilot, animatedHe blinks, squints into the low sun and strains under g. At night the moon and his panel light his face.
EjectionHold L1 and R1 for 1.5 s. A drogue steadies the seat and pulls the main chute out; the opening canopy lifts him off the seat, and the seat falls away. The close-up runs at 1/2 speed.
ExplosionsRay-marched fireballs that cool, rise and drift on the wind. Shown at 1/5 speed.
Battle damageA fire does not end the flight at once. The jet flies on while burning fuel trails flame and black soot behind it.
LightingLight from the sky fills the shade, and every time of day has its own grade.
Destruction physicsEvery piece falls on its own drag, tumbling or autorotating. Shown at 1/3 speed.

The macOS build is in private testing, so there is no public download yet.

Flight Sim is a personal, non-commercial project. Aircraft names are only labels. The flight models are built up from public figures, and the weapons use public speed and range classes only.

3D models on this page are the game's own, prepared from: “Saab JAS 39 Gripen”, “F-16 Fighting Falcon”, “Sukhoi Su-35” and “MiG-29” fighter jet models by bohmerang (Sketchfab), CC BY-NC-SA 4.0, reshaped and split by the project. The derivatives are shared under the same licence.

Gripen E cockpit interior based on “SAAB Jas 39A Gripen (Detailed Cockpit)” by ngkoret (Sketchfab), CC BY 4.0, reworked by the project into the E’s wide-area display cockpit. Su-35 and MiG-29 cockpits refined by the project from their source models.

Military Penguin by the project owner. Breakup structure, stores, hangar, terrain and effects generated by the project's own scripts.