Difference between revisions of "Games"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Hardware Scrolling)
 
(45 intermediate revisions by 8 users not shown)
Line 1: Line 1:
This page covers important facts concerning the Amstrad CPC/Plus games.
+
This page covers important facts concerning the Amstrad CPC/Plus games.  Visit [[Current_Sources_Of_Software]] for sources of new games.
  
 
With a list of Software houses, and the various and notable technics used in well known games.
 
With a list of Software houses, and the various and notable technics used in well known games.
Line 5: Line 5:
 
'''''For a more complete list of games or game related topics, check the "category:games" (and all its subcategories) at the bottom of this page.'''''
 
'''''For a more complete list of games or game related topics, check the "category:games" (and all its subcategories) at the bottom of this page.'''''
  
 +
==All games scores as reviewed by Amstrad Action==
 +
*[[Amstrad_Action_ratings | Amstrad Action Ratings]]
  
 
== All-time top games  ==
 
== All-time top games  ==
Line 13: Line 15:
  
 
*[[A&F Software]]
 
*[[A&F Software]]
 +
*[[Ace Software]]
 
*[[Activision|Activision]]
 
*[[Activision|Activision]]
 
*[[Advanced Software Promotions]]  
 
*[[Advanced Software Promotions]]  
Line 28: Line 31:
 
*[[Blaby Computer Games]]
 
*[[Blaby Computer Games]]
 
*[[Blue Ribbon]]
 
*[[Blue Ribbon]]
 +
*[[(BES) Bourne Educational Software]]
 
*[[Bubble Bus Software]]  
 
*[[Bubble Bus Software]]  
 +
*[[Budgie]]
 
*[[Bug-Byte]]
 
*[[Bug-Byte]]
 
*[[Byte Back]]
 
*[[Byte Back]]
Line 62: Line 67:
 
*[[Iber Software]]
 
*[[Iber Software]]
 
*[[Image Works|Image Works]]  
 
*[[Image Works|Image Works]]  
 +
*[[Josh|Josh]]
 
*[[Ocean|Imagine]]  
 
*[[Ocean|Imagine]]  
 
*[[Incentive Software|Incentive]]
 
*[[Incentive Software|Incentive]]
Line 122: Line 128:
  
 
* [[Lenslok]]
 
* [[Lenslok]]
 +
* [[Loaders]]
  
== Loading music  ==
+
== Loaders ==
  
=== Cassette  ===
+
* [[Loaders]]
  
Loading from cassette effectively uses all the CPU's time because you have to keep checking the cassette signal to see if it has changed, and you use a CPU timing loop to calculate length of signal.
+
== Games that can be started by joystick ==
  
So to do music and other things during loading requires precise timing. The C64 effectively had interrupt driven loading music and the serial chip handled clocking in of the data bits and signalled an interrupt when the byte of data was ready.  
+
This is a list of games that can be started from joystick. There are not as many as you would think.
  
<br>
+
* Anarchy
 +
* Nebulus
 +
* Puzznic
 +
* Ranarama
 +
* Ping Pong
 +
* Donkey Kong
  
