Post subject: Space Quest 3
DrD2k9
He/Him
Editor, Judge, Expert player (2210)
Joined: 8/21/2016
Posts: 1086
Location: US
I'm going to run this game next. A few people have expressed interest in helping, so I'm creating this thread.
Active player (377)
Joined: 9/25/2011
Posts: 652
If I remember correctly, this should be pretty straight forward without much rng impacts. However there may be opportunities for some skips. As mentioned before, SCICompanion will be very useful. I’m keen to start doing some initial digging to see what opportunities might be there.
Post subject: Re: Space Quest 3
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
I'm happy to help. An important thing is finding out the fastest way to deal with the Arnoid bot. Intuitively I'd say that luring him to the ceiling pods is faster than luring him to the robot interior, because the pods are closer to your ship. Apparently you can use the metal pole (from Ortega) to grab his belt from the pods, but that's going to be much slower than buying the orat-on-a-stick. Essentially, the second part of SQ3 is a series of pretty easy minigames. You can pass the Astro Chicken game by just dying ten times; completing it is only necessary if you want the full score. This page outlines an easy AI exploit in the fighting robots minigame. The space battle minigame require you to hit four enemy ships. Their pattern can probably be manipulated somewhat, but frankly this game is trivially easy even when not TAS'ing.
Post subject: Re: Space Quest 3
DrD2k9
He/Him
Editor, Judge, Expert player (2210)
Joined: 8/21/2016
Posts: 1086
Location: US
Radiant wrote:
This page outlines an easy AI exploit in the fighting robots minigame.
The robots were what I was most worried about as far as RNG. After reading the above article, I think I'll try both that method as well as actually fighting him to see which is fastest. Truthfully, with save states, outright fighting him may be fairly simple.
DrD2k9
He/Him
Editor, Judge, Expert player (2210)
Joined: 8/21/2016
Posts: 1086
Location: US
This should help in minimizing keyboard inputs.
DrD2k9
He/Him
Editor, Judge, Expert player (2210)
Joined: 8/21/2016
Posts: 1086
Location: US
As far as skips....I was wondering about skipping Monolith Burger, but it seems that may not be an option.
DrD2k9
He/Him
Editor, Judge, Expert player (2210)
Joined: 8/21/2016
Posts: 1086
Location: US
I'm going to be using the GOG version of the game. Here's my preliminary file list from the image:
!BEGIN diskinfo-cb9ebc776794cbde4c2224acd9cd106a
+TYPE HDD
+ID cb9ebc776794cbde4c2224acd9cd106a
+TRACKS 16
+SIDES 16
+SECTORS 63
+TOTALSECTORS 16128
+IMAGEMD5 e7a05003b4df20232e2ec82b239bd267
+COMMENT(Entry: N/A            N/A                                      18 /)
+COMMENT(Entry: 19900101000000 e022fac068d78e62b21a1cc938a2f450       9778 /ADL.DRV)
+COMMENT(Entry: 19900101000000 53f823d23484325ea25d8d1ba01f3505       5825 /CMS.DRV)
+COMMENT(Entry: 19900101000000 ed4fb7b3973f4ec008701bbbe227b683        219 /DEFAULT.CFG)
+COMMENT(Entry: 19900101000000 d2f9e9ea730745558926518c930e7375       1952 /EGA320.DRV)
+COMMENT(Entry: 19900101000000 ab91b093a010aeb63866f71bc491110e        446 /IBMKBD.DRV)
+COMMENT(Entry: 19900101000000 c1a273f3ac6f9e39ae14b1399f0b26a7        541 /JOYSTICK.DRV)
+COMMENT(Entry: 19900101000000 7ced0fc0a7cc5395a1e4321250fcd943       1626 /MCGA320.DRV)
+COMMENT(Entry: 19900101000000 c465a944ca233b5fe97d5e19dea097c8       3179 /MT32.DRV)
+COMMENT(Entry: 19900101000000 60118bdc3e57076dc2d3d909730ff4af     490247 /RESOURCE.001)
+COMMENT(Entry: 19900101000000 c1526bd99391b674f0d68347f78b0fd2     715777 /RESOURCE.002)
+COMMENT(Entry: 19900101000000 69d74c5056144e09c6fdac85cc357cb3     703370 /RESOURCE.003)
+COMMENT(Entry: 19900101000000 634128488166ddb6e799b86bc5cfab00        215 /RESOURCE.CFG)
+COMMENT(Entry: 19900101000000 6509ea8a27cca3503aa2e18672c5d604       5730 /RESOURCE.MAP)
+COMMENT(Entry: 19900101000000 21f53b56b4bea50a28acbeeb0de37ade      76609 /SCIV.EXE)
+COMMENT(Entry: 19900101000000 48e6faeb6af8e540fed0523f17ec4c0d        538 /SIERRA.COM)
+COMMENT(Entry: 19900101000000 e022fac068d78e62b21a1cc938a2f450       9778 /SNDBLAST.DRV)
+COMMENT(Entry: 19900101000000 53f67f80f57577c0ef2e8bf897f45b4c       2466 /STD.DRV)
+COMMENT(Entry: 19900101000000 4f1243083efe33a01144eacc94fc84c6          7 /VERSION)
If anyone knows that one of these is specific to the GOG version and unnecessary please let me know so I can create a new image that will be more universally functional.
Active player (377)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
As far as skips....I was wondering about skipping Monolith Burger, but it seems that may not be an option.
It's absolutely an option. :)
Active player (377)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
This should help in minimizing keyboard inputs.
That's useful, but several of those are not optimized. For example, use "Push" instead of "Press" or "CRT" instead of "Screen". Always look for the shortest word you can for something. If I have time, I'll look through the vocabulary to find instances of shorter words. Also, I've checked the code, and I can't find a way around getting the thermal undies or killing the terminator.
Editor, Expert player (2071)
Joined: 6/15/2005
Posts: 3282
By the way, SCICompanion isn't able to decompile the scripts, at least on Version 1.018. The disassembly still helps though. In the robot fight, I think it's faster just to pin the opponent into the wall and punch him to death. In some cases, he won't even fight back or block at all. This is the input strategy I have so far (square brackets [] means press F3, and yes you can stack nouns):
(start)
STAND | JUMP | ENTER | PUSH CLAW | [PUSH CLAW] | EXIT | GET REACTOR | CLIMB | [CLIMB] | GET REACTOR | CLIMB | GET LADDER | [GET LADDER] WIRE | GO | SET LADDER | CLIMB | OPEN DOOR | SET REACTOR | [SET REACTOR] WIRE | SIT | CRT | [CRT]

