Wednesday, July 24, 2013

Ultima IV - Best on the PC

If you actually wanted to play Richard Garriott's masterpiece, Ultima IV - Quest of the Avatar, on real contemporaneous hardware, and had a choice of the platform to select, which platform you choose?  Would you choose the original Apple II, the Atari 8-bit version, the Commodore 64 version, the IBM PC version, the Atari ST version, the Amiga version, the NES or the Sega Master System (Europe Only) version?  Outside of Japan, these were your choices.

Putting the console versions aside, which are not quite 100% faithful to Garriott's vision (the SMS is very close and quite enjoyable and easily puts the NES version to shame), the version to play is the IBM PC version.  That version may not have the nicest looking introduction and has no music, but what it does have is the advantage of speed.  It is the only version that can officially be installed to a hard disk.  All the other versions had to be run off floppy drives.  The 8-bit home computer versions typically required disk swapping with four disk sides.

Ultima IV accesses the floppy drives a lot.  Every time you enter or leave a town or castle, the game needs to load the next area from the disk.  Every time you initiate a conversation, the game needs to access the disk to load the NPC's responses.  Every combat requires a load.  There is a load for each 16x16 tile boundary crossed.  On the 8-bit systems, entering or exiting a dungeon requires flipping the disk over.  8-bit systems have slow floppy drives.  The Apple II is the fastest but does not really have a hardware disk controller.  The Commodore 64 and Atari 8-bit machines have hardware disk controllers in their drives but their systems speeds are crippled by the slow serial buses these systems use to connect their floppy drives.  Try any of these versions in an emulator with the authentic disk drive speed on and see how much fun you will have. IBM had a true disk drive controller and an adapter solely for the disk drive, so its disks transfer with comparative speed.  Hard drives were not standard on the Atari ST and Amiga in the first few years of their lives, so these ports were not designed to be hard drive installable.

Ultima IV on the IBM PC suffers from an absolute lack of music.  When the port was released in 1987, supporting the EGA card was considered a big deal.  Sound cards were at best an emerging technology, and the only PC compatible systems that had a music chip were the discontinued IBM PCjr. and Tandy 1000 series.  Although there is a patch for the PC version that adds music, and later combined with a patch that adds VGA graphics, it requires a 386 to run at all.  Moreover, the PC Speaker sound effects and spell effects are lost due to the increased speed.  It is not suitable at all for machines which Origin targeted.

The music is not really a big deal.  Relatively few Apple II owners owned a Mockingboard and the game itself, and without that, there was no music on the Apple II.  Atari 8-bit users did not get the music due to Origin not feeling the need to support 64KB Atari machines.  The Commodore 64's music is not that great, neither is the Atari ST or Amiga's.  Besides, there are only eight music pieces in the game (Towne, Castle, Wanderer, Combat, Dungeon, Shoppe, Rule Britannia and Shrine), and they get old very quickly.

Ultima IV scales reasonably well on low end machines.  It runs extremely well on my Tandy 1000SX in the 16-color Tandy Graphics mode at 7.16MHz, and it also runs well in 4-color CGA mode at 4.77MHz, making it suitable for IBM PC and XTs.  The IBM PC version requires 256KB RAM.  The Apple II and Commodore 64 versions require 64KB and do not utilize extra RAM.  The PC can load conversations and combat scenes in memory. The increased loading speed of a hard drive means that loads from a hard drive can occur much more quickly than even the 16-bit machines.  With real floppies, the game will check the floppy to ensure that the genuine article is being used, but there are cracks and the CD compilations do not suffer from the checks.

Ultima IV is not atypical of the Ultima series or PC ports in general.  While many PC ports were graphically or aurally inferior to their Apple, Commodore and Atari counterparts, they can run far better than any of those on real hardware.  The 8-bit machines required accelerators (except for the IIgs, which could accelerate 8-bit Apple II software), which are hard to come by and can screw up timing.  Non-PC 16-bit machines also tended to be tricky to get working faster.  PC ports by the mid to-late 80s were programmed to be at least somewhat flexible in regard to system speed.  In this case, once you get beyond character creation, the 16-color EGA and Tandy graphics are almost on par with the Atari ST and Commodore Amiga graphics.

The only issue I have with the PC port is with the keyboard movement buffer.  The keyboard movement buffer will buffer up to eight keystrokes if you hold down a directional key.  At the 4.77MHz speed, however, the keyboard movement buffer will always store up to four to five presses of a directional key if you hold the key down.  On AT-class machines you can terminate the buffered movement keys by pressing the space bar, but that does not work at the 4.77MHz speed.


Raifield said...

I have the NES cartridge for Ultima IV. At best it can be considered loosely based on the computer game, but it is entertaining in it's own way.

bandan said...

You should try the easyflash version on the C64. basically It's the Ultima IV on a cartridge, no Floppy change, no loading times. And great intrographics.

Gabriel N. said...

Fantastic post! I'm from Brazil and theres also a version of the game officially released here, by TecToy. For this game, TecToy did not localized the in-game text for portuguese, like they did with Phantasy Star for Master System. Theres only one package for Ultima IV, the standard plastic black case, unlike many other major releases for the system in Brazil, who also had another revision, the famous white cardboard box.

For me, the only real downside for this version, is the fact that it doesn't include the map.