More on the Story of Westfront to Apse -------------------------------------- By: Paul Panks (dunric@yahoo.com) I have always enjoyed programming adventure games. It felt natural to be writing a game similar to ones I had played many years before. In 1993, I began work on an adventure game that was to become the now long-lost 'Westfront to Apse'. I originally began coding 'Westfront' on the Commodore 64. As variable and string space ran low, however, I switched over to the larger memory of the Commodore 128. BASIC 2.0, on the 64, had a respectable 38911 BASIC bytes free, while BASIC 7.0 on the 128 offered a staggering 122365 bytes! As the game itself ran in 40 column mode, I was able to add nice touches like a sprite title ("WESTFRONT") and a 3-dimensional, polygonal long range surface map (actually just 8 sprites linked together to form a larger image). The first version of the game was completed in late 1993. I set this version aside for nearly a year while I contemplated other projects. It wasn't as large as I had hoped -- a mere 16 rooms in a 132 block program -- but this soon changed when I picked the project back up in 1994. I made sure to include a Smurf Village into the adventure (just for fun). Characters from the popular Saturday morning cartoon included Papa Smurf, Handy Smurf, Jokey Smurf, Gargamel and Azrael. I actually wrote two distinct text adventures that year but later combined them together to form one large game. In the second adventure, I added a village shop (modeled after an online MUD I had played). I also wrote subroutines for the various commands, including GO, GET, DROP, LOOK, EXAMINE, WIELD, UNWIELD, WEAR, REMOVE, BUY and SELL. These routines were combined with a 144 block version of 'Westfront' that increased the overall size to 167 blocks. I had also added Brainy Smurf in Smurf Forest (on a branch "High atop Smurf Forest"). But I wanted more villans than just Gargamel, so I coded into the game an evil sorcerer named Mordimar (based upon a wizard in The Immortal for the NES). By later summer 1994, I expanded the game to include a Redwood Forest, a Cave of Time, a pond in a grassy meadow, a small canyon, an underground tunnel (accessible from a rabbit hole in the ground), the Crescent Castle (complete with a fountain, statue and Mordimar's throne room) and several cities and towns (the game was set in Norway and included Tronheim, Stavanger, Bergen, Oslo and Flora Island). The premise of the game was for the player to defeat both Gargamel and Mordimar while acquiring the Orb of Destiny. The Orb was all powerful, doing good in the hands of good and evil in the hands of evil. Mordimar coveted this orb at any cost and send his minions down from Crescent Castle to ensure that no one could take it from his grasp. Mordimar was a very powerful wizard. He could shoot lightning bolts like the Emperor in "Star Wars: Return of the Jedi" (the third installment of the Star Wars saga). Because Mordimar's castle was located in the sky -- similar to Cloud City from "Star Wars: The Empire Strikes Back" -- the player needed to be standing in a clearing "under a pale blue sky". Once there, the player would encant a magical ring to be teleported to the gates of Crescent Castle. A friendly adventurer named Tursk -- who had discovered how to travel to Crescent Castle -- would then give the player hints on how to defeat Mordimar. The player would lose the first battle with Mordimar, but hope was not all lost: a wise troll by the name of Troll Gomar inhabited a hut atop a tree in the Redwood Forest. A poorly made ladder led up into the treetops, which the player then climbed to reach the hut. Once inside, Troll Gomar would break from meditating to give the player tools necessary in defeating Mordimar. When the player returned to Crescent Castle, he finally could defeat Mordimar. The player would be successful (most of the time) and would acquire the fabeled Orb of Destiny. Only then could the game be won. I designed 'Westfront' to show the room descriptions and general gameplay action in a scrolling window. Atop the window was the sprite title, "WESTFRONT". This, like the long range surface map, was five sprites linked together to form a much larger one. At the bottom of the screen I included function key commands such as "GO NORTH", "GO SOUTH", "INVENTORY" and "MAP" to make entering in common commands easier. One of the last changes I made to the game was adding in the cities and towns from Norway. I made sure that the towns weren't too big, however, as I set a limit of 80 or so rooms for the entire adventure. I also added a Flora Island just off the coast of Norway, where a "Lighthouse at Flora" would be located. The player could explore this lighthouse and find a backpack useful in carrying larger items. In order to reach Flora Island, a small boat was docked off the coast of Bergen and regularly traveled between the city and Flora Island. I modeled the boat after a similar type found in an online MUD. By early 1995, the game was complete, totaling 206 blocks. In order to make the adventure fit, however, I had to remove all commas (",") from the room descriptions, which proved to be a difficult and time consuming task. Once this was done, I wrote all of the room descriptions to disk under the filename "WESTDATA" (74 blocks long). At some point during this process, I frequently encountered "?OUT OF MEMORY" errors when adding anything to the game. This was solved by condensing code. 'Westfront' in the final version was shrunk to 197 blocks and written to disk alongside WESTDATA. To save memory further, I wrote the sprites to disk as 3 block files each ("WEST-TITLE" for the 'Westfront' sprite title and "SPRITE" for the long range surface map sprite). Even though I spent nearly 8 months writing the game, a lot of bugs remained. For example, in the INVENTORY routine, the game would tack on an extra "(wielded)" string to the end of any item being wielded: You are carrying: OIL. LANTERN. ROPE. BACKPACK. TWO-HANDED SWORD (wielded)(wielded). This proved to be a most frustrating error to fix. I semi-solved this problem by simply removing the "(wielded)" reference in the INVENTORY routine, but whenever the player dropped a wielded weapon or placed it inside the small bag, knapsack or backpack it would still say "(wielded)". I remember the humorous look on my cousin's face when he played the game for the first time: Ryan: "Why can't I examine anything?" Paul: "Oh, you just examine _objects_ in the game..." Ryan: "Oh, ok...hey, what's the wine for?" Paul: "You drink it..." Ryan: (drinks wine)..."Ok...I'm now in Smurf Village. How did _that_ happen?" Paul: "Keep playing, it gets better..." Another individual whom beta-tested my game was my other cousin, Tim. He had a fun time exploiting the bugs in the game to his advantage: Tim: (issues a GO NORTH command) "Ok, I just moved north..." Paul: "You can use abbreviations, you know..." Tim: "Really? Coooollll...." Paul: "Try typing: GO NO instead of GO NORTH." Tim: "Ok...Oh, neat! I like that feature!" Tim: "Can I pick up the tree?" Paul: "No." Tim: (issues a GET TREE command in the forest) "It says 'Ok.' " Paul: "Huh?" Paul: "Check your inventory..." Tim: (INVENTORY command reveals that he now has the TWO-HANDED SWORD) Tim: "What the heck?" Paul: "Wait a minute!..." I made two backup copies of "Westfront" on the same disk (the main file, "197 WESTFRONT PRG" and "197 BACKUP PRG", respectively). This ensured (or at least I had thought) that if one of the versions didn't load due to a disk error, a backup would always be available just in case. As it turned out, my frequent use of the notorious Save-With-Replace command -- which was very buggy to say the least -- eventually damaged both "WESTFRONT" and "BACKUP" to the point where it crapped out with a disk error about 190 blocks in. LISTing either version of the game displayed approximately 3/4ths of the BASIC program listing, which was then followed by an endless stream of gibberish. Running the program halted it halfway through the initial- ization process, where an "?UNDEFINED STATEMENT ERROR IN 107" would unfortunately occur (this proved that part of the program was unfortunately erased by the disk error). This was confirmed when I climbed up a tree in Smurf Forest and found Brainy Smurf by himself. I tried to "EXAMINE BRAINY", but the game crashed out with an error. The original copy -- which worked fine -- had unfortunately been formatted over to make room for my next programming project: "Westfront II". "Westfront II" was a different version of "Westfront" which had new locations, a completely different parser and new monsters/objects. I eventually expanded the game to include well over 350 rooms and changed the display output from 40 columns to 80 columns. If you want to read further about the development of "Westfront", click here: http://www.geocities.com/dunric/apse.html "Westfront II" eventually became the PC game "Westfront: The Trials of Guilder", a mammoth text adventure -- styled after Advanced Dungeons and Dragons and many different online MUDs, or Multi-User Dungeons -- which had 1,728 rooms, 4 continents, 200+ monsters and items and over 50 main quests. There were also several parlor games and puzzles spread throughout the game. "Westfront II" only included 8 main quests and about 80 objects and monsters. The game was completed in early-July 1997. The PC version, however, was not finished until mid-2004 (the majority of time spent debugging and adding in new features). Since the time I wrote the original "Westfront", I have written well over 35 adventure games for various platforms, including the C64/128, Plus/4, VIC-20, Windows 95/98/2000/NT/XP, MS-DOS, Linux and Mac. But I still long for the copy of my long lost game, 'Westfront'. Maybe someday I will recover it, found amoung disks from a person I sent the game to in 1996. Maybe not. The point is that the adventure game has always been very special to me and will continue to be well into the foreseeable future. Paul