Fjamesfernandez wrote:Think of it as their super in a fighting game or this pictures they show slightly animated in Disgaea, but nothing to frame crazy. I have my way of showing things without using so many frames.
That's cool.
Nah, battle screen doesnt have to remain visible. so Mega move pops on for you to use, click on it, Animation goes through taking you away from the battle screen, and then goes back to the battle screen and your damage shows up on your target.
No worries then. Since it's basically a different screen, you can reload the tiles entirely if you need to. Even if you have to do it manually (byte by byte to RAM), it still takes only a couple of frames, and what are a couple of frames in a console running at 60fps? The player will not notice any lag.
I need to read up on this. I know "RAM" only through memory for the PC not the cartridge. this is all new to me.
I think Espozo mentioned it a few posts back, when talking about proportional fonts. Basically, on the NES, tiles can be stored in RAM or ROM. ROM, as the name implies, is read-only, so you have to program the game with all the tiles you can possibly use in their final state. RAM, however, can be modified in real time, so you can modify or create them on the fly (as you would for displaying proportional fonts).
RAM is cool because you can manipulate the tiles however you want, create and modify them on the fly, freely combine tiles from different tile sets, and so on, as the program runs. The only problem is that changing RAM is slow. Each tile is 16 bytes, and the fastest you can typically write a new byte to the PPU is 8 CPU cycles. Each frame, you have about 2270 cycles for sending data to the PPU, so in the best possible case (without hardcore tricks) you're looking at updating about 16 tiles per frame, if you're not making any other kind of video updates (no sprites moving, no background changing, no palette updates, nothing). So, modifying tiles in CHR-RAM is not something you'll be able to do at blazing fast speeds, specially during gameplay, when there are other types of video updates happening.
Changing ROM tiles, on the other hand, is fast. Nearly instantaneous, in fact. The same 8 cycles that change only one byte of CHR-RAM, could change all 512 tiles (8192 bytes) if they were in CHR-ROM. This is because in this case there's no data being copied byte by byte, the mapper simply manipulates how the CHR chip is wired to the PPU to make different tiles visible to the NES. It's like if you had a piece of paper with a small square hole in the middle, and behind it there was a long strip of paper with different graphics along its length. You can only see a small portion of the strip at a time through the hole, but you can quickly slide the strip left and right to see different parts of it. If this was RAM, there'd be no strip of paper, the graphics would be somewhere else, like in a book, or anywhere else you could look them up, and instead of a hole in the paper you'd have a pencil and an eraser at your disposal. You'd be responsible for looking up the drawings and reproducing them using the pencil. You could always erase a drawing to make another one, but that takes significantly longer than just sliding the strip with pre-made drawings.
The disadvantage of ROM is that you no longer have complete freedom to arrange the tiles however you'd like. You're limited by the mapper, and how small the holes in the sheet of paper are, how many holes there are, and how long the strips containing graphics can be.