Friday, November 20, 2015

Arkanoid and Arkanoid Again

Arkanoid, that timeless classic from Taito, breathed new life into the Breakout-style of gameplay.  It was ported to the IBM PC compatible platform by Novalogic for Taito in 1988.  What I did not know was that this Novalogic port was based off an earlier port by Imagine.

Imagine was a British software developer in the mid 1980s that went bankrupt.  Ocean Software bought the name and used it on a label for several arcade game ports.  This port of Arkanoid is the only PC port I am aware of which used the Imagine label.  This port was released in 1987.  This PC port was ported from the more colorful ZX Spectrum version, which may be why the Imagine label was left on it.  It only supports CGA graphics and keyboard controls.

Taito had Novalogic port the game again with the mandate to include better hardware support.  Novalogic did not start from scratch, as you will see.  They upgraded the graphics to 16-color EGA and Tandy support,  which required redoing the CGA graphics.  They also included mouse and joystick support and Tandy 3-voice support for music.  Sound effects were still PC Speaker based.

If you compare screenshots of the Imagine and Taito versions, you will see many, many similarities.  Let's start with the Imagine version of Arkanoid :

Now let us compare the CGA graphics of Taito's version :

And here are the customary 16-color graphics for reference :

Both disks are copy protected, but in very different ways.  Taito's executable protected with the Softguard protection.  The executable is encrypted and the loader program makes multiple checks for errors on a track of the disk, then if it is sufficiently satisfied that the errors exist, it will decrypt and run the real executable. Imagine's disk appears as a 180KB single sided disk but is really a double sided disk.  The executable is located on the second side of the disk.  DOS cannot see or execute the executable, but the game's loader reads the data directly through Int 13h read sector commands.  

The Imagine port uses tweaked PC speaker music to get more than one voice out of the PC speaker.  The Taito port uses simple PC speaker music.  The Taito 3-voice music is not particularly more complex or impressive compared to the PC speaker music.  However, unlike the Imagine port, the Taito port is not quite as speed sensitive.  It is almost certain that the Imagine port was developed on or for an Amstrad PC-1512, which uses an 8MHz 8086 and a built-in enhanced CGA graphics adapter.  Both versions quit the game by pressing Esc, then Q, which is weird for PC games but not so much for the small keyboard of the ZX Spectrum.

While neither port will win any prizes for "Best Port of Arkanoid", Taito's version is the better version.  Although it only gives you 3 lives to Imagine's 5, the control responsiveness from the mouse, the joystick or even the keyboard of the Taito version is far superior to the keyboard controls of the Imagine version.  The Imagine's paddle will frequently jerk to the left or the right when you change direction instead of giving a proper smooth movement.  The hit detection between the ball and paddle is more consistent in the Taito version.  Finally, the Imagine version does not seem to have the enemies appear from the top of the screen.  I could not see them in the first two rounds.  Note that the best joystick for the Taito version is one where you can turn the self-centering off, as you can on the boxy Kraft or Tandy Deluxe joysticks.

The real Arkanoid in the arcades used a "spinner", which is a rotary dial.  A rotary dial works by phase shifted quadrature encoding.  There are a pair of optical sensors on either side of a wheel with spokes and holes.  There is an invisible beam between the optical sensors, which are positioned off center from each other.  When the wheel is turned one way, the optical sensor sends a signal.  When it is turned the other way, it sends a mirror image of that signal.  The signal is made up of 1s and 0s sent in a waveform out of phase with each other, and the signal that goes from low to high or high to low first determines the direction.  

The rotary encoder used by Arkanoid was a huge improvement over the resistor capacitor design of older paddle control knobs.  The resistor/capacitor scheme was never especially accurate because it relied on the tolerances of the passive components which could very widely.  Moveover, a potentiometer in a paddle does not have a 360 degree range of movement.  A rotary encoder put out a pure digital signal, the only analog element of the design was how fast the player twisted the knob.  

Your standard ball mouse uses two rotary controllers.  It is by far the closest control to an arcade Arkanoid cabinet as you can get on the PC without buying a MAME controller.  Most MAME controllers are USB based these days, and classic computers tend to be rather incompatible with USB controllers.  

I thought of adapting an Atari 2600 driving controller to a PC mouse interface, because it is essentially half of a mouse.  However, the driving controller puts out a pure quadrature signal.  Serial mice collect the quadrature signals from the movement and the button presses with a microcontroller built into the mouse and send them out in byte-packets to the serial port.  A bus mouse interface like the Microsoft InPort interface may be possible because it accepts quadrature signals from the mouse and has the microcontroller on a PC card.  But an Atari 2600 driving controller only has 16 positions in a complete revolution while your average comptuer mouse has double the number of positions.  The 2600 controller would not be sufficiently fine tuned for games that expect a mouse like Arkanoid and Arkanoid 2: Revenge of DOH, or Cyberball Plus.  

The Imagine version of Arkanoid that has been given to me to write about came on a compilation package called  "La Collection Amstrad PC."  This Collection contains four titles distributed by U.S. Gold: World Class Leader Board from Access Software, World Games from Epyx, Arkanoid (originally from Taito) and "Super Tennis".  "Super Tennis" shares the disk with Arkanoid and boots to this menu :

I know World Class Leader Board and World Games well enough because they came from U.S. companies, but I was not immediately familiar with "Super Tennis".  "Super Tennis" uses French in game and only supports CGA and PC Speaker.  Fortunately its limited hardware selection made it easy enough to track its source, which is Tournament Tennis, originally from Imagic and originally in English. Tournament Tennis has some support for CGA composite color graphics, which would have been unheard of for a European developed title, which cannot support CGA composite graphics because of the lack of NTSC monitors.  Like Arkanoid, Super Tennis appears to be speed adjusted for an 8MHz 8086 machine.  

Here are some screenshots games from Super Tennis :

And here are screenshots from Tournament Tennis as translated into French :


  1. Was the Imagine port also released standalone, or just as part of the compilation?

  2. My source only encountered it in the compilation, and considering how obscure it is (no MobyGames entry for it or the compilation but it can be found as abandonware). I think it was unlikely it was given a separate release. It probably was a Europe-only release as well.

  3. I had the Imagine verson of this game - it was also part of another compilation that had a CGA version of Wizball and two other games that I can't remember.

  4. In the screenshot of the imagine version, the background is blue. But most videos and screenshots I can see on the web have a black one. Is this a hack or something? Is there a way you could send me a copy of your version so i can check the code?
    great article by the way.

  5. Ok, my bad ! My version does have colored background (red or blue, alternatively).
    I just needed to put my DosBox in CGA mode. Something related to I/O port 3D9h.

    Still I don't have the "PC CONVERSION BY MALCOM J. HERD" splash screen.
    My guess is that it was the loading screen of the booter version, and it was removed by the person who converted the game to a DOS executable.

    Is there no way to download that version ?