
Why does PUNCHING Sonic 3D trigger a Secret Level Select?
About this video
A short Coding Secrets episode explaining why hitting a Sonic 3D cartridge triggers a hidden level select. The cause was a custom crash handler that redirected CPU error interrupts to the level select screen.
Why it appears in the archive
Shared as a favorite game-development anecdote with a clear technical explanation.
AI-generated summary and labels from the source dataset; verify important details against the video. Source & credits.
From the Hacker News discussion
For those who don't know, Burton explains this in depth here: [VIDEO] Another one of my favorite ones describes copy protection via intentionally destroyed floppy sectors: [LINK]
Read original comment ↗I love little game dev anecdotes such as these. Interesting relics of the development process. One of my favourites is Sonic 3D's secret level select screen: [VIDEO]
Read original comment ↗This reminds me of a hack that Traveller's Tales implemented for Sonic 3D Blast on the Sega Genesis/Megadrive. If you physically wiggle or hit the game cartridge enough while the the console is powered on with the game inserted in it, a "secret level select" screen pops up where you can select a level. It was long considered to be an easter egg, but actually, it was a custom crash handler that the devs created that trapped all of the main CPU's error interrupts and redirected to a level select screen. They did this to avoid having their game build rejected by Sega's QA team and delaying the game's release. (Sega's QA testing was a multi-week process, and a crash would mean the build getting rejected and having to start the process over again.) When people were wiggling the game cart, they were inadvertently unplugging the cart enough for the processor to throw an error. Source (3-minute YouTube video): [VIDEO] The linked "Coding Secrets" YouTube channels has other videos details similar hacks, if you're interested in going down that rabbit hole. It was wild the things these devs had to do to get games to work within the hardware and business constraints of the time.
Read original comment ↗