PrintStar's Blog
Ramblings of a Fortran Nut
January 14, 2010 by Jeff

Day 14 – Castle of the Llamas

I have a treat for all the readers today! The game review in this post will include comments from the developer and publisher himself! Today’s game is Castle of the Llamas, an ASCII adventure game with a not-so-interesting history, created by none other than:

Copyright surprise!

Today’s game was written by myself back in 1992-1993, apparently. At the ripe age of 14, I unleashed what might be one of the buggiest games upon the world. Many of the readers may consider reviewing a game I have written myself to be cheating, but this game played as big a role in my adolescence as any of the others in this challenge. So on with the review.

Castle of the Llamas is distributed in a self-extracting archive in order to appear as professional as many of the Apogee and Epic games that filled bulletin boards in the early 1990s. I apologize to everyone in the world who had to wait for this 88KB archive to download via a 2400 baud modem. The game’s documentation states that at least CGA graphics are required; however, graphics are only used to initially display a logo at startup. The remainder of the game and its interface is handled by extended characters on the IBM PC. After sitting through a catchy tune, the user is presented with the title screen:

Title Screen

The name “Irving-Irving Software” originates from a terrible film from grade school where half of the people in the credits shared the name “Irving” for some reason. Irving-Irving Software became somewhat of an inside joke amongst my friends.

This game was written in GW-BASIC and compiled using Microsoft’s GW-BASIC compiler. The existence of said compiler is often overlooked, but BASIC did not have to be interpretted on the PC. All the screens, incidentally, are stored in BSAVE format. This format allowed the screens, including the main menu and the play screen, to be drawn using extended characters without messing about with GW-BASIC. The screens themselves were drawn using TheDraw, an ASCII/ANSI art package.

The goal of Castle of the Llamas is to explore the 100-room castle, locate the golden spatoon, and return it to the king of the llamas. Within the castle are two types of enemies, ogres and snipers. The player can overcome these enemies using swords, one to kill ogres, five to kill snipers. Oddly enough, each sword is not “consumed” when a player kills an enemy. In other words, once the player has five swords, the game becomes simply an exploration-style game.

The main play screen is reasonably basic. Each room of the castle is shown in the upper left quadrant. The right displays the player’s inventory, and messages and commands appear across the bottom.

The player appears as the “clubs” symbol during gameplay. The number pad is used for control, and commands are entered by first pressing F1. The command prompt, however, seems completely unnecessary as there are only three commands, TALK, KILL, or QUIT, none of which take any arguments.

The game runs terribly slow on the Tandy 1000 HX, and the documentation does warn the player about this. Compiled BASIC runs only marginally faster than interpreted BASIC, and the game’s unnecessary complexity contributes to the infuriatingly slow game. The documentation reccommends a 386 or higher. Playing under DOSBox, for example, was much more pleasant.

The slowness of this game originates in the collision detection routines. All movement is handled via ONKEY…GOSUB statements, which immediately jump to a specified line number whenever a specified key is presseed. The problem in COTL is that once in the movement control routines, the directional keys are not deactivated. Furthermore, the game takes a “move first, ask questions later” approach, meaning that collision detection occurs after the player’s position is updated. The overall effect of these design decisions is that, on a slow computer, the player can easily move before the wall collision routines have successfully completed, leading to problems like the one below:

Walls are for chumps

The player can also speak with any llamas they encounter while in the castle. They give what some might call “hints,” but that might be a generous word.

There are a reasonable number of llamas in the castle, but most rooms are empty. While slowly exploring, the player will occasionally meet an enemy, a llama, a sword, or a treasure. A glaring defficiency in the game is the lack of a “save/restore” option. If someone wants to beat the game, they should be prepared to sit through the entire thing.

As I was able to show above with the “wall cheat,” the game is packed full of bugs. The terrible collision detection is most prevalent. I was able to find some other spots in the game where I simply couldn’t move within a room because of an invisible wall or something due to the collision routines thinking something was located there. Another nasty problem occurs if you enter a room with an enemy and walk into a corner; in this specific situation, the player can become trapped indefinitely unless he or she has enough swords to defeat the ogre or sniper. Finally, I was able to freeze the game on the Tandy after finding the golden spatoon, thwarting my efforts to beat the game entirely.

The fact that this game was written by a 13/14 year old boy is fairly obvious. There is an amazing lack of detail, especially when dealing with enemies. The plot is highly disjointed and silly. Apparently I was into odd-sounding names and suffixes (the main character is Archibald X. Johnson, DMD, Esquire). I remember originally envisioning it being similar to Castle Adventure, but Castle Adventure is superior in almost every way. Honestly, I can’t recommend this game to anyone except those who wish to make fun of me. In fairness, though, the game acted as a wonderful tutorial on how not to design game control schemes.

The game works just fine on the Tandy 1000 HX, although the introductory music sometimes stalls due to disk access. Castle of the Llamas approaches playable on a 486 or under DOSBox.

  •   •   •   •   •

Leave a Reply