English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 26 December 2014, 01:28   #1
Codetapper
2 contact me: email only!
 
Codetapper's Avatar
 
Join Date: May 2001
Location: Auckland / New Zealand
Posts: 3,182
Conversion Capers: Mayhem in Monsterland

Time to resurrect this idea and see how the coders in here would approach converting this famous C64 game.

First up, [ Show youtube player ] to familiarise yourself with the game and all the tricks.

At first glance (level 1), it seems a trivial job, probably a 16 colour screen (as it only scrolls horizontally) but there are a number of issues if you dig deeper or know the game well:
  1. The screen can [ Show youtube player ], I'm not sure how many pixels but at least 16 in one frame (eg. 11:41)
  2. There's a [ Show youtube player ] on level 1 that would seem perfect for a palette trick (eg. 6:00)
  3. There's parallax tricks (with tile animation) [ Show youtube player ] the [ Show youtube player ] (eg. 9:50 and 25:42)
  4. Some sections of the game have a *lot* of rotating stars in the background. As you collect them, they disappear obviously. Again, tile animation tricks on the C64.
  5. On some levels, [ Show youtube player ] (eg. 30:50)
  6. There's a [ Show youtube player ] (at 47:22) that scrolls onto the screen.

Obviously with only 16 colours on the C64, it's not at all difficult to simply draw the entire screen and have it look identical in 4 bitplanes, but to do everything at 50Hz you would have to have some tricks. Dual playfield would make a few things much easier, but sacrifice colours. If enemies were drawn in dual playfield, you would be severely restrict their palette. Could you make the game look good enough?

So over to you, what screenmode, what would you use sprites for etc etc...


Last edited by TCD; 26 December 2014 at 04:06. Reason: Fixed minor typo
Codetapper is offline  
Old 26 December 2014, 21:03   #2
phx
Natteravn
 
phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
Quote:
Originally Posted by Codetapper View Post
First up, [ Show youtube player ] to familiarise yourself with the game and all the tricks.
A technically very impressive game. I didn't notice most C64 games since 1987, after I switched to Amiga.


Quote:
At first glance (level 1), it seems a trivial job, probably a 16 colour screen (as it only scrolls horizontally) but there are a number of issues if you dig deeper
Agreed. The first level seems trivial. No parallax, no foreground tiles. A simple horizontal scroller. That's a surprising decision, as I would try to show most of the effects very early to keep the player attracted to the game.

The scrolling title screen with the big letters in front are already challenging on the Amiga. There are not enough sprites for it. Drawing with the blitter might be too expensive. Double playfield - too few colours.

Quote:
The screen can [ Show youtube player ], I'm not sure how many pixels but at least 16 in one frame (eg. 11:41)
Ok. That means you have to be able to draw a complete new column each frame. That's doable (e.g. twelve 16x16 tiles), but annoying, as you would like to save some time here. Maybe you can stop tile animations, and even some monster animations, during fast scrolling, as nobody will notice it.

A problem with porting from the C64 is also that tiles are usually 8x8 pixel based. You would probably have to redesign everything on a 16x16 or 16x8 base.

Quote:
There's parallax tricks (with tile animation) [ Show youtube player ] the [ Show youtube player ] (eg. 9:50 and 25:42)
Easy to do on the C64, as you will just modify the bitmap of a single character. On the Amiga I probably wouldn't bother much. A trick with repeating sprites may be possible, but also takes a lot of time. I would prefer a static copper background.

Quote:
Some sections of the game have a *lot* of rotating stars in the background. As you collect them, they disappear obviously. Again, tile animation tricks on the C64.
I have never seen too many objects moving during the game. So there might be enough time to update a dozend of stars. When there are too many we get a problem, of course. The last option would always be to drop the frame rate to 25 fps.

Quote:
On some levels, [ Show youtube player ] (eg. 30:50)
All those foreground tiles need to be redrawn each frame. In Sqrxz3 I improved my foreground tiles algorithm, so that only those tiles will be redrawn which have objects (sprites) behind. This could save some time.

