English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   project.Amiga Game Factory (https://eab.abime.net/forumdisplay.php?f=69)
-   -   Amiga 1942 conversion (https://eab.abime.net/showthread.php?t=99630)

agermose 12 November 2019 18:19

Amiga 1942 conversion
 
Hi all.

I've recently gotten back to Amiga assembly programming.
After playing around a bit, I'm ready to start a bigger development project.

With MAME and UAE being available converting an old arcade game seems a good choice.
After retrieving some of my old stuff, I found some old 1942 code I started working on around 1993, but never finished. So I have decided to go ahead with this project.

Development tools currently used:
Linux
FS-UAE
AsmOne. Will probably switch to Vasm once I get my Linux updated
Git
Mame
DeluxePaint 4.5
XnView MP (PNG->IFF)
PicCon (IFF->RAW)
Tiled (Mapping tiles)


I'm currently targetting OCS chipset. Using lots of memory for development, on OS3.1.

I'm looking for people to join the project in these areas:
Sound FX
Mapping out the original arcade levels, from the tileset
Repositioning sprite gfx dumps to fit amiga
Recolouring sprite gfx. Arcade hardware can draw sprites in multiple pens. Amiga game needs copies.

DamienD 12 November 2019 18:26

Nice one agermose :great

Hope that you finish it ;)

1943: The Battle Of Midway on the Amiga isn't great :sad

agermose 12 November 2019 18:31

Quote:

Originally Posted by DamienD (Post 1358447)
Nice one agermose :great

Hope that you finish it ;)

1943: The Battle Of Midway on the Amiga isn't great :sad

Thanks. I'll try and make regular progress updates here.

agermose 13 November 2019 16:25

Small update:

1942 arcade has a 256x512 pixels tile screen buffer of which 224x256 is shown. Tiles are 16x16 pixels. There are 512 background tiles.
On top of this is the 256x256 character layer of which 224x256 is shown, and the HW sprites. Sprites are also ordered in 16x16 pixels, 512 in all. Bigger enemies are composed of multiple blocks.

I will run a 224x256 Amiga screen using 16x16 tiles for the background. This will make it easy to reuse the arcade gfx.
The sprites will be done using SW sprites (Bobs).
The arcade sprites need to be recomposed for Amiga, which can use sprites in other sizes than 16x16.
Still thinking about how to do the character layer.
Hw sprites may be used for parts of the character layer, e.g. score, lives, loops.

I will need 32 colours to get the right look of the arcade, so 5 bitplanes.
2 colours will have to be reserved for propeller animation.

Game should run in 50 fps, on OCS.

Progress:
I have set up a dual buffer system for a 320x256x5 interleaved screen. This way I only need to do one blit per tile/sprite.
The background is scrolled using a "barrel" scroll, so each buffer is actually 320x272x5.
The extra (hidden) tile row is blitted into from the restore buffer every 16 frames.
The restore buffer is constructing a new tile row from the map every 16 frames.
This buffer is used to restore background data (the hidden buffer) every frame.

Sprites are blitted on top of the background (the hidden buffer) every frame.
When sprites go across the "barrel split" they are blitted (and restored) in 2 parts. This part took some time to get right :-)

Next up is getting the palette sorted out.

agermose 13 November 2019 16:37

1 Attachment(s)
Attachment 65159

Still looking for people to help out...

