English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Contest

 
 
Thread Tools
Old 02 August 2018, 10:33   #81
Retro-Nerd
Missile Command Champion
 
Retro-Nerd's Avatar
 
Join Date: Aug 2005
Location: Germany
Age: 52
Posts: 12,435
Looks like they are emulated.

https://en.wikipedia.org/wiki/Arcade_Archives


Quote:
...Parasol Stars
Now i got you. It is a PC-Engine original, not an arcade game.
Retro-Nerd is offline  
Old 02 August 2018, 11:03   #82
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,160
You got me on both points.

Why I was saying that? because I witnessed DS ports and the screen layout was slightly different (DS vertical resolution is 200 pixels, less that most of portrait mode arcade games resolution at the time). So for instance pacman credit indicator is not at the original location.

Now I'm wondering: did they rewrite emulators or just copied MAME source code, which would clearly be a case of GPL license violation Hard to tell without disassembling and comparing code structures...

So rewriting the game natively avoids the use of an emulator and avoids a possible legal issue ... with their own product
jotd is offline  
Old 02 August 2018, 17:16   #83
dlfrsilver
CaptainM68K-SPS France
 
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 46
Posts: 10,412
Send a message via MSN to dlfrsilver
Quote:
Originally Posted by jotd View Post
doesn't it annoy you that the game is recoded again and again? I'm 100% sure that emulation isn't used in those compilations (screen format, adaptations). Games are rewritten in whatever language is suitable, from original sources (if they kept them, which is likely). I'm sure it takes forever for them too, since they have the same issues as Amiga port has (except for the limited resources maybe)

I mean: the current sources are probably in C and we have to do the work over and over ... Well I don't mind that but sometimes I'd like a peek at the source (specially when I remade the bitmap bros games...)

Well, my original dream was: all arcade games that can be ported 1:1 or close should exist on the amiga (a bit like Atari did with Super Sprint, ... or the excellent Pang, Paperboy, Parasol Stars, Rainbow Islands and ... Bomb Jack). One more legend game like this, yeah!!!

The fact it requires a A1200 isn't a big deal. It's difficult enough to code on the amiga, let's have AGA & 2MB chip available at least...
Most of the coin-op games were coded in ASM, either z80 or 68000. Only a few of them were coded in C.

And never forget that back in the day, when japanese coders had to code, they prefered ASM over C in every cases.

the C part is only the linker/linking file.
dlfrsilver is offline  
Old 02 August 2018, 18:26   #84
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,160
I mean: if they are to recode the game today, they'll choose C or C++, and yes, they cannot re-use the original code since it was ASM.

I heard Marble Madness was written in C, though maybe that's why the port was so faithful.
jotd is offline  
Old 02 August 2018, 19:11   #85
nogginthenog
Amigan
 
Join Date: Feb 2012
Location: London
Posts: 1,309
Quote:
Originally Posted by dlfrsilver View Post
Most of the coin-op games were coded in ASM, either z80 or 68000.
6809 was popular in the early days too.
nogginthenog is offline  
Old 02 August 2018, 21:21   #86
dlfrsilver
CaptainM68K-SPS France
 
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 46
Posts: 10,412
Send a message via MSN to dlfrsilver
Quote:
Originally Posted by jotd View Post
I mean: if they are to recode the game today, they'll choose C or C++, and yes, they cannot re-use the original code since it was ASM.

I heard Marble Madness was written in C, though maybe that's why the port was so faithful.
They would encapsulate the rom files in a C program, exactly how mame would do it.
dlfrsilver is offline  
Old 02 August 2018, 22:50   #87
E-Penguin
Banana
 
E-Penguin's Avatar
 
