Posts for DrD2k9


DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
Radiant wrote:
SQ contains an internal clock that few people know about (because it's not in the menu for some reason). It may be interesting to show this in the speedrun? Or perhaps you find it distracting. To try it out, on any screen type "clock"; or if you want to be fancy about it, "First, please clock me in, sir." Since this doesn't affect gameplay it may be possible to hex it into an early room.
I tried to manipulate the save-state. I was able to get the command squeezed in after getting the keycard on the Arcada. However, even though I was able to get the game to sync through opening the bay doors, it desynced after that room. I don't think it' s worth the effort to figure out all the adjustments to add it in. ANYWAY: I've finished the runs. Here's the temp encodes for full speed and 1/5th speed. BEWARE! The sound during the screen with the code panel on the Start Generator is REALLY ANNOYING; mute or skip this LONG section. Normal: Link to video 1/5 Speed: Link to video 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? EDIT: Updated video links with annoying alarm sound disabled.
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
slamo wrote:
Here's the list of keyboard codes: http://tasvideos.org/EmulatorResources/JPC/KeyNumbers.html
Thank you.
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
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 END FRAME = 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
Both of these will break the machine. Anything greater than 249 will. The only way to not break the machine and get enough cash for the purchases is to get between 240-249 on the machine then pick up the buckazoids from the droids-b-us building or the bartender. With our current seed order, neither extra pickup is faster than just breaking the bank. Both of the above should take the same amount of time. I compared the first to my old sequence and the top one is 3 frames faster. I may be able to shave off another frame or two with better timing on the inputs, but I think this one is the best we've found. 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
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
Radiant wrote:
SQ contains an internal clock that few people know about (because it's not in the menu for some reason). It may be interesting to show this in the speedrun? Or perhaps you find it distracting. To try it out, on any screen type "clock"; or if you want to be fancy about it, "First, please clock me in, sir." Since this doesn't affect gameplay it may be possible to hex it into an early room.
It would take some fancy save-state editing, but I think it would be possible. Hoping not to test every key, is there a list of key IDs for JPC-rr? For example, 'Enter' is key 28, I believe. The only concern I have with displaying the internal clock is that it may run faster than actual time, making it look like the playthrough has been artificially sped up.
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
c-square wrote:
DrD2k9 wrote:
Ok, I just set JPC-rr to run instead of doing frame advance. I followed your sequence, and here's what I got.
My apologies. I was doing this after midnight last night and made some mistakes. Please give this a try: 1) Bet 1 -> Eye | Diamond | Eye 2) Bet 1 -> Skull | Cherry | Eye 3) Y-Enter 4) Bet 3 -> Eye | Eye | Eye 5) Y-Enter 6) Bet 3 -> Eye | Eye | Eye 7) Y-Enter 8) Bet 3 -> Cherry | Cherry | Cherry 9) Bet 2 -> Cherry | Eye| Cherry 10) Y-Enter 11) Bet 3 -> Eye | Eye | Eye 12) Bet 3 -> Cherry | Cherry | Diamond 13) Y-Enter 14) Bet 3 -> Diamond | Diamond | Diamond 15) Bet 1 -> Skull | Diamond | Skull 16) Bet 2 -> Cherry | Diamond | Skull 17) Y-Enter 18) Bet 3 -> Diamond | Diamond | Diamond
No problem. Fatigue hinders everyone's productivity. And not to be difficult, but that only yields 246 buckazoids. It takes another 3 spins to get the needed 250. The last $4 could come from the coupon with the barkeeper or from picking up the few lying behind the droids r us building (probably the least efficient). Ii'll test and see which is faster between the extra 3 spins or redeeming the coupon at the bar. Some estimates before testing...the coupon will require at least 2 text boxes (8-10 frames) in addition to the frames to get to the bar, then a few more waiting for the barkeeper to get to Roger. This would be probably a minimum total of 20-25ish frames, but wouldn't need the text box for breaking the slot machine. The 3 extra spins would require 15-21 frames for spins and another 4-5 for the text box. So..it could be close. I'll test them as soon as I am able....which won't be before tomorrow.
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
c-square wrote:
If they don't match then I've got something off in my spreadsheet.
If your spreadsheet is indeed off, could that also be why you were struggling to automate the skimmer sequence via lua?
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
Ok, I just set JPC-rr to run instead of doing frame advance. I followed your sequence, and here's what I got. 1) Bet 1 -> Eye | Diamond | Eye 2) Bet 1 -> Skull | Cherry | Eye 3) Y-Enter 4) Bet 3 -> Eye | Eye | Eye 5) Y-Enter 6) Bet 3 -> Eye | Eye | Eye 7) Y-Enter 8) Bet 3 -> Cherry | Cherry | Cherry 9) Bet 2 -> Cherry | Eye| Cherry 10) Y-Enter 11) Bet 3 -> Eye | Eye | Eye 12) Bet 3 -> Cherry | Cherry | Diamond 13) Bet 1 -> Eye | Diamond | Diamond 14) Bet 2 -> Diamond| Skull | Skull 15) Y-Enter 16) Bet 3 -> Skull | Eye | Cherry
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
c-square wrote:
DrD2k9 wrote:
c-square wrote:
But, there is a faster way through the slots: 1) Bet 1 -> Eye | Diamond | Eye 2) Bet 1 -> Diamond | Cherry | Eye 3) Y-Enter 4) Bet 3 -> Eye | Eye | Eye 5) Y-Enter 6) Bet 3 -> Eye | Eye | Eye 7) Y-Enter 8) Bet 3 -> Cherry | Cherry | Cherry 9) Bet 2 -> Cherry | Skull | Cherry 10) Y-Enter 11) Bet 3 -> Eye | Eye | Eye 12) Bet 3 -> Cherry | Cherry | Diamond 13) Bet 1 -> Skull | Diamond | Skull 14) Bet 2 -> Cherry | Diamond | Skull 15) Y-Enter 16) Bet 3 -> Diamond | Diamond | Diamond
This is incorrect at step 13. Also my symbols don't always match yours, perhaps there's something different somewhere that we missed? Is there a reason not to bid 3 on a winning spin? I didn't think the bid amount affected the random seed. EDIT: Using your sequence up through 12, then performing a Y command gets the sequence back onto my original one at seed 14510; however with a higher money value. This results in one less spin on the slots before breaking it.
Hmm... what symbols do you get? If they don't match then I've got something off in my spreadsheet. Also, always be sure to see the losing message on any of the "bet 1s". Choosing that message uses up a random call. A spin that results in just one starting cherry simply gives your money back, so it doesn't matter what you bet. I chose 2 to differentiate between winning spins, losing spins and break-even spins. That, and the number 2 seemed lonely. ;)
I'll double check on the Bet 1 spins and make sure I wasn't doing the next action too quickly.
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
c-square wrote:
But, there is a faster way through the slots: 1) Bet 1 -> Eye | Diamond | Eye 2) Bet 1 -> Diamond | Cherry | Eye 3) Y-Enter 4) Bet 3 -> Eye | Eye | Eye 5) Y-Enter 6) Bet 3 -> Eye | Eye | Eye 7) Y-Enter 8) Bet 3 -> Cherry | Cherry | Cherry 9) Bet 2 -> Cherry | Skull | Cherry 10) Y-Enter 11) Bet 3 -> Eye | Eye | Eye 12) Bet 3 -> Cherry | Cherry | Diamond 13) Bet 1 -> Skull | Diamond | Skull 14) Bet 2 -> Cherry | Diamond | Skull 15) Y-Enter 16) Bet 3 -> Diamond | Diamond | Diamond
This is incorrect at step 13. Also my symbols don't always match yours, perhaps there's something different somewhere that we missed? Is there a reason not to bid 3 on a winning spin? I didn't think the bid amount affected the random seed. EDIT: Using your sequence up through 12, then performing a Y command gets the sequence back onto my original one at seed 14510; however with a higher money value. This results in one less spin on the slots before breaking it.
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
c-square wrote:
Also, I've pretty much figured out how to add joystick input via keyboard to JPC-rr. Do you want to use it to help you in the tight spots, or are you okay going on without it?
Thanks for the better slot sequence. Since I'm through the skimmer portion and we have a good run for Slots, I don't see a reason to redo the skimmer portion with joystick control.
Radiant wrote:
The idea behind writing (3) Little is up with you, I guess, yes? was to have the typed commands give the opposite result of what they appear to do, as much as possible. So Roger answers positively at first and he does not sell the skimmer, and the second time he answers negatively and does sell it. Writing YES!! kind of negates that.
I'll see if I can fix this.EDIT: Fixed
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
Update on current WIP. I start with a RTC to yield no guards on the Arcada. I use the 'Y' command to obtain the longest delay for the spider droid (He unfortunately still arrives). I use one 'Y' command to skate past the Acid drops. I manually cruise through the Skimmer sequence without hitting rocks. Skimmer is not stolen in Ulence Flats. 'Y' commands utilized to obtain shortest death time for the alien at the slot machines (he dies before I can get there walking directly from the entrance). Using the spreadsheet of seed values, I conquer the slots in under 2.5 seconds. If that is satisfactory, then I'll continue to the end of the run and submit. If we think we can get it better using manipulation of the rocks in the skimmer sequence, I'll wait. As it stands, seed values at the following locations: Beginning of the Skimmer run - 27165 First input after entering Slot Machine - 25105 Link to video
Post subject: Re: #5725: nymx's SNES Q*bert 3 in 54:06.19
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
Radiant wrote:
I think that should be @!#?@!%
I second this motion.
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
Radiant wrote:
Right, so those acid drops are pretty straightforward....the odds are good that the seed you already have will get you past them.
Good to know. What I originally meant with my question was, do we want to try and manipulate the random calls to control what seed we get coming out of that room? Or do we just want to see where it's at when entering the skimmer sequence?
c-square wrote:
Looks like there's no delay for joystick input. It should be easy to update JPC-rr so you can use the number keys to control the joystick, if you'd like.
My first question: Is that much work necessary? What is the potential range of seed changes that can happen through the skimmer sequence? Second question: Might it be simpler to just make a run with my current RTC time and see where the seed is at the end of the skimmer sequence when performed manually; compare that number with the seed spreadsheet and see where it leaves us for the slots; then use that information to determine how much manipulation we actually need to worry about during the skimmer sequence? If we end up with a relatively good starting point for the slots with this method, we don't have to try and automate so much of the skimmer sequence.
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
I've found an initial RTC that yields no guards on the Arcada and only requires one 'y' input to advance the random seed to yield the longest time for the spider droid to appear. I've run through the game up through exiting the escape pod and was able to confirm that variable v93 was set to 250, which I believe is the longest possible. Now then...Do we want to try and manipulate acid drops, or just deal with the random seed where we are when we get past them? Also on the note of randomness... Does the guy who buys the skimmer work on an RNG timer? Does the blue droid in the Deltaur airlock work on one?
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
SUCCESS! I've got a spreadsheet that works for choosing what starting seed I want. It took a combination of calculations and brute force to complete the spreadsheet, but it's done. I can now set the initial RTC to yield a desired seed value upon Room 2. Now to see if I can find a starting RTC that yields the longest spider droid delay as well as no guards on the Arcada.
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
c-square wrote:
I just had another thought: how about using joystick input to get around the clunky frame limitation of typing? It could well make for better routes, and may make tackling the skimmer sequence easier.
For what it's worth, I don't mind doing the skimmer sequence manually. It just won't give us as much control of the random seed heading into Ulence Flats if I do so. Speaking of randomization in Ulence Flats. Once we decide on a final process for the skimmer sequence, I'll see what I can do about not having to take the key out of the skimmer to save a few frames.
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
I'll learn to read someday.
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
fsvgm777 wrote:
Radiant wrote:
.INF files are not used by the AGI game engine, so this can safely be ignored or deleted.
This requires some slight tinkering with the movie file, so that it uses the proper HDD (the one that doesn't contain the SIERRA.INF). Here it is. The actual input remains unchanged, as all I did was remove the SIERRA.INF file (or rather, create a new HDD without the SIERRA.INF).
Does the movie still sync?
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
FractalFusion wrote:
which you said starts the cycle over.
I noted that it 86400000 = 0 for RTC It may also recycle before then.
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
FractalFusion wrote:
Could you send the seed value for RTC 86399000ms? (This is one second before 86400000ms, which you said starts the cycle over).
Room 2 seed is 11374. EDIT: so the previous seed should be 161
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
That pattern continues all the way through RTC 58000 but then breaks down. And, no, I did not brute force test all 60 possibilities. I wrote a formula, but it only worked up to that point. RTC of 59000 has a 0xC649 difference the previous seed. That shouldn't be expected until RTC 60000. Then RTC of 60000 returns to the 0x4296 difference. My formula worked for a while, but then broke down...I'm missing something.
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
Radiant wrote:
The initial seed is (time in seconds) * 20 + ((time in milliseconds) / 1000) * 20 BUT note that creating the seed will immediately advance it once (i.e. to generate the first random number in logic 2, which is then ignored since guards can't spawn the first time you enter the room). So the value you'll see in your lua panel is the seed AFTER one advancement.
I appreciate your attempts, but I'm not following you. Sorry. I have discovered this though
RTC       SEED     DIFFERENCE from previous seed(2 byte HEX)
0         61749
1000      44703    4296
2000	   27657    4296
3000	   10611    4296
4000	   59101    4296
5000	   8340     C649
6000	   56830    4296
7000	   39784    4296
8000	   22738    4296
9000	   5692     4296
10000     20467    C649
11000     3421     4296
12000     51911    4296
13000     34865    4296
14000     17819    4296
This seems to be a usable pattern, but I don't know how to write a formula to predict from this information.
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
Radiant wrote:
Well, yes. First, although the initial seed depends on the amount of milliseconds since midnight, the game's internal framerate is only about 12 frames per second. That means that every batch of (1000 / 12) = 83 milliseconds will yield the same seed.
But it doesn't. It takes a change of 1000 milliseconds in the RTC setting to yield a different seed. EDIT: And it recycles every 86400000 milliseconds (1 day). So it seems that we're limited to 86,400 potential options for our initial seed. What I'm trying to figure out is a way to calculate what RTC time will yield the initial seed we want for the game. I don't particularly want to manually test 86,400 options.
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
I tested my theory of changing the initial RTC within the savestate file. It didn't work. It took a change of at least 1000 to yield a different initial seed at the beginning of room 2. Further, that seed did not change equally to the change in RTC timer. For example:
Initial RTC                    Initial Seed
1000                           34203 
1500                           34203
1999                           34203
2000                           55990
1000000000000                  46218
According to c-squares lua script. The number of 'changes' when the initial is set varies drastically with different initial RTC values as well. Any ideas? EDIT: With further testing... Starting RTC of 86400000 = Starting of 0 Starting RTC of 86401000 = Starting of 1000 So it seems that a change of at least 1 whole second in RTC value is necessary to change the initial seed....though that still doesn't explain why the initial seed changes at a different rate than the milliseconds after midnight.
DrD2k9
He/Him
Editor, Experienced Forum User, Judge, Published Author, Expert player (2081)
Joined: 8/21/2016
Posts: 1017
Location: US
Radiant wrote:
On the first screen, enter this command before doing anything else (not necessary, but fitting for a speedrun) First, please clock me in, sir.
What does that do, and will it cause a text box that will add frames to the run? It is possible to change the game-speed at the beginning using the 'fastest' command even before the visual of room 2 is completely loaded. This enables Roger to exit the room before the intro text shows up, thus saving a few frames of time.
c-square wrote:
Here, let me give you something so you can do it ... Give it a shot and let me know if it works!
Thanks I'll check into it asap.