(Yes I know it says Amiga1200. It's my favourite dev env. Code is compiled to 68000, and only OCS hw used)

Amigajay 13 November 2019 16:58

Nice, good luck with the project!

Daedalus 14 November 2019 09:54

Quote:

Originally Posted by agermose (Post 1358682)
I will need 32 colours to get the right look of the arcade, so 5 bitplanes.
2 colours will have to be reserved for propeller animation.

If you're short of colours, why not just have 3 different BOBs for the plane with the propeller at different positions and blit them in sequence? After all, you're blitting them every frame anyway so there won't be a time penalty, just a few more bytes of chip RAM.

Pyromania 14 November 2019 10:10

Nice project!

agermose 14 November 2019 12:55

Quote:

Originally Posted by Daedalus (Post 1358908)
If you're short of colours, why not just have 3 different BOBs for the plane with the propeller at different positions and blit them in sequence? After all, you're blitting them every frame anyway so there won't be a time penalty, just a few more bytes of chip RAM.

Yes that would be an option, if only the main plane had propellers, but all the enemies do as well. So this is not possible.

mcgeezer 14 November 2019 14:09

Super great project, nice that you have the vertical scrolling code working. I'm currently working on my 8 way now so I know how hard it is.

Let me know if you need a hand... I've done so arcade ports previously.

roondar 14 November 2019 15:27

Quote:

Originally Posted by agermose (Post 1358984)
Yes that would be an option, if only the main plane had propellers, but all the enemies do as well. So this is not possible.

Just a thought... You could perhaps opt for having each enemy consist of two bobs: one main and one propeller. That way you'd only need to store a few different propellers for all enemies combined.

Does mean Blitting twice per enemy though, which increases overhead.

agermose 14 November 2019 15:36

Quote:

Originally Posted by roondar (Post 1359017)
Just a thought... You could perhaps opt for having each enemy consist of two bobs: one main and one propeller. That way you'd only need to store a few different propellers for all enemies combined.

Does mean Blitting twice per enemy though, which increases overhead.

Yes I also thought of that, but propellers can be tilted when enemies are turning.

I'm OK with spending 2 colours on this, and colour cycling it.

agermose 14 November 2019 15:43

Quote:

Originally Posted by mcgeezer (Post 1358998)
Super great project, nice that you have the vertical scrolling code working. I'm currently working on my 8 way now so I know how hard it is.

Let me know if you need a hand... I've done so arcade ports previously.

Thanks Mcgeezer. I have seen, and admired, your Rygar and Bomb jack projects, and they are one of the reasons, I decided to go ahead, and post my project here.
I'm sure I will bump into some problems, where assistance will come in handy.

Looking forward to your 8 way scrolling project. Are you using "barrel scrolling" to do the 8 way?
While thinking about what to work on I was contemplating doing a 8-way Amiga Paradroid, since good ol' Andrew hadn't found out how to do the barrel scroller, when he made Amiga Paradroid. He got it right for Fire and Ice though :)

mcgeezer 14 November 2019 15:57

Quote:

Originally Posted by agermose (Post 1359019)
Thanks Mcgeezer. I have seen, and admired, your Rygar and Bomb jack projects, and they are one of the reasons, I decided to go ahead, and post my project here.
I'm sure I will bump into some problems, where assistance will come in handy.

Looking forward to your 8 way scrolling project. Are you using "barrel scrolling" to do the 8 way?
While thinking about what to work on I was contemplating doing a 8-way Amiga Paradroid, since good ol' Andrew hadn't found out how to do the barrel scroller, when he made Amiga Paradroid. He got it right for Fire and Ice though :)

Great! It was always my intention to inspire/motivate others into more conversions.

Yeah, I'm using a copper video split, as you've rightly pointed out - when the bob's need to cross the split you need to split them in two and it's tricky.

Once done though it will be a good engine.

agermose 14 November 2019 16:26

On a sidenote this was my last project, way back in 1993.
http://hol.abime.net/6215

DamienD 14 November 2019 17:12

Quote:

Originally Posted by agermose (Post 1359025)
On a sidenote this was my last project, way back in 1993.
http://hol.abime.net/6215

Ah very nice :great

agermose 24 November 2019 14:51

1 Attachment(s)
It's been a quiet week due to workload at my dayjob.

Nighshift has joined the project :-)
Timeline is 6 months, let's see how it goes.

I grabbed the sprites gfx from MAME, and analysed the colours used, then settled the palette.
There are 16 colours for backgrounds and 16 colours for sprites including the propellers.

The grid lines have to be removed first, then recompositing of the bigger sprites, player plane looping etc.
Then conversion to iff/raw.
Last the colours have to be remapped for the Amiga palette. This part has caused some headaches, but some help may be coming my way :-)

Ami 24 November 2019 16:12

Awesome project, keep it up. :great

mcgeezer 24 November 2019 16:56

Here you go agermose....

https://youtu.be/qlfjDnSwg3M

agermose 24 November 2019 22:59

Quote:

Originally Posted by mcgeezer (Post 1361089)
Here you go agermose....

https://youtu.be/qlfjDnSwg3M

Thanks mcgeezer. You’re the man.


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

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

Page generated in 0.05893 seconds with 11 queries