Quote:
There's a [ Show youtube player ] (at 47:22) that scrolls onto the screen.
Hm. Your timecode seems to be 1:30 behind mine. But I found it.
It's a really wide waterfall. I have no idea here. Redrawing the whole screen is certainly no option. Maybe sprites, as the pattern is repetitive?

Quote:
Dual playfield would make a few things much easier, but sacrifice colours. If enemies were drawn in dual playfield, you would be severely restrict their palette. Could you make the game look good enough?
Not in dual playfield. I don't like this mode at all.

Quote:
So over to you, what screenmode,
I like 32-colour games. But in this case I would choose 16 colours, as it is sufficient and gives us some extra cycles for the heavy blitting-tasks.

Quote:
what would you use sprites for etc etc...
The scores at the bottom have just a singl colour. Definitely a case for sprites (maybe just one or two sprites).
Otherwise I would use sprites for the effects when you jump onto a monster and some fragments are flying away.
Maybe the waterfall..?
phx is offline  
Old 26 December 2014, 21:17   #3
jimmy2x2x
Beyond Mutton
 
jimmy2x2x's Avatar
 
Join Date: Mar 2011
Location: North West, UK
Age: 52
Posts: 347
Great topic!

I would do the waterfall effect with color cycling, reserving, say, 5 colors and dont use them around the waterfall area, switch the cycling on and off around the waterfall. Once away from waterfall, 5 colours set to normal palette use.

The rotating pickup stars I would do with 1 bitplane animations, just write them directly to the screen each animation frame, (the other bitplanes would be clear). If you design the star animation system to only update 1 or 2 tiles per frame, you could have a decent amount of stars without spending too much processing time, once collected the animation could change to a dissolve animation without extra cost.
jimmy2x2x is offline  
Old 26 December 2014, 21:50   #4
Lonewolf10
AMOS Extensions Developer
 
Lonewolf10's Avatar
 
Join Date: Jun 2007
Location: near Cambridge, UK
Age: 44
Posts: 1,924
Quote:
Originally Posted by Codetapper View Post
1. The screen can [ Show youtube player ], I'm not sure how many pixels but at least 16 in one frame (eg. 11:41)
I don't see that as an issue. The levels don't seem to be very big (I only watch the first 15 minutes of the longplay) - perhaps 10 screens wide, so have the entire level drawn during the level intro? (8K * 4 bitplanes * 10 = 320K). It would eat up memory, but would make fast scrolling a non-issue.


Quote:
Originally Posted by Codetapper View Post
2. There's a [ Show youtube player ] on level 1 that would seem perfect for a palette trick (eg. 6:00)
Agreed. Though notice that there are some background objects drawn in black that only visible as silhouettes when the lightning flashes. This would use 2 colours of the 16 (I'm going for 4 bitplane, single playfield).


Quote:
Originally Posted by Codetapper View Post
3. There's parallax tricks (with tile animation) [ Show youtube player ] the [ Show youtube player ] (eg. 9:50 and 25:42)
The majority of the parallax is done during the level intro's (looks like 3 layers of parallax to me), with the occasional trick in-game. From what I saw, I doubt anyone would notice it if they were removed as you can't hang about in this game - there is a time limit for each level.


Quote:
Originally Posted by Codetapper View Post
4. Some sections of the game have a *lot* of rotating stars in the background. As you collect them, they disappear obviously. Again, tile animation tricks on the C64.
One area I saw must've had about 20 of them. Surely have them as animated tiles, updating a few of them each frame?


Quote:
Originally Posted by Codetapper View Post
5. On some levels, [ Show youtube player ] (eg. 30:50)
Didn't see that far into the video, but if using a single playfield I guess you'd just have a carefully drawn area to ensure the sprite went behind the first few bitplanes? (probably bitplanes 0 and 1)


Quote:
Originally Posted by Codetapper View Post
6. There's a [ Show youtube player ] (at 47:22) that scrolls onto the screen.
The simplest option (as already mentioned) would be to cycle 2 or 3 colours to make it look like the water was moving. Perhaps combine that with strategic changing of some tiles to enhance the look of the water flowing?



Enemies and the main character appear to be 16x16 pixels in size, so a single sprite for each one. For the bigger enemies, I'd use 3 sprites (they don't appear to be wide enough to require 4) for them.
Lonewolf10 is offline  
Old 26 December 2014, 23:49   #5
Galahad/FLT
Going nowhere
 
Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 8,986
Awesome looking little game. Basically it entirely depends if youre intention is a 1:1 conversion or you intend to amiga-ise it.

