Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
Looks pretty well optimized (other than the additional screen transition needed to manipulate Arnoid). I wonder though: did you try clicking on the text input bar after you type out a command? Because that I think should be faster than pressing the Return key.
The robot fight is pretty annoying so at least you figured out how to trap Elmo. There are ways to trap him in other parts of the arena (like near the top as well as near the bottom) but I don't know if you tried those already.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
I didn't even know there were comments on the blog all this time and just thought nobody bothered to comment. Sites should always auto-expand their comment sections.
Anyway, I found out a way to get n+1 from n, provided that n≥5:
Suppose we have a sequence of n+1 digits. If any pair of two consecutive digits is not increasing (decreasing or the same), then subtract them and replace them with that number. This gives a sequence of n digits for which we have a solution.
If, on the other hand, the above does not apply, then since n+1≥6, there must be a pair of two consecutive digits (say, bc) such that 0≤b<c≤5 (for example, 45 in the sequence 456789). Add them and replace them with that number. Again, this gives a sequence of n digits for which we have a solution.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
Well, it isn't a bad problem, just a mainly (but not completely) computational one.
I thought it was obvious that if all strings of length n work, then all strings of length 2n and greater work as well, since any string that represents an equation can be trivially modified to represent 0. It's easier for a string to represent 0 than it is to represent an equation, so I believe the lookup table isn't going to be as big as 10 million or so.
Also remember that there is no guarantee of quality for Riddler questions, or even solutions! The Riddler isn't some mathematical genius. I accepted that a while ago and I feel better for doing that.
Oh, now that you mentioned it, I don't think this solution considers negation of a single number to be a valid operation. Subtraction of two numbers, yes, but negation of one number, no.
That's just how the Riddler rolls.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
You can use the same argument to claim that 1=sqrt(sqrt(sqrt(...)))=0. (Didn't we just go over that a few weeks ago?)
This is why things like 2/(3-(2/(3-(2/(3-(...)))))) and sqrt(sqrt(sqrt(...))) are not well-defined.
One way to make it well-defined would be to define it as an iterative sequence depending on the starting value C, like:
a0=C
ai=2/(3-ai-1) for i≥1.
In this case, this is a fixed-point iteration problem. Based on the following image:
almost all starting values of C converge to 1. Only C=2 converges to 2, and a countable set of numbers (in the interval 2<C≤3) fail because the sequence hits 3 at some point, which makes it undefined.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
720p60 version for higher quality encode in the meantime:
Link to video
That's the way the author of the hack wants it. I guess he wants zero chance of the user applying the wrong patch.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
I think it should be RNG dependent. Both whether he appears as well as how long it takes him.
I'm not sure how easy it is to manipulate RNG in this game. There is no "Y-enter" trick that works in this game, unlike the first two.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
Confirmed that the official patching tool for version 0.02 gives the correct ROM (using the MMC5 version), and that this TAS syncs on FCEUX 2.2.3. It doesn't sync on FCEUX 2.2.2, as boct1584 already pointed out.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
試験 means test/exam (or trials in an experiment). If it refers to something other than the "IQ test" they had before, then I wouldn't have much of an idea.
I noticed though that the URL for this "second test" has "oni-test" in it, whereas the "IQ test" earlier has "iq-test" instead. Maybe this is a clue.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
To get Super Shadow Man, you just need to make it all the way without a single death.
Oh, I found the changelog. It's in Japanese though and near the end of this page. Between 0.02 and 1.01 it mainly refers to bug fixes and other small things.
I also found a download link for the 0.02 patch from the author's site:
http://www.geocities.jp/borokobo/zip/Rock4mi_002_2.zip
I don't know if this is the correct one or if it is the same as the one linked by boct1584. I didn't test it out.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
OK, I watched the Youtube encode. (It would probably be better to upload a 720p60 version.) Looks pretty fast and has a lot of tricks.
Now I know that there is a way to get perfect score (100 points) in this game. I would have preferred perfect score run instead of all items run.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
It looks like a countdown (18 days as of now) to a "second test".
I poked around the site, and there is an "IQ Test" associated with The Promised Neverland (how, I wouldn't know). Basically it quizzes you on 15 Mensa-like problems and gives your result at the end, like how I did (9 out of 15 correct, 180 points out of 300):
So in this context, it looks like an announcement for a second "IQ Test".
By the way, the "IQ Test" is only in Japanese, and you are only given 20 seconds to answer each one. Half of the questions can be answered without any knowledge of Japanese, but half of them require knowledge of Japanese language or culture to figure them out. One uses Japanese characters as part of its problem but can be solved without knowing any Japanese, by approaching it purely as a pictorial problem.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
The 13 moves I ended up with made an extra assumption that the safe cannot start out all unlocked. (If it were completely unlocked, wouldn't you just open the door?) The solution given by the Riddler assumes that the safe can start in any one of all eight states, including all unlocked.
Laurent Lessard makes the same assumption that I did, that the safe cannot start out all unlocked. In this case, the best is 12 moves.
I got one minus your answer. Maybe your answer is the probability that the second dart is within one foot of the first dart. (Riddler asks for the probability of getting a score greater than 1; that is, the probability that the second dart is outside of one foot of the first dart.) Edit: Never mind, I messed up. Your answer is right. I was the one who got it reversed.
I wonder if it's possible to get part c at all without setting up a ridiculous integral. If not, then I won't bother.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
Looks great! I enjoy watching Mega Man TASes because of all the strategies that are on display. It helps when nearly every game in your franchise has at least a dozen items/weapons.
Oh, and good job on the submission text. Though I think that, in destroying all the planets, Mega Man ended up destroying TerraEarth as well. RIP Solar System.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
Lucas numbers are given by the following formula:
As n approaches infinity, ((1-sqrt(5))/2)n goes to 0, since the absolute value of (1-sqrt(5))/2 is less than 1. Thus phi to the nth power approaches Ln, which is an integer.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
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.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
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.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
Bobo the King wrote:
I was able to do the Express puzzle without using any calculus, just some vector algebra:
There are plenty of ways to do Riddler Express. Here's one I came up with recently:
Let L1 be the line (0,0,0) to (0,1,1) and L2 be (0,1,0) to (1,0,1). Then L1 is given parametrically by (0,s,s) and L2 by (t,1-t,t).
In (x,y,z)-space, the plane y+z=1 contains L2 and is perpendicular to L1, intersecting at s=1/2, or (0,1/2,1/2). So (0,1/2,1/2) is the closest point on L1 to any point in L2.
Likewise the plane x-y+z=0 contains L1 and is perpendicular to L2, intersecting at t=1/3, or (1/3,2/3,1/3). So (1/3,2/3,1/3) is the closest point on L2 to any point in L1.
So ep1=(0,1/2,1/2) and ep2=(1/3,2/3,1/3). And that's it!
This method only works because the directions of L1 and L2 are perpendicular to each other. In general, you'd take the cross product to find the direction perpendicular to both, then do some linear algebra and find the parameters.
Or you could use calculus: the squared distance between (0,s,s) and (t,1-t,t) is t2+(1-t-s)2+(t-s)2=2s2+3t2-2s-2t+1. Setting partial derivatives to zero gives s=1/2, t=1/3.
Bobo the King wrote:
It is apparent that the line of shortest distance connecting these two lines will be perpendicular to both-- I can do the rotations mentally to convince myself of this and I'm sure there is a formal proof written in many textbooks.
This is correct. In short, two skew lines determine two parallel planes containing them. Projecting one line onto the other and taking their intersection determines the two endpoints; they are clearly at minimum distance because it's the same as the distance between the two planes. The line between them is perpendicular to both planes, and therefore, both skew lines.
Bobo the King wrote:
The problem statement is actually ambiguous (what a surprise...) since it doesn't explicitly state that all three locks begin in the "locked" state.
I get your point but I'm pretty sure the Riddler intended for all locks to start locked, as common sense would dictate. (It would also have a neat solution, the one you posted, and it would be just as easy to lock all three afterward.)
If the starting state of the locks is unknown other than the fact that the safe cannot open (at least one is locked), then it is more complicated. I have one that works in 13 tries (ABC, BCA, CAB, ABC, BCA, ABC, CBA, BAC, CBA, ACB, BAC, CBA, ACB), but I'm not going to spend more thought on this since I think the Riddler won't even address this.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
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#461648http://tasvideos.org/forum/viewtopic.php?p=461690#461690http://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?
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
DrD2k9 wrote:
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.
I don't think this is possible, unless there is a serious emulation error.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
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.
There is one problem I'm running into: I can send an AXISA command with a positive number, and Roger goes left. Same with AXISB and up. However, I haven't figured a way to go right or down yet. The input doesn't take negative numbers. Anyone else have an idea? I'll play with it more tomorrow.
What are the specifics of joystick input in JPC-rr? Are there commands other than AXISA and AXISB, and if so, what do they do? What are the possible values for AXISA and AXISB? Did you try a number at the top of its possible range?
DrD2k9 wrote:
Does the guy who buys the skimmer work on an RNG timer?
Not really, but there is one situation in that room where random() is called, which Radiant already mentioned on a previous page. If you leave the skimmer key in the skimmer and walk off and come back, there is a 34% chance of it being stolen. If you can manipulate it so that it won't be stolen, then you don't need to take out the key. (Also, there is no need to say "no" to that guy the first time. Just walk off after he gives his first offer.)
Edit: The alien waiting to be killed by the slot machine runs on an RNG timer. It takes 71+54*(x-2) ticks for him to be killed, where x is a random number between 2 and 7.
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
Thanks DrD2k9 for the information.
According to Radiant, the RNG is advanced once immediately after creating the seed. So I took your values and looked at the previous seed:
(for each of these, the first number is the index, where index(0)=0, and the second number is its corresponding seed value)
It looks like the sequence of initial seeds (before advancing it) starts at 4 for 0ms, then goes 22 (for 1000ms), 40 (for 2000ms), 58, 76, 95, ...
Normally the seed goes up by 18, but in some cases the number jumps by 19. It appears to occur every five numbers, but, as you said, at 59000 milliseconds it jumps by 19 instead of 18. Assuming that you mean that 59000ms is the first exception to this rule, the average seed increase appears to be between 18.203 and 18.204. Notably, this number is approximately the clock frequency of MS-DOS, normally cited to be 18.2Hz.
My conjecture is that the initial seed is the DOS clock frequency times RTC time (in seconds) plus 4, mod 65536.
Could you send the seed value for RTC 86399000ms? (This is one second before 86400000ms, which you said starts the cycle over).
Editor, Experienced Forum User, Published Author, Skilled player
(1943)
Joined: 6/15/2005
Posts: 3249
Radiant wrote:
The f2/f4 combo is a similar message for input that is completely not understood. It does not affect this run.
No, this is well understood. The code is:
if (isset(f2) &&
!isset(f4)) {
random(89,91,v64);
print.v(v64);
reset(f2);
}
f2 means "the player has issued a command line", f4 means "said() command has accepted the user input". This code is executed if all words are dictionary words but no specific said() command is defined for it.
FractalFusion wrote:
In fact, any command that consists of dictionary words but is not understood at all, i.e. no said() option exists in either logic.0 or current logic, happens to call random() as well. That is why entering "y" advances the RNG.