Space Quest: Chapter 1 - The Sarien Encounter

This is the original EGA version of Space Quest 1.

Introduction/Story

Space janitor extraordinaire, Roger Wilco (aka TAS), survives a Sarien attack on his ship, the Arcada, by hiding in his janitor's closet. The Sariens, who have a grudge against Roger's people, steal the Star Generator--a device to create a new sun out of a lifeless planet--from the Arcada intending to use it's power to destroy Roger's home planet of Xenon (think Death Star). Now Roger (TAS), as the only survivor, has three tasks he must achieve to save his people:
  • Escape the Arcada, as the self-destruct mechanism has been activated.
  • Find out where the Sariens have gone.
  • Find a way to prevent the Sariens from destroying his home planet.
All in a day's work for a space janitor.

Game objectives

  • Aims for fastest time.
  • Speed/Entertainment trade-offs: The speed eliminates nearly all opportunity to read the humorous text that would theoretically add entertainment value.
Emulator used: c-square's modified JPC-rr 11.2 with mouse/keyboard typing support.
Game Version 2.2

Challenges and Opportunities

Text Entry The game doesn't display typed text every frame. However, multiple keystrokes can be buffered into emulator memory on a single frame and will all be displayed when the game polls for this input. This rarely hinders progress as text input can usually be accomplished during periods of movement unlike games like Quest for Glory or Space Quest 3 where the text input box can pause movements.
Desyncs As c-square has mentioned in other submissions, JPC-rr is horrible for being able to splice in changes after the fact. Making a change can cause many desyncs down the line. Therefore, it is imperative to ensure every screen is fully optimized before moving on to the next.

Major 'Luck' manipulation--RNG was manipulated in multiple ways.

  • The random seed is changed only when the random function is called, so the sequence of random seeds is calculable.
  • Certain commands in the game advance the random seed by calling the random function to yield a random response from the game. One of these commands is simply typing 'y' and hitting enter to advance the RNG seed one step in its sequence. This was used frequently to obtain an ideal seed value for a desired outcome.
  • A spreadsheet for the sequence of random seed values was developed based on the randomization formula. Though, this was initially created to aid in optimizing the slot machine sequence, we also realized that it could be used to predict and manipulate other aspects of RNG from Sarien guards, the rocks in the skimmer sequence, to even the drips of acid in the Kerona underground. Utilizing this RNG-seed spreadsheet we determined a value for the initial random seed that would yield no guards patrolling on the Arcada as well as opportunity to manipulate the longest delay for the arrival of the Spider droid on Kerona.
    • However, we were initially unsure how exactly to obtain this value for our initial random seed. We knew the value was tied to how many milliseconds after midnight the initial seed was set, but we did not know the exact mathematical formula for how it was calculated. Through a combination of brute force testing and mathematical calculations, we were able to craft a second spreadsheet which gave us the initial seed value based on the initial RTC time setting. We then started the run with this RTC value set at assembly in the emulator.
  • Specific RNG manipulations (and some non-manipulations)
    • As mentioned above, the initial RTC time in JPC-rr was set to yield no Sarien guards showing up on the Arcada.
    • The initial RTC was also selected to yield an opportune random seed value for maximizing the delay of the arrival of the Sarien Spider Droid on Kerona; only one 'y' command was needed to advance the seed value to yield the longest delay.
    • A 'y' command is used to avoid acid drops in the Kerona underground.
    • Though possible, we did not use RNG manipulation to manipulate the rock placements during the Sand-Skimmer sequence. c-square developed an lua script that attempted to avoid/control rocks during the sequence, but it was not utilized in the final TAS, as the sequence itself is a timed event. Manipulating RNG would not have saved time, but may have made the movements easier.
    • We got lucky on the RNG for whether or not the skimmer is stolen in Ulence Flats and didn't require manipulation to not have it stolen.
    • We used a handful of 'y' commands to minimize the time before the alien at the slot machine gets vaporized. As can be seen, he is eliminated before we can even reach the slot machine in the bar.
    • Using the RNG sequence spreadsheet and about a dozen 'y' commands, we destroy the slot machine in a matter of seconds by controlling the RNG for the spins and maximizing payouts.
    • 'y' commands are used a couple times on the Deltaur after obtaining the Pulse Ray to manipulate the appearance of guards instead of the killer droid. Further manipulation could be utilized to eliminate guard encounters, but would take more time than just shooting the guards.

