Skip to content

Releases

MacGalaxigans 2026.09.06

Choose a tag to compare

A Galaga-style arcade game for Apple Silicon Macs, written in
cocoa-mojo on the gamepane
package. Signed and notarized: open the disk image, drag it to
Applications, double-click.

Requires macOS 14 or later on Apple Silicon. 1.2 MB download, 2.9 MB
installed — the whole game, engine and all, with no runtime to install.

Playing

← → move
space or return fire (tap — it will not auto-repeat)
1 / 2 / 4 window at x1, x2, x4
esc quit

Twelve waves that wrap, each with its own backdrop, its own five species
drawn from a library of fourteen, and a dive rate that climbs the whole way
up. A capture boss every third wave: let it take your ship and you can
shoot it free. Clear the board for the stage fanfare, lose your last life
and the aliens dance. Then the hall of fame — type three letters, or press
space if you would rather not wait.

The noise it makes

Two sound worlds, both generated at run time; nothing is sampled.

The four big cues — title, stage clear, saucer, alien victory — are played
on the system's General MIDI synth, transcribed from the assembler
original. Everything else is a chip synth written in Mojo: three voices,
pulse/saw/triangle/noise, ADSR and a resonant filter, rendered straight
into the CoreAudio callback.

Each of the fourteen alien species has its own one-bar chip motif. It plays
when that species leaves the formation to dive, at most once every thirty
seconds, and when the half minute is up the diver is picked from the
species you have heard least recently — so the hornet's buzz and the
jellyfish's drift do not tread on each other.

Under it

The engine is a Mojo package with a hard boundary: the neutral tier imports
no platform at all, and one backend does Cocoa and Metal. Sprites are
composed by the GPU, the starfield is a fragment shader, and the explosion
particles are a Mojo GPU kernel. Every index plane is one buffer with three
readers — the CPU writes it, Mojo kernels read and write it, the fragment
shader samples it — with no mirror and no upload.

Source: examples/galaxigans-deluxe,
engine in gamepane.