GAIVOTA APPLE IIGS
GAIVOTA in Porto: a man on the winch cable, three more waiting on a flooded roof, the Ponte Luiz I behind; the panel below shows WINCH lit
Call sign Gaivota

Fly out to the smoke. Bring them 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.

IN DEVELOPMENT MAME OK REAL IIGS

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.

6Missions
11Landmarks
300×600Km of map
6Seats
8 MBOf RAM
16MHz best
Watch it fly

A hundred seconds over Portugal

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.

How a rescue goes

Out, down, and home

The arrow on the panel points the way; the smoke rises over the people. Three lamps tell you when.

Over the Douro at 300 m, smoke over the roofs ahead
TGT 1.5KM

Fly out to the smoke

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.

Winching from the deck of a sinking fishing boat off Peniche
WINCH

Hover low and slow

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.

The end screen: ALL SAFE - WELL FLOWN, two saved in 3 minutes 10
LAND

Land softly at the base

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.

Press 1 - 6

Six missions, coast to coast

The game's own menu: pick a mission here, or press its number on your keyboard, and read its brief.

Winching from a flooded roof in Porto, the Ponte Luiz I behind
PORTO: THE DOURO HAS FLOODEDPEOPLE ON THE ROOFS - MIND THE BRIDGES
START
BASE
PEOPLE
4+3+3
TIME
11:00

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.

37°N 38°N 39°N 40°N 41°N 42°N 9°W 8°W 7°W OCEANO ATLÂNTICO DOURO TEJO GUADIANA MONDEGO Aveiro Beja Braga Bragança Castelo Branco Coimbra Faro Guarda Lagos Leiria Lisboa Portalegre Porto Santarém Setúbal Sines Viana do Castelo Vila Real Viseu Évora 1: Free Flight1 2: Tejo: Sailors Adrift2 3: Nazaré: Surfers In Big Waves3 4: Peniche: A Boat Is Sinking4 5: Leiria: Fire In The Pines5 6: Porto: The Douro Floods6
FROM THE GAME'S OWN MAP DATA© OSM
The whole mainland

From the Minho to the Algarve

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.

  • The base, where you land the people you have winched up.
  • The people, waiting under the smoke.
  • A landmark: bridges, towers and monuments, solid and in their real heights.
300×600Km
3Levels of detail
4.6 MBIn memory
Under the picture

The panel

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.

GAIVOTA's instrument panel 123 456 789
  1. Airspeed, 0 to 300 km/h.
  2. Radar altitude, 0 to 500 m; the red mark at 25 m is the winch height.
  3. The compass: your heading under the blue mark, the objective under the orange one.
  4. The objective: TGT the people, BASE where to land them, HOME in free flight, and how far.
  5. The arrow to the objective.
  6. Aboard, and saved: ON 1, 00/10 (FLYING or LANDED in free flight).
  7. Climb and sink, up to 10 m/s.
  8. WINCH, LAND, LOW: steady when it works, blinking when you are close but too high or fast; LOW warns of a hard landing.
  9. The clock, the time left or flown, and the mission's name.
In their real sizes

Eleven landmarks

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.

Lisbon

Ponte 25 de Abril

190 Mtowers; the deck at 70 m
Lisbon

Torre Vasco da Gama

145 Mby the river
Almada

Cristo Rei

103 Marms east and west
Porto

Torre dos Clérigos

75 Mand its church
Porto

Ponte da Arrábida

70 Mthe deck, on its arch
Lisbon

Padrão dos Descobrimentos

52 Mat Belém
Porto

Ponte Luiz I

45 Mthe upper deck
Nazaré

The fort and its red lighthouse

38 Mon the rock
Lisbon

Jerónimos Monastery

34 Mat Belém
Lisbon

Torre de Belém

33 Mfree flight's home
Peniche

Cabo Carvoeiro lighthouse

29 Mon the cape
In the menu

Press L

Landmarks off: faster where they stand, and nothing there to hit.

The Ponte 25 de Abril from the Tejo
Cristo Rei over Almada, the 25 de Abril beyond
The Ponte da Arrábida over the Douro
As the IIgs shows them

Screenshots

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.

On the Ensoniq

The music

The themeGaivota

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.

Before you fly

What you need, and the keys

What you need

  • An Apple IIgs with 8 MB of RAM: the whole map lives in memory.
  • A hard disk: the game is a 32 MB ProDOS hard-disk image.
  • A 16 MHz accelerator (ZipGS, TransWarp GS) is best. At stock speed it runs, slowly: 4 to 6 frames a second, and about 90 seconds to load.
  • ProDOS 8 or GS/OS 6: from GS/OS it asks the Memory Manager for its memory, and quits back to the Finder.
  • In MAME (Ample on the Mac): 8 MB, a 16 MHz ZipGS, the disk on a CFFA card in slot 7.
  • The keyboard, or a joystick.

The keys

←→ or the stickTurn
↑↓ or the stickSpeed up, slow down, down to flying backwards
AZ or the buttonsClimb, sink; Open-Apple and Option too, held with an arrow
SPACEHover: stop
P MPause; music on or off
ESCBack to the menu
C L Q in the menuCentre the stick; landmarks on or off; quit
How it is made

Inside

Portugal from OpenStreetMap

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.

Filled 3D in fill mode

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.

Landmarks, solid

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.

65816 assembly

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.

Sound on the Ensoniq

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.

Flown by scripts

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.