ROOM
You see a nondescript table. On it rests a book. 

> look at table
I said the table is nondescript!

> look at book
It is an electronic book. "Don't Panic!" is written in large, friendly letters
on the cover.

> read book
You don't have it.

> get book
Taken.

> read it
It is the Hitchhiker's Guide to the Galaxy, is an electronic guidebook to the 
entire universe.

> read about hitchhikers guide
Which do you mean: 
	1) The wholly remarkable guidebook published by Megadodo Publications, 
	   one of the great publishing houses of Ursa Minor Beta.
	2) The science fiction series written by Douglas Adams
	
> 2
The Hitchhiker's Guide to the Galaxy is a comedy science fiction series 
created by Douglas Adams of Earth (see: Mostly Harmless). The broad narrative 
of Hitchhiker follows the misadventures of the last surviving man, Arthur 
Dent, following the demolition of the planet Earth by a Vogon constructor 
fleet to make way for a hyperspace bypass. Dent is rescued from Earth's 
destruction by Ford Prefect, a human-like alien writer for the eccentric, 
electronic travel guide The Hitchhiker's Guide to the Galaxy, by hitchhiking 
onto a passing Vogon spacecraft. Following his rescue, Dent explores the 
galaxy with Prefect and encounters Trillian, another human who had been taken 
from Earth prior to its destruction by the President of the Galaxy, the two-
headed Zaphod Beeblebrox, and the depressed Marvin, the Paranoid Android. 
Originally a radio comedy broadcast on BBC Radio 4 in 1978*, it was later 
adapted to other formats, including stage shows, novels, comic books, a 1981* 
TV series, a 1984* video game, and 2005* feature film.
(* all dates in Earth years)

> read about video game
An interactive fiction video game based on the comedic science fiction series 
of the same name. It was designed by series creator Douglas Adams and 
Infocom's Steve Meretzky, and was first released in 1984* for the Apple II, 
Macintosh, Commodore 64, CP/M, MS-DOS, Amiga, Atari 8-bit family and Atari ST.
The game loosely mirrors a portion of the series' plot, representing most of 
the events in the first book. As with other Infocom games (see: Zork series) 
the Hitchhiker's Guide is a text adventure game, where the player solves a 
number of puzzles to complete various objectives to win the game. The player 
has a limited variety of commands that they can enter to observe, move about, 
and interact with the game's world, such as "look", "inventory", "north" (to 
move north) "take screwdriver", or "put robe on hook". 

The Hitchhiker's Guide to the Galaxy gained a reputation for its difficult 
puzzles. The most notorious involved getting a Babel Fish out of a dispenser 
in the hold of the Vogon ship. This tricky puzzle appears early in the game 
and requires the player to use a variety of obscure items in a very specific 
fashion as to create a Rube Goldberg-like chain of events, and had to be 
"solved" within a limited number of turns. Failure to "solve" the Babel Fish 
puzzle did not kill the player, but rendered the remainder of the game 
unwinnable. That particular puzzle became so notorious for its difficulty that
Infocom wound up selling T-shirts bearing the legend, "I got the Babel Fish!".
Due to numerous other similar puzzles in the game, The Hitchhiker's Guide to 
the Galaxy ranks #1 on gamespot.com's list of games that can become 
unwinnable link.

Subsequent rereleases included a Solid Gold version, containing a built-in 
hint book, as well as 20th and 30th anniversary editions released by the BBC 
with augmented graphics (the interface remains text input) link. In
September 2018* an realtime speedrun was submitted to speedrun.com link and 
later that year a tool-assisted speedrun was submitted to TASVideos.org link.

> read about TAS
The tool-assisted speedrun was created by c-square using JPC-rr 11.2 augmented 
with TASScript link, on the Solid Gold version of the game (v.31). One goal 
of developing the JPC-rr TASScript improvement was to create a system that 
would make it much simpler to develop a text adventure TAS. To that end, 
c-square teamed up with DrD2k9 to tackle Zork I link. Unfortunately, it became 
quickly clear that significant luck manipulation would be required for that
TAS. In the meantime, c-square decided to run the simpler "Hitchhiker's Guide
to the Galaxy" game as a proof-of-concept and a learning exercise.

More information can be found under the following headings:
	- Objectives
	- Luck Manipulation
	- Strategies
	- Potential Improvements
	- Encodes
	- TASScript
	- Files
	- Color a Dinosaur
	