Join Date: Jul 2016
Location: Darmstadt
Posts: 1,213
Quote:
Originally Posted by mcgeezer View Post
All i have at the moment is a contact to send a proposal to. Taking in to consideration what most people recommend i’ll hold off sending anything and just continue building.
It's always easier to seek forgiveness than permission!
E-Penguin is offline  
Old 02 August 2018, 23:07   #88
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,160
encapsulating the rom files in a C program doesn't convert the program to C ! you have to emulate the CPU, the sound, the gfx. MAME doesn't encapsulate ROM files, it loads them as data, then uses generic/specific drivers, crafted year after year since 1995 to make the game work as faithfully as possible. I doubt that some developper, even good, can create a good arcade emulator in a few months, out of nowhere.
jotd is offline  
Old 02 August 2018, 23:31   #89
mcgeezer
Registered User
 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
I completed the collision bitmap tonight so that it scrolls left and right with the joystick. It's bringing in collision tiles every 16 pixels in the left and right borders depending on which way you move.

Additionally, I set the blit modulo to 8 Y axis pixels as opposed to 16 because I anticipate that the little Rhino sprite needs to know when it has hit a wall, 16 pixels height would be tool large for this and I wouldn't have been able to have it collide with an obstacle.

[ Show youtube player ]

PS. And if you're wondering.... Leo is my 3 year old son

Last edited by mcgeezer; 02 August 2018 at 23:46.
mcgeezer is offline  
Old 03 August 2018, 09:52   #90
E-Penguin
Banana
 
E-Penguin's Avatar
 
Join Date: Jul 2016
Location: Darmstadt
Posts: 1,213
Nice

