Tuesday, 22 April 2014

Citadelle: The Shield of Oran

In the first installment of Loriciels' Citadelle series, which I ported from source code from the Sanyo PHC-25, and translated to English, you will come up against a range of monsters. There are Lich’s, Bugbears, Orcs, Assassins, Warriors, Shades and Gnolls. The game feels like an RPG, but it actually combines elements of that genre with a simple two-word parser text adventure and treasure hunt. There are puzzles to be solved too.

In the version I ported the stats of the monsters are randomly generated in terms of the hit points, armour class and strength at the beginning of each combat, so retreating might not be a good idea. Retreating takes you back to the previous room you were in. When you re-enter the room all the conditions for the monster will be reset. This might be a good thing if the monster is really strong and you’re getting pasted. Going and coming back in might make for a weaker monster. However, it might be worse!

Choosing Defence rather than attack just reduces your chances of being hit while also decreasing your chances of hitting the monster. Spells are powerful but fickle. The monsters are deployed in fixed locations as indicated in the map below.  However, if they don’t “disappear” at the end of combat random monsters will be spawned at random in one of the rooms. If you have the sword and the armour, the monsters are pretty easy to defeat. You won’t be let through the portcullis if you get pasted by the Gnoll and you don’t have at least one of these two items. A map and instructions follow:

** SPOILER ALERT ** Walkthrough Map below!



Exit




            N
     W    +    E
            S
      

Tomb

SAY AROG
GIVE EYE
warrior

Arms of Oran

(must have
Lighted lamp)
EXAMINE OBJECT
TAKE SHIELD
EXAMINE SHIELD
harpy
Well Room

SEARCH WELL
TAKE KEY
EXAMINE STONES
OPEN STONE
(requires hammer
 and chisel)
SEARCH NOOK
TAKE EYE
Assassin
Armoury

EXAMINE MOSAICS
EXAMINE STARS
OPEN STAR
(requires hammer
 and chisel)
TAKE ROD
Lich
Tiled Entry Hall

TAKE LAMP
LIGHT LAMP
OPEN DOOR
(requires key)

Dark Hall

EXAMINE FLOOR
SEARCH DUST
EXAMINE WALLS
SEARCH WALLS
USE MECHANISM
Store Room

OPEN CRATES
EMPTY CRATES
(you'll discover
the name Arog)
OPEN BARREL
EMPTY BARRELS
SEARCH SACKS
TAKE CUBE
INSERT CUBE
(requires mech
from dark hall
to have been
touched)

Stables

CLIMB LADDER
SEARCH ROOM
MOVE BOARDS

Inside Cave

SEARCH SKELETON
TAKE CHISEL

Guard Room

USE MECHANISM
Bugbear


Hay Loft

SEARCH SACKS
TAKE HAMMER
SEARCH HAY
DESCEND LADDER
Shadow
In front of Cave

EXAMINE GROUND
TAKE FLINT
TOUCH PORTCULLIS
Gnoll




Forest

MOVE ROCK
TAKE SWORD
SEARCH TREE
TAKE ARMOUR





Sunday, 13 April 2014

The Demon’s Eye: Walkthrough Map

I ported this adventure from Coco basic.  It was a type-in program from one of the Color Computer magazines.  I don't recall it being very difficult to port.  Probably just had to get rid of some of the "ELSE" statements and replace them with alternative "IF" logic.

** SPOILER ALERT **



Tuesday, 8 April 2014

The Cavern of the Morlocks: Beware the Carrrots Hommeaux!

Cavern of the Morlocks

