Even though this submission is a joke, there are ways to improve it. Here's a movie that reduces the time from 900 frames to 500 frames.
User movie #638874688943283518
Link to video
These are the inputs used in
5891S:
go e
go s
go e
open window
go in
go u
go u
These are the inputs used in this new run:
s.e.open.in.u.u
[Plus an extra Return to dismiss a [MORE] prompt.]
The improvements are:
- Removing the first go e command, which steps into a blocked door.
- Removing go from all commands. Just s works the same as go s, for example.
- Shortening open window to open. This is one of those commands that will infer an object.
- Entering the commands all in one line, separated by .. This doesn't make YOU HAVE DIED arrive any faster, but it allows ending input early. Because all the commands together produce more than a screen's worth of output, we have to spend an additional 2 frames to buffer a Return input to dismiss a [MORE] prompt.
The new combined command string hits the RNG differently, such that the final
u command doesn't actually result in getting eaten by a grue, if you enter it as fast as possible. I had to insert 2 frames of delay at the beginning for RNG manipulation.
Modification | Change in frames |
---|
Remove go e | −46 |
Remove go everywhere | −25 |
Remove window | −22 |
Join commands with ., end input early | −309 |
RNG manipulation | +2 |
For fans of Lua integration, this TAS is another that was done using the
data-oriented savestate manipulation technique I have been developing. That means the entire run is driven programmatically by a Lua script. (In this case, it's actually a
Fennel script, which compiles to Lua.) See
zork.zip or
zork.bundle for source code. If you find any improvements, you may be able to implement them by editing the main script file
grue.fnl and re-running it.
A difficulty with the trick of concatenating commands with
. is that currently released versions of BizHawk have
a bug with the Apple II core where
. inputs are not properly recorded in .bk2 files. So after recording the movie, you have to manually edit "Input Log.txt" inside the .bk2 file to restore the missing inputs. It will be fixed in a future release of BizHawk.