> ## Content Index
> Fetch the complete content index at: https://dangraf.io/llms.txt
> Use this file to discover other available public pages before exploring further.

# Real-world ship traffic in X-Plane 12
- URL: https://dangraf.io/work/ais-ship-traffic-x-plane/
- Published: 2026-10-09T14:11:09.000Z
- Updated: 2026-10-09T14:29:13.000Z
- Description: A native C++ plugin that puts live AIS vessel positions into the flight simulator as 3D ships.
- Author: Dan Graf
- Tags: Marine, #work, #Import 2026-10-09 15:24

Flying low along the coast in X-Plane, the sea is empty. This plugin fills it with real ships, taken from live AIS (Automatic Identification System) data.

![On approach in a King Air, with a P&O ferry in its real-world position ahead](https://dangraf.io/content/images/2026/10/xplane-ferry-kingair.jpg)

On approach in a King Air, with a P&O ferry in its real-world position ahead

## What it does

- Draws vessels near the aircraft as 3D models using X-Plane's instancing API.
- Smoothly animates ships between AIS updates with dead reckoning, and removes them when their data goes stale.
- Adds navigation lights on vessels for night flying.

![Following a ferry out to sea in the S-76C, with other live traffic on the horizon](https://dangraf.io/content/images/2026/10/xplane-ferry-departing.jpg)

Following a ferry out to sea in the S-76C, with other live traffic on the horizon

## How it's built

C++17 against the official X-Plane SDK. There are no legacy OpenGL callbacks, no per-frame allocation, and all simulator access stays on the main thread. The logic is tested outside the simulator under AddressSanitizer and UBSan, and builds as a universal macOS binary with CMake for Windows and Linux. Ship data comes from my own AIS backend running on Lightsail.