Attack & Keep

Author:
Masaki Sato
Release:
"Technopolis" Sep. 1984 Issue
1: Attack. / Potion.,   2: Flee.,   s: Restart the game after the game is over.

The game:

Once upon a time, in a corner of the universe, there was the planet Kuborite, where peace-loving people lived.
One day, the evil Pump aliens invaded the planet, kidnapped the king's daughter, Princess Miyuki, and demanded her surrender.
You, the strongest warrior on the planet Kuborite, descended to the planet Pump to rescue the princess.


...There are elements of role-playing game, such as player leveling up and buying armor from NPCs.
However, the content of the 441-screen map changes randomly with each step, except for the position of the princess.
If the map is randomly generated once and never changes, it can be called a role-playing game,
but if the mapping does not make sense, it is considered to have no exploration element.
This is the reason why this website classifies this game as pseudo RPG.

Note:

There are typos (the lines #650 and #690), correct them (see below).
There are several strange English words, so I also recommend to correct them, but I ignored them in this Japanese version.)
Each checksum is as follows (using version 3.1 coded by the "MSX•FAN" team).
akeep-checksum
Sorry if there are any typos, however, I have tested my data, including the ending, and didn't get any errors.
However, there are several issues as game, so I recommend to try the following enhanced version.

My suggestions for the enhanced English version:

First, modify these lines as below. (Sorry I ignored REM strings.)
akeep-en-suggestions-part1
Next, type following lines!!
akeep-en-suggestions-part2
• The locations where the three NPCs appeared always changed randomly, but this did not make the map exploration meaningful.
  After the coordinates of the three NPCs are randomly determined at the beginning of the game, each coordinate won't change until the game is over.
  The need to search for them arises, and if you don't have enough money at the time you meet them, you also need to remember their coordinates.
  Those are the elements of 2D dungeon crawler.(#70~#73, #240, #250, #770 & #820)
  "DEFINTA-Z" in the line #10 is for each coordinate to be an integer.
• The condition for being able to flee from an enemy was to reduce the enemy's HP to less than half,
  but it is made possible at a certain rate regardless of this condition.(#470)
• A sword and armors that could be purchased from NPCs was difficult to understand its effects.
  In particular, variable I was used for armors, and its effects were questionable.
  Made them easier to understand and added a more random element.(#70, #500, #510, #550, #560, #800 & #810)
• A random element has been added to the normal damage amount and its value is now displayed.(#550 and #560)
• The potion always had the effect of heal all HP, but it could not be drunk when there was not enough left to heal HP fully.
  If it was not possible to heal your HP, it would be better if the remaining amount of the potion should be used up.(#580 & #590)
• Still, if the amount of potions gained from defeating enemies was always only 100, it would be harder in the latter half of the game,
  so changed the amount to be based on the player's level.(#640)
• The display position of NPC messages has also been changed.(#710~#730, #750 and #780)
  The message clearing routine has also been partially changed accordingly.(#300)
• Fixed a bug that allowed the player to purchase more expensive armor as long as they had 200 gold.(#740)

If you modify the code as described above, each checksum will change as follows (using version 3.1 coded by the "MSX•FAN" team).
akeep-checksum-en-version
akeep-en-screensIt should be more interesting...

Joystick Support:

"STICK(0)" is found in the line #180. The quickest way is to simply replace each "0" with "1".
In addition, modify the following lines.
akeep-joystick

For SNES+ AD Adapter users:

Can't see the first letter of each message due to MSXAdvance's inability to display the 8 dots on the edge.
There are 39 PSET() statements. You must modify each X-coordinate except the line #850.
For example,
PSET(2,  ->  PSET(10,
PSET(2+I,  ->  PSET(10+I,
PSET(60,  ->  PSET(68,


>>Return to the "RPG for MSX (Type-in programs)" index page