Difference between revisions of "Speccy Port"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(The infamous killer list of the shamefull 30 speccy porks of death that killed the Amstrad CPC)
m
Line 1: Line 1:
A Speccy Port or Spectrum port is the name given to a game which has been converted directly from the Sinclair Spectrum with little or no changes to the Amstrad CPC. Often the Amstrad version ended up fairing worse than the original Spectrum version (though some games actually ended up pretty decent).  
+
A '''Speccy Port''' or '''Spectrum port''' is the name given to a game which has been converted directly from the Sinclair Spectrum with little or no changes to the Amstrad CPC. Often the Amstrad version ended up fairing worse than the original Spectrum version (though some games actually ended up pretty decent).  
  
  
=Why ?=
+
=Reasons=
  
The [[ZX Spectrum]] shared the same CPU as the Amstrad and had a simple graphics display. The Spectrum was very popular with the Amstrad having a much smaller market share.
+
The [[ZX Spectrum]] shared the same CPU as the Amstrad CPC and had a simple graphics display. Given that the Spectrum was very popular with the CPC having a much smaller market share, to save on time and money (a typical Spectrum port to the Amstrad is said to have been done in 3 days), the Spectrum code was re-used.  
 
+
To save on time and money, the Spectrum code was re-used.  
+
  
 
The Amstrad screen was reduced in size to match the Spectrum's and often most of the colour was removed. Most spectrum ports were done in [[Video modes|Video Mode 1]] (4 colour mode), because the resolution of this mode matched the resolution of the Spectrum, and this allowed the use of the same graphics.
 
The Amstrad screen was reduced in size to match the Spectrum's and often most of the colour was removed. Most spectrum ports were done in [[Video modes|Video Mode 1]] (4 colour mode), because the resolution of this mode matched the resolution of the Spectrum, and this allowed the use of the same graphics.
Line 12: Line 10:
 
Speccy ports were also seen on the [[MSX]] and Enterprise.
 
Speccy ports were also seen on the [[MSX]] and Enterprise.
  
Most of them got their graphic totally unchanged, displaying some kind of colour attributes "artefacts", proof of the faulty portage.
+
Most of them got their graphic totally unchanged, displaying some kind of colour attributes "artifacts", a tell-tale sign of a Speccy port.
  
A typical Spectrum port to the Amstrad is said to have been done in 3 days.
+
This phenomenon was more prominent in the UK, where the Speccy was the dominant machine. In other markets, such as France of Spain, where the CPC was very popular, games were coded from scratch for the CPC, often using an [[Atari|Atari ST]] for  [[Games Crossdev|Cross Development]]
  
===Games Cross development===
 
 
Serious games companies often released their games on multiple Games Platforms (Computers or Consoles).
 
 
Many aimed mostly at their home market, as their presence in Europe and overseas markets wasn't well established at the time, leading to different priorities:
 
 
As British Market was dominated by Speccy, the CPC had to deal with more Speccy ports than needed. But in a country such as France or Spain where the CPC was the dominant 8-bit machine, developpers used different method.
 
 
Often an [[Atari|Atari ST]] was used for Cross Development in France.
 
 
More info at [[Games Crossdev]].
 
  
 
===Consequences===
 
===Consequences===
  
The Amstrad CPC was one of the best 8-bit computers of his time in term of graphical capabilities. But this had a price...well, a weight in term of CPU ressources.  
+
The Amstrad CPC was one of the best 8-bit computers of its time in terms of graphical capabilities. But those advanced capabilities had an impact on CPU resources. As so many games were ported from the Spectrum, a machine with decidedly lower visual specs, the Amstrad range could hardly benefit from its main advantage while lack of optimization meant that aspects as scroll or playing area fared even worse than the Spectrum versions. You have to remember that Spectrum had less resources taken by Video RAM, so could handle animation or scrolling more easily. It is also a misconception to believe the screen was downsized in those games to gain processor resources. It was only done to use the Speccy graphics more easily, and we can doubt the code was (re-)designed so such a screen reduction would even gain CPU resources.
As so many games were ported from the "inferior" Spectrum, the Amstrad range could hardly benefit from its main advantage.
+
 
+
Quite disapointing, when you are the happy possessor of a "powerful" Amstrad CPC 6128...with a fast disc drive and 2x64KB of Ram, a good colour palette of 27 shades... to get a games designed for a cassette 48KB almost mono-colour computer, and not that compatible in fact...
+
 
+
As a result, so many games were slower, painfully animated, with a bad gameplay... AND had badly ported graphics too.
+
 
+
*C64 had better sounds, scrollings and sprites capabilities.
+
*Spectrum had less power taken by Video RAM, so could handle animation or scrolling more easily, with less need to precisely program with exceptional care.
+
 
+
Amstrad had to be specifically programmed in order to get good animations. Yet Speccy ports weren't re-programmed in such way. Also, even graphical data were larger than their Speccy's counterpart...
+
 
+
Also, games in Mode 1 could have been good despite the lack of colours...if only those colours were used properly more often.
+
 
+
As a result, most Speccy and C64 fans rarely give Amstrad the credit it deserves.
+
 
+
On a more positive tone, those speccy ports had the merit to exist, or else Amstrad may have a lighter games catalogue.
+
  
And as said above, those games weren't all bad, just a bit frustrating most of time.
+
Interestingly, games in Mode 1 could have been good despite the lack of colours, if only those colours were used properly more often.
  
Games with no need of scrollings and with re-coded graphics actually could be good...
+
On a more positive tone, those speccy ports had the merit to exist, or else Amstrad may have a smaller games catalogue.
  
It is also a misconception to believe the screen was downsized in those games to gain processor resources... It was only done to use the Speccy graphics more easily, and we can doubt the code was (re-)designed so such a screen reduction would even gain CPU resources.
+
On the other hand, as mentioned before, those games weren't always bad. Games with no need of scrolling and with re-coded graphics could actually be good.
  
  
=the killer-list of the infamous speccy ports of death=
+
=The killer-list of the infamous speccy ports=
 +
Note: these lists are by no means comprehensive, they just include the most high-profile releases.
  
'''Computer originals Hits'''  
+
=='''Computer originals Hits'''==
 
(most of them ended up being decent) :
 
(most of them ended up being decent) :
  
Line 71: Line 43:
 
*Saboteur II  
 
