- START
- 300 M
- PEOPLE
- -
- TIME
- -
You start over the Tejo by Belém. Fly the coast, follow the rivers inland, see the bridges; the smoke at the Torre de Belém is home.

GAIVOTA is a helicopter rescue game for the Apple IIgs, flown over a map of mainland Portugal built from OpenStreetMap. Surfers in the big waves at Nazaré, a fishing boat sinking off Peniche, a fire in the pines of Leiria, Porto's roofs in a flood: hover low and slow to winch them up, then land softly at the base before the clock runs out.
GAIVOTA is in development and not released yet. Every mission already plays from the menu to ALL SAFE, tested in MAME at 16 MHz and at stock speed, started from ProDOS 8 and from GS/OS 6. A run on real hardware comes next.
Porto's flooded roofs, the surfers at Nazaré, a sinking boat off Peniche, the fire at Leiria, and under the bridges of Porto and Lisbon.
Recorded in MAME at 16 MHz, the missions flown by the play-testing autopilot. With sound; the captions are in the picture.
The arrow on the panel points the way; the smoke rises over the people. Three lamps tell you when.

The arrow points to the nearest people while a seat is free, and their smoke rises over them. Up to 252 km/h, and up to 2,000 m; the brief tells you where.

Come down by the smoke and slow to a hover: WINCH lights up, the cable goes down and they come up one at a time. Six seats; Porto has ten on its roofs.

Near the base LAND lights up. Touch down gently, under 5 m/s down and 12 m/s forward, and they get out. Soft on the water and you ditch; hard, and you crash.
The game's own menu: pick a mission here, or press its number on your keyboard, and read its brief.
You start over the Tejo by Belém. Fly the coast, follow the rivers inland, see the bridges; the smoke at the Torre de Belém is home.
The training mission: lift off, find the smoke on the river, winch both sailors out of the water and bring them back. No clock.
Three surfers in the foam north of the fort and its red lighthouse. The shortest clock of all.
Out past Cabo Carvoeiro and its lighthouse, a boat going down with five aboard: the hull sinks as the clock runs, and then they are in the water.
Two groups cut off in the pines between Leiria and the sea. Follow the black smoke.
Ten people on three roofs along the Douro, and six seats: two trips at least. The Ponte Luiz I and the Arrábida stand in the way, and they are solid.
This chart is drawn from the same map the game flies over: the coast, the rivers and the lakes of mainland Portugal, built from OpenStreetMap. Every mission starts and ends somewhere on it; click a number to read its brief.
Everything you need, at a glance: drawn by the game below its 3D view, here in Porto with one man aboard and the winch working.
123
456
789
Portugal's famous buildings and bridges stand where they are, built from their outlines and heights in OpenStreetMap. They are solid: fly into one and the end screen names it.
Landmarks off: faster where they stand, and nothing there to hit.



Every picture here is a screen of the game, taken in the emulator: the 320 × 200 Super Hi-Res screen, shown three times as big.












An original synthwave track for the IIgs's sound chip: D minor at 112.5 beats a minute, 80s drums with a gated snare, an octave bass, arpeggios, a supersaw pad and a saw lead with its echo. It plays at the menu and in flight; M turns it off. Here is its first minute, recorded from the game in the emulator.
| ←→ or the stick | Turn |
| ↑↓ or the stick | Speed up, slow down, down to flying backwards |
| AZ or the buttons | Climb, sink; Open-Apple and Option too, held with an arrow |
| SPACE | Hover: stop |
| P M | Pause; music on or off |
| ESC | Back to the menu |
| C L Q in the menu | Centre the stick; landmarks on or off; quit |
Python tools turn the Geofabrik extract of Portugal into a 300 by 600 km map: coast, rivers and lakes, beaches, forests, and towns from the density of their buildings, in three levels of detail. 4.6 MB of it sits in memory.
Every edge is turned, clipped and projected into one colour change per screen line, and the Super Hi-Res fill mode paints the rest: the fill engine of the PORTUGAL demo, grown into a flight game.
Boxes at any heading, arches and cables, from OSM outlines and heights; drawn far to near over the ground, simpler far away, and checked against the helicopter every frame.
About 15,000 lines for Merlin 32: the renderer, the flight model, the missions, the panel, the music player. The landmarks are their own module, in a bank of their own.
The rotor follows the collective and your speed; the music and every effect are synthesized in Python and laid out in the chip's 64K of sound memory.
Headless MAME runs, driven by Lua scripts, flew every mission, crashed into every landmark and checked the landmark views against a Python model of the renderer.