Posts for FractalFusion


Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
BrunoVisnadi wrote:
I agree with Tub this was a bad problem.
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.
BrunoVisnadi wrote:
Also, The Riddler claims 4870798 is the only 7 digit number with no equations. Isn't (4/8)^(-7) + 0 = (7+9)*8 a solution, though?
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 (1941)
Joined: 6/15/2005
Posts: 3247
Warp wrote:
We can do so forever, so: 1 = 2/(3-(2/(3-(2/(3-(...)))))) ... We can do so forever, so: 2 = 2/(3-(2/(3-(2/(3-(...)))))) As you can see, both expansions are the same, and therefore: 1 = 2/(3-(2/(3-(2/(3-(...)))))) = 2
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 (1941)
Joined: 6/15/2005
Posts: 3247
720p60 version for higher quality encode in the meantime: Link to video
boct1584 wrote:
Any idea why the "official" patchers are the executable tools instead of just IPS files? Been curious about that for a while.
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 (1941)
Joined: 6/15/2005
Posts: 3247
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?
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 (1941)
Joined: 6/15/2005
Posts: 3247
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 (1941)
Joined: 6/15/2005
Posts: 3247
MUGG wrote:
You say it is a "second test". Or could it be it's going to be something else? A "second something" that will be added to the site?
試験 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 (1941)
Joined: 6/15/2005
Posts: 3247
boct1584 wrote:
2. I thought you had to take no damage throughout the whole game to get to the Super Shadow Man fight?
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 (1941)
Joined: 6/15/2005
Posts: 3247
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 (1941)
Joined: 6/15/2005
Posts: 3247
What are the differences between v1.01 and v0.02? I looked around but I can't find a changelog.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
MUGG wrote:
Can someone see what is the point of the countdown on this page? https://www.shonenjump.com/j/sp_neverland/oni-test/
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 (1941)
Joined: 6/15/2005
Posts: 3247
Based on your request, I moved that topic to the General subforum.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
Bobo the King wrote:
In a cruel twist of fate, nope, the initial state of the locks is unknown according to the Riddler's official solution. The Riddler's statement was ambiguous yet again, but we can take some minor comfort in the fact that your post is hilarious in hindsight. And kudos to you for achieving the optimal solution with what sounds like a minimal effort.
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.
BrunoVisnadi wrote:
For item b), I found p = 3*sqrt(3)/(4*pi). I'm not sure if that's correct, as I've pretty much never studied calculus, but later on I'll describe how I got to this answer.
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 (1941)
Joined: 6/15/2005
Posts: 3247
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 (1941)
Joined: 6/15/2005
Posts: 3247
Warp wrote:
Famously, powers of the golden ratio phi, when rounded to the nearest integer, give the Lucas numbers. However, there appears to be another curious property of powers of phi: The higher the power, the closer the result is to an integer. Is this really so? Can it be proven?
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 (1941)
Joined: 6/15/2005
Posts: 3247
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 (1941)
Joined: 6/15/2005
Posts: 3247
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.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
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 (1941)
Joined: 6/15/2005
Posts: 3247
DrD2k9, which game are you planning to TAS next?
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
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?
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
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 (1941)
Joined: 6/15/2005
Posts: 3247
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 (1941)
Joined: 6/15/2005
Posts: 3247
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)
0000ms:
13868 00004
13869 61749

1000ms:
34202 00022
34203 44703

2000ms:
18552 00040
18553 27657

3000ms:
64966 00058
64967 10611

4000ms:
35972 00076
35973 59101

5000ms:
59867 00095
59868 08340

6000ms:
17297 00113
17298 56830

7000ms:
05687 00131
05688 39784

8000ms:
23757 00149
23758 22738

9000ms:
64083 00167
64084 05692

10000ms:
13126 00186
13127 20467

11000ms:
07684 00204
07685 03421

12000ms:
61746 00222
61747 51911

13000ms:
25552 00240
25553 34865

14000ms:
38110 00258
38111 17819
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 (1941)
Joined: 6/15/2005
Posts: 3247
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.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
DrD2k9 wrote:
If I understand Logic.000 correctly, Getting something increases the random seed. looking at something increases the random seed. entering something increases the random seed. specifically typing "use" something increases the random seed
Or maybe these only increase random if the 'something' is a non-recognized object in the game. Radiant, can you clarify/confirm?
I assume you are referring to:
if ((said("check out","anyword") ||
    said("check out","anyword","anyword"))) {
  random(70,72,v64);
  print.v(v64);
}
("check out" is the same as "look") The code above is default code that is only executed if no other said() option is provided by the current room's logic. Ex: In the room you start in (room 2), "look hall" and "look wall" both have said() options, so those parts of the code are executed. On the other hand, "look waterfall" does not, so in this case the default code is executed and random() is called. 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. By the way, the AGI documentation may be of help when trying to understand the code. Edit: Initial seed value appears to occur at the beginning of logic.2. There is a random() at the top which initializes RNG, even though the random() call is useless because f86 is not set until later in the code (and thus no guard can appear at the beginning).
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
- OK, so apparently it runs even faster than the last encode I saw. The timing seems to be different too. Maybe the last encode was wrong? (The audio still doesn't work properly.) Anyway, I had to watch the non-waiting parts of the encode on 0.25x speed to even have a chance at following anything in this TAS. It is far more enjoyable at that speed. - What really bothers me is that, provided what everyone here is saying is indeed true, the AGI system only polls for movement input a fixed number of times per second (somewhere between 10-20 times a second) regardless of how fast the actual game is going (whether "normal", "fast", 100 ticks per second, or 5000) or how many times JPC-rr polls for input ("JPC-rr frames"). This has the effect that movement precision is inversely proportional to game speed, which paradoxically makes the TAS look less polished than if the game were capped at saner speeds. - Nice to see some glitches I mentioned before made it into this TAS. - DrD2k9, I appreciate that you took the effort to entertain during the waiting times. I personally would have preferred if you entered text that was relevant to the game or this TAS instead. - I wouldn't really worry about missing the root maze. A TAS at this speed will never make it look impressive so it's no real loss that it's not there. I wouldn't worry about 100% either. - I look forward to the Space Quest 1 TAS.