This classic French text adventure, now translated to English, is unique in several ways. First, its design permits multiple narrative pathways to the completion of the adventure (despite the limits imposed on these possibilities by the 8-bit machine hardware it was developed on--the Matra-Hachette 'Alice' computer). Second, its single key entry decision and navigation system is a interesting departure from the much more standard two word parser system, and is very appropriate for its multiple attempt variable ending play format. Third, it is based (very roughly) on a classic work of fiction. Although its single keystroke system is somewhat similar to other extremely simple early Basic text adventures, the number of rooms, the multiplicity of narrative arches (in which randomness, decisions and the objects and paths selected make a substantial difference), and the playful and well crafted scenarios make for quite an enjoyable hour or so of distraction. Although a game like this will be of no interest to hard core modern players of interactive fiction, it certainly will be of interest to those curious about early 8-bit computer systems and the Basic programming efforts of coders grappling with the inherent limitations of such systems.

My English Language MC-10 Port from the Alice
The Alice was a French introductory computer system somewhat akin to the Sinclair ZX-81 or even the Spectrum, which shared some hardware elements with the TRS-80 Micro Color Computer from Tandy, upon which it was based. I ported and translated the game from the original Alice program by François Coulon.

In the course of porting it I also fixed a few discrepancies in the walls between rooms.  For example, in the "bear" room you were allowed to go West into the Cook's room, but you couldn't go the other direction.  When debugging I used the following "super cheat" code.  Just hit the break key and snip and use the special paste" function in the emulator.  Then type CONT and hit ENTER.

CO=1:BI=1:TR=1:MR=1:AI=1:ME=1:MI=1:GO=1:ST=1:SB=1:CQ=1:CS=1:DI=1

** SPOILER ALERT **

Below is the layout of the dungeon.  The "Y" and "N"s after each room title tell you how to respond to the question.  I'll leave it up to you to figure out the objects you come across.

Thanks to auraes over on the SolutionArchive.com for the maze layout

Wednesday, 19 March 2014

Escape from the Secret Science and Detention Base

Escape from SSADB, originally "Escape from the Soviet Science and Detention Base", is a text adventure in the tradition of great Basic adventures like those made by Scott Adams.  It was apparently Devid Meny's first adventure game, originally written for the TRS-80 Model 1/3. He also wrote a second adventure, PIRATE TREASURE, which takes place on a pirate ship and a desert island.

I ported SSADB to Micro Color Basic and made a few edits to the program and to the story premise to bring it up to date for the 2000s.  In my version, you are a government agent captured by the North Koreans and taken to a secret base hidden somewhere in the United States. While there you learn of a plan by Kim Jong Un to build and fire a nuclear missile from inside the US and make it look like an inside job, thus prompting a Russian counter attack and allowing the True Korea to repopulate the devastated earth. You must save the US from nuclear attack by getting out of your cell, finding proof about the plot and escape the base. If you succeed you will be a national hero; if you fail, the world is doomed.

SSADB Walkthrough (Warning Spoiler Alert)

GET NEWSPAPER
READ NEWSPAPER
GET BRICK
N
INSERT NEWSPAPER
DOOR
HIT DOOR
GET NEWSPAPER
L
GET KEY
UNLOCK DOOR
OPEN DOOR
N
L
THROW BRICK
GUARD
E
L
PRESS TWO
N
L
READ PLAQUE
PRESS BUTTON
HIDE
BOX
STAND UP
E
L
KICK WORKER
GET ASPIRIN
W
S
PRESS THREE
S
L
N
PRESS ONE
W
W
W
L
GET NOTE
READ NOTE
GET BEAKER
MIX ASPIRIN
BEAKER
POUR BEAKER
WALL
N
L
W
L
PULL PLUG
S
E
S
L
OPEN CABINET
L
GET FILE
READ FILE
N
E
N
L
E
L
GET SLIP
READ SLIP
W
N
L
TYPE 971

Saturday, 1 February 2014

Uncle Tays' House Adventure Walkthrough (Spoiler Alert)

MAIN FLOOR
DUMBWAITER
LIBRARY
“take checkbook”
DEN
“move couch with brace”,“take teddybear”
KITCHEN/STAIRS TO BASEMENT
“move fridge with jack”, “take fuse”


GARAGE
“take jack”, “take bungee”
HALL
HALL
FOYER
“take newspaper”,“read newspaper”
SITTING ROOM