> read about objectives
The objectives of the run are:
	- 100% completion (400 points)
	- Beats current unassisted record by 9:46
	- Luck Manipulation
	- Finds and drinks a cup of tea

> read about luck
Although making the TAS was much easier with TASScript, there was still a lot 
of luck manipulation involved, including:
	1) Getting the shortest password for getting the plotter
	2) Always making sure the gift from the Aunt reappeared in the 
	   inventory when pulling the switch to avoid an additional text entry 
	3) Getting the desired destination to be the first destination that 
	   appears each time you go to the dark
	4) Getting the shortest path in the maze (3 steps)
	5) Getting the tool with the fewest letters (awl) as the tool to give 
	   to Marvin (you might say it was awl or nothing...)
	
> read about strategies
As with any text entry game, minimizing the number of letters typed is 
critical. Much of this run was finding smaller words for saying things (e.g. 
"don" and "doff" instead of "put on" and "take off", or using Mr. Prosser's 
first name) and when nouns could be omitted. This made it critical that the 
awl was the tool to be chosen at the end of the game, and the player had to 
visit the War Chamber last so that the awl was in the inventory. Each text 
entry was optimized to the millisecond.

> read about improvements
The TAS was made with shortest text input in mind. However, there are 
instances where a slightly longer text input results in one fewer line in the 
descriptive output, which may result in a savings. There were just too many of 
these situations to test out. 

> read about encodes

> slow it down
You don't want me to do that. It would spoil the entire game!

> slow it down
No! It will make the game no fun if you just see all the answers.

> slow it down
Fine, fine. Don't say I didn't warn you.
A few things to know about the slowed encode:
	1) The password to the plotter box is not manipulated to be the 
	   shortest like it is in the fast run
	2) Luck manipulation in the rest of the run is not optimized (as it is 
	   in the fast run)
	3) The fast run uses "Superbrief" descriptions which require an extra 
	   "look" command in the engine room. In the slow encode, the look 
	   becomes extraneous.

> read about TASScript 
The TASScript can be downloaded here link, where you can see all inputs.

> read about files
HDD, 16 tracks, 63 sectors, 16 sides.

Timestamp,MD5,Size,Filename
19900101000000,23abb66bad86a0fd8907a71705bca283,158413,HITCHHIK.DAT
19900101000000,173ff27e03b251e05b4cf46f362f192c,31924,HITCHHIK.EXE

> vote
Are you sure you don't want to see the "Color a Dinosaur" entry first?

> read about color a dinosaur
A dinosaur was not colored in this TAS

> vote
Go here to vote: link

> vote
No, seriously, you're going to have to click on the link above to vote

> click link
Listen, this is just stylized submission text. It's not actually text parser 
input. You'll have to click the link yourself.

> click link myself
Argh.. I give up.

> don't give up

> don't give up

> look

> inventory

> help

> quit

feos: No idea what this game is, but hopefully I'll figure it out. Or not. Judging...........
feos: Removing the branch label as explained here.
feos: Okay so I've read all the text in this movie, compared it to the RTA record, looked up what the points are gained for, and I think this is a good TAS, especially with all the shortcuts text input allows. The amount (and sometimes order) of proper actions doesn't allow for too much variety, so the speedrun boils down mostly to entering the commands, as explained in details in the thread.
Now, while a few people who are familiar with the game enjoyed it, the movie is completely unwatchable as it is. Even if you slow things down you still have to either magically know what's going on, or just read all the elaborate auteur eloquence, savoring the exquisite arthouse masterpiece that is being poured onto your bemused mind. Isn't that beautiful? Maybe it was, back when this game was released, when text quest genre was everything you needed to be entertained by a computer game. But overwhelming majority of games we TAS involves gameplay that can be actually seen, and if you don't have to read at all to understand the brilliance of the work in question, the better. I could have said millions of words describing why this game is so good or bad, and why the tier it gets fits it perfectly, but let's leave the rhetoric to true connoisseurs and simply accept this movie to Vault.
fsvgm777: Processing.


