The journey to complete Frog Feast for the CD-I began a little over two weeks ago. In the process I've learnt more about the CD-I that I would've thought possible. It all started with a simple request for examples on using the CD-I RTOS. I had come to realize that the Balboa library wouldn't allow the level of performance I needed. For the most part, the Frog Feast development was driven by the rapid pace of implementing features. There were a few moments where I had to wonder if Frog Feast would run on all CD-I models. In the end, overcoming these frustrating challenges, provided the extra motivation needed to properly finish Frog Feast. I feel Frog Feast is a solid game for the CD-I.
Developing Frog Feast, for the CD-I, reminded me of the programmer stories I read about in
ZZap! or Amiga Format. Writing much of the underlying code in 68000 assembly, and the
optimizations needed to get everything running smoothly, felt like being a programmer in the early 16 bit days. I got a glimpse of the challenges faces by these early programmers. They had to overcome some pretty big issues to get their code running smoothly on these limited platforms; and doing all of this while struggling with limited documentation and
early development tools. The only true answer to their problem was the challenge to overcome it. They would have had to try many solutions before they arrived at the one that did exactly what they needed. I also developed a great admiration for the few development companies that released arcade or fast action games for the CD-I. Getting decent speed on a system not designed for fast action games is a huge challenge. This is probably equivalent to developing a dos game using the BIOS: something never used in dos games.
The CD-I version of Frog Feast is, by far, the most optimized version of Frog Feast. Much of the game code was redesigned to eliminate speed issues. The low level graphics routines were optimized for speed and designed to do only one thing as fast as they can. The
SNES and the FM Towns versions are the second and third on the most optimized list. The
SNES version was more challenging to get working correctly, due to battling the 65816 and development tools. And, I'm not as fond of the 65816, compared to the 68000. The CD-I version has additional features not available in any other version; it has an exit option, a credits screen and, slightly better AI. The load time on the CD-I was not an issue. I thought this was going to be a big challenge. Everything that is needed, except for the credit screen and sounds, are loaded while the two opening screens are shown. The loading time only takes up part of the time displaying the screens. This version of Frog Feast has the greatest number of blog entries; which, I believe, shows the number of challenges faced developing the CD-I version.
In the end, I'm pleased with the results and enjoyed overcoming the challenges of the CD-I. I look forward to developing more games for the CD-I. For a few weeks, I had a chance to experience what it was like to be a programmer in the early days of 16 bit game development; optimizing code to overcome speed issues and, redesigning code to avoid slowdowns. I say to the CD-I, in my best Arnold voice, "I'll be back!"