*Saboteur II  
  
I wouldn't count the numerous CodeMaster or Hewson games... Many of them were cheap budget Speccy games to start with, and where quite well ported or remained good...   
+
The numerous CodeMaster or Hewson games are not listed. Many of them were cheap budget Speccy games to begin with, and were quite well ported or remained good...   
  
 
+
=='''Well known franchises'''==
 
+
'''Well known franchises :'''
+
 
*Scooby Doo
 
*Scooby Doo
 
*Thundercats.
 
*Thundercats.
Line 81: Line 51:
 
*Airwolf 2
 
*Airwolf 2
  
'''Adult games''' (sort of)
+
=='''Adult games'''==
 
*Sabrina  
 
*Sabrina  
 
*Samantha fox strip poker.
 
*Samantha fox strip poker.
 
*Strip poker II
 
*Strip poker II
  
'''Movie Franchises :'''
+
=='''Movie Franchises'''==
 
*Indianna Jones 3 action game.
 
*Indianna Jones 3 action game.
 
*Back to the future 2 (half parts were straight speccyporked)
 
*Back to the future 2 (half parts were straight speccyporked)
 
*Big Trouble In Little China
 
*Big Trouble In Little China
  
'''Arcade hits :'''
+
=='''Arcade hits'''==
 
*R-Type  
 
*R-Type  
 
*PacMania
 
*PacMania
Line 111: Line 81:
 
*Kharnov  
 
*Kharnov  
  
'''Special Category of Death :'''
+
=='''Special Category of Death'''==
 
*Myth, history in the making (grrrrr).
 
*Myth, history in the making (grrrrr).
 
*Gauntlet 3
 
*Gauntlet 3
 
*SWIV  
 
*SWIV  
 
 
*Shadow of the beast
 
*Shadow of the beast
 
*Midnight resistance
 
*Midnight resistance
  
'''The Blue game of Death :'''
+
=='''The top list of the speccy ports'''==
*The untouchables
+
 
+
 
+
 
+
 
+
===The infamous killer list of the shamefull 30 speccy porks of death that killed the Amstrad CPC===
+
 
+
All those games are frequently used in 8bit wars style videos and reviews... Hence they gave the poor reputation of the inferior speccy clone to the Mighty Amstrad CPC.
+
 
+
Those games were well known hits ported on quite all computers of their time and very basis of comparison between most systems of this era.
+
  
Let the shame begins :
+
All those games are frequently used in 8bit wars style videos and reviews, hence they have served as a counter-argument to the CPC's superior abilities. Those games were well known hits ported on pretty much all computers of their time and therefore constituted the very basis of comparison between most systems of the era.
  
 
*Shadow of the beast
 
*Shadow of the beast
Line 164: Line 123:
 
*Vendetta
 
*Vendetta
  
Needless to say, the great amount of awesome adventure games that CPC had and spectrum could not even dream-of are never shown in such crossed reviews.
+
=The 3 levels of Speccy porting=
  
=The 3 levels of Speccy portages=
+
Of course the level of porting could greatly depend on whatever strategy the programmers/graphists used to get rid of the poor Video speccy's specificities for the original game.
  
 +
*A monochrome game could remain monochrome or be recolored for the CPC, or only parts of it (only sprites or Tiles but not both - mostly only sprites.)
 +
*A colored game with design-wise graphics (character based design) could be the exact same yet with even less colours.
 +
*Or Tiles/sprites could simply be completely well re-done/re-drawn, even in Mode 0 sometimes.
  
Of course the level of Fail could greatly depend on whatever strategy the programmers/graphists used to get rid of the poor Video speccy's specificities for the original game...
+
==Rushed and Lazy==
  
A monochrome game could remain monochrome or be recoloured on CPC... or only parts of it (only sprites or Tiles but not both... mostly only sprites.)
+
The game is exactly as on the Spectrum, even displaying graphical artifacts as Colour attributes and/or monochrome display for the game's window but not always the HUD, which may even often feature extra colours thanks to Raster colour changes, yet this doesn't really help to see what happens on the game's window.
  
A coloured game with design-wise graphics (character based design) could be the exact same yet with even less colours...
+
Also sprites may display Transparency/translucency with background's colour, a typical Spectrum "feature".
  
Or Tiles/sprites could simply be completely well re-done/re-drawn, even in Mode 0 sometimes...
+
Probably achieved by using almost the exact Spectrum code and emulating the Spectrum attributes on the CPC.
 
+
===Rushed and Lazy===
+
 
+
The game is exactly as on speccy, even displaying graphical artifacts as Colour attributes, and/or monochrome display for the game's window (a shame on a computer told as Colour Personnal Computer) but not always the HUD, which may even often feature extra colours thanks to Raster colour changes, yet this doesn't really help to see what happens on the game's window.
+
 
+
Also sprites may display Transparency/translucency with background's colour, a typical speccy "Feature" ("not a bug, a feature"... sic...).
+
 
+
Probably achieved by using the almost exact Speccy code and emulating the Speccy specificities (Attributes) on CPC.
+
 
+
It is to notice that it wasn't especially the Programmer's fault, the Game Companies were ordering them to do so... Coders weren't "lazy", it was the Company investment which was lazy...
+
  
 
Examples :  
 
Examples :  
 
+
*'''PacMania'''
*PacMania  
+
 
[[File:Pacmania title.png]]
 
[[File:Pacmania title.png]]
 
[[File:Pac04.png]]
 
[[File:Pac04.png]]
  
Typical exemple, yet it managed to be a nice game despite this.
+
Typical example, yet it managed to be a nice game despite this. The title screen and HUD shows the color attributes and were almost completely unchanged, yet with less colours on screen than the Speccy version.
  
The title screen and HUD shows the attributes colours (as artefacts...) and were almost completly unchanged, yet with less colours on screen than the Speccy version.
+
Ironically, the game manages to display 6 colours in the 4 colours Mode1 - yet the game's area remains completely monochromatic (coded in 1 bit) and colour attributes artifacts are still present.
  
Ironically, the game manages to display 6 colours in the 4 colours Mode1... Yet the game's area remains completely monocolour (coded in 1 bit) and "colour attributes artefacts" are still present..
+
*'''[[Black Tiger]]''': Same as PacMania
 +
*'''Super Hang On''' : graphics Transparency/translucency
 +
