English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   Amiga scene (https://eab.abime.net/forumdisplay.php?f=2)
-   -   Final Fight: Enhanced (https://eab.abime.net/showthread.php?t=109488)

Brick Nash 12 January 2022 17:49

Final Fight: Enhanced
 
Hi folks,

I started learning Assembly language last summer, so I thought I'd post a preview of what I've been doing, as I'm taking a break from it for a while. I was originally going to try and re-do my Amos Streets of Rage demo, but I thought I'd have a go at the Big Kahuna and try Final Fight.

It's only one level and two enemies, but it use 2 buttons and it plays ok.

https://www.youtube.com/watch?v=ZfuAvYCAXss

It only runs on a 68020 setting at the moment, as something in my background tile replacing routine is bottlenecking things and causing a big frame overrun on a 68000 setting - even with just one enemy on screen (runs fine if it's just the player on screen). I expect some overhead from BG replacing, but not this much.

I haven't figured out loaders or disk routines yet, so what you are seeing is actually two separate programs (title screen and main game) dumped into RAM from VASM and just edited together in one video. No adf to share at this point either, but I'll get there eventually (I just need a rest as I'm a bit burned out at the moment).

There's other stuff to tidy up as well which I'll list below, but I'll get back to it at some point.

Cheers!

- The in game music is still a WIP, as I plan to change small bits
- No grab moves at the moment. The graphics are in there, I just haven't tried V-Flips with bobs yet
- Sound effects clip the voice samples as they share a channel
- The Random Number Generator may be a bit slow
- Bob clipping doesn't stop the actual draw routine
- Enemy collisions are a little flaky at the moment
- The AI is quite dumb and easy to beat (got plans for that too)
- Sound effects are all over the place on a 68000 setting

lesta_smsc 12 January 2022 19:14

Just saw the video! Excellent work! Plays very smoothly! Colour pallete looks good too. Is this written fresh from source or built on from the other Final Fight AGA remake?

saimon69 12 January 2022 19:23

You can use my in-game musics for FF, are two channels and uploaded in the zone

Brick Nash 12 January 2022 19:25

Quote:

Originally Posted by lesta_smsc (Post 1526747)
Just saw the video! Excellent work! Plays very smoothly! Colour pallete looks good too. Is this written fresh from source or built on from the other Final Fight AGA remake?

Thanks! The palette is actually identical to the old Amiga Final Fight. The colours are just used a bit differently.

The source is completely new and done 100% in assembly language (I think the AGA version was done in Blitz?).

Brick Nash 12 January 2022 19:27

Quote:

Originally Posted by saimon69 (Post 1526751)
You can use my in-game musics for FF, are two channels and uploaded in the zone

Thanks for the offer, but I'm happy doing the music myself, and I plan to use a different player with a channel splitter further down the line.

amiman99 12 January 2022 19:31

Looks good!

jotd 13 January 2022 17:06

that looks good. Talented Richard Aplin failed to do a proper conversion in 68000, I don't suggest you try to stick to 68000 if it's too difficult. The game is very demanding.

Make it AGA, add extra colors (like 16 => 32 or 64) and everyone will be happy :)

malko 13 January 2022 17:32

Some colours excepted, this is looking and sounding really good. Smooth as well :great

I didn't get if it is running on a bare A1200 or with extra RAM ?

Wish you a nice and healthy pause and that you will come back later to continue this excellent work !

turrican3 13 January 2022 17:34

Quote:

Originally Posted by Brick Nash (Post 1526752)
Thanks! The palette is actually identical to the old Amiga Final Fight. The colours are just used a bit differently.

The source is completely new and done 100% in assembly language (I think the AGA version was done in Blitz?).

Yes, it was done with blitz basic.

turrican3 13 January 2022 17:35

Quote:

Originally Posted by jotd (Post 1526761)
that looks good. Talented Richard Aplin failed to do a proper conversion in 68000, I don't suggest you try to stick to 68000 if it's too difficult. The game is very demanding.

Make it AGA, add extra colors (like 16 => 32 or 64) and everyone will be happy :)

+1 32 colors + copper tricks or 64.

d4rk3lf 13 January 2022 17:38

Thank you for doing this.
Gameplay really feels (from the video), amazingly done.
Once you place a grab movement, that will be it. :)

You said 68000 is too slow. What about faster 68k, with some additional fast ram?
Once you post a demo, I'll gladly test it on my Aca 500 + 68k - 42Mhz, and 7MB Fast.

Although, as jotd mentioned, I wouldn't say that anything is wrong if you go straight to the AGA port.

Brick Nash 13 January 2022 17:58

Quote:

Originally Posted by d4rk3lf (Post 1526768)
Thank you for doing this.
Gameplay really feels (from the video), amazingly done.
Once you place a grab movement, that will be it. :)

You said 68000 is too slow. What about faster 68k, with some additional fast ram?
Once you post a demo, I'll gladly test it on my Aca 500 + 68k - 42Mhz, and 7MB Fast.

Although, as jotd mentioned, I wouldn't say that anything is wrong if you go straight to the AGA port.

Thanks mate! I was hoping to get it on to a disk image and let folk have a play, but that'll require more learning which I don't have the energy for right now.

About the speed - I'm positive it's only slow on 68000 because I'm coding things wrong or badly and not the system's fault. As for an AGA version, the thing is I never had an AGA machine back in the day so I've no connection to them, and hence no real interest in developing on one. Upping the specs just to make things run faster would feel like a defeat

I could upload the source code, but not sure if anyone's interested in that side of things.

BippyM 13 January 2022 18:10

Quote:

Originally Posted by Brick Nash (Post 1526771)
Thanks mate! I was hoping to get it on to a disk image and let folk have a play, but that'll require more learning which I don't have the energy for right now.

About the speed - I'm positive it's only slow on 68000 because I'm coding things wrong or badly and not the system's fault. As for an AGA version, the thing is I never had an AGA machine back in the day so I've no connection to them, and hence no real interest in developing on one. Upping the specs just to make things run faster would feel like a defeat

I could upload the source code, but not sure if anyone's interested in that side of things.


Hi Mate,


Are yoyu on the amiga game dev discord group?


If not get yourself over.. Some of the biggest amiga devs right now hang about and discuss their projects. They will give you lots of help, advice and help massage your ego :crazy

Lord Aga 13 January 2022 18:41

I'm sorry to say it, but Final Fight cannot be properly done on a 68000 Amiga.

68020+, AGA, FAST RAM, are a starting point.

d4rk3lf 13 January 2022 19:46

@Brick Nash
Awesome man!
My current Amiga iz OCS (A500), but my first Amiga was A1200. :)

Quote:

Originally Posted by Lord Aga (Post 1526781)
I'm sorry to say it, but Final Fight cannot be properly done on a 68000 Amiga.
68020+, AGA, FAST RAM, are a starting point.

Depend on what "properly" means. :)
Arcade perfect - sure.
But with right compromises (smaller sprites, or smaller whole screen), no parallax... etc... I think a pretty decent port could be done for A500 - 1MB.
Metro Siege is a great "proof of concept" for that.

Hell... I'd be perfectly happy, even with Richard Aplin's port, if the gameplay was closer to arcade, and added grab move.
Even occasional slowdowns, wouldn't bother me.

trixster 13 January 2022 21:08

@Brick Nash - this is superb, great work.

Brick Nash 13 January 2022 21:13

Quote:

Hell... I'd be perfectly happy, even with Richard Aplin's port, if the gameplay was closer to arcade, and added grab move.
Even occasional slowdowns, wouldn't bother me.
This pretty much sums up what I was trying to do. I'm not looking for arcade perfect, but rather just a slightly enhanced version of the original OCS/ECS Amiga game which I played a lot back in the day.

I'd be perfectly happy if I could get it to round about the same speed as Richard Aplin's game - even with the slowdown (which never really bothered me). The Background replacing is such a resource hog though, and I can actually get 5 enemies on screen with no slowdown on a cycle exact 68000 setting with it turned off, but obviously the tiles don't get cleaned.

I even tried duel playfiled mode so Bobs and Backgrounds had their own layers and I didn't have to do any tile replacing, but the reduction to 7 colours for each playfiled just looked too rough.

BTW, I though Richard did a great job on the 1991 game, but obviously he got a raw deal from US Gold in terms of time and resources.

d4rk3lf 14 January 2022 01:15

Why don't you try and contact Richard himself, by the mail, or here on eab?
Not so long, he wrote this, in this thread:

Quote:

Originally Posted by RichAplin (Post 1494152)
Hi,
[ sorry to dredge up Final Fight again, I know you were trying to get away from it, but.. ] Hacking the existing A500 FF code to make it a significantly more playable/fun/authentic game would not be that hard; a lot easier than starting coding something from scratch - not a trivial job by any means, but one would be able to focus on fixing the rather tedious enemy AI and so on. There's a ton of stuff in that engine (background loading/decompression of sprites, dynamic memory defragging, etc) that was hard work at the time and would still be hard work to do today.
It did as much with the extra 512k of a 1MB A500 [if present] as it reasonably could - IIRC I used 128k for a 16bit ->16bit lookup table for flipping sprites, the rest for buffering etc. If I recall, on a 1MB amiga you would actually see different (larger variety) of baddies during the game because it was possible to keep more gfx in ram at the same time, and if it couldn't allocate space to load a new one (while you were playing) it fell back to reusing a baddie that was already in ram. However, that stuff is kinda cosmetic and not that important compared to making the gameplay mechanic feel really good.

Anyway.. personally I'd like to see someone hack the original FF code and make it a more fun game

Hopefully,. the above will give some insight, and if he give you some further advices (or even source code), that would be awesome. :)

lesta_smsc 14 January 2022 02:09

Quote:

Originally Posted by Lord Aga (Post 1526781)
I'm sorry to say it, but Final Fight cannot be properly done on a 68000 Amiga.

68020+, AGA, FAST RAM, are a starting point.

After seeing the recent Doom port for stock Amiga, I think anything is possible with the right coding!

dlfrsilver 14 January 2022 06:00

Quote:

Originally Posted by d4rk3lf (Post 1526768)
Thank you for doing this.
Gameplay really feels (from the video), amazingly done.
Once you place a grab movement, that will be it. :)

You said 68000 is too slow. What about faster 68k, with some additional fast ram?
Once you post a demo, I'll gladly test it on my Aca 500 + 68k - 42Mhz, and 7MB Fast.

Although, as jotd mentioned, I wouldn't say that anything is wrong if you go straight to the AGA port.

Yes the 68000 used in the Amiga 500 is too slow. However, this would change if you have a soupped up one on your config.

And Final Fight is not a game made to run or load from floppies. There's too much data.

The X68000 allows for disk loading because the drives runs at 360RPM, not 300RPM.

Then, the A500 is locked on 16 colors on screen. for 32 colors, you either go
slug fest because it's too much for the poor A500 or you need an awful amount of ram.

And shrinking the sprites and so on, denaturate the game.


All times are GMT +2. The time now is 22:26.

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

Page generated in 0.07021 seconds with 11 queries