that title screen you could get away with making it 32 colours and judicious use of the pallete, thus moving the bitplanes for tha background and not affecting the logo stuff.

if you were to do it Amiga style graphics, then youve got some probs.

fucking awesome looking little game so late in the c64's life
Galahad/FLT is offline  
Old 27 December 2014, 00:08   #6
Codetapper
2 contact me: email only!
 
Codetapper's Avatar
 
Join Date: May 2001
Location: Auckland / New Zealand
Posts: 3,182
Thanks for your comments guys, I have done a little reading in the "diary of a game" section in Commodore Format and early on they mentioned it was 8 pixels/frame scrolling not 16. Unless they increased it later, that might be the limit.

Something I read also suggests the stars were changed to sprites later in development (as it was using up too many characters). That means they avoided lots of enemies in those areas and had groups of stars done with sprites (as the C64 has a physical limit of 8 across, and Mayhem takes up 2 at all times).

Almost all sprites in the game are standard C64 dimensions of 24 pixels wide x 21 high. And many are doubled vertically and/or horizontally.

The game arranges 8x8 tiles into blocks of 32x32 pixels, and a map is 256 blocks wide (so approximately 25 screens wide) but there are vertical strips of control codes in the map which presumably trigger things like palette/music/enemy boss changes etc.

And yes, these guys (Apex) were pretty much the best in the business in regards to perfectionism and technical tricks!

Last edited by Codetapper; 27 December 2014 at 00:38. Reason: Added width of map information
Codetapper is offline  
Old 27 December 2014, 00:22   #7
Retro1234
Phone Homer
 
Retro1234's Avatar
 
Join Date: Jun 2006
Location: 5150
Posts: 5,773
Just for fun I put a scrolling Demo in the Zone the Joystick controlls the direction and speed

Just for fun I might add a Sprites/hero -might not see if anyone else picks its up- I think title screen can be dual playfield - tile set is only about 9 colours
Retro1234 is offline  
Old 27 December 2014, 01:01   #8
Codetapper
2 contact me: email only!
 
Codetapper's Avatar
 
Join Date: May 2001
Location: Auckland / New Zealand
Posts: 3,182
Where did you get all the levels from? There's an app someone wrote (mayhemeditorv2) but it doesn't work properly on my PC, presumably some libraries/dlls missing.
Codetapper is offline  
Old 27 December 2014, 01:03   #9
Raislin77it
Zone Friend
 
Raislin77it's Avatar
 
Join Date: Jan 2005
Location: italy
Age: 46
Posts: 244
Quote:
Originally Posted by Codetapper View Post
Where did you get all the levels from? There's an app someone wrote (mayhemeditorv2) but it doesn't work properly on my PC, presumably some libraries/dlls missing.
CharPad183 has the map files in the example folder

http://csdb.dk/release/?id=101863
Raislin77it is offline  
Old 27 December 2014, 09:53   #10
hansel75
Walk Off? Boolander!
 
hansel75's Avatar
 
Join Date: Aug 2012
Location: Gladstone Australia
Age: 48
Posts: 628
If i remember correctly Mayhem used some colour tricks on the C64 to fake more than 16 colours.

If you look closely at Mayhem you will see colours used that the C64 never had and it's very clever, it appears to be some kind of dithering or alternating colours trick!

So an Amiga conversion would need to use more then 16 colours to reproduce the full range of colours the C64 had ingame, or use some kind of colour hack like on the C64.

