Users browsing this thread:
NES Sprites: How to rip each frame from the ROM
#1
Greetings t'ya! It is I, the great MorningFlash, and today I will be giving a proper tutorial on how to rip every sprite from an NES Rom as part of the NES complete library project.

The following tools will be needed: Anyways, onto the tutorial!

VirtuaNES


Once you have the aforementioned tools downloaded, open VirtuaNES, then load the ROM you want to rip from. I'll be using the game Baseball as an example.

Immediately, you will want to the "Tool" setting. Select "Viewer". Then select "Pattern Viewer"

After that is selected, you will see a series of tiles that look like this:

[img]file:///C:/Users/amflash1/Pictures/Sprites/Nintendo%20Sports%20Series/NES/Baseball/bandicam%202017-02-27%2016-23-01-473.png[/img]

This shows everything that is currently in use within the game's files, as well as its associated palletes. Clicking on the viewer will change the pallete.
Now, open your screen capturing software.

You will also want to select "Name Table Viewer", which shows the background elements currently in use. They usually look like this:
[img]file:///C:/Users/amflash1/Pictures/Sprites/Nintendo%20Sports%20Series/NES/Baseball/Baseball%20Stadium%20(Outer).png[/img]

Take a screenshot of both the Pattern Viewing window and the Nametable Viewing window. MAKE SURE YOU GET EVERY PALLETE!!!

Once you have everything, you can close VirtuaNES.

There. Now step one is done and over with. You now have just about every sprite from within the game. We can't just leave it as a bunch of tiles, though. No one would know how to assemble them.
Fortunately, you have this tutorial that shall explain how.

Dismantling the Pattern

As stated above, we can't just leave each sprite as a cluster of tiles. So, how are we going to assemble each sprite?

That's when things get a little difficult.

First, open Paint.net with your pattern snapshot. You don't need to open the Name Table snapshot, as they are usually pre-assembled.

I'd recommend dividing the pattern into sections, based on the series of sprites (Usually, each tile for a sprite flows together nicely) that should look similar to this:
[img]file:///C:/Users/amflash1/Pictures/Sprites/Nintendo%20Sports%20Series/NES/Baseball/playertiles2.png[/img]

To divide into sections, you will need to locate the series of tiles that correspond to each sprite. Use the select tool to encompass those tiles, then crop to that selection.
After you've finished dividing each section, you'll want to name said sections based on the sprites they represent (I.E. playertiles)

Now comes the hard part. After separating each section, you will need to divide each section even further into individual tiles. How do we know the area of each tile, though? Well, they don't call 8-bit
consoles "8-bit" for nothing, because each tile has an area of 8x8 pixels.

Use the select tool on the very first tile in the top left corner, making sure it is 8x8 pixels. Continue to do this by moving the square (using the "Move Selection tool") to each tile afterwards, until every tile is individualized, as shown here:

[img]file:///C:/Users/amflash1/Pictures/Sprites/Nintendo%20Sports%20Series/NES/Baseball/Player%20Tile%201.png[/img]

Woohoo! We've just sepperated each tile! Now we can assemble them without any trouble.

Assembling the Sprites

This is probably the hardest part of NES ripping, so I'm gonna be very precise with this one.

Open a new file in Paint.net

Layer the file with the tiles you want to assemble into a full sprite. The tiles usually all go together, so you can layer, say, tiles 1-5.

Use the "Move Selected Pixels" tool to move each tile in each layer, making sure the sprite looks correct.



Once the sprite looks complete, crop to the assembled sprite.

Flatten the image using the "merge layer down" option in the layers window until it is a flat image.

In most NES sprites, a black or white background will encompass the sprite in tile form. Select around the black background using the "Union" setting in the select toolbar.

Erase the background.

AAAAAAAAAAAANNNNNNDDDDDDDD We're done! Continue to do this with each tile, and you'll have ripped your first NES game!
"One person, many great plans"
-Me
Reply
#2
Your file links all go to your own files, you need to upload them.

This also covered in my video pretty much the exact same way...

https://m.youtube.com/watch?v=nIe_7I7JM2w
[Image: randomimage.cgi]
Reply
Thanked by: TheMorningFlash15
#3
I should probably warn most of you Mac and Linux users that Paint.Net is a Windows only program, so Photoshop or whatever paint program is pre-installed on non-Windows PCs are your next best bet.
Currently working on:

Mega Man Zero 2-4
Bosses

Picross Nintendo Power Vol. 1-8
Animated Picross

Ranma 1/2: Chounai Gekitou Hen
Misc Stuff
Backgrounds
Characters

Ranma 1/2 Hard Battle
Cutscenes
Misc Stuff


Osu! Tatakae! Ouendan
Levels

Elite Beat Agents
Intermissions
Menus

Super Robot Taisen OG Saga: Endless Frontier
Overworld & Battle Sprites
Portraits

Magical Drop III
Drops/Balloon Sprites
Competition Mode Sprites
Reply
Thanked by:
#4
(03-25-2017, 06:13 PM)White-Jet Wrote: I should probably warn most of you Mac and Linux users that Paint.Net is a Windows only program, so Photoshop or whatever paint program is pre-installed on non-Windows PCs are your next best bet.

Ah, ok. I overlooked Mac support, so if that's the case, then you can use any you want.
"One person, many great plans"
-Me
Reply
Thanked by:
#5
I'm brand new to spriting and ripping and all that (never done it before). Your tutorial said that your method will get you every single sprite from the game. But when I do the Tool > Viewer > Pattern Viewer, it only gives me the tiles/sprites for that particular part of the game. (I'm trying to rip from Super Mario Bros. 3 BTW.)

Would I have to play through the entire game on my emulator to capture every single sprite? Is there an easier way to it (like by going into the game's files or something)?

Oh and also, as mentioned earlier, your screenshots are from your own computer so none of the rest of us can see them.
Reply
Thanked by:


Forum Jump: