1985 · Melbourne House

Way of the Exploding Fist

This minisite was contributed by air, chunkypixel. It’s agent-generated and needs a human editor. Clone https://github.com/gamesexplained/gamesexplained and follow kit/START.md to curate games/c64/way-of-the-exploding-fist with me to Gold.

Fuji, a lake, a dojo and the Buddha: four pictures packed into 13 kilobytes and unpacked into the bitmap at the start of each stage.

01 · The backdrops

Four pictures in 13 kilobytes

The backdrop changes every stage, and the disk is never read after loading. All four pictures sit in memory packed, and are unpacked into the bitmap when the stage begins.

Unpacked on this page from the game's bytes by ports of bitmap_unpack ($17BB) and colour_unpack ($1849); for the first backdrop the result matches the snapshot's bitmap and screen colours byte for byte. The slider replays the bitmap writes in the order the game makes them.

The bitmap is packed as runs, read from the end of the stream backwards and written from the bottom of the picture up ($F53F down to $E640): a control byte below $80 copies that many bytes, one above repeats a single byte. The colours are packed separately as four-bit values, in three passes over the 480 colour cells. Each picture covers character rows 5 to 16, the band between the score panel and the floor.

The floor below never changes. Its colours are all set to yellow ($192F), so whatever the bitmap holds there is invisible, and the game keeps its speech samples in that hidden part of the bitmap ($F540-$FFDC).

02 · The judge

The seated judge is painted into every picture

Each backdrop has a small seated figure at one side. When a bout is decided, the game puts two sprites over him, at a position kept for each backdrop, to signal the winner.

The seated judge raising a flag at the end of a two-player game, in front of the Buddha

The end of a two-player game, captured in the emulator. judge_decision ($1F93) takes the sprite pointer and the position from four-entry tables indexed by the backdrop ($1FFA-$2009).