Area Specific Comments

Arcada: It is possible to complete the game without obtaining certain bits of information normally needed to progress in the game. This run skips learning about the data cartridge from the dying scientist. It skips obtaining and later reading said cartridge to get the self destruct code for the Star Generator. (Side Note-these actions were made necessary in the VGA remake via copy protection/RNG means.) Thankfully, Roger is only required to obtain the keycard necessary to access the lower levels of the ship and escape.
Escape Pod: Auto Navigation can be activated prior to engaging the throttle. This seems surprisingly little known in the documents I read during my research for this run.
Kerona Desert: It is not necessary to be instructed by the underground alien to kill Orat before you do so. Thus, this run heads directly to him after gathering items from the crash site. His remains are then taken to the underground caverns ignoring the spider droid. (Side Note - The spider droid can also be used to kill Orat, eliminating the need to get the survival kit and open it; but it takes much longer. Radiant figured out that you must be instructed to kill Orat by the underground alien before this method will work.)
Underground Caverns: Nothing special here other than the minor RNG manipulation for the acid drops, just normal run through the passages.
Skimmer Arcade Sequence: Unskipable in this version (can be skipped in the remake). See above for RNG comments.
Ulence Flats: The skimmer is sold ASAP to get the jetpack and money for the slot machine. We skip buying/drinking beer necessary to get the information of the Deltaur being in Sector HH.
  • Slots (Major RNG dependency)
    • This was the most difficult and time consuming part of making this TAS.
    • Spins call the random function a different number times depending on whether or not the spin is a winning or losing spin. A randomized value determines whether or not a specific win result occurs, or whether a random sequence of symbols appears.
    • This submission's slot-machine sequence is GREATLY reduced compared to DrD2k9's first submission. This improvement is due to a better understanding and control of RNG.
  • After obtaining the necessary funds to buy a ship (and a droid to pilot the ship), We do so and leave Ulence Flats.
Deltaur: Pretty straightforward run from here on. Once Roger loses his helmet, appearance of Sarien enemies/droids is RNG controlled.
  • Star Generator Keypad
    • At 'Fastest' game speed, the cursor moves too fast to click the appropriate numbers, thus the speed is reduced to just 'Fast' for the numerical inputs, then returned to 'Fastest' to quickly access the 'Enter' button.
    • There are at least two layers of timing in this game. One for internal clock times (Star Generator self-destruct countdown, Arcada Self-Destruct countdown), and another for movement speeds. Unfortunately if the game in left in 'Fastest' mode after inputting the destruction code, the Deltaur will explode before the game leaves the keypad screen (itself a set timed delay after inputting the destruct code.). Therefore, we again slow the game speed to 'Fast' so that we can regain control of Roger and get him off the ship before it blows.
    • This is the single longest individual portion of the game. If the sound were left on, a VERY annoying alarm/beep goes continually throughout this wait. As such, we use an 'F2' input to turn the sound off just prior to the wait and another 'F2' input to turn it back on just following this wait.
  • After initiating the self-destruct on the Star Generator, Roger escapes the Deltaur and (somehow) returns home.
The End: Roger is awarded the Golden Mop for his deeds (once a janitor, always a janitor). This run does not, however, yield the best ending. Because Roger fails to retrieve the cartridge with the Star Generator plans from the Arcada, his people are unable to build a new one and save their solar system...meaning they all die eventually anyway. In a run that obtains this cartridge, the ending text is slightly different indicating the better achievement.

Potential Improvements

  • The most likely improvement possibility are based on better RNG manipulation; though the total time saved would likely be fairly minimal.
    • Actually manipulating the RNG during the skimmer sequence to yield a better string of random seed values for the slot machines could save time.
    • Determining a different starting RTC time for JPC-rr that yielded a string of random seeds that required less manipulation to begin with would also save time.
  • The wait during the Detonator Keypad screen is preset in the game code. If someone were able to find a way to alter this in-game, quite a bit of time could be saved.
  • Moving at the 'Fastest' pace used in this run is extremely difficult to end up where you want to go. There may be better movement patterns which we have not found.

Other Comments

  • As this game foregoes multiple point gathering opportunities, it's definitely not a 100% run and one of those could theoretically be done as well.

Suggested Screenshot\

[dead link removed]

Files:

HDD, TRACKS 16, SIDES 16, SECTORS 63
TimestampMD5SizeFilename
19900101000000f7c2ddf728794a176c9c741ea6fd782539424AGI
19900101000000d83459a8643dfc67b4629ec4afe64e138192AGIDATA.OVL
19900101000000e34849e963efdcc942b67ee9bf5c15331024CGA_GRAF.OVL
19900101000000714c88fa15b8327c585b86f3e619b0681024EGA_GRAF.OVL
19900101000000f3d4c66e195491aa759b7c5ef996488b3072HGC_FONT
199001010000008eb68e541e8ea93da96c7fc4cfde7f3f1536HGC_GRAF.OVL
19900101000000a8f5aabf72ed3d4165038275faf8b5271024HGC_OBJS.OVL
19900101000000119949f12a5fc14a082794350c19118b512IBM_OBJS.OVL
199001010000004488067df5a7201e34ee3b01252e9860512JR_GRAF.OVL
199001010000005d67630aba008ec5f7f9a6d0a00582f4372LOGDIR
19900101000000b1a713b5061db3f536971e234f261c47331OBJECT
1990010100000064680cd14e572be7f46636e819895fdf315PICDIR
19900101000000ab684bd2f6c0e87a80fc4cd06e544b1a198SNDDIR
19900101000000402c4f46dc3bda7768ef4bf1822be2623121SQ.COM
19900101000000df5f5263d61e250495c249002c6210a1512VG_GRAF.OVL
199001010000001868e1ce06e6c3816ec7364085e13f73762VIEWDIR
19900101000000e3c443117a755102173db7b0fb8b423c40622VOL.0
199001010000000e575ee31e7ad04f7d6f07cea41cca39222807VOL.1
1990010100000057790c69c23fddc56840d8b0255c232f264177VOL.2
1990010100000042b35795b6b489cd6e8d326e679f6a254793WORDS.TOK
19900101000000afd389988179e8db7359e1622f8f0770486_INSTALL.BAT

