English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   Coders. General (https://eab.abime.net/forumdisplay.php?f=37)
-   -   NeoGeo Metal Slug conversion to Amiga 500 - madman task ;-) (https://eab.abime.net/showthread.php?t=89396)

Shatterhand 10 November 2017 13:50

First, trachu, you can't believe redrawing the graphics for 16 colors is halfway the work you need to make this... this is, like Britelite said, like 1% of all the work for doing something like this.

Second, yeah, you can't do a 1:1 port of Metal Slug by just watering down colors. You don't have enough ram for all graphics and even if you had it the amount of stuff moving on screen (and the parallax etc) would make the game run at like 2 frames per second.

BUT... if you cut it correctly, you could have a very close port gameplay-wise. That Gameboy color version is completely doable on an A500 with 1mb of ram (Maybe you'd have to load stuff on levels, like the PS1 version, because of the amount of BG graphics)... and that BGC version is surprisignly faithful to the arcade on in terms of level design. Something like that on Amiga without flicker and with better framerate (which I really think it's doable) would be a very good Amiga game IMO.


if I recall correctly, Metal Slug never scrolls backwards... and only scrolls vertically at level 3 (but then it has no horizontal scroll up until you reach the top of the mountain, then it goes back to only horizontal scroll), so you could use a simple scrolling routine.

And double buffer would probably be enough.


But the amount of work here is insanely huge to tackle off as a hobby job on your free time. Good luck with that, it would really be impressive to see it .

coder76 10 November 2017 14:24

One way to get more action on screen is to use also CPU to draw on screen. Calculate how many MB/sec can you transfer to screen with DMA (sprites, blitter) and with CPU slots. I think a 68030 is needed at least to be able to output graphics to chip ram fast enough to use the max speed (about 7 MB/sec), as there is also other work that needs to be done in fast ram before graphics can be copied into chip.

Background is easy to handle cheaply with amiga even with several layers, but alot of moving objects pose problems.. maybe make an engine that is able to allocate either sprites, bobs and cpu objects, and multiplex sprites where possible, to get more reused sprite objects. On AGA sprites can't be multiplexed in xdirection with 32/64 pixel width, and due to their size, they should not be wasted for small objects. Blitter setup time means also that blitter shouldn't be used for smallest objects. Maybe smallest objects should be drawn with CPU.

Megol 10 November 2017 14:38

Quote:

Originally Posted by Trachu (Post 1198411)
Did you notice i already converted the graphics. You can eat half of your shorts already ;-)

You really are crazy and not in a positive way if you think converting the graphics to a lower color space is 1/2 the work. It's not 1/100 or ever 1/1000 of the work required.

Metal slug was designed for the special graphics architecture of the Neo Geo. Sprites. Lot of sprites. Lot of HUGE sprites.

OmegaMax 10 November 2017 14:43

Quote:

Originally Posted by nobody (Post 1198470)
LoL even Neo Geo has slow downs and it's a 2D powerhouse. If you can do that then maybe start porting Sega Saturn games too. :spin

The Neo Geo is a power house I agree,everything onscreen is sprites.Your most likely aware of this but others might not be,the objects,backgrounds are all made of sprites.The only thing that isn't sprites is the HUD as that uses the Neo Geo fixed layer.

Trachu 10 November 2017 17:15

Quote:

Originally Posted by Shatterhand (Post 1198502)
First, trachu, you can't believe redrawing the graphics for 16 colors is halfway the work you need to make this... this is, like Britelite said, like 1% of all the work for doing something like this.

Second, yeah, you can't do a 1:1 port of Metal Slug by just watering down colors. You don't have enough ram for all graphics and even if you had it the amount of stuff moving on screen (and the parallax etc) would make the game run at like 2 frames per second.

BUT... if you cut it correctly, you could have a very close port gameplay-wise. That Gameboy color version is completely doable on an A500 with 1mb of ram (Maybe you'd have to load stuff on levels, like the PS1 version, because of the amount of BG graphics)... and that BGC version is surprisignly faithful to the arcade on in terms of level design. Something like that on Amiga without flicker and with better framerate (which I really think it's doable) would be a very good Amiga game IMO.


if I recall correctly, Metal Slug never scrolls backwards... and only scrolls vertically at level 3 (but then it has no horizontal scroll up until you reach the top of the mountain, then it goes back to only horizontal scroll), so you could use a simple scrolling routine.

And double buffer would probably be enough.


But the amount of work here is insanely huge to tackle off as a hobby job on your free time. Good luck with that, it would really be impressive to see it .

ehh, 1000 miles journey starts with the first step and it is fun to see someone eats 1/1000th of its shorts also ;-)

Being serious, the next step would be to calculate how to fit into RAM.
This is beyond my knowledge, but this would also tell us what is doable with OCS. For example i calculated 10 frames of 80x64 sprite as using only 25kB, now i see i need additional bitplane for mask, which mean we need 33kB.
What i mean is first we run out of memory untill we run out of blitter sprite draw power...
The main character can be perfectly draw as sprite together with its bullets. We can assign 4 sprites for character and additional 4 for its 4 bullets.

HUD drawn also as sprites.

No dual playfield for sure.

The playfield area is one constant bitmap, so i guess it would have to fit all into chip memory, no???

Generally we should focus on small problemms and try to resolve them in the best way, untill we can say what is or what isnt possible on amiga.

OmegaMax 10 November 2017 17:52

Quote:

Originally Posted by Trachu (Post 1198541)
ehh, 1000 miles journey starts with the first step and it is fun to see someone eats 1/1000th of its shorts also ;-)

:great