DrD2k9
He/Him
Editor, Judge, Expert player (2213)
Joined: 8/21/2016
Posts: 1090
Location: US
Personman wrote:
You refer in your latest post to "goofing off", but that's not what I was suggesting — I was talking about optimizing speed by typing longer commands (at no cost) that result in less text output. I'm pretty confused now, though, about how to reconcile c-square's claim that this is impossible ("there is no frame rule on the start of scrolling (i.e. hitting enter on key input #1 starts scrolling faster than hitting it on key input #2)) with your claim that "having more inputs within the frame shouldn't lose any time before the impact of the 1st input is seen."
WARNING: this is going to be a long post. c-square, yourself, and I are all correct...we're just discussing subtly different aspects of input. I'll try to explain with some hypothetical examples (not ones from this particular game). If you want to move the character in a circle by going north, east, south, and then west; there are multiple ways to type the commands to do so. Option 1: n<enter><enter>e<enter><enter>s<enter><enter>w<enter> The way to read this input stream is as follows: press 'n' press <enter> release <enter> press 'e' press <enter> release <enter> press 's' press <enter> release <enter> press 'w' press <enter> In other words, 11 key press/release events. This is the absolute fastest way to begin the screen scroll upon moving north. This option assumes that not releasing the pressed down keys won't add additional letters to the text command and screw up the input. If it would, then the keys pressed down must also be released and result in more frames required to type both commands; this is because it takes the same amount of time to release a key as it does to press it down. If it would work without releasing the letters pressed down, those keys would still need released at some point before they could be typed again. And as already mentioned, the key releases takes time. Option 2: n..e..s..w<enter> With this input stream, periods replace the first 3 enter presses. While it's equal at 11 inputs, the first <enter> press occurs 9 inputs later which may delay the start of screen scroll a fraction of a second. (This is what c-square was referring to by a later enter press having a delaying impact even though it's the same frame.) Now let's say you wanted to move north and then pick up a ham. Option 1: n<enter><enter> wait for output scroll until next prompted for a command then type get ham<enter> This gets the screen scroll for moving north as fast as possible but delays inputting the next command. Option 2: n<enter><enter>get ham<enter> This gets the screen scrolling just as quickly as Option 1, but essentially pre-types the next command to pick up the ham before the screen scroll has completed. This allows for the output of picking up the ham to occur earlier than Option 1 and is thus more optimal. (This is what I meant by the extra key presses within the frame after the first enter press won't delay the start of the screen scrolling). So finally let's discuss what I think you were wondering about: You want to go north into an armory and pick up a shotgun from a selection of multiple weapons. Option 1: n<enter><enter>get alll<enter> This is the shortest possible input stream to get the earliest scroll and acquire the shotgun. It's 12 inputs long and thus would require at least two frames to do, but would likely all be processed before the screen stopped scrolling. Unfortunately, it's also likely the character would pick up other unnecessary items which may later need dropped. This would require typing additional commands to drop those items resulting in a longer overall run. It may also try to pick up unobtainable items resulting in extra output text that is useless but takes even more time. Therefore it's likely suboptimal. Option 2: n<enter><enter>get shottggunn<enter> Though this input stream is longer, it is still less than 23 inputs and still only takes 2 frames to type. As with the above, it's likely that the processing of this input stream will occur before the screen is done scrolling. This results in a longer command that yields a better outcome and shorter overall run, because nothing extra was obtained that would later require extra commands to drop. Again, I think this was how you were asking about optimization. Sorry for all the confusion with goof-off input discussion (it is still good information, even if not necessarily on-topic). I hope all that makes sense and helps consolidate all the previous explanations.
Active player (378)
Joined: 9/25/2011
Posts: 652
Some additional input:
DrD2k9 wrote:
Now let's say you wanted to move north and then pick up a ham. Option 1: n<enter><enter> wait for output scroll until next prompted for a command then type get ham<enter> This gets the screen scroll for moving north as fast as possible but delays inputting the next command. Option 2: n<enter><enter>get ham<enter> This gets the screen scrolling just as quickly as Option 1, but essentially pre-types the next command to pick up the ham before the screen scroll has completed. This allows for the output of picking up the ham to occur earlier than Option 1 and is thus more optimal. (This is what I meant by the extra key presses within the frame after the first enter press won't delay the start of the screen scrolling).
Unfortunately, in this game no text input is processed while the screen is scrolling. Text scrolling and input processing are mutually exclusive activities. Only once the game has stopped scrolling and opened itself up for input will it take in that input from the keyboard buffer, one key every 1.3 ms. That leads us to... Option 3: n..get ham<enter> This takes longer to get the screen scrolling than either Options #1 or #2, however keeps the parser from stopping after heading north to get the next command. Instead, the game fires both commands off back-to-back, which makes this the overall fastest result of all three options. In reality, there's no such thing as a frame in DOS. DOS is running all the time, and JPC-rr just lets you get a peek at the current state every 14 ms. Luckily, although it restricts its video output to snapshots every 14 ms, it doesn't restrict your input, and you can fine-tune your input to the 1/1000ths of a millisecond if you really wanted to. What makes it variable (and where something like a frame-rule would come into play) is how often a game is programmed to poll for input. Quest For Glory takes 100 ms to poll for a single letter. CD-Man polls at least every 2 ms, probably less. (My apologies if I’m saying something that’s already been said. It’s late and I’m tired.) HHGG polls one letter every 1.3 ms but only when it’s waiting for a command. If it’s outputting text, it doesn’t poll. Due to the different polling rates between games, each game will have a bit of a different strategy when it comes to optimizing a TAS, which is one of the things that makes DOS TASsing interesting.
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Phew, finally I've read it. It was constantly oscillating between horrendously boring and funny, and in the end I didn't like the experience I've had. Questions. What word shortcuts are you using throughout the run? You mark this as 100%, are there ways to beat it with lower completion?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Active player (378)
Joined: 9/25/2011
Posts: 652
feos wrote:
Phew, finally I've read it. It was constantly oscillating between horrendously boring and funny, and in the end I didn't like the experience I've had.
Yeah, I can understand that, as game is really just a set of in-jokes for people who have read the book.
feos wrote:
Questions. What word shortcuts are you using throughout the run?
Efficiencies include:
    - Using only verbs when nouns can be implied - Finding the absolute shortest words ("rise" instead of "get up", "sip" instead of "drink") - Using single-letter shortcuts where possible ("l" for look, "z" for wait) - Chaining nouns (you can use "it" to refer to the previous noun you used) - Using acronyms ("ATS" for "Advanced Tea Substitute") - Referring to people by their real names ("Tricia" for Trillian and "Mr" for Prosser) - Forcing the awl to be the tool chosen by Marvin
Other ones I liked are using "frisk" instead of "search" and "doff" instead of "take off"
feos wrote:
You mark this as 100%, are there ways to beat it with lower completion?
Yes. Although getting all 400 points is mandatory, there are three ways to lose points in the game, and it's possible to end the game with fewer than 400 points.
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
c-square wrote:
feos wrote:
You mark this as 100%, are there ways to beat it with lower completion?
Yes. Although getting all 400 points is mandatory, there are three ways to lose points in the game, and it's possible to end the game with fewer than 400 points.
Would that be faster than your movie?
c-square wrote:
- Using single-letter shortcuts where possible ("l" for look, "z" for wait) - Using acronyms ("ATS" for "Advanced Tea Substitute")
List all of these please. I could assume what things mean, but I want to be sure.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Active player (378)
Joined: 9/25/2011
Posts: 652
feos wrote:
c-square wrote:
Yes. Although getting all 400 points is mandatory, there are three ways to lose points in the game, and it's possible to end the game with fewer than 400 points.
Would that be faster than your movie?
No, as you'd have to spend time entering commands to eat the cheese sandwich, drink the ATS or turn on the spare drive before you need it. Each of these deducts 30 points from your score.
feos wrote:
c-square wrote:
- Using single-letter shortcuts where possible ("l" for look, "z" for wait) - Using acronyms ("ATS" for "Advanced Tea Substitute")
List all of these please. I could assume what things mean, but I want to be sure.
n = north s = south e = east w = west sw = southwest d = down u = up l = look z = wait g = repeat last command ats = advanced tea substitute Also forgot to mention the shortcuts of using just "no" for "no tea" and manipulating the shortest password to get the plotter.
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Thanks. I don't think "full completion" goal is possible for this game, you just play the fastest route and end up getting full score because you simply do things right. Specifically, you have to do extra actions to lose score, while common understanding of "full completion" is doing extra actions to gain more points. For this reason, I think 400 points are inherent to fastest completion of this game, and the branch label is unnecessary.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Active player (378)
Joined: 9/25/2011
Posts: 652
feos wrote:
Thanks. I don't think "full completion" goal is possible for this game, you just play the fastest route and end up getting full score because you simply do things right. Specifically, you have to do extra actions to lose score, while common understanding of "full completion" is doing extra actions to gain more points. For this reason, I think 400 points are inherent to fastest completion of this game, and the branch label is unnecessary.
Yeah, that makes sense. This really is just a fastest completion run. P.S. Love the acceptance text. 😀
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15584
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [3882] DOS The Hitchhiker's Guide to the Galaxy by c-square in 00:12.68