Join Our Free Newsletter Community

Free, weekly updates about retro gaming news, nostalgic collectibles and in-depth reviews.

Subscribe Retro Dodo cover image
Sebastian Santabarbara profile image Sebastian Santabarbara

The Punch Collision Problem In Alex Kidd In Miracle World Has Been Fixed 40 Years Later

Alex Kidd punching a block that hasn't broken
Credit: Psicopompo
🤝
Don't want to see ads? Become a premium member for $3 a month and support an independent publication today!

Alex Kidd in Miracle World is a legendary title. I know when you're looking at the Zelda and Halo remakes these days and then see the graphics in a 1986 Master System game, it might look a little boring and unimpressive, but four decades ago, this game was everything.

There has always been an annoying glitch in this game, though, and if you've played it before (which many of you undoubtedly will have), you'll have experienced the annoyingly frustrating punch collision problem. It's an annoying bug that we've all gotten annoyed at over the years, where blocks don't break clearly when Alex's fist connects with them.

There's a reason for it - the original game code only checked block collision once on the frame when the button was pressed and against one 8x8 pixel point. According to the creator of the patch that fixes this problem, Psicopompo, 'if the fist was still moving during a jump or striking near the corners, the check failed entirely.' And how many of us are precise with our movements when playing old Master System games? We jumped everywhere just to feel like we were getting through the level faster, which meant if the punch landed on a corner, that block was going nowhere.

This new ROM hack allows collision checking to happen continuously on every frame whenever your fist is extended. Essentially, whenever you punch, it utilises 'the actual enemy hitbox with an added 1-pixel margin'.

The check uses the fist’s actual hitbox — the same 8×5-pixel box the game already uses to hit enemies — with 1 pixel of extra margin per side (10×7 px total). Six sample points (3 columns × 2 rows) are tested so the wider box leaves no gaps. If any point touches a breakable block, the block breaks.

This isn't a cheat; it's just fixed an annoying problem in the game that now allows you to play it and enjoy it fully. The hack has also swapped the game's default button mapping around, changing Button 1 to punch and Button 2 to jump, which makes more sense. The hack is only 121 bytes and fits perfectly in the free space at the very end of the fixed bank inside the cartridge. It doesn't alter the checksum or header either.

Head to ROMhacking to download!

❤️
Like what you are reading? If you do and want to support us, you can do so by becoming a member, tipping us or taking a look at our gaming accessory company GAMENOOK (10% off just for you). This allows us to continue what we do without succumbing to algorithms, clickbait and over-intrusive ads, while paying human writers instead of AI.
Sebastian Santabarbara profile image Sebastian Santabarbara
Sebastian is fuelled by a lifelong passion for Zelda, Banjo Kazooie, Donkey Kong, and all things retro. He uses his misspent youth with retro consoles to create content for readers around the world.