If you look here- http://www.psytronik.net/main/index....e-64&Itemid=57
It says one of the features of the game is-> Non-Standard C64 Colours!

Last edited by hansel75; 27 December 2014 at 10:04.
hansel75 is offline  
Old 27 December 2014, 10:05   #11
ajk
Registered User
 
ajk's Avatar
 
Join Date: May 2010
Location: Helsinki, Finland
Posts: 1,341
The most known trick was to use different colours on alternate lines, which then got mixed in the output due to how the PAL signal is decoded. So you could get quite a few shades in between. Doesn't work the same way with NTSC though.

Also this may or may not be implemented accurately in various emulators (in the first post you can see a clear horizontal line pattern for example, those are probably intended to be mixed if it were viewed on a TV).
ajk is offline  
Old 27 December 2014, 10:12   #12
hansel75
Walk Off? Boolander!
 
hansel75's Avatar
 
Join Date: Aug 2012
Location: Gladstone Australia
Age: 48
Posts: 628
Apparently the Wii VC version of Mayhem is not very accurate compared to a real C64, colours are wrong etc-

[ Show youtube player ]
hansel75 is offline  
Old 27 December 2014, 10:58   #13
alkis
Registered User
 
Join Date: Dec 2010
Location: Athens/Greece
Age: 53
Posts: 719
Quote:
Originally Posted by Boo Boo View Post
Just for fun I put a scrolling Demo in the Zone the Joystick controlls the direction and speed

Just for fun I might add a Sprites/hero -might not see if anyone else picks its up- I think title screen can be dual playfield - tile set is only about 9 colours
Is that written in AMOS? (cause of the amos.library in libs: )
alkis is offline  
Old 27 December 2014, 11:05   #14
Retro1234
Phone Homer
 
Retro1234's Avatar
 
Join Date: Jun 2006
Location: 5150
Posts: 5,773
Quote:
Originally Posted by Codetapper View Post
Where did you get all the levels from? There's an app someone wrote (mayhemeditorv2) but it doesn't work properly on my PC, presumably some libraries/dlls missing.
Quote:
Originally Posted by Raislin77it View Post
CharPad183 has the map files in the example folder

http://csdb.dk/release/?id=101863
Yep anyone got any sprites?

Quote:
Originally Posted by alkis View Post
Is that written in AMOS? (cause of the amos.library in libs: )
Yep
Retro1234 is offline  
Old 27 December 2014, 11:43   #15
nobody
Registered User
 
nobody's Avatar
 
Join Date: Dec 2013
Location: GR
Age: 46
Posts: 1,416
16 colors can do this game nicely as long as you use a sophisticated palette like dawnbringers 16. Look in the example that this game uses this palette (yes it is the same 16 colors all around).


nobody is offline  
Old 27 December 2014, 12:08   #16
Codetapper
2 contact me: email only!
 
Codetapper's Avatar
 
Join Date: May 2001
Location: Auckland / New Zealand
Posts: 3,182
Quote:
Originally Posted by Boo Boo View Post
Yep anyone got any sprites?
You can throw these frames into the demo if you want to
Attached Thumbnails
Click image for larger version

Name:	mayhem_sprite.png
Views:	872
Size:	2.7 KB
ID:	42555  
Codetapper is offline  
Old 27 December 2014, 12:13   #17
Solid Snake
Wonderful World Of Amiga
 
Solid Snake's Avatar
 
Join Date: Mar 2006
Location: Manchester, UK
Posts: 359
The closest you'll get to Sonic/Mario on the C64...O.K there was Great Giana Sisters, but Mayhem In Monsterland had bi-directional scrolling..

Definately one of the best C64 games. Even when many developers had abandoned the C64, the Rowland Bros (John & Steve) continued to push the humble 64 to the limits. No one knew the bread box better than them. I continually supported the C64 and even purchased the disc version (which I still own) of the game from Apex Computer Productions back in 1993...

