How complex is it? You won't be able to afford any unused space or redundant tiles.psycopathicteen wrote:Alisha's Adventure already has a pretty advance dynamic animation engine, so I can probably reuse that for Metal Slug, if I'm making a port.
I'd first just try and shoot for 60fps for the hell of it. I'd be funny to give people a reason to legitimately play this over the Neo Geo original. The 30fps honestly hampers my enjoyment of the game a bit (especially with the slowdown where it starts to look terrible)...93143 wrote:I see nothing that's obviously impossible, given the 30 fps game speed and the abundant slowdown (a blessing in disguise when you're DMA-bound; drop one frame and you can basically replace all of OBJ RAM between engine updates),
You could easily make all but the last boss a BG layer; the first boss is obviously just going to be the foreground layer, the second boss flies fully above the train and would use an IRQ or HDMA, the third boss only has the foreground, the fourth boss has a background, but it's fully above both tanks, and each tank is fully above the other, and the fifth boss also only has the foreground. The last boss is small enough though that I think I remember taking it apart and it fitting in about 3 64x64 sized sprites.93143 wrote:A good bit of it, though, is amenable to workarounds with BG layers and such (especially some of the bosses)
8 pixels on either side are blacked out, so you're only dealing with 48 less pixels in width; whatever you're missing on the sides of the screen should be negligible. The aspect ratio is going to off, but not enough to care. A Mega Drive port probably would not look good at all; 9 bit color won't look good for this game, and four palettes for the BG layers and 4 palettes for the sprites would be difficult enough, but I don't think you'd be able to share them with sprites and would have to somehow condense all the BG and sprite graphics down to two unique palettes... Not to mention you don't get an extra layer for the scoreboard so you'd probably have to black out behind that, and things like the background in front of the waterfall would pretty much be impossible.93143 wrote:That's always the question. It can't be 100%, because the SNES can't output 320x224, and the Mega Drive can't handle enough colours
The explosions are 80x80 at their largest; I don't remember how fast they animate though. Luckily, explosions are pretty coordinated with each other, so you can use the same graphics. It'd be pointless to use windowing for the flashes when there's going to be a large sprite the same size later anyway; all this would be is a waste of HDMA channels. Windows would be more useful for other things, like the background over the waterfall.93143 wrote:I suspect the most dubious bit may be the explosions; they're big and plentiful and they animate fast. There are a couple of potential shortcuts that were discussed back when Espozo was attempting this... and maybe the big circular flashes could be done with windowing, but that only helps so much, and you'd run out of windows pretty quickly...
You're going to have to use HDMA like crazy; you have the background palettes that need to be swapped out, you have the 2bpp scoreboard that you'd change a few colors to recreate the gradients, and if you want as many unique sprite palettes as the original, you're going to have to dynamically change the palettes down the screen, especially for 2 player. Can you use an IRQ to change the HDMA registers? That's the only way you're doing all this.
Yeah, that's innevitable. You can even make the original game drop sprite pixels if you keep spamming grenades and/or rockets; you'd want to drop old player created explosions if too many appear for this reason and that it'll shit all over your VRAM space and DMA bandwidth.93143 wrote:Obviously you'd be looking at extensive flicker/cheesegrater effect due to tile-per-line limits...