Shatterhand 10 November 2017 17:57

Have you ever coded anything for Amiga at all? If you have no experience you should start with something waaay simpler than that.

You won't be able to store the whole level on a single bitmap (not with just 1 mb), you'd need to have a bitmap a little wider than the main screen and build it as new background enters the screen. You can blit tiles very fast and because the game only scrolls at one direction, it's very easy to do it.

If you really serious about this..... you really should, before *anything* else, build a little prototype. Make the main char walk, jump, shoot and throw grenades, for example. Then make the scroll routine. Then add one or two enemies, code their behaviour, code all needed collision detection. Then something that resembles a level design (how enemies are placed on level ?).

AFTER you are able to do all this, you should begin worrying about graphics and how much ram you'll need it... with it you should begin also coding loading gfx/sfx routines .

If you are *really* serious about this, you are really approaching it in a completely wrong way.

saimon69 10 November 2017 18:55

About moving a bunch of stuff is possible, look at Powder on Amiga, but you need to go the custom assembly code route and is NOT easy for experienced devs;

Shatterhand 10 November 2017 19:01

Powder moves a lot of ... small things. And its not running at 50 fps :) It looks more like a PC Engine game than a Neo Geo one. Still impressive and, like you said, not easy to do.

saimon69 10 November 2017 19:20

I honestly think you want something like Metal slug then you gotta forget the 50FPS; by the way the arcade game itself did not felt full frame*, so will not make a perceptive difference.


(Among friends we said that a 50FPS was a "one frame" update, while a 25FPS a "two frames" a 12.5 a "three frames" and so on; was our jargon)

Shatterhand 10 November 2017 19:30

I think Metal Slug has some stuff running at full frame while some others aren't... those blue shots from the 1st boss certainly are moving at a more slugish pace.

coder76 10 November 2017 19:36

Isn't anybody here coding in asm and hacking the hardware? I thought that was always the most fun part with Amiga, and that you cant easily do with other machines.

Retro1234 10 November 2017 19:48

Metal Slug emulated on an Atari Falcon 030 (16 MHz, 14 MB RAM)
by
http://eab.abime.net/member.php?u=41716
https://m.youtube.com/watch?v=hxPCYeHtg60

rare_j 10 November 2017 21:10

Why not try and port it to an a1200 with 4mb fast ram?
This wasn't an unrealistic spec back in the day, and you would have some chance of creating a half decent port.

Amigajay 10 November 2017 21:34

Quote:

Originally Posted by rare_j (Post 1198578)
Why not try and port it to an a1200 with 4mb fast ram?
This wasn't an unrealistic spec back in the day, and you would have some chance of creating a half decent port.

Well for non big commercial developers sure, but then by the time devs left the stock machines with games around 95/96 they jumped straight to 030+ with fastram rather than just a stock A1200 with fastram, so may as well go 030 8mb.

Plus looking at that Falcon emulation, tbh that’s not playable at that speed, it’s like SSF2T on the A1200!

Retro1234 10 November 2017 22:01

I dont know whats possible I think the Falcon can display more colours and more sprites (and a MMU is needed) - but a reduced colour depth might help

in this thread AnimaInCorpore gives more detail - maybe he can give us some info.
http://eab.abime.net/showthread.php?t=74095

Old_Bob 11 November 2017 01:04

Quote:

Originally Posted by Shatterhand (Post 1198563)
I think Metal Slug has some stuff running at full frame while some others aren't... those blue shots from the 1st boss certainly are moving at a more slugish pace.

Playing in MAME today for a bit, it's definitely not managing everything every frame and it really chugs during the busy bits. The upside of that is that any Amiga version could maybe get away with bogging down, occasionally :)

B

frank_b 11 November 2017 08:43

Quote:

Originally Posted by Trachu (Post 1198404)
Gameboy Advance is still more powerful than Amiga but within its reach.
If you look at specs you could see that it has even less memory than Amiga but that is not quite correct.
MEtal Slug for this console limits sprite data which can be seen that the variety of sprites visible in single scene is reduced. Memory constrains it, but it can load dynamically more graphics data from cartridge.
Amiga 500 has only its memory which need to contain all and access for more can be done only throught slow floppy drive. That makes the task difficult.

The GBA completely outclasses the Amiga as a 2d machine. it can put 128 sprites on screen, 16 or 256 colours for each sprite with 16 palettes in 16 colour mode. 4 scrolling backgrounds with wrapping. 2 of those backgrounds can be scaled. Backgrounds can be 16 colours with 16 palettes selectable per tile or 256 colour with a different palette bank from the sprites. There are 32 rotation and scaling presets which can be assigned to any sprite. A game which pushes the GBA would be very difficult to convert to the Amiga.

ross 11 November 2017 11:52

GBA, in many respects, is much more powerful than Amiga :rolleyes
I remember when at the time I saw the specifications (we had an NDA with Big N so I had hardware manual and how to program it) I was really surprised at what could be done with that little console. Also aided by his low resolution, you can move tons of colorful objects on the screen (with some basic modes for scaling and rotation). Anyway i only have faded memories so take with a pinch of salt :)

But, but.. only Amiga makes it possible, freedom and anarchy are is dogma.

An AGA machine with 030/fastmem can be a good starting point.
16 colors gfx is good for 16+16+(4/16) layers (field1+field2+sprite), with restricted screen.

Say this, I think that Britelite was optimistic :D

s2325 11 November 2017 11:55

If someone want some sprites the easiest way to rip is from JAVA mobile games as there are few versions and they are stored as .png or .gif files


All times are GMT +2. The time now is 19:17.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.07570 seconds with 11 queries