X-COM BASE-01 AssaultRecently, I got my hands in the code for a text adventure that claimed to be the "AFTERMATH OF THE ASIMOVIAN DISASTER". But, after adapting it to run in the CoCo, I realized that besides a few words dropped here and there, it had nothing to do with any of Asimov's novels.
I was a bit disappointed, until I realized that the game engine had potential. It is quite simple. Rooms are stored in an array R(X,Y), where X is the room number. The first 6 values of Y have the room number to which you will move if going in that direction. (4 cardinal points, up and down). The 7th and 8th values have a number indicating which enemy - if any - is in that room, and what item is there.
It was then that I decided to write my own adventure, inspired in the assault to an alien base in the original 1993 X-COM game.
Your goal in "X-COM BASE-01 Assault" - I needed a name that would fit nicely in the intro screen - is to find a Hight Explosive charge, set it in the base's control center, and leave. Oh, and not getting killed by the aliens that are still around.
To move around, use the arrow keys, (or n e s w), u and d to go Up and Down, r to run, f to fight, t to throw a grenade, and m to use the Medikit
The game ended up being quite large, at almost 19 KB, although I will confess that this time I did not optimize it for size or speed, as the speed was more than enough, and saving 1 or 2 KB would not make a real difference.
So here is a disk image with a version in English and another in Spanish, plus the original "Asimov" adventure game.
Right below, you will find some technical information about the game, but be aware that it may contain spoilers! ;-)
Program StructureLines 250 to 270: Clear the status area.
Lines 300 to 310: "Press any key" prompt.
Lines 350 to 390: Print player status.
Lines 450 to 700: Room descriptions.
Lines 800 to 910: Item descriptions.
Line 950: "You can't go that way".
Lines 1000 to 1030: Run!
Lines 1100 to 1260: Throw a grenade.
Lines 1300 to 1450: Fight!
Lines 1550 to 1520: Which alien is in the room.
Lines 1600 to 1610: Use the Medikit.
Lines 1650 to 1680: Select CoCo model and monitor type.
Lines 1700 to 1780: Create the map and initialize variables.
Lines 2000 to 2090: You win!
Lines 2500 to 2510: You died.
Lines 3000 to 3260: Game intro.
Lines 5000 to 6060: DATA.
VariablesR(X,Y): Used to store each room's layout and content.
X=1 to X=6: Number of room to which each direction leads.
X=7: Type of alien in the room. (1 to 4)
X=8: Object in the room (1 to 8)
L, AL: Player's and alien's life.
A, AL$: Alien's race.
AH: Alien's hit %.
MK, LR, MG, G, HE: Indicate if carrying the Medikit, Laser Rifle, Proximity grenade, A.P. grenade, and High Explosive.
CC: High Explosive charge set in the Control Center.
TP: Room number to run to.
TR: Room to where a grenade is thrown.
Other stuffThis is the alien base's layout.
No, I did not forget to include text or explanations. This is already more that a lot of help! Go and play the game!