If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Akalabeth: World of Doom (DOS, 1996)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Akalabeth: World of Doom

Also known as: Ultima 0: Akalabeth
Developer: Richard Garriott
Publisher: California Pacific Computer Co.
Platform: DOS


CodeIcon.png This game has unused code.
TextIcon.png This game has unused text.


Akalabeth: World of Doom is the precursor to the Ultima series. Originally released for the Apple II Basic, the game remained mostly unknown until being unofficially ported to the PC by Finire Dragon (being compiled in Microsoft QBasic) in 1996. An official PC port was released in 1998 as an enhanced remake and is included in the Ultima Collection.

This page describes the unofficial Black & White port, which is the main version of the game distributed on GOG.com (the official port is placed as an extra download instead).

Unused Code

In this port, Lord British doesn't recognize any quest progress. This makes the game unwinnable, along with not being able to receive a +1 boost to all stats whenever you kill your quarry (marginal compared to becoming a Lizard Man), and being unable to obtain the Lord title when killing the final opponent.


(Source: Lord British dialogue messed up in Akalabeth after first quest. - GOG Forums)

As the Black & White version from GOG.com includes the basic source code, one can spot the affected lines directly.

7500  IF ta > 0 THEN PRINT : PRINT : PRINT pn$; " WHY HAST THOU RETURNED?": PRINT "THOU MUST KILL A(N) "; m$(ta)
      PRINT "GO NOW AND COMPLETE THY QUEST!": PRINT : PRINT "         PRESS -SPACE- TO CONT."; : DO: q$ = INKEY$: LOOP WHILE q$ = "": CLS : GOTO 1090

7510  PRINT : PRINT : PRINT : PRINT "AAHH!!....."; pn$: PRINT : PRINT "THOU HAST ACOMPLISHED THY QUEST!": IF ABS(ta) = 10 THEN 7900

7520  PRINT "UNFORTUNATELY, THIS IS NOT ENOUGH TO": PRINT "BECOME A KNIGHT.": ta = ABS(ta) + 1: PRINT : PRINT "NOW THOU MUST KILL A(N) "; m$(ta)

7530  GOTO 7060

7900  SCREEN 1: VIEW PRINT: CLS : PRINT : PRINT : PRINT : pn$ = "LORD " + pn$: PRINT " "; pn$; ","

7910  PRINT "       THOU HAST PROVED THYSELF WORTHY": PRINT "OF KNIGHTHOOD, CONTINUE PLAY IF THOU": PRINT "DOTH WISH, BUT THOU HAST ACOMPLISHED": PRINT "THE MAIN OBJECTIVE OF THIS GAME..."

7920  IF lp = 10 THEN 7950

7930  PRINT : PRINT "   NOW MAYBE THOU ART FOOLHEARTY": PRINT "ENOUGH TOTRY DIFFICULTY LEVEL "; lp + 1

7940  GOTO 7070

7950  PRINT : PRINT "...CALL CALIFORNIA PACIFIC COMPUTER": PRINT "AT (415)-569-9126 TO REPORT THIS": PRINT "AMAZING FEAT!"

7990  GOTO 7070

The cause is code line 7500 - since there's a hard return at the end of the line, the following indented line is treated as a separate line of code as opposed to being part of the if statement.