English Amiga Board


Go Back   English Amiga Board > Main > Retrogaming General Discussion

 
 
Thread Tools
Old 31 July 2009, 14:46   #1
dlfrsilver
CaptainM68K-SPS France
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 42
Posts: 8,163
Send a message via MSN to dlfrsilver
Richard Costello's Coding memories

Here it is, i have opened a new thread if Richard want to share infos with us
dlfrsilver is offline  
Old 31 July 2009, 16:03   #2
Ricardo
Registered User
Ricardo's Avatar
 
Join Date: Jul 2009
Location: Nottingham / UK
Posts: 152
Just in time for me to go on holiday! See you in 10 days
Ricardo is offline  
Old 31 July 2009, 17:54   #3
dlfrsilver
CaptainM68K-SPS France
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 42
Posts: 8,163
Send a message via MSN to dlfrsilver
OK Richard, see you in 10 days !
dlfrsilver is offline  
Old 31 July 2009, 23:09   #4
Pyromania
Moderator

Pyromania's Avatar
 
Join Date: Jan 2002
Location: Chicago, IL
Posts: 2,097
Should be interesting when he returns.
Pyromania is offline  
Old 01 August 2009, 02:59   #5
dlfrsilver
CaptainM68K-SPS France
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 42
Posts: 8,163
Send a message via MSN to dlfrsilver
Yes, if he can share we us or our coding guys on boards some nice tricks or ideas,
heh why not knowledge is always good to get.
dlfrsilver is offline  
Old 05 August 2009, 02:15   #6
andreas
Zone Friend
 
Join Date: Jun 2001
Location: Germany
Age: 45
Posts: 5,857
Send a message via ICQ to andreas Send a message via AIM to andreas
Quote:
Originally Posted by Pyromania View Post
Should be interesting when he returns.
You bet it should.
Been a helluva lot of interesting reads, these good ol' stories of "bedroom coding"
andreas is offline  
Old 09 August 2009, 22:48   #7
Ricardo
Registered User
Ricardo's Avatar
 
Join Date: Jul 2009
Location: Nottingham / UK
Posts: 152
Quote:
Originally Posted by dlfrsilver View Post
Ricardo, how many frames characters there were on MKI and II ?
Just shows how much I know , about 66 frames per character for MKII.

For those that might be interested I have attached the memory map of MKII.

As I recall, the MAXSIZE is per player (220K) and includes:
SCH file = 16 pix x 16 pix tiles used to form the characters frames
PAC file = maps of tiles in SCH file to build frames
IDX file = index file pointing at character maps in PAC file per frame
SFX = characters unique sounds (samples)
Attached Files
File Type: txt EQUATES.TXT (8.1 KB, 409 views)

Last edited by Ricardo; 09 August 2009 at 23:11.
Ricardo is offline  
Old 09 August 2009, 23:13   #8
dlfrsilver
CaptainM68K-SPS France
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 42
Posts: 8,163
Send a message via MSN to dlfrsilver
Hello, nice to see you back Richard I have one big question, (Andreas if you read me )
You have coded RAMROD on amiga and ST, and this game is actually still unreleased.

Do you happens to have a working version, or is it just half-done, incomplete ?

Thanks for your reply ^^ And that's great about MKII memory map ! Your code is very clean to say the least
dlfrsilver is offline  
Old 09 August 2009, 23:15   #9
StingRay
move.l #$c0ff33,throat

StingRay's Avatar
 
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,238
Quote:
Originally Posted by dlfrsilver View Post
Your code is very clean to say the least
Ahem, you can judge that from a few equates? Respect! </sarcasm>
StingRay is offline  
Old 09 August 2009, 23:18   #10
dlfrsilver
CaptainM68K-SPS France
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 42
Posts: 8,163
Send a message via MSN to dlfrsilver
Quote:
Originally Posted by StingRay View Post
Ahem, you can judge that from a few equates? Respect! </sarcasm>
No bad words stingray It's very clean
dlfrsilver is offline  
Old 10 August 2009, 09:20   #11
Ricardo
Registered User
Ricardo's Avatar
 
Join Date: Jul 2009
Location: Nottingham / UK
Posts: 152
Quote:
Originally Posted by Ricardo View Post
As I recall, the MAXSIZE is per player (220K) and includes:
SCH file = 16 pix x 16 pix tiles used to form the characters frames
PAC file = maps of tiles in SCH file to build frames
IDX file = index file pointing at character maps in PAC file per frame
SFX = characters unique sounds (samples)
Hmmm, come to think of it the PAC file may have been a compression key list for undoing the compressed SCH tiles. Nick Pelling (Zalaga, Frak etc) was responsible for the compression/real time decompression routines.

