Shadowgate TAS by Randil
This run is 818 frames (13.63 seconds) faster than the currently published run of this game.
The improvements come from using torches in better places, manipulating the last boss, doing things in a different order and, of course, better menu navigation. More information about what has been improved can be found in the "Improvements" section below.
Essentials:
- Emulator used: FCEU 0.98.16
- Manipulates luck.
- Aims for fastest possible time.
- Genre: Storybook.
About the game:
Shadowgate is a so called "storybook game". This means that you have an interface with several commands that you can do. Basically, you first click on what you what to do, and then click on what you want to do this on. For example, you can first click on "OPEN" and then click on a door to open it.
The story of the game is that you play as "the last of the line of kings" who got a mission from a druid to defeat the evil warlock in his castle Shadowgate. The warlock will summon a behemoth, and only you can stop him!
About TASing this game:
There are essentialy 3 parts of TASing a storybook game like Shadowgate:
The route:
What rooms are you going to visit and what items are you going to pick up? This is the most important part of TASing a storybook game. This TAS basically uses the same route as the published run, with a few tweaks here and there. I'm positive that it's the fastest route.
Cursor movements:
This is the hardest part of TASing these games. The fastest cursor route is usually not obvious. Instead you have to do some testings to find the fastest cursor route. I always used frame advance when moving the cursor around.
You often have to plan ahead when choosing how to move the cursor around. Sometimes a certain cursor route is faster for room X, but will make you loose time in room X+1 because the cursor starts in a bad position for that room.
Another things that makes the choise for cursor movements non-trivial is that you can both open and enter doors both via the mini-map and via the main picture. The cursor moves twice as fast on the picture, but on the other hand, t greaterlly a little longer.
Text messages:
This is the most trivial part of TASing these games, but they can be a pain to optimize. Back when I made the first runs of these storybook games, I had to trial-and-error to optimize textboxes. I had to try my way to find the first frame I could press the B button on to make the box disappear, and so on.
This time around, I had memory addresses telling me when to press the B button. This means that I could scroll through textmessages without having to use one single rerecord! You bet that saved a whole lot of time for me when making this run. Of course, I still used savestates on textmessages if I did a mistake, but all in all, textmessages were handled without any problems at all.
Improvements:
As stated above, this run is 818 frames faster than the published run. This is because of several timesavers:
- I use torches in different places. I still only use 3 torches in total, but I use them in much more convenient places, in places where I'm already about to use something and have the list with the torches open. This saves quite some time, especially in the room with the Sphinx.
- I pick up the Scepter later. This allows me to have the hammer, the key 3, and the sphere in the same list.
- I put on the gauntlet later.
- In the observatory, I first open the star map, then pick up the star and the rod, instead of first taking the star, then open the map, and then take the rod.
- I use the orb on the staff later.
- In the last room with the wizard and behemoth, you'll see me hesitate before the lightnings come appear. This is because I found that how many lightnings appear is actually a random event! Between 3 and 6 lightnings may appear, it depends on when you press the A button. It pains me that I have to waste time in the last room to manipulate luck, but the only way for me to avoid this would be to enter the last room sooner, and to do that I'll have to find more improvements, but I haven't found any...
Anticipated questions:
- Q: So, what do torches do?
- A: Torches are necessary for me to stay alive. Each torch has 60 charges. You use up these charges when performing actions, such as opening stuff and picking up stuff. If your torch reaches 0 charges, you will die. That's why I have to light new torches now and then. Interestingly, actions only drain charges in certain rooms - well lit rooms don't drain charges at all! There is no real use for this though, but it can be fun to know.
- Q: I see you hesitate both on the sphinx and before the last boss. Are you sure this is necessary?
- A: Yes, I do. As far as I know, the only way to improve these events would be to enter the rooms sooner. The outcome of these events depend only on what frame you initiate them.
- Q: What do the Cloak and the Gauntlet do?
- A: The cloak allows me to survive the fire in the burning room, the one where I throw down the sphere. The gauntlet allows me to pick up the flute.
Useful memory addresses:
I have more than these addresses, but these were the ones that actually proved useful in the making of this TAS:
- 00AB: The X coordinate of the cursor.
- 00AC: The Y coordinate of the cursor.
- 00F5: This value is normally 128 but turns 0 on the frame before a textbox appears. This means that as soon as this value turns 0, I start holding down A until this value is 128 again.
- 00F0: This value is normally 1, but turns to 3 on the first frame that you can press A to make a textbox disappear.
- 04F4: The number of charges for the left torch.
- 04F7: The number of charges for the right torch.
- 0035: This value determines outcome of the sphinx' riddle and the number of lightnings on the last boss. This address changes value after a few frames. I believe that its value point somewhere in the game's ROM. Although this address didn't tell what the outcome would be, I knew when the outcome changed thanks to this address!
Special thanks to:
- Walker Boh, for his previous run.
- Maximus, for his, as always, very useful TAS movie editor. This program was used a lot in the making of this run, for example when I found some small improvements in the beginning of the movie.
adelikat: Accepting for publication as an improvement to the currently published movie.
NesVideoAgent: Hi! I am a robot. I took a few screenshots
of this movie and placed them here.
Here goes! Feel free to clean up the list.