*'''Enduro Racer''' : same as Super Hang On, even more displayed as Sprites more often cross the different colored parts of the screen (while jumping)
 +
*'''Bionic Commando''' : there are even inverted/negative colored sprites
 +
*'''Sabrina''' : same as Bionic commando
 +
*'''Gauntlet 3''' : HUD is properly recolored (3 shades) but in-game window is monochrome (1bit coded sprites and tiles)
 +
*'''R-type''' : Monochrome background while sprites still are "coloured" as with Colour attributes, hence even featuring less colours than original Spectrum game, while the entire screen still displays more than the only 4 Mode1 colours...(HUD raster trick). This game was done in 3 weeks by only one man, who simply emulated the speccy stuff on CPC. Given that the Spectrum game was a great release the CPC port is not too bad.
  
 
+
==Semi-lazy==
*[[Black Tiger]] : Bad, bad, bad, such a shame as the Arcade game was awesome. monochrome game with multicoloured HUD.
+
 
+
*PacMania : same as Black Tiger, yet even displaying Attributes artifacts/remains.
+
*Super HanG on : graphics Transparency/translucency
+
*Enduro Racer : same as Super Hang On, even more displayed as Sprites more often cross the different coloured parts of the screen (while jumping).
+
*Bionic Commando : there is even inverted/negative coloured sprites.
+
*Sabrina : same as Bionic commando...
+
*Gauntlet 3 : HUD is properly recoloured (3 shades) but in-game window is monochrome...(1bit coded sprites and tiles)
+
 