DINING ROOM

BEDROOM
“take note”
BATHROOM
“move clothes with gloves”
EXIT
Return here when finished




BASEMENT
STORAGE
“take boxspring”
LAUNDRY
“take loons”
WORK ROOM
“take oilcan”
BOTTOM OF STAIRS
“drop boxspring”


SECOND FLOOR

BEDROOM
“take investment”
CHILD’S ROOM
“spin top”
SECRET ROOM
“take loverboy”
BEDROOM
“take key”
3 DOORS/ DUMBWAITER

DANGEROUS HALL
 “open [direction not mentioned in note] door”,“oil dumbwaiter with oilcan”

HALL
“unlock door”
“drop teddybear”
HALL
BALCONY /STAIRS TO ATTIC
“tie bungee to railing”,“jump”
“take picture”,“jump”
“put fuse in fusebox”

BATHROOM
“take gloves”, “read note in mirror”
CLOSET
“take gainesburger”,”eat gainesburger”
GAME ROOM
“take top”


THIRD FLOOR
ATTIC
“take brace”, “take magazine”, “read magazine”

Well this is the end of my Retrochallenge 2014 Winter Warmup project.  I had to chase down a few last bugs in the "Uncle Tays' House Adventure" that I ported to the TRS-80 MC-10 Micro Color Basic from Javascript Applesoft Basic source that I found at github.com.  I have also now ported it to Dragon worldofdragon.org and Coco JGGAMES.zip.  I would like to thank the organizers for a very enjoyable competition and for all the impetus that it has provided.



If you want to play it you can do so at the the link below. Just Select "Play game" and then "8-bit BASIC text adventures" link. Then select UNCLETAY from the cassette menu, and type RUN and hit Enter in the main emulator (Green) screen: https://gamejolt.com/games/jgmc-10games/339292

Saturday, 25 January 2014

Flipull: An "Exciting Cube Game by Taito" (フリップル Furippuru)


I put out a post on the Yahoo group for the MC-10 asking for game suggestion ideas. Neil Morrison made the helpful suggestion of adding a level editor to my MC-10 version of Sokoban. I might do that some day. Eric Underhill suggested that I should make a Star Trek-style game. He obviously (and quite understandably) hadn't managed to plow his way through my hundreds of file uploads to discover the three variations I have ported over the years. In fact if my recollection serves me "MCTrek" (as the file is called) is perhaps the first serious program port I ever made to the MC-10 back even before PCs and emulators. It was a time when I was still working on the real thing with tapes and having to retype lines to make any changes (the MC-10 doesn't have the nice edit command of Extended Coco Basic). So although that suggestion prompted some fond memories, it was not as exciting as the next suggestion made by Anders Carlsson:
One game that I played a bit lately that might be suitable to MC-10 graphics would be a version of Flipull / Plotting by Taito (unless someone already made a port of it, which I somehow doubt). http://en.wikipedia.org/wiki/Flipull
A quick look did reveal a game with distinct possibilities for porting to or development on an MC-10.

My first thought, as usual, was whether there might be a Basic version out there already, which I could simply adapt to the MC-10. It's always nicer to let someone else do all the fiddly work of figuring out scoring and instructions, etc, even if the graphic presentation of the game needs to be completely re-done in Micro Color Basic. A quick search of Flipull, Plotting and Taito and Basic revealed an MSX variation. I like MSX computer programs because these machines all use a standard form of Microsoft Basic which is easily amenable to conversion to Micro Color Basic (another Microsoft product). Ander's turned up a TI83 Scientific Calculator version too.  Now I had some code, I just had to convert one of them.

The TI83 version looked promising because it seemed based primarily on the use numbers, along with what I assumed would turn out to be some redefined characters (the blob guy and the ladder sections).  I have converted programs from calculator based versions of Basic quite successfully, such as in a Sudoku Solver and Maker program I made.  The process is much aided by the constricted screen size of such calculators (often very close to the 32 by 16 screen of the MC-10).  The TI's native text mode, for example, is I believe 16 X 8.

