Posts for c-square


1 2
11 12 13
26 27
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
Ok, challenge. Can someone figure out if the time Roger has to wait on Phleebhut for the terminator is RNG dependent or a set amount?
Here's the code you're looking for:
(switch global110
		(1
			(if (== (Random 1 2) 2)
			((= gNewAct (Act new:)) posn: 1000 1000 init:)
				(= gSeconds (Random 2 10))
			)
		)
		(2
			((= gNewAct (Act new:)) posn: 1000 1000 init:)
			(= gSeconds 3)
		)
	)
When you enter the screen, if you've met the terminator but he hasn't found you get (global110 value of 1), then there's a 50% chance he'll show up on this screen at all. If he does show up, then there's a wait of between 2 and 10 seconds before he shows up. Alternatively, if he was chasing you and got close enough from the last screen (global110 value of 2), then he's guaranteed to show up after three seconds. Looks like what you want to do is get rng numbers set up so that he appears, and it's after only two seconds before he starts coming for you. Looks like we might want to go hunting for that rng again. Unfortunately, this is SCI not AGI, so it may be a different calculation. Note: Random is called on almost every screen on this planet to determine the wait time until the terminator finds you. EDIT: You may be able to fiddle with the rng if you try different routes to the pods. A South-South-East route should line you up with a different random number than a South-East-South route, which will be different than a East-South-South route. If none of those work, you can also play around with the rng by changing the route you take to the World of Wonders (there are six different routes you could try). Combine those with the three from above and there are 18 different possible routes overall, each resulting in a different rng for the pod screen.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
Current WIP. Using default JPC-rr settings. TASing this has been tedious. I've discovered that the mouse is not always the fastest input method for movement (keyboard is often used at screen transitions).
Nice! Since we can't seem to find a way to get that global variable set so we can skip out to the burger joint, this seems to be the best way. It looks optimized to me, and no random events to worry about. Yeah, it can be tedious to do this. It's definitively worth checking keyboard input vs mouse, as you've found out.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
So, we know SQ 1 and 2 are not bound by frame rate. Is SQ3? If so, then it sounds like it could be done at a CPU frequency divider of 1. I just checked and the boot up is now insanely fast! It shouldn't have an impact of gameplay though (if it did, it wouldn't be allowed).
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
Did I find it entertaining? Meh. Should it be accepted? Definitely.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
There hasn't been much response on the CPU speed topic. I think the best course of action is to go ahead and run this game at default speed (which is comparable to real-world systems at the date of release for SQ3). If conversation does still happen that yields a rule generalization/decision different from my proposed rules in the other topic, I will either restart this run at the higher speed option or consider re-running to obsolete an already submitted/published SQ3 run.
I agree, the game goes fast enough at default speed (not as fast as the others), and it removes one point of contention that may arise otherwise. I haven't had much time to dig into the code recently, and may not get a chance in the next few days either. If there's something in particular that would be worth looking at at this stage, I can check it out, though.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
Agreed with everything said here. CPU speed can be changed, but there needs to be a valid reason why its changed, and then every run after must run at the same CPU speed as the original. In the CD-Man run, I had to defend using the default speed, showing that it matched CPU speeds of the computers at the time of the game's release. I think a good general rule is, stick with the default speed unless there are exceptional circumstances. Doing otherwise opens the runner up to extra scrutiny over the chosen speed, and potential rejection. As for the question about other emulators, to my knowledge, JPC-rr is the only approved DOS emulator for TASvideos, so at the moment it's not an issue.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
c-square wrote:
All this seems moot, though, if JPC-rr doesn't support Turbo-button functionality. Do you guys know if that's the case?
I can't find anything on it, but I did read here that we can set the CPU speed to just about anything between 3.9MHz and 1GHz. This warrants two questions.... A) Should we run this game at a lower/higher than default JPC-rr settings? B) If changing it from the default is ok, should we revisit the previous two Space Quest games with different JPC-rr settings? And furthermore, that site also says we can turn off the input/output delays. Though it may not affect speed of a run, it may make direct editing of a savestate file easier. Specifically I'm curious if changing this setting may make typed commands faster for the earlier SQ games. EDIT: Never mind...it's off by default.
Speeding up preset cpu speed my be venturing into dangerous territory, as it opens the run up to arguments that the added cpu speed unfairly influenced the run time. We’d need to be able to prove that wasn’t the case. On the other hand, slowing down the cpu speed might add some intrigue and interest to the run as it’s counterintuitive that a slower cpu would produce a faster run. :)
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
Again all that only matters if global124 set to 0 yields changes that will speed up the run. Could we isolate the address for global 124 and try to poke it to zero?
An easy way to poke it mid-game is to use the SCI debugger. Open it by pressing both shift keys and the minus key over by the num pad on the same frame. Once the debugger opens, type 'g' and a popup will appear. Type 124 into the popup, hit enter, then type the value you want to set for the variable. Finally, press both shift keys and the letter 'd' to drop out of debug mode. Once you've set the value to what you want to test, type "pump shark<enter>" to enter SQ3 debug mode, followed by "tp<enter>" to choose a room and enter "40<enter>" to go to the appearance of the terminator. You can then see which version is faster. Make sure the game animation is on the same value for both tests (hitting the minus key earlier may have slowed it down one). All this seems moot, though, if JPC-rr doesn't support Turbo-button functionality. Do you guys know if that's the case?
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
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)?
I don't think so, as it's very possible that would happen in a real system if you entered commands in that fast. In the end, you can achieve the exact same result by hitting F9, so it gives no advantage, and you may want to restart anyway to avoid the Sierra screen, so I see no issue with it. On a separate note, there's an interesting bit of code on startup:
		(if (== (++ global123) 1)
			(= local0 (+ 60 (GetTime)))
		)
		(if (u< local0 (GetTime))
			(cond 
				((<= global123 30) (= global124 0))
				((<= global123 60) (= global124 1))
				(else (= global124 2))
			)
I'm not sure what "u<" does, but I'm guessing this is checking the speed of your computer. Later in the code it disables some animations and changes the terminator introduction slightly if global124 is set to zero. I can't see any gain in trying to manipulate the value, but maybe you guys might? Finally, congrats on the acceptance of the SQ1 run! We've now got three SQ runs accepted, with a fourth in the works!
Experienced Forum User, Published Author, Active player (372)
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.
Experienced Forum User, Published Author, Active player (372)
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.
Experienced Forum User, Published Author, Active player (372)
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?
Experienced Forum User, Published Author, Active player (372)
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?
Experienced Forum User, Published Author, Active player (372)
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.
Experienced Forum User, Published Author, Active player (372)
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.
Experienced Forum User, Published Author, Active player (372)
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. :)
Experienced Forum User, Published Author, Active player (372)
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.
Experienced Forum User, Published Author, Active player (372)
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.
Experienced Forum User, Published Author, Active player (372)
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.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
c-square wrote:
One quick point, you may want to replace the suggested screenshot with a one from this run that doesn't have the glitched text at the top.
Done Also, on a similar note to potentially receiving a nomination for Speedy TAS of the year, would Radiant be qualified for Rookie of the year as this is his first submitted TAS?
I don't know how it works with joint submissions, but I don't see why he couldn't be nominated.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
Submitted.
Hurray! Great work DrD2k9 and Radiant, and thanks for your contributions too, Fractal. One quick point, you may want to replace the suggested screenshot with a one from this run that doesn't have the glitched text at the top. EDIT: Odd. Your new encode is *much* faster than your original one. See here. Was your original one just encoded slow?
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
I was able to edit the save file to eliminate the sound during the self destruct keypad sequence. I've updated the video links above. I'll submit the final video a bit later tonight.
Nice! You know, this has a shot at a Speedy TAS award. At least it should get a nomination.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
But my opinion is that you've both earned a place.
Well, thank you. I think it's gracious of you and I appreciate it.
DrD2k9 wrote:
Hypothetically, if Radiant were to do a TAS of one of his own games, would it be deemed unfair? Because theoretically, he could just tweak a few files here and there to make a TAS extremely easy and then claim it a new version of the game with which he could then perform the TAS.
I think we'd trust his integrity that he wouldn't do that. Moreover, if he did, he'd have to release that version to the public for verification, and then any future runner would have access to do the exact same thing, so it would be fair. Finally, if I were an author of a game, it would go against my pride of having built it to deliberately introduce a short-cut or flaw in the game just to do a TAS.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
I've finished the runs.
WOO HOO! Congratulations, you went from 2:20 to 0:50, about 1/3 the original time. That's a great improvement. Nice work, DrD2k9!
DrD2k9 wrote:
Now then...who all wants/gets authorship credit? I was thinking myself, c-square, and Radiant. To follow up that question...how do I submit with multiple authors?
That's completely up to you. I'm glad to have helped, but you're the one who ran the run in the end. I'm happy to have my name added to the list, but I won't be offended if it isn't. To submit with multiple authors, just put commas or ampersands in the nickname field to separate the authors.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
And not to be difficult, but that only yields 246 buckazoids. It takes another 3 spins to get the needed 250.
Doh! Looks like I was too zealous in trying to save frames. Okay, this path should be about 6 frames slower than the previous one, but it breaks the bank: S = Skull C = Cherry D = Diamond E = Eye Start: 30 Bz 1) Bet 1 -> EDE 29 Bz 2) Bet 1 -> SCE 28 Bz 3) Y- Enter 4) Bet 3 -> EEE 55 Bz 5) Y- Enter 6) Bet 3 -> EEE 82 Bz 7) Y-Enter x 3 8) Bet 3 -> EEE 109 Bz 9) Y-Enter x 5 10) Bet 3 -> EEE 136 Bz 11) Bet 3 -> CCD 148 Bz 12) Y-Enter 13) Bet 3 -> DDD 205 Bz 14) Bet 1 -> SDS 204 Bz 15) Bet 2 -> CDS 204 Bz 16) Y-Enter 17) Bet 3 -> DDD 261 Bz 18) Machine Broken EDIT: Actually, we can set it up so that you get to 250 but not actually break the machine, meaning the text pop-up won't appear. I don't know if that will save anything, but may be worth checking out: Start: 30 Bz 1) Bet 1 -> EDE 29 Bz 2) Bet 1 -> SCE 28 Bz 3) Y- Enter 4) Bet 3 -> EEE 55 Bz 5) Y- Enter 6) Bet 3 -> EEE 82 Bz 7) Y-Enter x 3 8) Bet 3 -> EEE 109 Bz 9) Y-Enter x 5 10) Bet 3 -> EEE 136 Bz 11) Bet 1 -> CCD 140 Bz 12) Y-Enter 13) Bet 3 -> DDD 197 Bz 14) Bet 1 -> SDS 196 Bz 15) Bet 2 -> CDS 196 Bz 16) Y-Enter 17) Bet 3 -> DDD 253 Bz 18) F10 Exit
1 2
11 12 13
26 27