Most notably remembered for the amazing Creatures games which made the 64 do things nobody could have imagined. The Rowlands designed, coded and composed everything themselves to give the player the best experience ever! You got your money's worth when you bought their games.

Mayhem In Monsterland did appear a few years ago for mobile phones, but it would be a pleasure to play the game again on the Amiga.

Mayhem was a cool 64 mascot....it's a shame the dwindling 64 market deprived the 64 community of a sequel
Solid Snake is offline  
Old 27 December 2014, 12:31   #18
john1979
Registered User
 
john1979's Avatar
 
Join Date: Jun 2012
Location: UK
Age: 44
Posts: 748
Mayhem and Creatures use VSP scrolling trick. Which causes some C64s in the wild to crash. But VSP saves raster time in scrolling and is very useful for this kind of game.

I don't think the gameplay was particularly that great in Mayhem, but in Creatures I thought it was perfect. Very challenging game and superb level design.

I am surprised after reading the techincal discussions on this thread that an Amiga remake might have to leave out or tone down some of the effects. The C64 trumping the Amiga? I am impressed.
john1979 is offline  
Old 27 December 2014, 13:49   #19
phx
Natteravn
 
phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
Quote:
Originally Posted by Codetapper View Post
it was 8 pixels/frame scrolling not 16. Unless they increased it later, that might be the limit.
...
The game arranges 8x8 tiles into blocks of 32x32 pixels,
That's good. So we can easily do 32x32 tiles on the Amiga, which is Blitter-friendly.
With a maximum of 8 pixels/frame we only need to update six 32x32 tiles in the border every four frames. When using double-buffering that would be three 32x32 tiles per frame. Then scrolling is no longer an issue.

Quote:
and a map is 256 blocks wide (so approximately 25 screens wide)
So we definitely need a tile-scroller and cannot keep the whole map in Chip RAM, as Lonewolf suggested.
phx is offline  
Old 27 December 2014, 14:49   #20
chb
Registered User
 
Join Date: Dec 2014
Location: germany
Posts: 439
Great Topic! Mayhem is for sure one of the technically most impressive games on the C64.

Just some ideas:
  • The C64 screen mode is using a 16-color palette, but the color restrictions are very different from a 16-color bitmap on the amiga. You can find some nice information here: http://dustlayer.com/vic-ii/2013/4/2...r-by-the-dozen . Mayhem is using character mode, which means 3 global colors for all chars + 1 per char from the colors 8-15 (or only background + individual color in hires) .I do not think any level in Mayhem uses more than eight colors for the chars. definitely the titlescreen background has only 8, so dual playfield + copper for the foreground would do the trick easily here IMHO.
  • Mayhem uses PAL blending to generate more colors, which is due to the nature of the PAL color encoding - the color signals from odd and even lines get mixed together, giving a theoretical max of afaik 136 colors. So on a TV set, this effect needs no additional effort also on the Amiga, but it would not work on an RGB monitor. Depending on how Mayhem uses the effect, it could be achieved by either simply using another palette, some copper color changes or not at all (which I doubt is the case).
  • The parallax is char based, as far as I can see the pattern is always 16 pixel wide and high, so one could use repeating sprites or an additional bitplane with the pattern (full screen width, 16pix height, 16x preshifted, repeated by copper manipulation of the bitplaneptr).
Some other apex games where ported to the Amiga (Creatures), interesting why not Mayhem.
chb 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
Conversion Capers: Rygar Codetapper Coders. General 2263 09 November 2019 11:11
WonderBoy in Monsterland 1time project.WHDLoad 30 01 March 2013 01:05
[Found: Mayhem in Monsterland] C64 game (sorry) hit Looking for a game name ? 3 06 January 2009 19:53
Super WonderBoy In Monsterland -Rob- support.Games 10 09 May 2006 20:32
Mayhem's Magic Dust - Mayhem in Monsterland remake!! Amiga1992 Retrogaming General Discussion 5 29 November 2003 15:16

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 16:22.

Top

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