A technical question (if you don't mind giving away your coding secrets!) - how are you using the collision bitmap to detect collisions? When blitting the foreground/sprites?
E-Penguin is offline  
Old 03 August 2018, 10:04   #91
mcgeezer
Registered User
 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
Quote:
Originally Posted by E-Penguin View Post
Nice

A technical question (if you don't mind giving away your coding secrets!) - how are you using the collision bitmap to detect collisions? When blitting the foreground/sprites?
Not really a secret. I just use the blitter Zero flag.

I’ll probably demonstrate it in the coming week.
mcgeezer is offline  
Old 03 August 2018, 11:58   #92
dlfrsilver
CaptainM68K-SPS France
 
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 46
Posts: 10,412
Send a message via MSN to dlfrsilver
Quote:
Originally Posted by jotd View Post
encapsulating the rom files in a C program doesn't convert the program to C ! you have to emulate the CPU, the sound, the gfx. MAME doesn't encapsulate ROM files, it loads them as data, then uses generic/specific drivers, crafted year after year since 1995 to make the game work as faithfully as possible. I doubt that some developper, even good, can create a good arcade emulator in a few months, out of nowhere.
Some companies still have the access to the dev documents, and also the original chip programming book.

It does not convert the program in C, but it allows to run it on a recent hardware. Most recent arcade games are using an emulator running on the target hardware. They don't pass the whole thing in C
dlfrsilver is offline  
Old 03 August 2018, 13:07   #93
S0ulA55a551n
Registered User
 
S0ulA55a551n's Avatar
 
Join Date: Nov 2010
Location: South Wales
Age: 46
Posts: 934
Quote:
Originally Posted by mcgeezer View Post
The sprites are ordered on the basis of their type . i.e collectibles/enemies/players/explosions etc.

So for example you might have 100 sprites, 1-20 might be player animations, 21-50 might be collectibles, 51-70 enemies and 71-100 might just be for visual show... like explosions, enemy deaths or background animations like water falls.

So for sprites that don't interact with the player (like explosions) you don't want to generate any collision masks, so in this example the easiest way to do it is state any sprite drawn above 70 does not draw a collision mask and therefore won't affect the player if visually it collides during game play.

If it doesn't make sense I'll try and explain it a bit more later down the line with examples.
I guess I think of things differently and would not be doing collisions detection based on anything on screen, but by knowing where everything was and where it would be and working things out from there, if that makes any sort of sense

I guess on a poorly Amiga this might have a heavy overhead ?
S0ulA55a551n is offline  
Old 03 August 2018, 14:05   #94
mcgeezer
Registered User
 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
Quote:
Originally Posted by S0ulA55a551n View Post
I guess I think of things differently and would not be doing collisions detection based on anything on screen, but by knowing where everything was and where it would be and working things out from there, if that makes any sort of sense
As you probably know there's multiple ways of doing collision detection each with pros and cons, it generally boils down to accuracy vs efficiency.

Quote:
Originally Posted by S0ulA55a551n View Post
I guess on a poorly Amiga this might have a heavy overhead ?
Yeah this is true, but I try to set out what I need first and work back from there. For example looking at what the arcade pushes at any one time on screen.
mcgeezer is offline  
Old 03 August 2018, 18:59   #95
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 1,801
I knew I would find another place for this article on collisions
http://higherorderfun.com/blog/2012/...d-platformers/
kamelito is offline  
Old 03 August 2018, 23:54   #96
idrougge
Registered User
 
Join Date: Sep 2007
Location: Stockholm
Posts: 4,332
Quote:
Originally Posted by jotd View Post
I doubt that some developper, even good, can create a good arcade emulator in a few months, out of nowhere.
I think it's quite possible. You have to support only one single game, not an entire platform as is the case for UAE.
idrougge is offline  
Old 04 August 2018, 00:11   #97
mcgeezer
Registered User
 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
For info at this point I moved all the code base across to using VASM/Notepad++.

You know it's time to do this when you spend most of your time looking for the lines you were editing in Devpac as opposed to actually coding.

Crap job, but must be done.

To help others I'll make a short video on how to set this up for others. Will be tomorrow though.
mcgeezer is offline  
Old 04 August 2018, 07:41   #98
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,160
Wise decision. Once you removed the incompatible stuff from vasm & created a makefile, it runs fine. I added a hotkey to notepad++ to call the make command. Not so bad.

Personally, I consider the AmigaOS as an embedded device now: it's cool to create games for vanilla A500/A1200 configs, but don't try to develop on it in 2018 (even on a A1200/060/64MB/RTG like I used to have), it's too frustrating.
jotd is offline  
Old 04 August 2018, 23:48   #99
mcgeezer
Registered User
 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
Ugghhh... the trials and tribulations of scrolling on the Amiga.

My oh my, this AGA coding just beat the shit out of me.

To get the best out of the AGA you need to use the machine in 32 bit mode (FMODE) so you can get full access to the speed for bitplanes or sprites. The problem is is that this has a lot of side effects (mainly unwanted) that you have to contend with... as I've just found out. I bet them console programmers don't have this bother.

Anyway, I've started work on the scrolling map as it's important I get this working along side the collision stuff.

This isn't working perfect yet, it's close but like I said it's beat me tonight, I'll sleep on it but I like to do regular updates.

For some reason the tiles are not coming in on the borders at the right times. I've had worse bugs though and fixed them so I doubt this will be any different. One thing I am fairly pleased with is the amount of processor time it's chewing up... compared to an A500 this is very favourable.

If I can fix it then the project will rapidly start to look like Rygar. Those numbered tiles are just for test, the map is 64 tiles wide by 12 depth... I'd just need to change the sizes and load the Rygar maps when I have it working.

[ Show youtube player ]
mcgeezer is offline  
Old 05 August 2018, 02:15   #100
DamienD
Banned
 
DamienD's Avatar
 
Join Date: Aug 2005
Location: London / Sydney
Age: 47
Posts: 20,420
I'm positive you'll work it and out and get there my friend
DamienD is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Entry: Rygar AGA Edition mcgeezer Coders. Entries 75 28 February 2019 20:41
On the Ball - World Cup Edition AGA djcasey request.Old Rare Games 4 25 January 2013 12:39
On The Ball League Edition AGA , Player Manager 2 StarEye Games images which need to be WHDified 11 22 January 2010 18:21
The Vague #1 AGA-RTG edition is released ! kas1e Amiga scene 12 30 October 2007 00:27
On The Ball: World Cup Edition AGA CodyJarrett request.Old Rare Games 11 27 May 2003 06:14

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 10:18.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.25384 seconds with 16 queries