In 1997, Argonaut Software finally finished the CD-i conversion of Creature Shock. The game was announced on CD-i in 1994, as part of a three-pack of CD-i games offered by Virgin Interactive. In the end, Virgin brought us The 7th Guest, Lost Eden and Creature Shock. "Even being a bit linear as a game, Creature Shock (programmed by Argonaut Software) was great in its genre. And the overall attempt to create an alien claustrophobic world in an arcade/adventure game was pretty well achieved. I played it back in 1994 (I was 17) and finished it in 3 days. I remember being so embroiled by the atmosphere of the Creature Shock (Alien feeling) that I couldn't simply stop playing. And I the last part of the game is simply amazing! Some may say that the linearity of the game have killed it, but I don't particularly agree. It is, indeed, a bit linear, but it has so many different game elements on a very well presented story it easily makes us forget its weakest points. Besides, back in the time of its release, Creature Shock was graphically astonishing with polished pre-rendered videos that were sublimely linked with the game's action that you can't barely notice the difference of watching a cut-scene and gameplay itself. "
Argonaut Software was under a publishing agreement with Virgin Interactive Entertainment. Argonaut was an independent developer so they always used to use publishers to take their products to the market. When Virgin was contracted a 3 cd-I game deal, a Creature Shock conversion was on top of that list. The CD-i project was assigned to only one person: Martin Piper. Creature Shock was the first game he completed after he joined Argonaut. 11 Years later, in October 2004, Argonaut had to close its doors because they ran out of money. To get the ball rolling we only had to citate the back of the CD-i boxart: “It took Argonaut three years to cram this Double CD full of stunningly rendered 3D environments….” Three years? What happened there?
“You are right, the more than three years development time indicates there were problems. The biggest and first problem was trying to fit a PC game that used a
lot of virtual memory onto a console with much less memory. For this in
implemented a cached compressed file system to allow me to read in data,
even while MPEG was playing, to allow me to render lots of frames of
different sprites if required or have access to lots of data whenever I
needed it."
The second was the
difference in processing speed compared between the PC and CD-i
versions, with CD-i being much slower in terms of processing and very
much slower in terms of memory bandwidth. Luckily the most intensive
part was the motion video which (thank God!) the CD-i had extra hardware
to deal with that problem. The next most CPU/memory intensive part were
the sprites. On the PC 2D graphics are generally stored as pixel data
and memory copied onto the frame buffer. On the CD-i this wouldn't work
because the CPU and memory were too slow to keep on copying all this
memory around, even using dirty rectangles didn't help much. So the 2D
scaled and non-scaled sprites used a special technique called binary
compiling to make sure they were drawn at a good speed on the CD-i. This
involves taking the pixel data and passing it through a tool which
generates 680xx machine code. The
resulting machine code stores the exact minimum amount of pixel data
required to the frame buffer without needing to do all the wasteful
memory copying.
The third problem
were the tools supplied with the development kit because Creature Shock
used a lot of small video clips. Unfortunately I tried using the
standard tools to create the CD and quickly found we ran out of space
due to the tools adding two seconds of blank data between each clip. So I
had to create my own tools that would reduce this gap to a couple of
sectors and change my MPEG playback code to emulate the gap in the CD
data instead. This worked because the CD-i allowed the incoming CD data
to be accessed through a ring buffer. That said it was a miracle
Creature Shock didn't use more CDs than it did!
The problem that
took the longest to resolve was a small hardware bug that was found in
some MPEG cards for some revisions of the CD-i hardware. I remember one
time a couple of Philips engineers came over with their hardware
debugging kit and after a while we eventually found the problem. In the
end I worked around the bug by detecting the failure and resetting the
hardware.
The 3D interactive bits had to be cut, there was no way the Cd-i was ever
going to render that in real time. So we actually created some extra MPEG
assets for the CD-i version to fill in the gaps in the story....
Worth a try for all those who never tried it.