Guide to Creating Custom Backgrounds for NEStroid Using Mesen HD Packs

Started by Aclectico, May 03, 2019, 10:40:27 AM

Previous topic - Next topic

Aclectico

If there is any interest here for a tutorial explaining how to create custom backgrounds for NEStroid using Mesen HD packs - I have a draft below:

   ***Keep in mind this tutorial requires the use of Mesen HD packs. As a result, it will not work on original hardware. If you are okay with this, read on...

Getting Started:
-Download an HD pack template that can be used as a starting point for your design here: https://drive.google.com/file/d/1oO28jKPAy7CWKPqyeIBLfjWJoh_2oNO8/view?usp=sharing
-Obtain a ROM of Metroid that matches the following SHA-1 checksum: ecf39ec5a33e6a6f832f03e8ffc61c5d53f4f90b
-Download the Mesen NES emulator (available here: https://www.mesen.ca/#Downloads)
-Open the Mesen emulator by clicking on "Mesen.exe" file.
-Navigate to "Options," then "Video," and ensure the box next to the "Use HDNes HD packs" is checked.
-In the same "Video" menu, turn on Vertical Sync on to ensure a smooth gameplay experience (this is optional).
-If you haven't already done so, navigate to "Options," then "Input" to configure your input settings. Use a controller if possible.
-In Mesen, navigate to "File," then "Open."
-Find your ROM of Metroid and double click on it to begin the game.
-Navigate to "Tools," then "Install HD Pack."
-Locate the HD pack template that was downloaded in step one and double click on it (the one from Google Drive).
-The emulator should prompt you to reset. When this occurs, select "OK."
-The game should have custom backgrounds.

*Note: The HD Pack template mentioned in the Getting Started section above is a stripped-down version of one of the packs included with Metroid: HD (8-BitTroid). 8-BitTroid has additional features such as custom running, beam stacking, saving, etc. In addition, 8-BitTroid has black pixels that have been added to the environment tiles of the game. What this means is that environment tiles have less transparency. So, if you would like to include many of these features in your project, you may want to use 8-BitTroid as a starting point rather than the stripped-down version mentioned at the start of this tutorial. Keep in mind the scale of 8-BitTroid is 2x (it doesn't look this way). So, to make edits look correct, reduce the size of the background .png files by exactly one half, edit them, then restore them to the original size by using nearest neighbor logic. 8-BitTroid is available here (under the Alternate Art and Music section): http://www.metroidconstruction.com/hack.php?id=381

Editing the Backgrounds:
-After you have installed the HD Pack template of your choice, there should be a folder in the same location as the Mesen.exe file called HdPacks.
-Open the HdPack folder.
-There should be a folder inside that which matches the name of your Metroid ROM – open it.
-Inside, locate files with the following names:
   -brinstar-blue.png
   -brinstar-gold.png
   -empty.png
   -kraid.png
   -norfair1.png (and 2,3, and 4) – *Multiple files allow for animated effects such as glowing or heat waves.
   -ridley1.png (and 2,3, and 4) – *Multiple files allow for animated effects such as glowing or heat waves.
   -tourian.png
-The .png files above are the files you can edit in the graphic editing program of your choice.
-Keep in mind that the motif of the background should follow multiples of 128 pixels horizontally and 120 vertically. In other words, create a design in one of the corners that matches this size, then repeat it in a tile format to fill the entire space of the template. Any packs that have graphics that are 2x the size of the default game (such as Metroid: HD) should have a tile format for backgrounds that are twice the size as well. If you do not create a tile format correctly, the background will jump around.

-If you wish to change the scrolling speeds there are options outlined below that can be edited in the hires.txt file.
-The default setting is as follows:
      <background>BackgroundFileName.png,1,0.5,0.5,Y
-But, you may make the background completely static:
      <background> BackgroundFileName.png,1,0,0,Y
   -Or, move the background at the same speed as foreground:
      <background> BackgroundFileName.png,1,1,1,Y
-You may also set different speeds for horizontal and vertical scrolling. You may also set different speeds for different backgrounds.
-Slower speeds (for example 0.25) or faster speeds (like 2) also seem to work. But, they may look a little jerky.

*Concluding remarks:
-It is suggested to keep backgrounds dark and keep the pixel scale the same as the rest of the game.
-If you want to retain an 8-bit look, you may want to keep the color palette limited to a small number of colors (you may even want to consider keeping color palettes limited to colors an NES could actually produce).
-Advanced Mesen features are explained here: https://www.mesen.ca/docs/hdpacks.html
-Keep in mind that using the HD Pack Builder function of Mesen will cause problems for any manual typing you perform in the hires.txt file. As a result, you may want to remove all custom coding, record game graphics, then add them back in when you are finished.
-You may want to use a version of Mesen that matches the version used to create any pre-existing pack. Metroid: HD was created with Mesen version 0.9.6. As a result, making any changes to the pack with version 0.9.6 is the least likely to cause problems.
-Have fun!