# Johnny Castaway for macOS
<img src="jc_island.webp" alt="Johnny Castaway on his island" width="400" style="display: block; margin: 0 auto;">
A native Swift recreation of **Screen Antics: Johnny Castaway** — the classic 1992 Sierra On-Line / Dynamix screensaver — for modern macOS. Johnny lives on his tiny desert island, builds his raft over an 11-day story arc, fishes, gets visited by mermaids, and generally never quite escapes.
[Github](https://github.com/d4rkwyng/johnny-castaway-mac)
> **You must supply the original game files.** The artwork and animation scripts are still copyrighted by Sierra/Dynamix and are **not** included. You provide two resource files — `RESOURCE.MAP` and `RESOURCE.001` — from an original copy of the screensaver (they're inside the 2005 re-release installer; the [README](https://github.com/d4rkwyng/johnny-castaway-mac#you-must-supply-the-original-game-files) walks through extracting them). Launch the app once, drop them in, and the screensaver is provisioned too.
### Features
- From-scratch Swift port of the reverse-engineered Dynamix engine — all 41 TTM animation scripts play to completion, with the ADS scene scheduler, walking, and the full 11-day story progression
- The original 640×480 pixel art, crisply scaled on Retina displays
- Ships as both a `.saver` screensaver bundle (Sonoma+ lifecycle handled) and a windowed player app with debug keys — pause, frame-step, 0.25×–50× speed, day skip, date/time override for holidays and night scenes
- Sound playback when the original WAV samples are present
- **No Sierra assets bundled** — you supply RESOURCE.MAP / RESOURCE.001 from an original copy (they're inside the 2005 re-release installer); the app imports them on first launch and provisions the screensaver too
- Byte-identical resource decoding verified against the reference C engine; story choreography locked by invariant tests and million-tick soak runs
### Download
Requires macOS 14 or later. Signed and notarized.
```sh
brew install --cask d4rkwyng/tap/johnny-castaway
```
installs both the app and the screensaver (`johnny-castaway-saver` for the saver alone). Zips on [Releases](https://github.com/d4rkwyng/johnny-castaway-mac/releases).
### Media
Johnny's 11-day story arc — day 1 washed ashore, fishing by day 3, raft nearly done by day 9 — plus the holiday and night scenes the original hid for whoever left their PC on at the right time.
[![[jc_day1.webp|200]]](<jc_day1.webp>)[![[jc_island.webp|200]]](<jc_island.webp>)[![[jc_raft.webp|200]]](<jc_raft.webp>)
[![[jc_night.webp|200]]](<jc_night.webp>)[![[jc_halloween.webp|200]]](<jc_halloween.webp>)[![[jc_christmas.webp|200]]](<jc_christmas.webp>)
### Release Notes
- **0.2.5 (11 June 2026)**
- Welcome screen for the first-run resource import
- **0.2.2–0.2.4 (11 June 2026)**
- Saver audio muted when running as the Sonoma wallpaper companion
- Engine stops when off screen; drag-and-drop first-run import
- Combined app+saver release zip; silent-saver fix
- **0.2.0–0.2.1 (10 June 2026)**
- Developer ID signed + notarized releases, Homebrew tap
- About panel, version stamped from the git tag
- Story choreography invariant tests; playback speed ladder (0.25×–50×)
- **0.1.0 (10 June 2026)**
- First release: complete engine — resource layer (RLE + LZW, byte-identical vs. the reference), TTM interpreter, ADS scheduler, island/walking/story, sound, `.saver` bundle
### Credits
Stands on the shoulders of the reverse-engineering community: [jc_reborn](https://github.com/jno6809/jc_reborn) (primary reference, GPL-3 — inherited license), [JCOS](https://github.com/nivs1978/Johnny-Castaway-Open-Source), [castaway](https://github.com/xesf/castaway), and [Aerial](https://github.com/JohnCoates/Aerial) for the macOS saver lifecycle lore. Original game © 1992–1993 Sierra On-Line / Dynamix — no original assets included; not affiliated with Sierra, Dynamix, or Activision.