Ramrod! - now how did you hear about that??? In a round about way thats why I was trolling about this forum in the first place!
Ricardo is offline  
Old 10 August 2009, 09:44   #12
dlfrsilver
CaptainM68K-SPS France
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 42
Posts: 8,163
Send a message via MSN to dlfrsilver
Your name is tied to this game. many sites on the net refers as you, because you
coded it ?

Just check your name on HOL our delicious site which refers all amiga games.
Game developers have their names in it .

Anyway about RAMROD if you have any clues, story, code part, preview game,
please say something
dlfrsilver is offline  
Old 10 August 2009, 09:47   #13
StingRay
move.l #$c0ff33,throat

StingRay's Avatar
 
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,238
Quote:
Originally Posted by dlfrsilver View Post
No bad words stingray It's very clean
These are no bad words. It's just impossible to judge code quality when you don't have any actual code to look at.
StingRay is offline  
Old 10 August 2009, 09:54   #14
dlfrsilver
CaptainM68K-SPS France
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 42
Posts: 8,163
Send a message via MSN to dlfrsilver
Ok, Richard, could it be possible for you to upload MK II full program source ?

If it's possible, and if you agree of course So that we can have a looksyy
dlfrsilver is offline  
Old 10 August 2009, 09:59   #15
TCD
Registered User

TCD's Avatar
 
Join Date: Sep 2006
Location: Germany
Age: 41
Posts: 24,012
Quote:
Originally Posted by dlfrsilver View Post
Just check your name on HOL our delicious site which refers all amiga games.
Game developers have their names in it .
Well, Richard isn't listed for Ramrod in HOL. Guess it needs to be updated then and maybe he can at least provide some screenshots?
TCD is offline  
Old 10 August 2009, 10:30   #16
Ricardo
Registered User
Ricardo's Avatar
 
Join Date: Jul 2009
Location: Nottingham / UK
Posts: 152
Quote:
Originally Posted by StingRay View Post
These are no bad words. It's just impossible to judge code quality when you don't have any actual code to look at.
Here is some code then, I don't know about quality but I recall enjoying writing it...

It's called "STRIPPER - SPRITE STRIP BLITTER (16x16x16 COLOUR HARDWARE SPRITE EMULATOR)"

It creates a software/blitter version of the Megadrives hardware 16x16 sprites because the utilities which extracted and processed the graphics from the coin-op were originally designed for the Megadrive. Although the colouring was changed for the Amiga given the palette was different.

In a nutshell, and if my memory remembers (it was 15 years ago!). Each frame was cut up into 16 x 16 characters. As this was done the frames were moved about slightly (as 16 pixel high strips) and flipped in both X & Y to try to match the current character with one which had been created previously. For example there is usually a 16 pix x 16 pix "space" between a fighters legs when standing. But the space may lie across a 16 pixel boundary. So moving the characters slightly and flipping/flopping squeezed the character set size. So each fighter frame then consisted of a map grid file which held character references to the SCH file. All the frames were stored pointing one direction and hence need to be reflected realtime as required.

Each 16 x 16 tile was then compressed using Nick Pellings code to squeeze everything further.

The game logic runs at the same pace as the coinop (60Hz), and the screen is refreshed every 1,2,3 or 4 vertical scans (there is a nobble somewhere for PAL to account for 50Hz). So sometimes there are moments when the game logic is refreshed 4 times for a single screen refresh. This had to be done to maintain the fluid nature of the game and cope with the amount of screen processing required.

The 16 x 16 pixel characters were decompressed, shifted, flipped and flopped into a frame buffer by the 68000 from fast ram (512K to 1024K) to chipram. So once a frame had been built there was no further build overhead until the frame was changed. I recall that changing direction caused a cycle hit because of all the reflecting required but that once a cycle of frames had occurred (for eg whilst standing) that the reflections wouldn't be required until the fighter changed direction again. But now I cant see how that would have been possible, without delving into the code that is and I dont have time right now.

Once built the frame was then blitted onto the screen using a standard cookie cutting minterm (16 colour sprite onto a 32 colour screen, the 5th plane was cleared/set using the mask).

There were 2 screens one being built whilst the other was displayed then they got flipped to display the new frame (see the memory map above).

A full copy of the background was stored in memory for a set of fast blits to remove what was drawn on the hidden frame last time, "MrSheen" cleaned this up with a few simple rectangular blits.

One of the benefits of an A1200 (with 2MB RAM) was having a word reflection table (128K) and the code was written to fully use the 68020's (256 byte?) cache for the reflection of a 16 x 16 character. One of the reasons why running on the A1200 was smoother.