fsvgm777: Replaced movie file with the intended movie file.
Noxxa: Judging.
Noxxa: Some nice efforts have come together to optimize the run after the previous submission, and the results are quite apparent. Nice work on the RNG analysis to speed up the slot machine section, and nicely done run overall. Accepting to Moons.
fsvgm777: Processing.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15585
Location: 127.0.0.1
Skilled player (1416)
Joined: 10/27/2004
Posts: 1978
Location: Making an escape
Oh yeah, that's much better.
A hundred years from now, they will gaze upon my work and marvel at my skills but never know my name. And that will be good enough for me.
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3822)
Joined: 11/30/2014
Posts: 2832
Location: US
NOW I can vote yes! Well done to all involved on fixing the issues here and improving the run.
Editor, Expert player (2073)
Joined: 6/15/2005
Posts: 3282
Nice job figuring out how to make the slot machine go much faster, and figuring out randomness in this run. I was hoping that c-square's joystick input method would have been used instead: http://tasvideos.org/forum/viewtopic.php?p=461648#461648 http://tasvideos.org/forum/viewtopic.php?p=461690#461690 http://tasvideos.org/forum/viewtopic.php?p=461694#461694 Using the controller to move your character in a very precise way, that would have made it even more impressive. I noticed that the time reported by this site is 1:12.24, whereas the encode shows the movie finishing in 0:51. Which one is supposed to be correct, the time given by the site, or the encode?
DrD2k9 wrote:
Through a combination of brute force testing and mathematical calculations, we were able to craft a second spreadsheet which gave us the initial seed value based on the initial RTC time setting. We then started the run with this RTC value set at assembly in the emulator.
DrD2k9, could you upload this spreadsheet somewhere in case anyone wants to use it in the future?
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
One of the fun things of this run is that Sierra's text parser accepts all kinds of unusual and unlikely inputs for what you want to do. You can also use nouns as verbs (or vice versa) since the parser makes no distinction between the two. We've tried as much as possible to make the input ask for something unrelated to, or even the opposite of, what you'll actually get. For example, "fill credit card from the slot machine" is considered a synonym for unlocking the elevator with the keycard. In their later games with the SCI engine (e.g. Hero's Quest), typing any input pauses the game so for a TAS you're basically limited to the shortest inputs. But in AGI games, the game plays on while you type, so you can make inputs as complex as you want (as long as they fit on one line).
Active player (378)
Joined: 9/25/2011
Posts: 652
FractalFusion wrote:
I was hoping that c-square's joystick input method would have been used instead
I upgraded JPC-rr to allow using the number keys for joystick input. Unfortunately, the game freezes a few seconds after joystick input starts, making using it not feasible at the moment. I haven't been able to figure out why this happens.
I noticed that the time reported by this site is 1:12.24, whereas the encode shows the movie finishing in 0:51. Which one is supposed to be correct, the time given by the site, or the encode?
Looks like DrD2k9 resubmitted the old movie file (including garbled text) instead of the new one.
DrD2k9
He/Him
Editor, Judge, Expert player (2214)
Joined: 8/21/2016
Posts: 1090
Location: US
c-square wrote:
Looks like DrD2k9 resubmitted the old movie file (including garbled text) instead of the new one.
Oops...This is the correct movie file. Can someone (with the power to do so) replace the file in the submission?
Ford
He/Him
Joined: 3/5/2013
Posts: 183
Location: California
Thanks for including the 1/5 speed version! Really made it much easier to understand what was going on! Normally, these old Sierra games go fast like sanic, and if you blink you miss it.
DrD2k9
He/Him
Editor, Judge, Expert player (2214)
Joined: 8/21/2016
Posts: 1090
Location: US
Here are the spreadsheets. They may not be perfect, but they got us what we needed.
Editor, Expert player (2073)
Joined: 6/15/2005
Posts: 3282
DrD2k9, which game are you planning to TAS next?
DrD2k9
He/Him
Editor, Judge, Expert player (2214)
Joined: 8/21/2016
Posts: 1090
Location: US
I'm not 100% sure. I've considered the following: Space Quest 3 Dungeons of Drakklor Challenge of the Ancient Empires All are DOS games.
BigBoct
He/Him
Editor, Former player
Joined: 8/9/2007
Posts: 1692
Location: Tiffin/Republic, OH
Challenge of the Ancient Empires is one of the SuperSolvers games, isn't it?
Previous Name: boct1584
DrD2k9
He/Him
Editor, Judge, Expert player (2214)
Joined: 8/21/2016
Posts: 1090
Location: US
Yea. It's technically edutainment, but It's more platforming puzzler than educational information.
BigBoct
He/Him
Editor, Former player
Joined: 8/9/2007
Posts: 1692
Location: Tiffin/Republic, OH
I played it a bit when I was young. Never beat the harder difficulties.
Previous Name: boct1584
DrD2k9
He/Him
Editor, Judge, Expert player (2214)
Joined: 8/21/2016
Posts: 1090
Location: US
boct1584 wrote:
I played it a bit when I was young. Never beat the harder difficulties.
Me neither, which is part of why I'm considering it. Animation only happens roughly every 7 frames, so it's going to be a bit tedious to TAS. I have worked up through collecting the first set of artifact pieces and putting the puzzle together. it's just a slow process due to the animation rate. I may bounce around between the three games just to keep my sanity.
DrD2k9
He/Him
Editor, Judge, Expert player (2214)
Joined: 8/21/2016
Posts: 1090
Location: US
FractalFusion wrote:
DrD2k9, which game are you planning to TAS next?
Was there something particular you were hoping for?
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
DrD2k9 wrote:
FractalFusion wrote:
DrD2k9, which game are you planning to TAS next?
Was there something particular you were hoping for?
In my case, Space Quest III :D
Editor, Expert player (2073)
Joined: 6/15/2005
Posts: 3282
DrD2k9 wrote:
FractalFusion wrote:
DrD2k9, which game are you planning to TAS next?
Was there something particular you were hoping for?
I was fully expecting you to say Space Quest III. What you decide to do next is up to you. If you decide to do Space Quest III, you can make a topic. I'm working out the best way to enter the parser commands in that game.
Active player (378)
Joined: 9/25/2011
Posts: 652
If you do SQ3, I can tell you that SCI Companion definitely will come in handy! I'm happy to give pointers when the time comes.
DrD2k9
He/Him
Editor, Judge, Expert player (2214)
Joined: 8/21/2016
Posts: 1090
Location: US
I'll do SQ3 next. I started a forum topic.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15585
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. ---- [3571] DOS Space Quest: Chapter I - The Sarien Encounter by DrD2k9, c-square & Radiant in 00:52.04