Metroid: HD V 1.3 Released

An update is now available for the Metroid: HD Custom Edition mod for the Mesen emulator (version 1.3).

The first version of this pack was released in August 2018. While the initial release improved upon many aspects, limitations of an NES era game were still very apparent. Most notably, the running and jumping graphics of the pack were considered by some to be choppy and awkward. Thanks to contributions from kya and mkwong98, substantial improvements have now been made in these areas.

For jumping, the graphic problem was rooted in the behavior of the original NES gameplay. The original game shared running graphics with jumping graphics. This proved to be problematic as the HD pack changed the proportions of the player sprite substantially. As a result, creative freedom was limited and finding a pose that was acceptable for both scenarios proved to be very challenging. Fortunately, mkwong98 proposed a solution that separated the linked graphics by using an advanced feature of Mesen called the “spriteNearby” condition. This strategy was very promising. However, the solution did involve writing manual lines of code for every relevant tile address used by the game for jumping. During development, there were fears that this approach may overwhelm Mesen. This was understandable as the proposal did involve over 16,000 lines of additional coding just for jumping.

After the revised package was finished, initial boot time was impacted. However, once the game started, the emulator accommodated the new additions without crashing and at full speed. This is a testament to Mesen’s ability to handle substantial amounts of incoming information coming from custom HD packs.

For running, the pack was initially limited by the small number of movement frames used by the original Metroid. Low frame counts are commonplace with retro games. In fact, some players would even say this characteristic fits well with the low-resolution nature of an 8-bit game. However, once the resolution was increased via the first release of Metroid: HD, players naturally expected enhancements to other areas as well (such as frame count). Improving one aspect without the other resulted in a gameplay experience that some may describe as jarring. Unfortunately, it is much more difficult to customize frame counts with the standard HD Pack creation method.

Kya initially proposed a method to overcome this shortcoming using additional advanced features of Mesen called “frameRange” and “memoryCheckConstant” conditions. However, one problem in implementing the proposal from kya related to the fact that artwork could not extend beyond existing tiles. For an artist, this constraint could be thought of as a canvas that is not only small, but constantly changing shape.

After experimenting with various approaches, an unusual solution to this issue was discovered. Kya froze the running animation entirely by hacking the ROM. Some may consider this strategy to be counterintuitive as the final goal was to add running frames rather than subtract. However, the new hack solved the issue of a constantly changing canvas size. In addition, the frame with the largest number of tiles available to edit was used in the solution. This allowed for maximum creative freedom and all running frames are now inserted and controlled entirely through the HD pack in the updated version using the “frameRange” and “memoryCheckConstant” conditions.

New features of the latest pack include, but are not limited to, the following:

Enhanced running and jumping graphics

The download now includes pre-assembled zip files for alternate graphics (Megatroid, Fusiontroid, and 8BitTroid)

The minimap is now an automap

A new and secret area is now available in Brinstar

Download the latest version here: http://www.romhacking.net/forum/index.php?topic=26811.0