The sort routine at the top of the file was good in that it had a low overhead if the data was in roughly the right order, which for this game wasn't really an issue but the routine was used in lots of other games where sprites were sorted vertically and on lots of platforms from all the 8-bits to ST and Amiga - I originally created it on the BBC Micro. I worked at Gremlin in Birmingham, based at US Gold / Centresoft and we had the office in Sheffield plus Derby (which became Core) and there were loads of developers coming and going etc.

I had a copy of Atari ST Ramrod (the only one) but cant find it now. There was an Amiga version too but it was mainly an ST game (Amiga version was smoother thanks to the blitter, it didnt use the hardware sprites but should have done etc).

I still have all the code, the development tools and my Mega4ST plus an A600 Amiga so if I cobbled a parallel cable together I could in theory re-build the game onto a pair of floppies but time is always an issue . It was a Gremlin game which was never completed because Kev Bulmer and I left Gremlin to go freelance (Golden Axe for Probe/Virgin I think).
Attached Files
File Type: txt STRIPPER.txt (47.4 KB, 388 views)
Ricardo is offline  
Old 10 August 2009, 10:48   #17
Ricardo
Registered User
Ricardo's Avatar
 
Join Date: Jul 2009
Location: Nottingham / UK
Posts: 152
Quote:
Originally Posted by dlfrsilver View Post
Ok, Richard, could it be possible for you to upload MK II full program source ?

If it's possible, and if you agree of course So that we can have a looksyy
I don't mind people seeing my source code but MK etc have chunks of code from the Megadrive, the coin-op itself and Rob Nothern (disc code) plus Nick P. compression etc so I cant really make all of it available for public scrutiny unfortunately. Plus the rights to the code are really with the publisher.

Its a shame I cant share it, because I found the multi threading process system from the coin-op logic very interesting at the time. I would imagine it was pretty standard stuff from operating system development that the programmer learnt at Uni but as I started writing games at 14 I just made everything up as I went along. It was only about 8 years ago that I worked out that Object Oriented Programming is the name of what I thought I invented when I was 18

Ramrod was VERY pretty, imagine Robocop meets marble madness - it was more of a graphic feast by Kev and a 16-bit coding learning tool for me...but it lacked in game play and really needed 2MB of RAM and a CD-ROM to do it justice. Once the hardware was there to do it justice (Playstation) everything was true 3D and a gorgeous isometric shoot'em up was old hat. Hence it was never released. I wrote Gauntlet II in my spare time whilst coding Ramrod, plus had a gap in development whilst I helped the guy writing C64 MASK complete that (he was having a bit of a nervous breakdown at the time as I recall). Ramrod never really evolved past the concept stage even though it existed as a playable 4 level game, each level having 4 sub games based on old coinops.
Ricardo is offline  
Old 10 August 2009, 11:05   #18
dlfrsilver
CaptainM68K-SPS France
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 42
Posts: 8,163
Send a message via MSN to dlfrsilver
Rob northen code and tools have been made public. They are freely available

And your stripper file has very fun quoted inside, and you've done some very clean code WOW.

Last edited by dlfrsilver; 10 August 2009 at 11:13.
dlfrsilver is offline  
Old 10 August 2009, 11:11   #19
Galahad/FLT
Going nowhere

Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 46
Posts: 7,309
I'd love to see Ramrod, I remember a couple of screenshots back in the day in The One for Amiga and ST game as it was then before they separated.

Rob Northens PDOS disk codes is now all Public domain as well.

Am I right in my hazy memory that the only reason the Amiga got Mortal Kombat II was because Probe pushed Acclaim for it?
Galahad/FLT is offline  
Old 10 August 2009, 11:16   #20
dlfrsilver
CaptainM68K-SPS France
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 42
Posts: 8,163
Send a message via MSN to dlfrsilver
Mortal kombat II use Rob Northen Protected DOS (RNPDOS) hehe, as does Primal Rage and Mortal Kombat I

Last edited by dlfrsilver; 10 August 2009 at 11:28.
dlfrsilver 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
R.I.P. Richard Joseph Belgarath Retrogaming General Discussion 70 22 July 2016 16:30
Richard Aplin interview kamelito Nostalgia & memories 0 03 July 2013 20:40
Richard Costello? Bosco70 Retrogaming General Discussion 2 20 February 2012 22:48
Interview with Richard Costello Shoonay Retrogaming General Discussion 2 03 July 2011 18:59
Welcome to Richard Joseph RCK HOL contributions 3 17 September 2003 20:48

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 00:03.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.
Page generated in 0.10109 seconds with 14 queries