(phleebhut)
STAND | EXIT | SET GEM | BUY SHORTS | [BUY SHORTS] ORAT | BYE | USE ORAT | [USE ORAT] SHORTS | SIT | CRT | [CRT]

(ortega)
STAND | EXIT | GET THERMAL | [GET THERMAL] POLE | UP | SET BOMB | DOWN | USE POLE | SIT | CRT | [CRT]

(pestulon)
STAND | EXIT | WEAR BELT | USE BELT | EXIT | PUSH BUTTON | GET SUIT | ZAP | GET PHOTO | COPY | SET PHOTO | ZAP | [ZAP] | [ZAP] | [ZAP] | [ZAP] | [ZAP] | [ZAP] | GET KEY | [GET KEY] -> (home delete 's') -> SET KEY | [SET KEY] COPY | USE PANEL | ZAP | CRT
Notes about this: - You can stack nouns. In most cases, if the first and last words are correct, it will work. - It is faster to use the mouse whenever possible. Text input should be "entered" by clicking on the input bar, not by pressing the enter key. - There are other input options. For example, PUT=SET WIRE=CORD Instead of USE PANEL, TAP PANEL also works. And TAP=PAT=PET=RUB and PANEL=PLATE, so you can choose a funny one if you like. - WEAR BELT can be used any time after getting the invisibility belt up until you have to use it. I tried a few other strategies (including using SET ON BELT so I could stack it with SET BOMB) but none of them save time.
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
FractalFusion wrote:
By the way, SCICompanion isn't able to decompile the scripts, at least on Version 1.018. The disassembly still helps though.
There are tools that do that; I'll go check. It may help to do that to find out what the parser commands are, because
In most cases, if the first and last words are correct, it will work.
that's not actually how the parser works. Of course, Sierra games very rarely require any commands that aren't exactly one verb and one noun, so it is usually how it works in practice. But sometimes there's a one-word synonym for a three word phrase for no gramatically obvious reason.
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
c-square wrote:
DrD2k9 wrote:
As far as skips....I was wondering about skipping Monolith Burger, but it seems that may not be an option.
It's absolutely an option. :)
Apparently, blowing up the shield generator on Ortega allows you to access Pestulon even if story-wise you have no reason to go there. So yes, you should be able to skip the whole McDonalds sequence.
Active player (377)
Joined: 9/25/2011
Posts: 652
Nice job getting the commands down to a minimum, FF. Btw, I’ve had no problems getting SCI Companion to decompile the scripts. I’ll look at what version I’m using tonight.
DrD2k9
He/Him
Editor, Judge, Expert player (2210)
Joined: 8/21/2016
Posts: 1086
Location: US
FractalFusion wrote:
By the way, SCICompanion isn't able to decompile the scripts, at least on Version 1.018. The disassembly still helps though.
I have version 3.0.1.7 and it still won't decompile, but does disassemble. The vocabulary files are also visible. They're not quite as 1:1 as with AGI Studio's words.tok editor, but SCI recognizes MANY more words than the older AGI systems.
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
DrD2k9 wrote:
I have version 3.0.1.7 and it still won't decompile, but does disassemble. The vocabulary files are also visible. They're not quite as 1:1 as with AGI Studio's words.tok editor, but SCI recognizes MANY more words than the older AGI systems.
Yes. I've recently realized that the SCI engine has a horrendously complicated semantic parser system that is completely ignored by all the games written in SCI. Anyway, SCI studio has a radio button somewhere that picks the SCI version of the game. Try fiddling with that.
DrD2k9
He/Him
Editor, Judge, Expert player (2210)
Joined: 8/21/2016
Posts: 1086
Location: US
C-square, I can't seem to get the mouse to respond in-game. I've tried to I drag and click then advance the frame. I've also tried drag-advance frame-click-advance frame. The game doesn't seem to recognize it. Ideas?
DrD2k9
He/Him
Editor, Judge, Expert player (2210)
Joined: 8/21/2016
Posts: 1086
Location: US
So I did a quick test dump of the first few screens of the game. It's nowhere near as zippy as the QFG runs....I'm not sure why it's seems so much slower. No "high-speed hero" setting maybe? https://filebin.net/bzl6l7zc60bej8m3/sq3test.mkv Anyway, I'm fearful that the final run won't look that much different from a human speedrun.
Active player (377)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
C-square, I can't seem to get the mouse to respond in-game. I've tried to I drag and click then advance the frame. I've also tried drag-advance frame-click-advance frame. The game doesn't seem to recognize it. Ideas?
I see. You bypassed autoexec.bat so you never installed the mouse driver. Just run "ctmouse /r32" before starting the game. And I have to agree, the game is not nearly as zippy as the others. My SQ4 run wasn't particularly fast, and it got accepted, but it did have some skips that a normal playthrough wouldn't have been able to do. I think the difference between moons and vault on this game will be whether it can do something you wouldn't see in a normal run. If you don't want to see this in the vault, it may be worth seeing if we can find something that will make it stand out. As for SCI Companion, I'm using version 3.0.1.7. Have you tried going to Script > Manage decompilation? When there, click on "Set Filenames" and then select the entire list on the left (select the first one, hold down shift, scroll down to the bottom and select the last one to highlight them all), then click "Decompile" EDIT: I'm trying to run the game in JPC-rr, but it won't run for me. It's saying "Couldn't install video driver". Was there some kind of setup you had to do?
Active player (377)
Joined: 9/25/2011
Posts: 652
Now here's an intriguing bit of code:
	(method (doit)
		(cond 
			(
				(and
					(gEgo has: 3)
					(gEgo inRect: 160 146 171 150)
					(not global131)
					(not (global5 contains: rat))
				)
				(rat init:)
			)
			((less-than (gEgo x?) -6) (global2 newRoom: 5))
			((> (gEgo x?) 326) (global2 newRoom: (if global157 27 else 7)))
		)
This is in the tunnel where the rat ambushes you. The first condition checks to see if you have the reactor and you're far enough in the tunnel and you haven't been ambushed before and the rat hasn't been triggered yet. If so, it triggers the rat ambush. So far, so good. The next condition checks if you are at the left side of the screen, and if so, it takes you to the room to the left of the tunnel. The last condition checks if you are on the right side of the screen. If so and global157 is False then it takes you to the room to the right of the tunnel. However, if global157 is True then it takes you to room 27, which is the approach to Monolith Burger! If we can just find a way to make global157 true, then we can skip a good chunk of the start of the game. Unfortunately, I can't find any code at all that sets this value to anything. Maybe in the assembly somewhere?
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
That's a cool find. My first thought was that it looks like a debug code, but given how Sierra's (very extensive) debugging system works it absolutely does NOT look like a debug option but an actual glitch. I'd have to check but I'm pretty sure that once you're on the other planets, the game doesn't check any more whether your ship is repaired.
DrD2k9
He/Him
Editor, Judge, Expert player (2210)
Joined: 8/21/2016
Posts: 1086
Location: US
c-square wrote:
I see. You bypassed autoexec.bat so you never installed the mouse driver. Just run "ctmouse /r32" before starting the game.
Yay, a simple solution...thanks.
EDIT: I'm trying to run the game in JPC-rr, but it won't run for me. It's saying "Couldn't install video driver". Was there some kind of setup you had to do?
I didn't have any video issues. But the first thing that comes to my mind is the resource.cfg file. Try making an image without it and see if that works (so the game uses default.cfg instead). Otherwise open the resource.cfg file and check the driver setting listed therein.
If you don't want to see this in the vault, it may be worth seeing if we can find something that will make it stand out.
My opinion on vault is that the vault tier is just as important for archiving TAS runs as any other tier. It would of course be great to achieve a higher tier through any appropriate means, but I have no problem with my runs ending up in the Vault. Hopefully we can figure something out a major skip with the potential glitch in the tube.
Active player (377)
Joined: 9/25/2011
Posts: 652
Quick note right at the start: It may be faster to F9 restart the game at the very start than it is to skip the blue Sierra opening screen. Worth a check. Also, it looks like there's no way around disabling the shield generator.
DrD2k9
He/Him
Editor, Judge, Expert player (2210)
Joined: 8/21/2016
Posts: 1086
Location: US
I may have already found a glitch... When starting up JPC-rr using ctmouse command before the game. If I enter all the dos commands as quickly as possible, I get this as the first thing showing in the game....not the blue sierra screen. If I just set the emulator to run before entering the dos commands, the game starts normally. I'm wondering if something with the mouse installation process is triggering this. If so, it's probably an emulation error.
Active player (377)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
I may have already found a glitch... When starting up JPC-rr using ctmouse command before the game. If I enter all the dos commands as quickly as possible, I get this as the first thing showing in the game....not the blue sierra screen.
You should get that if you hit F9 to restart the game. It may be faster to restart the game right at the beginning than get the blue Sierra screen, though it should be tested.
DrD2k9
He/Him
Editor, Judge, Expert player (2210)
Joined: 8/21/2016
Posts: 1086
Location: US
c-square wrote:
DrD2k9 wrote:
I may have already found a glitch... When starting up JPC-rr using ctmouse command before the game. If I enter all the dos commands as quickly as possible, I get this as the first thing showing in the game....not the blue sierra screen.
You should get that if you hit F9 to restart the game. It may be faster to restart the game right at the beginning than get the blue Sierra screen, though it should be tested.
Right, but I didn't hit F9. It happened automatically instead of going to the blue screen as a normal start of the game would. EDIT: Ok a delay of 2 frames between the 'ctmouse /r32 <Enter>' and 'c: <Enter>' commands results in a normal startup of the game, but there is a longer delay in the DOS screen (while the mouse is loading?) before the game begins. I'm guessing doing all three commands (to load the mouse and start the game) on the same frame somehow results in the mouse still loading while the game is trying to start loading as well. This then results in the "restart" dialogue box popping up instead of the sierra screen. Do you think this would be deemed as an emulator problem and negate a run utilizing it (assuming it's a faster way to the beginning of gameplay)?