Warpzone

Operation Spacehog

The 2000 freeware shoot'em up, ported natively and verified tick by tick against the DOS original, for one or two players with gamepads.

previewWarpzone support coming
Project page

A native port of Operation Spacehog 1.01 by Free Lunch Design: same logic, timing, graphics and FM music as the DOS original, with a resizable window, fullscreen and gamepads for both players. Linux, Windows and the Steam Deck.

The game data is the original freeware release: the launcher downloads it by itself (half a megabyte, checked against its known checksum), or finds sh_dos.zip if you already have it in your Downloads folder. Warpzone will bring online co-op, score leaderboards and mods.

You need: the original Operation Spacehog freeware data (SPACEHOG.DAT and three more files), which the launcher downloads for you

What's new

From the project's release notes. Games and the launcher show these after every update.

v0.3.1 preview

2026-10-20 · on GitHub

Online co-op on macOS

  • The macOS build (spacehog-macos-universal.tar.gz, Apple Silicon and Intel, macOS 11+) now has online co-op over Warpzone and sends fault reports like the other systems. The macOS Warpzone launcher installs and starts it. Still not signed by Apple: see the README for the one-time Gatekeeper step.
  • Warpzone client library 0.1.11 on all systems.

Before this release the regression set (re/refemu/regress.sh: full game plus randomized 1/2-player sessions against the original DOS code), the online test (re/net/nettest.sh) and the fault-report test passed, and every CI build replayed recorded games to exactly the same frames and game state as the build verified against the original — on Linux and on macOS (Apple Silicon and Intel).

Needs the original freeware data (not included): DOS Games Archive.

v0.3.0 preview

2026-10-20 · on GitHub

macOS and fault reports

  • macOS: spacehog-macos-universal.tar.gz — one program for Apple Silicon and Intel Macs (macOS 11 or newer). It is not signed by Apple: after unpacking, run xattr -dr com.apple.quarantine on the spacehog folder once, or Control-click spacehog → Open (details in the README). Online co-op is not in the macOS build yet.
  • Fault reports: if the game crashes, or something fails that should not (a data file that is there but cannot be read, a damaged SPACEHOG.SAV, an online game that goes out of sync or never starts), it sends a short report to Warpzone so it can be fixed; a crash is sent at the next start. Only the version, the system and program addresses — nothing personal. SPACEHOG_NO_REPORTS=1 turns it off.
  • A replay that ends keeps the gamepad state it ended with (recordings of online sessions now replay offline identically to the last frame).
  • --version; Warpzone client library 0.1.10.

Before this release the regression set (re/refemu/regress.sh: full game plus randomized 1/2-player sessions against the original DOS code) passed, the online test (re/net/nettest.sh) passed, and every CI build replayed recorded games to exactly the same frames and game state as the build verified against the original — on Linux and on macOS (Apple Silicon and Intel).

Needs the original freeware data (not included): DOS Games Archive.

v0.2.0 — online co-op preview

2026-10-17 · on GitHub

Online co-op over Warpzone — two players on two machines play Operation Spacehog together.

  • Player 1 hosts: spacehog --warpzone-host (shows a room code; --warpzone-private for an unlisted room).
  • Player 2 joins: spacehog --warpzone-code CODE, --warpzone-join ROOM (the launcher's Join button) or an invite link warpzone://join/.... Player 2 plays with their usual player-1 keys or gamepad.
  • The host runs the menus (pick 2 players as usual); the host's settings and high scores are used, the guest's own save stays untouched.
  • Both machines run the game in lockstep on the shared input, so they stay identical; a checksum of the whole game state is compared twice a second. The input delay follows the ping (--net-delay N to set it). If the partner leaves, the game goes on with one player.
  • Uses your Warpzone identity from the launcher; on a machine without one, add --warpzone-name NAME once.

Offline play is unchanged. Before this release the regression set (re/refemu/regress.sh: full game plus randomized 1/2-player sessions against the original DOS code) passed, and the new online test (re/net/nettest.sh: host and guest against a local Warpzone server) showed identical game state on both machines, matching the original.

Needs the original freeware data (not included): DOS Games Archive.

Open rooms

No open rooms right now. Host one from a game or the launcher.

Leaderboards

High score, one player

No records yet.

High score, two players

No records yet.

Mods

Categories: Levels, Graphics, Ships, Sounds, Music, Campaigns. Every mod version is reviewed by a moderator before it appears.

No mods published yet.