+
*R-type : Monochrome background while sprites still are "coloured" as with Colour attributes, hence even featuring less colours than original speccy game, while the entire screen still display more than the only 4 Mode1 colours...(HUD raster trick...)
+
This game was done in 3 weeks by only one man, who simply emulated the speccy stuff on CPC (couldn't do better in 3 weeks).
+
Thank god the speccy version was so good this game is still decent on CPC.
+
 
+
Some of those games were still good, as they were yet very good on Speccy, the Amstrad Portage wasn't enough to waste it. But those remained inferior to their original Speccy counterpart (which was often smoother or faster...).
+
 
+
===Semi-lazy===
+
  
 
Well redone graphically, but not always as would actually be needed.  
 
Well redone graphically, but not always as would actually be needed.  
 
Such a waste.
 
  
 
Examples :
 
Examples :
 +
*'''HeroQuest''':  still has monochrome feeling (2 blue shades being used) while actually being properly 2 bit re-coded. Ditherings  use 3-colour gradients instead of the Spectrum's 2, and the grey adds a feeling of more colour.
 +
*'''Strider''' has recoloured sprites, displaying no attributes, but Backgrounds remains monochrome, and the game is sluggish (because the CPU must still convert 1bpp graphics into 2bpp), yet the HUD+Raster trick enable a 6 colours displayed on screen and the HUD looks good.
 +
*'''Shadow of the Beast''': No real 3-4 coloured ditherings or even additional colours thanks to dithering the 2 medium colours together in many graphics (exteriors or for many sprites), yet the square Spectrum attributes are not displayed, while the Spectrum version remains monochrome (in game window, not HUD) in order to simply avoid Colour clashes. Would have needed more development time and a real CPC version.
  
*HeroQuest :  still has monochrome feeling (2 blue shades being used) while actually being properly 2 bit re-coded... Ditherings  use 3 colours gradiants instead of the Speccy's 2, and the grey add a bit more colour feeling...sort of ... but it fails due to a poor colour strategy.
+
==Good Job==
 
+
*Strider has recoloured sprites, displaying no attributes, but Backgrounds remains monochrome, and the game sluggish (because CPU must still convert 1bpp graphics into 2bpp), yet the HUD+Raster trick enable a 6 colours displayed on screen and the HUD looks good.
+
 
+
*Shadow of the Beast : (perhaps...) No real 3-4 coloured ditherings or even "additional colours" thanks to dithering the 2 medium colours together in many graphics (Exteriors or for many sprites), yet the square speccy attributes are not displayed, while the speccy version remains monochrome (in game window, not HUD) in order to simply advert Colour clashes. Would have needed more development time and a real CPC version.
+
 
+
===Good Job===
+
 
+
 
Those games are often more to be seen as proper Cross-Dev.
 
Those games are often more to be seen as proper Cross-Dev.
  
Graphics, despite sharing a common ancestry, are well redone, and take into account the Amstrad power.
+
Graphics, despite sharing a common ancestry, are well redone, and take into account the Amstrad power. Sometimes those games are not that well ported, yet their concept and gameplay are such that this is not that important: the game is simply too good to be annoyed by such detail as the use of Mode1, and they were still sufficiently re-done.
 
+
After all, despite being slower, this is not an excuse to get the same awful looking graphics...
+
 
+
Sometimes those games are not that well "ported", yet its concept and gameplay is such that this is not That important, the game is simply too good to be wasted by such detail as the use of Mode1, and it was still sufficiently re-done.
+
  
*Head over heels
+
*'''Head over heels'''
 
[[File:Head Over Heels.png]]
 
[[File:Head Over Heels.png]]
  
On the other hand, this one was the prime exemple of what every speccy port should have been. Even the C64 version was totally like the Speccy version (monocolor game's area) while the Amstrad graphics were perfectly recoloured to use so well the lack of colour attributes. Also as this games didn't need scrollings, the animation was almost as good as in other 8 bit versions, and colour palette often changed inks, to actually get a colourfull feeling all along the game. No attributes and the no-rastercolourchange policy enable to not waste CPU ressources uselessly, while the only 4 colours are cleverly chosen and used in a cartoon styled madness...
+
This one was the prime example of what every Spectrum port should have been. Even the C64 version was totally like the Speccy version (monochromatic game's area) while the Amstrad graphics were perfectly recoloured and colour clash was avoided. Also as this games didn't need scrolling the animation was almost as good as in other 8 bit versions, and colour palette often changed inks to actually get a colourful feeling all around.
 +
*'''[[Deflektor]]''' : example of a good speccy "cross development", thanks to a clever concept. Could perhaps have been better yet the concept of the game makes it a clever port. Details like the Tape version loading parts or the good chiptunes enable a proper CPC experience.
 +
*'''Switchblade''': the GX4000 cartridge version displays extra features such as large vertical ditherings in a lot of Red shades (sky) or PLUS Hardware sprites "patches" as extra coloured tiles. This is more than enough to get a properly coloured feeling.
  
*[[Deflektor]] : exemple of a good speccy "cross development", thanks to a clever concept. Could perhaps have been better yet the concept of the game makes it a clever port, also details like the Tape version loading parts or the good chiptunes enable a proper CPC experience.
+
Some Speccy port "done right" may also use Mode 0 instead of Mode 1. Hence being graphically fully CPC (yet tiles or sprites are still comparable in dimensions). The result may vary from awful (the code is not optimised enough for CPC) great.This can be seen in '''Space Gun''': Mode 0 and even PLUS features, yet the attribute-designed-unmasked sprites remain, in a sluggish game.
  
*Switchblade : the GX4000 cartridge version is displaying extra features such as large vertical ditherings in a lot of Red shades (sky) or PLUS Hardwired sprites "patches" as extra coloured tiles...this is more than enough to get a properly coloured feeling.
+
=Techniques used=
  
 +
==Mode1 and screen dimensions==
  
Some Speccy port "done right" may also use Mode 0 instead of Mode 1... hence being graphically fully CPC (yet tiles or sprites are still comparable in dimensions).
+
The use of Mode1 enabled the CPC to keeps the same graphics as Spectrum, in appearance only. While the square pixels looks almost the same, the code was completely different. Also, the CPC being set for a 320x200 display instead of a 256x192 display, the pixels are in fact smaller on screen, hence a bigger border was needed for the exact same resolution.
  
The result may vary from awful (the code is not optimised enough for CPC) to great (alles ist richtig...).
+
This (the larger border) led to the false argument that this was the CPC resolution and therefore it was inferior to the Spectrum one, although the amount of pixels on the screen is the same.
  
Example of such games :
+
While some Spanish companies reduced the screen in order to get the game better running in low-spec 464, the infamous speccy ports just ran a reduced screen so the ZX Spectrum's code and graphics could run almost "unchanged".
*Space Gun : Mode 0 and even PLUS features, yet the attribute-designed-unmasked sprites remain, in a sluggish game.
+
  
=Technics used=
+
==Real-Time Conversion of 1bpp graphics==
  
===Mode1 and screen dimensions===
+
A common way to get the Speccy game running on a CPC was to get some routine to convert the existing and already coded 1bpp Speccy's Graphic Data (tiles and sprites in equivalent to Mode2 on CPC) into 2bpp datas (proper Mode1) when put into the video RAM. Needless to say, this enabled the port without the use of additional graphics artists, or a coder to redo the RAM mapping/addresses of such data.
  
The use of Mode1 enabled the CPC to keeps the same graphics as Spectrum, in appearance only.
+
But this came at a cost, CPU-wise since the CPU instead of simply having to take some bytes of data from reserve into the Video RAM has to convert them in real time, with the result being that a character couldn't use/display more than 2 colours while CPC had not such thing as character attributes.
  
While the square pixels looks almost the same, the code was completely different BTW.
+
==Monochromatic playfield and Sprite Masks==
  
Also CPC being set for a 320x200 display instead of a 256x192 display, the pixels are in fact smaller on screen, hence a bigger border for the exact same resolution...
+
Having a monochrome playfield on ZX Spectrum is a common way to have no colour clashes - simply because there are no colours to clash! Also, most of those games then had masked sprites. This meant that each set of sprites had another "sprite set" for the mask, being actually 2x1bpp (bit per pixel) sets of data.
  
Biased argue is to say that the CPC resolution is therefore inferior to spectrum's one, because there is a large border on CPC  while ZX Spectrum displays a smaller border.
+
Some games coders actually used this to get the Sprites coded in 2bpp and used one of the 4 inks in mode1 to be the mask. This then took up more RAM used by data than the original. As a result some of those speccy ports have sprites in another colour than the background, which is actually better in terms of playability/look.
  
The amount of pixels is exactly the same, and this looks even more detailed and finer on CPC.
+
An example of this is '''Super wonder boy''' which could have even used one more colour for the sprites, but didn't.
  
 +
Needless to say, the Background Tiles and Letter fonts were still in 1bpp converted in real time so the CPU had no rest and such games weren't faster nor that much better looking.
  
While some Spanish companies reduced the screen in order to get the game betterly running in low-specs 464... the infamous speccyports just ran a reduced screen so the ZX Spectrum's codes and graphics could run almost "unchanged".
+
On the other hand, some games, despite having such Masked sprite totaling 2bpp had absolutely no sprite re-code at all (although this could have easily been prevented). '''Black Tiger''' is such a case.
  
===Real-Time Convertion of 1bpp graphics===
+
Nevertheless, those games had one advantage : the smooth movement of sprites.
  
Here is the real grief.
+
==Masked Backgrounds==
  
A common way to get the Speccy game running on a CPC was to get some routine to convert the existing and already coded 1bpp Speccy's Graphic Datas (Tiles and sprites... in equivalent to Mode2 on CPC) into 2bpp datas (proper Mode1) when put into the video RAM.
+
Some (rare) games actually used a mask for the Bakcground tiles too. This explains why they could be fully recoded with no notable additional weight for the data. Such games are often Isometric games and are considered among the good speccy ports (or actual Cross-Dev).
  
Needless to say, this enabled to use no additionnal graph artist (a costly man at the time) to redrawn the Graphic Datas...
+
'''Examples :'''
  
Nor a coder to re-code the RAM mapping/addresses of such datas...
+
*'''Heroquest''': the Background tiles are also in 3 colours. Yet there is a really poor use of the mask colour.
 
+
*'''Head over Heels''': yet the colours are better used than in Heroquest. If you look carefully, there are 2 kind of "background" elements.  
But this have a cost CPU wise... the CPU instead of simply take some bytes of datas from reserve into Video RAM, have to convert this along the way too.
+
 
+
And the result was that a character couldn't use/display more than 2 colours... while CPC had not such thing as character attributes.
+
 
+
===Monocolour playfield and Sprite Masks===
+
 
+
*Having a monocolour playfield on ZX Spectrum is a common way to have no colour clashes... Simply because you have no colours.
+
 
+
*Most of those games then had masked sprites.
+
 
+
This means that each set of sprites have another "sprite set" for the mask, being actually 2x1bpp (bit per pixel) set of Datas.
+
 
+
Some games coders actually used this to get the Sprites coded in 2bpp and used one of the 4 inks in mode1 to be the mask. This then made no more RAM used by Datas as the original.
+
 
+
As a result some of those speccy ports have sprites in another colour than the background, which is actually better in term of playability/look.
+
 
+
'''exemples :'''
+
 
+
*Super wonder boy : could have even used one more colours for the sprites, but didn't..
+
*Double dragon 3 : this one had the Sprites actually in a monochromatic 3 colours.
+
 
+
Needless to say, the Background Tiles and Letter fonts were still in 1bpp converted ATM of display... so the CPU had no rest and such games weren't faster nor that much better looking.
+
 
+
'''Some games, despite having such Masked sprite totalling 2bpp... had absolutly no sprite re-code at all... while they could easily had this.'''
+
 
+
*Black tiger is such an infamous case.
+
 
+
Those games had one advantage : the smooth movement of sprites.
+
 
+
===Masked Backgrounds===
+
 
+
Some (rare) games actually used a mask for the Bakcground tiles too. This explains why they could be fully recoded with no notable additionnal weight for the Data.
+
 
+
Such games are often Isometric games and categorized into the GOOD speccy ports (or actual Cross-Dev).
+
 
+
'''exemples :'''
+
 
+
*Heroquest : the Background tiles are also in 3 colours. Yet there is a really poor use of the colour used for the mask.
+
 
+
*Head over Heels : probably... yet the colours are betterly used than in Heroquest. If you look carefully, there are 2 kind of "background" elements...  
+
 
**Real non-masked Background (floor, walls) which use  the full 4 colours,  
 
**Real non-masked Background (floor, walls) which use  the full 4 colours,  
**and masked elements such as...Sprites, Doors, Platforms... which are 3 colours only.
+
**and masked elements such as Sprites, Doors, Platforms... which are 3 colours only.
 
+
===Unmasked games and CPC colour clashes===
+
 
+
Such a shame... the laziest amongst the worst and the Bad.
+
 
+
*Bionic Commando : need I say more ?
+
*Enduro Racer : turn based racing? (Dixit ssg, thx for the snipe, mate...)
+
 
+
===Attribute based Sprites and Animation===
+
 
+
Such games had no smooth movement of sprites. You moved the sprite "character per character".
+
 
+
As such the sprites are unmasked, being not really more than tiles-mapping...
+
 
+
This means the sprites must actually fill the characters or you get the unmasked character's corner artefacts.
+
 
+
This was a "good" other way to get rid of Attributes Clashes and having actual "colours" on ZX Spectrum. But some speccy ports were then emulating the attribute system... which can be quite bad because CPC in Mode1 has Half colours the Speccy has.
+
So on CPC... this was often not ported that properly.
+
 
+
*R-Type.
+
 
+
*Space gun : this game being quite late in CPC era... it is not really good and was probably rushed to the release. Yet the Character based engine enables "enormous sprites", but lacks the smooth movement.
+
 
+
Such technic was actually used for quite a good amount of Mode0 games... This is not "Speccy port" speccyfic (Pun!) but it is good to have it mentionned, as a common game design technic for both machines.
+
 
+
*AMC (astro Marines corps) : done well.
+
*Satan : done well too.
+
 
+
Thx to spanish game-makers...
+
 
+
===Rasters===
+
 
+
A common cheat was to get some Raster interrupt colour change so you could argue that the game is actually displaying more than 4 colours on screen while being Mode1.
+
 
+
This is only to mimic some sort or Raster based Colours attributes.
+
 
+
And this is actually not a clever move in many way as getting some raster interrupt may have some heavy-weight on the CPU.
+
 
+
And despite the game "displaying more than the allowed colours on screen", the games playfield was still monocolour !!!
+
 
+
All this did was getting the game even slowlier.
+
 
+
On the other hand this could also be done right.
+
 
+
*Deflektor : Raster done right.
+
*Strider : Raster done right. (useless but good looking)
+
 
+
 
+
*Thundercats : ok, this one actually add "playfield colours".. sort of.
+
 
+
 
+
*R-Type : Failed!
+
*PacMania : Failed!
+
*Black Tiger : every thing is desperatly failed on this one !
+
 
+
Many (if not all) of those games can actually run faster just by getting rid of this CPU-wasting rasters..!
+
 
+
Providing a game had to deal with 1bpp to 2 bpp convertion, Software Sprites and Scrollings... and complicated gameplay... adding some Raster interrupt to the equation is a real dickmove and a good way to waster further more CPU time.
+
 
+
===Partial code re-use for proper CPC games===
+
 
+
Some CPC games are in mode0 yet the similarities with the speccy version are still obvious.
+
 
+
OCEAN was actually a lot into this... but thx to a more professional Graphic treatment (compared to many other british companies) and actually good portage policies (not that always) this produced some of the finest CPC games.
+
  
Those games are exemples of Cross-dev done right. They remains quite playable because the CPU don't waste time to decipher 1bpp graphics or get Rasters interrupts.
+
==Unmasked games and CPC colour clashes==
 +
This category includes some of the worse examples, since actual Spectrum deficiencies were ported to the CPC.
  
*Robocop.
+
*'''Bionic Commando'''
*Chase HQ.
+
*'''Enduro Racer'''
  
Some of those games were Mode1 but fully supported the 2bpp re-coding of graphics done right (by a human before, not by the CPU after...) hence got properly coloured Backgrounds.
+
==Attribute based Sprites and Animation==
 +
Such games had no smooth movement of sprites. The sprite moved "character per character". As such the sprites are unmasked, being not really more than "tile-mapped". This meant the sprites had to actually fill the character tile or there would be artifacts introduced for the unmasked character's corner.
  
The problem : those would have needed more tight coding because those are big games...
+
This was a "good" other way to get rid of Attributes Clashes and having actual "colours" on ZX Spectrum. But some speccy ports were then emulating the attribute system, which can be quite bad because CPC in Mode1 has half the colours the Speccy has.
  
*Shadow of the Beast : basically an almost playable Amiga Demo from the start... this just turns into a quite good speccypork on CPC. The "cartoonish border Snakes" are infamous though...
+
*'''R-Type'''
*Midnight resistance : some elements such as the "projectiles" sprites (bullets, explosions) are certainly far too big on CPC to get this smooth and fast enough. Also some animations should have skipped a few frames to lighten the thing. But hey, this is quite some exemple of Mode1 looking good...
+
*'''Space gun''': this game, although coming in the CPC era is not really good and was probably rushed to the release. Yet the Character based engine enabled enormous sprites - but lacked smooth movement. Such a technique was actually used for quite a fair amount of Mode0 games. This is not "Speccy port" but it is good to to mention, as it was a common game design technique for both machines.
 +
*'''AMC (Astro Marines corps)'''
 +
*'''Satan'''
  
 +
==Rasters==
 +
A common cheat was to get some Raster interrupt colour change so you could argue that the game is actually displaying more than 4 colours on screen while being Mode1. This is only to mimic some sort or Raster based Colours attributes yet is actually not a clever move in some way as getting some raster interrupt may take lots of CPU cycles. Also, despite the game displaying more than the allowed colours on screen, the playing area was still monochrome. In the end, all this did was getting the game even slower.
  
*Wec le Mans : excellent CPC version. Just slightly slow... Burnin' Rubber is the Plus version of this game, sort of.
+
On the other hand this could also be done right:
 +
*'''Deflektor''' : Raster done right.
 +
*'''Strider''' : Raster done right. (useless but good looking)
 +
*'''Thundercats''' : (though there are more playing area colours)
 +
*'''R-Type'''
 +
*'''PacMania'''
 +
*'''Black Tiger'''
  
Anyway, not every thing is bad...
+
Many (if not all) of those games can actually run faster just by getting rid of CPU-wasting rasters.
  
Z80 machines shared the same CPU and a good code remains a good code, provided it let enough "space" for heavier Video systems.
+
Providing a game had to deal with 1bpp to 2 bpp conversion, Software Sprites and Scrolling and complicated gameplay, adding some Raster interrupt to the equation is a really bad move and a good way to waste even more CPU time.
  
Such games as Robocop, Batman, chase HQ or Wec Le Mans weren't as fast as on Speccy on CPC... yet the great graphisms and sounds were more than enough to compensate well.
+
==Partial code re-use for proper CPC games==
  
 +
Some CPC games are in mode0 yet the similarities with the speccy version are still obvious. [[Ocean]] was actually a lot into this, but thanks to a more professional graphic treatment (compared to many other British companies) and actually good porting tactics (though not always the case) this produced some of the finest CPC games.
  
 +
Those games are examples of Cross-dev done right. They remain quite playable because the CPU doesn't waste time to decipher 1bpp graphics or get Rasters interrupts.
  
 +
*'''Robocop'''
 +
*'''Chase HQ'''
  
 +
Some of the games below were Mode1 but fully supported the 2bpp re-coding of graphics done right (by a human, not by the CPU in real time) hence got properly coloured backgrounds.
  
 +
*'''Shadow of the Beast''': basically an almost playable Amiga Demo from the start this just turns into a quite good speccy port on CPC.
 +
*'''Midnight Resistance''' : some elements such as the projectile sprites (bullets, explosions) are certainly far too big on the CPC to get it smooth and fast enough. Also some animations should have skipped a few frames to lighten the proceedings. But at least this is an example of Mode1 looking good...
 +
*'''Wec le Mans''': excellent CPC version, just a bit on the slow side. Burnin' Rubber is the Plus version of this game, sort of.
  
  
 
[[Category: Games| ]][[Category:Programming]][[Category:Games Programming]][[Category:CrossDev]][[Category:CPC History]]
 
[[Category: Games| ]][[Category:Programming]][[Category:Games Programming]][[Category:CrossDev]][[Category:CPC History]]

Revision as of 03:38, 18 April 2011

A Speccy Port or Spectrum port is the name given to a game which has been converted directly from the Sinclair Spectrum with little or no changes to the Amstrad CPC. Often the Amstrad version ended up fairing worse than the original Spectrum version (though some games actually ended up pretty decent).


Reasons

The ZX Spectrum shared the same CPU as the Amstrad CPC and had a simple graphics display. Given that the Spectrum was very popular with the CPC having a much smaller market share, to save on time and money (a typical Spectrum port to the Amstrad is said to have been done in 3 days), the Spectrum code was re-used.

The Amstrad screen was reduced in size to match the Spectrum's and often most of the colour was removed. Most spectrum ports were done in Video Mode 1 (4 colour mode), because the resolution of this mode matched the resolution of the Spectrum, and this allowed the use of the same graphics.

Speccy ports were also seen on the MSX and Enterprise.

Most of them got their graphic totally unchanged, displaying some kind of colour attributes "artifacts", a tell-tale sign of a Speccy port.

This phenomenon was more prominent in the UK, where the Speccy was the dominant machine. In other markets, such as France of Spain, where the CPC was very popular, games were coded from scratch for the CPC, often using an Atari ST for Cross Development


Consequences

The Amstrad CPC was one of the best 8-bit computers of its time in terms of graphical capabilities. But those advanced capabilities had an impact on CPU resources. As so many games were ported from the Spectrum, a machine with decidedly lower visual specs, the Amstrad range could hardly benefit from its main advantage while lack of optimization meant that aspects as scroll or playing area fared even worse than the Spectrum versions. You have to remember that Spectrum had less resources taken by Video RAM, so could handle animation or scrolling more easily. It is also a misconception to believe the screen was downsized in those games to gain processor resources. It was only done to use the Speccy graphics more easily, and we can doubt the code was (re-)designed so such a screen reduction would even gain CPU resources.

Interestingly, games in Mode 1 could have been good despite the lack of colours, if only those colours were used properly more often.

On a more positive tone, those speccy ports had the merit to exist, or else Amstrad may have a smaller games catalogue.

On the other hand, as mentioned before, those games weren't always bad. Games with no need of scrolling and with re-coded graphics could actually be good.


The killer-list of the infamous speccy ports

Note: these lists are by no means comprehensive, they just include the most high-profile releases.

Computer originals Hits

(most of them ended up being decent) :

  • H.A.T.E
  • Highway encounter
  • Lotus turbo Esprit challenge
  • Fighting Warrior
  • Vendetta
  • Hard Drivin'
  • Way of the Tiger
  • Last Ninja2
  • Saboteur I
  • Saboteur II

The numerous CodeMaster or Hewson games are not listed. Many of them were cheap budget Speccy games to begin with, and were quite well ported or remained good...

Well known franchises

  • Scooby Doo
  • Thundercats.
  • MASK 3 : Venom Strike Back
  • Airwolf 2

Adult games

  • Sabrina
  • Samantha fox strip poker.
  • Strip poker II

Movie Franchises

  • Indianna Jones 3 action game.
  • Back to the future 2 (half parts were straight speccyporked)
  • Big Trouble In Little China

Arcade hits

  • R-Type
  • PacMania
  • Salamander
  • Dragon Breed
  • Scramble spirit
  • Black Tiger
  • Strider
  • Bionic Commando
  • SuperWonderboy
  • Double Dragon3
  • Super Hang-On
  • Enduro Racer
  • Toobin
  • Xybots
  • Pit fighter
  • Cabal
  • Street Fighter
  • Kharnov

Special Category of Death

  • Myth, history in the making (grrrrr).
  • Gauntlet 3
  • SWIV
  • Shadow of the beast
  • Midnight resistance

The top list of the speccy ports

All those games are frequently used in 8bit wars style videos and reviews, hence they have served as a counter-argument to the CPC's superior abilities. Those games were well known hits ported on pretty much all computers of their time and therefore constituted the very basis of comparison between most systems of the era.

  • Shadow of the beast
  • Myth, history in the making
  • Gauntlet 3
  • SWIV
  • R-Type
  • PacMania
  • Salamander
  • Dragon Breed
  • Scramble spirit
  • Black Tiger
  • Strider
  • Bionic Commando
  • SuperWonderboy
  • Double Dragon3
  • Super Hang-On
  • Enduro Racer
  • Toobin
  • Xybots
  • Pit fighter
  • Cabal
  • Last Ninja2
  • Thundercats.
  • Hard Drivin'
  • Sabrina
  • Samantha fox strip poker.
  • Strip Poker II
  • Airwolf 2
  • Indianna Jones 3 action game.
  • Back to the future 2
  • Vendetta

The 3 levels of Speccy porting

Of course the level of porting could greatly depend on whatever strategy the programmers/graphists used to get rid of the poor Video speccy's specificities for the original game.

  • A monochrome game could remain monochrome or be recolored for the CPC, or only parts of it (only sprites or Tiles but not both - mostly only sprites.)
  • A colored game with design-wise graphics (character based design) could be the exact same yet with even less colours.
  • Or Tiles/sprites could simply be completely well re-done/re-drawn, even in Mode 0 sometimes.

Rushed and Lazy

The game is exactly as on the Spectrum, even displaying graphical artifacts as Colour attributes and/or monochrome display for the game's window but not always the HUD, which may even often feature extra colours thanks to Raster colour changes, yet this doesn't really help to see what happens on the game's window.

Also sprites may display Transparency/translucency with background's colour, a typical Spectrum "feature".

Probably achieved by using almost the exact Spectrum code and emulating the Spectrum attributes on the CPC.

Examples :

  • PacMania

Pacmania title.png Pac04.png

Typical example, yet it managed to be a nice game despite this. The title screen and HUD shows the color attributes and were almost completely unchanged, yet with less colours on screen than the Speccy version.

Ironically, the game manages to display 6 colours in the 4 colours Mode1 - yet the game's area remains completely monochromatic (coded in 1 bit) and colour attributes artifacts are still present.

  • Black Tiger: Same as PacMania
  • Super Hang On : graphics Transparency/translucency
  • Enduro Racer : same as Super Hang On, even more displayed as Sprites more often cross the different colored parts of the screen (while jumping)
  • Bionic Commando : there are even inverted/negative colored sprites
  • Sabrina : same as Bionic commando
  • Gauntlet 3 : HUD is properly recolored (3 shades) but in-game window is monochrome (1bit coded sprites and tiles)
  • R-type : Monochrome background while sprites still are "coloured" as with Colour attributes, hence even featuring less colours than original Spectrum game, while the entire screen still displays more than the only 4 Mode1 colours...(HUD raster trick). This game was done in 3 weeks by only one man, who simply emulated the speccy stuff on CPC. Given that the Spectrum game was a great release the CPC port is not too bad.

Semi-lazy

Well redone graphically, but not always as would actually be needed.

Examples :

  • HeroQuest: still has monochrome feeling (2 blue shades being used) while actually being properly 2 bit re-coded. Ditherings use 3-colour gradients instead of the Spectrum's 2, and the grey adds a feeling of more colour.
  • Strider has recoloured sprites, displaying no attributes, but Backgrounds remains monochrome, and the game is sluggish (because the CPU must still convert 1bpp graphics into 2bpp), yet the HUD+Raster trick enable a 6 colours displayed on screen and the HUD looks good.
  • Shadow of the Beast: No real 3-4 coloured ditherings or even additional colours thanks to dithering the 2 medium colours together in many graphics (exteriors or for many sprites), yet the square Spectrum attributes are not displayed, while the Spectrum version remains monochrome (in game window, not HUD) in order to simply avoid Colour clashes. Would have needed more development time and a real CPC version.

Good Job

Those games are often more to be seen as proper Cross-Dev.

Graphics, despite sharing a common ancestry, are well redone, and take into account the Amstrad power. Sometimes those games are not that well ported, yet their concept and gameplay are such that this is not that important: the game is simply too good to be annoyed by such detail as the use of Mode1, and they were still sufficiently re-done.

  • Head over heels

Head Over Heels.png

This one was the prime example of what every Spectrum port should have been. Even the C64 version was totally like the Speccy version (monochromatic game's area) while the Amstrad graphics were perfectly recoloured and colour clash was avoided. Also as this games didn't need scrolling the animation was almost as good as in other 8 bit versions, and colour palette often changed inks to actually get a colourful feeling all around.

  • Deflektor : example of a good speccy "cross development", thanks to a clever concept. Could perhaps have been better yet the concept of the game makes it a clever port. Details like the Tape version loading parts or the good chiptunes enable a proper CPC experience.
  • Switchblade: the GX4000 cartridge version displays extra features such as large vertical ditherings in a lot of Red shades (sky) or PLUS Hardware sprites "patches" as extra coloured tiles. This is more than enough to get a properly coloured feeling.

Some Speccy port "done right" may also use Mode 0 instead of Mode 1. Hence being graphically fully CPC (yet tiles or sprites are still comparable in dimensions). The result may vary from awful (the code is not optimised enough for CPC) great.This can be seen in Space Gun: Mode 0 and even PLUS features, yet the attribute-designed-unmasked sprites remain, in a sluggish game.

Techniques used

Mode1 and screen dimensions

The use of Mode1 enabled the CPC to keeps the same graphics as Spectrum, in appearance only. While the square pixels looks almost the same, the code was completely different. Also, the CPC being set for a 320x200 display instead of a 256x192 display, the pixels are in fact smaller on screen, hence a bigger border was needed for the exact same resolution.

This (the larger border) led to the false argument that this was the CPC resolution and therefore it was inferior to the Spectrum one, although the amount of pixels on the screen is the same.

While some Spanish companies reduced the screen in order to get the game better running in low-spec 464, the infamous speccy ports just ran a reduced screen so the ZX Spectrum's code and graphics could run almost "unchanged".

Real-Time Conversion of 1bpp graphics

A common way to get the Speccy game running on a CPC was to get some routine to convert the existing and already coded 1bpp Speccy's Graphic Data (tiles and sprites in equivalent to Mode2 on CPC) into 2bpp datas (proper Mode1) when put into the video RAM. Needless to say, this enabled the port without the use of additional graphics artists, or a coder to redo the RAM mapping/addresses of such data.

But this came at a cost, CPU-wise since the CPU instead of simply having to take some bytes of data from reserve into the Video RAM has to convert them in real time, with the result being that a character couldn't use/display more than 2 colours while CPC had not such thing as character attributes.

Monochromatic playfield and Sprite Masks

Having a monochrome playfield on ZX Spectrum is a common way to have no colour clashes - simply because there are no colours to clash! Also, most of those games then had masked sprites. This meant that each set of sprites had another "sprite set" for the mask, being actually 2x1bpp (bit per pixel) sets of data.

Some games coders actually used this to get the Sprites coded in 2bpp and used one of the 4 inks in mode1 to be the mask. This then took up more RAM used by data than the original. As a result some of those speccy ports have sprites in another colour than the background, which is actually better in terms of playability/look.

An example of this is Super wonder boy which could have even used one more colour for the sprites, but didn't.

Needless to say, the Background Tiles and Letter fonts were still in 1bpp converted in real time so the CPU had no rest and such games weren't faster nor that much better looking.

On the other hand, some games, despite having such Masked sprite totaling 2bpp had absolutely no sprite re-code at all (although this could have easily been prevented). Black Tiger is such a case.

Nevertheless, those games had one advantage : the smooth movement of sprites.

Masked Backgrounds

Some (rare) games actually used a mask for the Bakcground tiles too. This explains why they could be fully recoded with no notable additional weight for the data. Such games are often Isometric games and are considered among the good speccy ports (or actual Cross-Dev).

Examples :

  • Heroquest: the Background tiles are also in 3 colours. Yet there is a really poor use of the mask colour.
  • Head over Heels: yet the colours are better used than in Heroquest. If you look carefully, there are 2 kind of "background" elements.
    • Real non-masked Background (floor, walls) which use the full 4 colours,
    • and masked elements such as Sprites, Doors, Platforms... which are 3 colours only.

Unmasked games and CPC colour clashes

This category includes some of the worse examples, since actual Spectrum deficiencies were ported to the CPC.

  • Bionic Commando
  • Enduro Racer

Attribute based Sprites and Animation

Such games had no smooth movement of sprites. The sprite moved "character per character". As such the sprites are unmasked, being not really more than "tile-mapped". This meant the sprites had to actually fill the character tile or there would be artifacts introduced for the unmasked character's corner.

This was a "good" other way to get rid of Attributes Clashes and having actual "colours" on ZX Spectrum. But some speccy ports were then emulating the attribute system, which can be quite bad because CPC in Mode1 has half the colours the Speccy has.

  • R-Type
  • Space gun: this game, although coming in the CPC era is not really good and was probably rushed to the release. Yet the Character based engine enabled enormous sprites - but lacked smooth movement. Such a technique was actually used for quite a fair amount of Mode0 games. This is not "Speccy port" but it is good to to mention, as it was a common game design technique for both machines.
  • AMC (Astro Marines corps)
  • Satan

Rasters

A common cheat was to get some Raster interrupt colour change so you could argue that the game is actually displaying more than 4 colours on screen while being Mode1. This is only to mimic some sort or Raster based Colours attributes yet is actually not a clever move in some way as getting some raster interrupt may take lots of CPU cycles. Also, despite the game displaying more than the allowed colours on screen, the playing area was still monochrome. In the end, all this did was getting the game even slower.

On the other hand this could also be done right:

  • Deflektor : Raster done right.
  • Strider : Raster done right. (useless but good looking)
  • Thundercats : (though there are more playing area colours)
  • R-Type
  • PacMania
  • Black Tiger

Many (if not all) of those games can actually run faster just by getting rid of CPU-wasting rasters.

Providing a game had to deal with 1bpp to 2 bpp conversion, Software Sprites and Scrolling and complicated gameplay, adding some Raster interrupt to the equation is a really bad move and a good way to waste even more CPU time.

Partial code re-use for proper CPC games

Some CPC games are in mode0 yet the similarities with the speccy version are still obvious. Ocean was actually a lot into this, but thanks to a more professional graphic treatment (compared to many other British companies) and actually good porting tactics (though not always the case) this produced some of the finest CPC games.

Those games are examples of Cross-dev done right. They remain quite playable because the CPU doesn't waste time to decipher 1bpp graphics or get Rasters interrupts.

  • Robocop
  • Chase HQ

Some of the games below were Mode1 but fully supported the 2bpp re-coding of graphics done right (by a human, not by the CPU in real time) hence got properly coloured backgrounds.

  • Shadow of the Beast: basically an almost playable Amiga Demo from the start this just turns into a quite good speccy port on CPC.
  • Midnight Resistance : some elements such as the projectile sprites (bullets, explosions) are certainly far too big on the CPC to get it smooth and fast enough. Also some animations should have skipped a few frames to lighten the proceedings. But at least this is an example of Mode1 looking good...
  • Wec le Mans: excellent CPC version, just a bit on the slow side. Burnin' Rubber is the Plus version of this game, sort of.