The MSX version looked more complicated, and indeed when I examined the code, it contained a bunch of advanced graphics commands to create the shapes.  Also, as usual adjusting the program logic for a machine that assumed a 24 line screen, rather than the more constricted 16 lines, put me off using this code.  With the help of Harry Prevor I was able to make some sense of the quite distinctive form of Basic used on the TI83. However, in the end it also used some very special graphic commands.

I also began to realize, from playing an on-line version of an original Gameboy version, that both of these Basic ports may have made some modifications to the original rules of the game.  I wanted to make as faithful a reproduction as I could on the MC-10.  So I simply I had to work up an entirely new program. Luckily, Flipull is not an overly complicated animated puzzle game, so it didn't take too long to get the basic motions working.  Then it was just a question of streamlining the code to make it truly playable.  Here again, some suggestions from the Yahoo forum really helped, particularly the suggestion by Mark McDougall that instead of searching all the blocks to determine whether a missed shot had occurred, I should search for the spaces around the blocks and then look for the specific block I was seeking.  The new algorithm really sped the game up to a playable level.  In the end, I was able to re-use the instructions from the TI83 source code (always re-cycle!).

As part of my Winter Roundup Retrochallenge Project  I have now ported the code to the Coco and Dragon. One nice feature these other computers provide is the ability to have a real seconds countdown by using the TIMER function built into Extended Color Basic.  For the MC-10, in the absence of an accessible (from Basic) internal clock, I had to use a well-timed main loop, with some tweaks to the counter of the loop for each distinct major subroutine, to get a 3 minute countdown. I would like to thank my son Charlie for holding the stopwatch and doing the math (which he can do so quickly in his head) to figure out the offsets to get things to the properly allotted time and for his victory-music for the advanced mode. And thanks to Anders again, for pointing out how on PAL TVs and other European machines (he uses the French cousin of the MC-10 called the Alice) the colour CYAN, which looks close to sky blue on NTSC TVs, actually looks like a slightly paler version of green. This made it very hard to distinguish between the green and cyan coloured blocks in the pile.  So I tweaked the Dragon and Alice versions of the programs to use purple instead (or is it Magenta?).  Once again, my retrocomputing has taught me interesting things from within and beyond the world of computing!




Sunday, 19 January 2014

Homage to the Commodore Pet: Ouranos aka Weather War


Another source of good Basic programming ideas is the Commodore Pet.  One of the games I came across while researching the programs available for that classic 8-bit computer was "Ouranos" by Kathy Higby.  Here is one of the videos I viewed:


"Ouranos," the Greek weather god, is the official name of the program.  But most people seem to know it as "Weather War", or by its subtitle "Take the enemy by storm!"  It is a charming and unique variation on the "Duelling Cannons" theme.  I thought I might be able to port the program from Pet Basic, but I couldn't find any source code that I could easily lay my hands on.  On one of the videos the videographer tantilizingly breaks and lists the program and I thought perhaps I could obtain some insight into how it worked by capturing stills of the video.  This is the kind of thing I was able to obtain:

Unfortunately, the video only showed a partial listing and all the embedded control codes just intimidated the heck out of me.  Also, someone mentioned in their description of the game that Higby had to use a special machine language routine to get the flashing lightening effect, so I decided just to do a complete remake of the program myself.  I had to watch a bunch of videos to try to get the full gist of it, as well as read every description I could locate.  I think I've been able to recreate all the aspects of the program including the flashing lightening effect by way of the MC-10's POKE49151,64 and the Coco's SCREEN 0,1 command.  Here's a video of my son and his friend playing it:


One thing I changed was the title of the random weather event from "Act of Nature" to "Act of God," which seemed more appropriate to me since the latter is how my insurance policy refers to such events.  If anyone who has played the original could let me know if I've left anything important out I would really appreciate it.  I've now ported it to the Coco (JGGAMES.zip) and Dragon 32/64 (archive.worldofdragon.org).