Last year, I released "Sonic 2 Adventure Edition: Sonic & Knuckles Demo" for the contest, even though most of the streamers missed the "& Knuckles" part. Anyway, after that, I began encountering several problems all at once, and eventually I decided with the help of the SSRG IRC channel to switch to a new hack, with a simple focus, using what I thought was the most unique and interesting gameplay style I had made so far: Knuckles' treasure hunting stages. With some help from SSRG's IRC, I was able to get most of the main functionality working within a year, and add some neat extras too.
Knuckles' Emerald Hunt is a hack that, as its name indicates, focuses entirely on Knuckles hunting for Emeralds through all the Zones of Sonic 2 (excluding Sky Chase and Death Egg), along with a few extra levels.
- The minute counter on the HUD has been expanded to two digits, and Time Overs have been removed.
- Randomized Emerald placement: each stage has a number of preset Emerald locations, and three (five for the last bonus level) Emerald locations are chosen randomly every time the level is started. Emeralds can also be held inside Badniks.
- Emerald radar in the HUD functions similarly to Sonic Adventure, changes color and makes sounds as you approach Emeralds. From far to near, the colors are gray, green, yellow, orange, red. Note that Emeralds are NOT sorted from left to right, and can appear in any order.
- Collecting Emeralds quickly gives you point bonuses, as in Sonic Adventure 2.
- Each stage has a unique color for the Emeralds.
- 1-up monitors have been replaced with random ring monitors, which give 1, 5, 10, 15, 20 or 40 rings.
- During gameplay, pause and hold A+B+C to return to the level select screen.
- Hold C after the score tally finishes to proceed directly to the next level instead of returning to the level select.
- Knuckles starts with a shield after dying.
- Each Zone has been reduced to a single Act, always using the final Act of the Zone, because otherwise the game would drag on for too long. Nobody wants to have to hunt through all three Acts of Metropolis Zone.
- The end of each Zone contains a monitor that will return you to the start, in case you missed any Emeralds.
- Completing a Zone will give you a rank based on your score, A being the best and E being the worst. Completing all stages with ranks equal to or better than D, C, B, and A ranks will unlock new levels.
- Unlocked stages can be played in any order. Locked stages are marked with a rank of "L" in the level select, and unplayed stages have a rank of "-".
- Difficulty settings: Easy makes the radar point in the direction of the Emeralds, but reduces the point bonuses you get for collecting them; Hard removes the radar entirely.
- Music Switch allows you to select between thematically appropriate songs from other Sonic games for each stage and screen in the game. Some music was even ported from other systems (see Sound section of credits for list of people who contributed). Press the C button to play the selected song.
- Entering Sonic 2's level select code in the Sound Test will unlock all levels, with the caveat that you will not be able to save the game.
- Entering Sonic 2's debug mode code in the Sound Test will enable debug mode, with the caveat that you will not be able to save the game.
- An online leaderboard is available at http://mm.reimuhakurei.net/?page=keh where you can upload an SRAM file from the game to see how you stack up against other players.
- In Chemical Plant, you can choose a direction for the tube by holding Left (upper path) or Down (lower path) on the control pad when entering the tube.
Unfortunately, the sprites for Tikal were not able to be completed in time for the contest, so Knuckles is the only playable character and Competition mode is locked.
For those of you wondering why there are songs from non-Sonic games, there were going to be extra bonus levels, complications arose, but someone had already ported songs, so I threw them in anyway.
Here's a video I made:
And here's one nineko made (spoilers for unlockable levels):