I think only Firebird games had loading music on cassette. The music was composed by Melvyn Wright ([http://www.melright.com www.melright.com]). The music data was embeded into the data on cassette. The data was read as a group of 3 bits and 8 data bits. The 3 bits determined if the 8 data bits were for data&nbsp;or for music.
+
== Programming methods used in games ==
  
<br>
+
* [[Programming methods used in games]]
 +
* [[Guidelines for Programming games]]
  
This list is not complete, please add more. Will upload YM&nbsp;of the loading music soon.
+
== Porting ==
  
<br>
+
The method of converting game/data from one system to another, often with results that are not as good as if the game had been made/designed for the CPC from the beginning.
  
{| class="FCK__ShowTableBorders"
+
*[[C64 Port]]
|-
+
*[[Speccy Port]]
|Game
+
*[[Direct Disk to Cartridge Port]]
|Loading music
+
|-
+
|Booty
+
|
+
|-
+
|Comet Game (The)
+
|[[Media:Comet_game_%28the%29-loader.ym|Media:Comet_game_(the)-loader.ym]]<br>
+
|-
+
|Harvey Headbanger
+
|[[Media:Harvey_headbanger-loader.ym|Media:Harvey_headbanger-loader.ym‎]]  
+
|-
+
|Thrust
+
|[[Media:Thrust.ym]]
+
|-
+
|Spiky Harold
+
|[[Media:Spiky_harold-loader.ym|Media:Spiky_harold-loader.ym]]
+
|}
+
  
=== Disc  ===
+
== Scene conversions ==
  
The disc system on the Amstrad is "polled" which means the CPU&nbsp;has to keep checking if the FDC&nbsp;(NEC765)&nbsp;has more data to read/write. On the C64 the disc system is interrupt driven.
+
* [[Converted_GX4000_games| Games converted to Cartridge format]]
 +
* [[ROM_List#Game_ROMs | Games converted to ROM format]]
  
So to do music while loading requires careful timing and often the use of very small sectors (128bytes).
+
== External links ==
  
<br>
+
* A look at 464 CPC games by Novabug
 
+
{{#ev:youtube|Vh9ZpaPbfsw|340}}
ZapTBalls
+
 
+
The Demo
+
 
+
5KB&nbsp;Demo 3
+
 
+
Midline Process
+
 
+
Orion Prime
+
 
+
Batman Forever
+
<br>
+
 
+
<br>
+
 
+
== Games Which use hardware tricks (on old generation cpcs)  ==
+
 
+
Useful if you want to dissect games to work out how they did it.
+
 
+
Please move to somewhere more appropiate
+
 
+
<br>
+
 
+
=== Page Flipping  ===
+
 
+
Most good CPC games use the page-flipping technique in order to display sprites and/or scroll the playing area smoothly. In particular, two memory areas (instead of one) are reserved for the screen ram. In each frame, one of the two screens is displayed in turn, by using the hardware (exactly by changing the screen-offset, Reg 12 and 13 of the [[CRTC|CRTC]]). At the same time, the next frame is being drawn in the non-visible screen until the next frame fly back signal. Then, the same cycle is repeated for each following frame.
+
 
+
The big advantage of this technique is that we can use a whole frame's machine-time for our code (with no animation problems that arise when we alter screen ram at the same time the electron beam displays it on the monitor). On the other hand, page flipping eats up a lot of memory area (which is crucial especially for 64Kb machines). This explains why a lot of games have very small game-areas&nbsp;!
+
 
+
=== Hardware Scrolling  ===
+
 
+
Hardware scrolling is performed by changing the CRTC registers 12 and 13 (start address).
+
 
+
The scrolling is normally 1 CRTC char (4 mode 0 pixels, 8 mode 1 pixels or 16 mode 2 pixels) in the horizontal and 1 char line (scroll amount dependant on R9 - Max raster but normally 8 scanlines) vertically.
+
 
+
Horizontal scrolling can be made smoother by using R3 (Hsync Width) and makes the scrolling effectively half a CRTC char (2 mode 0 pixels, 4 mode 1 pixels, 8 mode 2 pixels).
+
This effect works well on Amstrad monitors but produces a black and white image on a MP-2 modulator because of the adjusted HSYNC timing.
+
 
+
Vertical scrolling can be made smoother by using R5 (Vertical Adjust) in combination with Rupture/Splitting to make perfect 1 scanline vertical scrolling.
+
This works on all monitors.
+
 
+
This following is a list of games using hardware scrolling.
+
 
+
{| class="FCK__ShowTableBorders"
+
|-
+
| ''Title''
+
| ''Year''
+
| ''Vertical''
+
| ''Horizontal''
+
| ''R3''
+
| ''R5''
+
| ''Confirmed''
+
|-
+
| [[3D Stunt Rider|3D Stunt Rider]]
+
| 1985
+
| No
+
| Yes
+
| No
+
| No
+
| Yes
+
|-
+
| [[Action Force|Action Force]]
+
| 1988
+
| No
+
| Yes
+
| No
+
| No
+
| Yes
+
|-
+
| [[Anarchy|Anarchy]]
+
| 1988
+
| No
+
| Yes
+
| No
+
| No
+
|-
+
| [[Axys|Axys]]
+
| 1991
+
| Yes
+
| No
+
| No
+
| Yes
+
| Yes
+
|-
+
 
+
| [[BMX Kidz|BMX Kidz]]
+
| 1988
+
| No
+
| Yes
+
| No
+
| No
+
| Yes
+
|-
+
 
+
| [[Bob Morane Science Fiction|Bob Morane Science Fiction]]
+
| 1987
+
| Yes
+
| Yes
+
| No
+
| No
+
|-
+
| [[Builderland|Builderland]]
+
| 1991
+
| No
+
| Yes
+
| No
+
| No
+
|-
+
 
+
| [[Cyborgs|Cyborgs]]
+
| 1991
+
| Yes
+
| Yes
+
| Yes
+
| Yes
+
| Yes
+
|-
+
 
+
| [[Doctor Who And The Mines Of Terror|Doctor Who And The Mines Of Terror]]
+
| 1986
+
| Yes
+
| Yes
+
| No
+
| No
+
| Yes
+
|-
+
 
+
| [[FlySpy|FlySpy]]
+
| 1986
+
| Yes
+
| Yes
+
| No
+
| No
+
|-
+
| [[Fusion 2|Fusion 2]]
+
| 1988
+
| No
+
| Yes
+
| No
+
| No
+
|-
+
| [[Gothic|Gothic]]
+
| 1988
+
| Yes
+
| Yes
+
| No
+
| Yes
+
|-
+
| [[Ghosts 'n' Goblins|Ghosts 'n' Goblins]]
+
| 1986
+
| No
+
| Yes
+
| No
+
| No
+
| Yes
+
|-
+
 
+
| [[Ghouls 'n' Ghosts|Ghouls 'n' Ghosts]]
+
| 1989
+
| No
+
| Yes
+
| No
+
| No
+
| Yes
+
|-
+
 
+
| [[Jinks|Jinks]]
+
| 1988
+
| No
+
| Yes
+
| Yes
+
| No
+
| Yes
+
|-
+
| [[Killer Cobra|Killer Cobra]]
+
| 1987
+
| No
+
| Yes
+
| Yes
+
| No
+
| Yes
+
|-
+
| [[Led Storm|Led Storm]]
+
| 1988
+
| Yes
+
| No
+
| No
+
| Yes
+
| Yes
+
|-
+
| [[Legend of Kage|Legend of Kage]]
+
| 1986
+
| Yes
+
| Yes
+
| Yes
+
| Yes
+
|-
+
| [[Leviathan|Leviathan]]
+
| 1987
+
| Diagonal
+
| scroll!
+
| No
+
| No
+
| Yes
+
|-
+
| [[Le 5eme Axe|Le 5eme Axe]]
+
| 1985
+
| Yes
+
| Yes
+
| No
+
| No
+
|-
+
| [[Mission Genocide|Mission Genocide]]
+
| 1987
+
| Yes
+
| No
+
| No
+
| Yes
+
| Yes
+
|-
+
| [[Monty Python's Flying Circus|Monty Python's Flying Circus]]
+
| 1990
+
| Yes
+
| Yes
+
| No
+
| No
+
| Yes
+
|-
+
| [[Octoplex|Octoplex]]
+
| 1989
+
| Yes
+
| Yes
+
| No
+
| Yes(?)
+
| Yes
+
|-
+
| [[Out Of This World|Out Of This World]]
+
| 1987
+
| No
+
| Yes
+
| Yes
+
| No
+
| Yes
+
|-
+
| [[Paraplane|Paraplane]]
+
| 1992
+
| Yes
+
| Yes
+
| No
+
| No
+
|-
+
| [[Plate-Forme|Plate-Forme]]
+
| 1988
+
| No
+
| Yes
+
| No
+
| No
+
| Yes
+
|-
+
| [[Prehistorik 2|Prehistorik 2]]
+
| 1992
+
| Yes
+
| Yes
+
| Yes
+
| Yes
+
| Yes
+
|-
+
| [[Prohibition|Prohibition]]
+
| 1987
+
| Yes
+
| Yes
+
| No
+
| No
+
| Yes
+
|-
+
 
+
| [[Realm!|Realm!]]
+
| 1987
+
| Yes
+
| Yes
+
| No
+
| No
+
| Yes
+
|-
+
 
+
 
+
| [[Rick Dangerous 2|Rick Dangerous 2]]
+
| 1990
+
| No
+
| Yes
+
| No
+
| No
+
|-
+
| [[Roland On the Ropes|Roland On the Ropes]]
+
| 1984
+
| Yes
+
| Yes
+
| No
+
| No
+
|-
+
| [[Sentinel (The)|Sentinel (The)]]
+
| 1987
+
| Yes
+
| Yes
+
| No
+
| No
+
| Yes
+
|-
+
| [[Skate Ball|Skate Ball]]
+
| 1989
+
| No
+
| Yes
+
| No
+
| No
+
| Yes
+
|-
+
| [[Skateboard Kidz|Skateboard Kidz]]
+
| 1988
+
| Yes
+
| No
+
| No
+
| Yes
+
| Yes
+
|-
+
| [[Skate Rock|Skate Rock]]
+
| 1987
+
| No
+
| Yes
+
| No
+
| No
+
| Yes
+
|-
+
| [[Skate Wars|Skate Wars]]
+
| 1990
+
| No
+
| Yes
+
| No
+
| Yes
+
| Yes
+
|-
+
| [[Sly Spy Secret Agent|Sly Spy Secret Agent]]
+
| 1990
+
| Yes
+
| Yes
+
| No
+
| No
+
| Yes
+
|-
+
| [[Star Avenger|Star Avenger]]
+
| 1984
+
| No
+
| Yes
+
| No
+
| No
+
|-
+
| [[Stryker In The Crypt Of Trogan|Stryker In The Crypt Of Trogan]]
+
| 1992
+
| Yes
+
| Yes
+
| No
+
| No
+
|-
+
| [[Super Cauldron|Super Cauldron]]
+
| 1992
+
| Yes
+
| Yes
+
| Yes
+
| Yes
+
| Yes
+
|-
+
| [[Titan|Titan]]
+
| 1988
+
| Yes
+
| Yes
+
| No
+
| No
+
|-
+
 
+
| [[T.L.L. - Tornado Low Level|Tornado Low Level]]
+
| 1985
+
| Yes
+
| Yes
+
| No
+
| No
+
| Yes
+
|-
+
| [[Ultima Ratio|Ultima Ratio]]
+
| 1987
+
| Yes
+
| No
+
| No
+
| Yes
+
| Yes
+
|-
+
| [[Warhawk|Warhawk]]
+
| 1987
+
| Yes
+
| No
+
| No
+
| Yes
+
| Yes
+
|}
+
 
+
=== Rupture (or splitscreen)  ===
+
 
+
A CRTC programming technique used to split the screen into more than one block vertically.
+
This allows each block to reference different ram, or to hardware scroll one block while another is static.
+
This list is not exhaustive.
+
 
+
{| class="FCK__ShowTableBorders"
+
|-
+
| ''Title''
+
| ''Year''
+
| ''Confirmed''
+
|-
+
| [[Action Force|Action Force]]
+
| 1988
+
| Yes
+
|-
+
| [[Axys|Axys]]
+
| 1991
+
| Yes
+
|-
+
| [[Dynamic Duo|Dynamic Duo]]
+
|
+
|
+
|-
+
| [[Enlightenment: Druid 2|Enlightenment: Druid 2]]
+
|
+
|
+
|-
+
| [[Grell and Falla|Grell and Falla]]
+
|
+
|
+
|-
+
| [[Mission Genocide|Mission Genocide]]
+
| 1987
+
| Yes
+
|-
+
| [[Octoplex|Octoplex]]
+
| 1989
+
| Yes
+
|-
+
| [[Prehistorik 2|Prehistorik 2]]
+
| 1992
+
| Yes
+
|-
+
| [[Skate Ball|Skate Ball]]
+
| 1989
+
| Yes
+
|-
+
| [[Skatewars|Skatewars]]
+
| 1989
+
|
+
|-
+
| [[Skateboard Kidz|Skateboard Kidz]]
+
| 1988
+
| Yes
+
|-
+
| [[Snowstrike|Snowstrike]]
+
|
+
|
+
|-
+
| [[Storm Warrior|Storm Warrior]]
+
| 1989
+
| Yes
+
|-
+
| [[Super Cauldron|Super Cauldron]]
+
| 1992
+
| Yes
+
|-
+
| [[Turrican|Turrican]]
+
| 1990
+
| Yes
+
|-
+
| [[Ultima Ratio|Ultima Ratio]]
+
| 1987
+
| Yes
+
|-
+
| [[Usagi Yojimbo|Usagi Yojimbo]]
+
|
+
|
+
|-
+
| [[Xyphoes Fantasy|Xyphoes Fantasy]]
+
|
+
|
+
|-
+
| [[Sol Negro(opera)|Sol Negro(opera)]]
+
|
+
|
+
|-
+
| [[Twin World (Ubi Soft)|Twin World (Ubi Soft)]]
+
| 1990
+
| Yes
+
|-
+
| [[Warhawk|Warhawk]]
+
| 1987
+
| Yes
+
|}
+
 
+
==Firmware==
+
 
+
The following games are known to use firmware functions. This probably explains why they are poor. If the programmer had used the hardware directly they would have lots more cycles free which they could have used to make the game better.
+
 
+
This list is not exhaustive.
+
 
+
*Xevious
+
 
+
 
+
==Shame amongst shames==
+
 
+
*[[Speccy Port]]
+
 
+
*[[Direct Disk to Cartridge Port]]
+
  
 
[[Category:Games| ]][[Category:Games Programming]][[Category:Stub]]
 
[[Category:Games| ]][[Category:Games Programming]][[Category:Stub]]

Latest revision as of 09:27, 20 December 2022

This page covers important facts concerning the Amstrad CPC/Plus games. Visit Current_Sources_Of_Software for sources of new games.

With a list of Software houses, and the various and notable technics used in well known games.

For a more complete list of games or game related topics, check the "category:games" (and all its subcategories) at the bottom of this page.

All games scores as reviewed by Amstrad Action

All-time top games

Article moved here

Software Houses

Copy Protection

Loaders

Games that can be started by joystick

This is a list of games that can be started from joystick. There are not as many as you would think.

  • Anarchy
  • Nebulus
  • Puzznic
  • Ranarama
  • Ping Pong
  • Donkey Kong

Programming methods used in games

Porting

The method of converting game/data from one system to another, often with results that are not as good as if the game had been made/designed for the CPC from the beginning.

Scene conversions

External links

  • A look at 464 CPC games by Novabug

{{#ev:youtube|Vh9ZpaPbfsw|340}}