31 July 2009, 14:46 | #1 |
CaptainM68K-SPS France
|
Richard Costello's Coding memories
Here it is, i have opened a new thread if Richard want to share infos with us
|
31 July 2009, 16:03 | #2 |
Registered User
Join Date: Jul 2009
Location: Nottingham / UK
Posts: 155
|
Just in time for me to go on holiday! See you in 10 days
|
31 July 2009, 17:54 | #3 |
CaptainM68K-SPS France
|
OK Richard, see you in 10 days !
|
31 July 2009, 23:09 | #4 |
Moderator
Join Date: Jan 2002
Location: Chicago, IL
Posts: 3,375
|
Should be interesting when he returns.
|
01 August 2009, 02:59 | #5 |
CaptainM68K-SPS France
|
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. |
05 August 2009, 02:15 | #6 |
Zone Friend
|
|
09 August 2009, 22:48 | #7 | |
Registered User
Join Date: Jul 2009
Location: Nottingham / UK
Posts: 155
|
Quote:
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) Last edited by Ricardo; 09 August 2009 at 23:11. |
|
09 August 2009, 23:13 | #8 |
CaptainM68K-SPS France
|
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 |
09 August 2009, 23:15 | #9 |
move.l #$c0ff33,throat
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,863
|
|
09 August 2009, 23:18 | #10 |
CaptainM68K-SPS France
|
|
10 August 2009, 09:20 | #11 | |
Registered User
Join Date: Jul 2009
Location: Nottingham / UK
Posts: 155
|
Quote:
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! |
|
10 August 2009, 09:44 | #12 |
CaptainM68K-SPS France
|
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 |
10 August 2009, 09:47 | #13 |
move.l #$c0ff33,throat
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,863
|
|
10 August 2009, 09:54 | #14 |
CaptainM68K-SPS France
|
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 |
10 August 2009, 09:59 | #15 |
HOL/FTP busy bee
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 31,518
|
|
10 August 2009, 10:30 | #16 | |
Registered User
Join Date: Jul 2009
Location: Nottingham / UK
Posts: 155
|
Quote:
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). |
|
10 August 2009, 10:48 | #17 | |
Registered User
Join Date: Jul 2009
Location: Nottingham / UK
Posts: 155
|
Quote:
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. |
|
10 August 2009, 11:05 | #18 |
CaptainM68K-SPS France
|
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. |
10 August 2009, 11:11 | #19 |
Going nowhere
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 8,986
|
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? |
10 August 2009, 11:16 | #20 |
CaptainM68K-SPS France
|
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. |
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 | 72 | 04 March 2022 09:36 |
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 |
|
|