Happyweed!

Overview

This is a Python port of the original 1993 Mac game Happyweed!. It reproduces the original's gameplay exactly: the tiles, art, sound, levels, and game logic are all identical, bugs included.

To match the original game's feel, the port enables a few original-hardware touches by default: display gamma (true Mac display colors), the original's sprite flicker, and the animated level reveal. You can turn any of these off under Options.

Speed & Mac Models

On original hardware, the game's speed was tied directly to the CPU. It was initially designed for 68030 Macs, which often ran the game so slowly that the Set Speed menu was needed just to make it playable. On the other hand, the Power Macs most of us grew up on were too fast, so they relied on their own built-in 68k emulator to run the game properly. To bridge this gap, the Options menu lets you choose which machine to play on, with the Power Mac set as the default base speed.

New Features

Reverse Engineering

There was no source code to work from, so the bulk of the project was reverse engineered from a MacNosy II disassembly of the original game's compiled 68k binary.

I also wrote THINK C capture programs and ran them alongside the original game to log live palette, timing, and memory data.

The majority of the verification data came from emulating several 68030 Mac models in MAME, a hardware-accurate emulator. A Lua script captured frame-by-frame player and cop positions, speeds, and timing, which became the ground truth for the game's exact speed on 68030 hardware. No hardware-accurate emulator exists for the Power Mac, so calibrating that speed relied on real game footage, and huge thanks to gruz for providing it.

Credits

© 1993 by Christopher B. Council

Reverse-engineered and ported to Python by Hondo (2026)

Contact

Questions, bugs, or an old high score to add to the All-Time board? Email [email protected]