Posts for FractalFusion


Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
The ratio of the fox's speed to the duck's speed must be less than ~4.6033388488 (=1/cos(ψ) where ψ is the unique solution to tan(x)-x=π on [0,π/2]) for the duck to escape. Otherwise the duck cannot escape. Explanation is as below. We model the problem so that the pond is enclosed by the unit circle, the duck starts at the center, and the fox is on the unit circle itself. The fox has speed 1 and the duck has speed r, where 0<r<1. Let ψ≈1.3518168043 be the unique solution to tan(x)-x=π on [0,π/2] and ζ≈0.2172336282 be cos(ψ). Note that ψ satisfies sin(ψ)=(π+ψ)cos(ψ). The diagram below shows the relation between ψ and ζ. We want to show that the duck escapes if r>ζ and that the fox prevents the duck from escaping if r<ζ. (For various reasons I will not attempt to answer the case r=ζ.) If r>ζ, then the duck escapes with the following strategy: Phase 1: The duck moves towards the circle, keeping the center between itself and the fox, until it is r away from the center; this is the farthest distance from the center where the duck's maximum radial velocity is the same as the fox's radial velocity. Phase 2: From the end of phase 1, the duck moves as follows: 1) If the fox does not move and remains opposite the duck with the center between them, the duck moves directly toward the circle, remaining opposite to the fox. 2) If the fox begins to move in one direction, the duck moves on a tangent (perpendicular to the line through the center and the duck) in a straight line and away from the direction which the fox is going; see diagram below. If after this, the fox reverses direction, then when it is again opposite to the duck, the duck resets its phase 2 strategy; it will be further away from the center than the previous time it started phase 2. Let θ be the angle spanned by the duck's tangent path as in the diagram above. The duck's path distance is sin(θ), and the fox's path distance (long way around) is π+θ. Thus the duck escapes if the ratio of distances sin(θ)/(π+θ) is less than r. The function sin(θ)/(π+θ) on [0,π/2], is in fact maximized at θ=ψ, with a value of sin(ψ)/(π+ψ)=cos(ψ)=ζ; this can be shown using calculus (*). Therefore sin(θ)/(π+θ)) ≤ ζ < r, and so we have shown that the duck can escape if r>ζ. On the other hand, if r<ζ, then the fox prevents the duck from escaping with the following strategy: Phase 1: The fox doesn't do anything until the duck tries to escape and reaches a distance of ζ from the center. Phase 2: From the end of phase 1, the fox moves in the direction towards the duck (whichever direction reaches the point on the circle nearest the duck first). If the duck is opposite the fox, the fox may choose either direction. The fox always continues in the same direction unless: 1) the duck retreats to a distance less than ζ from the center, in which case the fox starts over from phase 1, or 2) the fox catches up to the duck by being at the point of the circle closest to the duck, in which case the fox moves to keep the duck between itself and the center; this is possible because the duck has a distance at least ζ from the center and r<ζ. We may make assumptions about the positions of the duck and fox without loss of generality. Suppose at the start of phase 2, the duck is at (0,ζ), and the fox is supposed to move clockwise. We assume the fox's worst case; that is, the fox is at (0,-1) deciding to go clockwise. In swimming to the circle, the duck's path sweeps out an angle of θ, clockwise with respect to the center (starting from an angle of 0 at (0,ζ) and ending on the circle at an angle of θ at (sin(θ),cos(θ)), with the condition that at no point is the path less than ζ away from the center. We may assume θ≥0; otherwise reflecting the path in the y-axis gives a better path. There are two cases: 1) 0≤θ≤ψ 2) θ>ψ Case 1 (diagram above): The shortest possible distance for the duck is a straight line. By the cosine law, the duck's path distance is sqrt(1+ζ2-2ζcos(θ)). The fox's path distance is π+θ. So the ratio of distances is sqrt(1+ζ2-2ζcos(θ))/(π+θ). It turns out by calculus (**) that sqrt(1+ζ2-2ζcos(θ))/(π+θ) is minimized on [0,ψ] at θ=ψ; the duck and fox path distances are the same as in the duck escape strategy above with θ=ψ (that is, sin(ψ) and π+ψ, respectively) and the ratio is ζ. So then sqrt(1+ζ2-2ζcos(θ))/(π+θ) ≥ ζ > r, and the fox catches up to the duck. Case 2 (diagram above): The shortest possible distance for the duck, without retreating to a distance less than ζ from the center, is to go clockwise around the circle of radius ζ centered at (0,0) through an angle of θ-ψ, and then travel tangent to this smaller circle on a straight line to the unit circle. The duck's path distance is ζ(θ-ψ)+sin(ψ) and the fox's path distance is π+ψ+(θ-ψ). The ratio is then (ζ(θ-ψ)+sin(ψ))/((θ-ψ)+π+ψ) = ζ > r, and once again the fox catches up to the duck. (*) The derivative of sin(θ)/(π+θ) is ((π+θ)cos(θ)-sin(θ))/(π+θ)2; solving (π+θ)cos(θ)-sin(θ)=0 on [0,π/2] gives the unique solution θ=ψ, so there is a unique local extremum. This is a maximum since sin(θ)/(π+θ) is 0 when θ=0 and 2/(3π) < ζ when θ=π/2. (**) Let f(θ)=sqrt(1+ζ2-2ζcos(θ))/(π+θ)=sqrt(1+cos2(ψ)-2cos(ψ)cos(θ))/(π+θ). Then f2=(1+ζ2-2ζcos(θ))/(π+θ)2. Taking derivatives gives 2f'f=2g(θ)/(π+θ)3, where g(θ)=ζsin(θ)(π+θ)-(1+ζ2-2ζcos(θ)). Note that, using ζ=cos(ψ), we have g(ψ)=cos(ψ)sin(ψ)(π+ψ)-(1+cos2(ψ)-2cos2(ψ)) = sin2(ψ)-sin2(ψ) = 0. Now g'=ζcos(θ)(π+θ)-ζsin(θ)=ζ(cos(θ)(π+θ)-sin(θ)); solving g'(θ)=0 (that is, cos(θ)(π+θ)-sin(θ)) gives the unique solution on [0,π/2] of θ=ψ. So θ=ψ is the unique solution to g(θ)=0, and thus the unique solution to f'(θ)=0, on [0,π/2]. So θ=ψ is a global extremum of f(θ) on [0,ψ]. It is the global minimum since f(0) = sqrt(1+ζ2-2ζ)/π = (1-ζ)/π > ζ. As a side note, θ=ψ isn't actually a local minimum of f(θ) on [0,π/2] despite the fact that f'(ψ)=0; θ=ψ is an inflection point. Thus there are straight lines to points further clockwise that have better distance ratios for the duck. However, these lines necessarily approach the center closer than ζ; the fox's strategy calls for starting over from phase 1 in this case.
Bobo the King wrote:
By the way, I'm still a little confused about the duck's straight line strategy. In the instant before the duck reaches the shore, it would seem to me that the duck would do just a little bit better if it changed course to head straight for the shore. If it did so, it would end up a little bit ahead of the fox. Even though I understand all of the reasoning above and in my previous post, it seems very strange to me that there might be another strategy not based on a straight line that results in the duck being farther ahead of the fox.
If the fox is committed to a direction, heading straight for the shore is never the optimal strategy unless the fox has infinite speed. In short, suppose that the duck is some fixed small distance d from the nearest point on shore. With a small enough d, the shore is essentially a straight line. Now suppose that the duck, instead of heading to the nearest point, heads to a point some distance h away from the nearest point, away from the fox's direction. Then the ratio of the change in distance is (sqrt(d2+h2)-d)/h = h/(sqrt(d2+h2)+d) → 0 as h→0. So there is a sufficiently small h which makes the ratio of the ducks's path distance to the fox's path distance smaller (which is good for the duck). In other words, the fox's path adds h and the duck's path adds sqrt(d2+h2)-d, which rapidly vanishes relative to h.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
TAS looks good. Final Mission is especially interesting.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
thatguy wrote:
To prove convergence, you could work out the "error" (difference to the golden ratio) of Xn+1/Xn relative to Xn/Xn-1, and then show that that error is smaller by a large enough margin that as n goes to infinity error does indeed go to zero.
Indeed the error between Xn+1/Xn and Xn/Xn-1 converges to 0. In fact, Xn+1/Xn - Xn/Xn-1 = (-1)n/(XnXn+1). Proof: We prove Xn+1Xn-1 - (Xn)2 = (-1)n (*) by induction. First, X1=1, X2=1, X3=2, so X1X3 - X22 = 1 = (-1)2. Assume that Xn+1Xn-1 - (Xn)2 = (-1)n is true. Then Xn+2Xn - (Xn+1)2 (Xn+1 + Xn)Xn - (Xn+1)2 = Xn+1Xn + (Xn)2 - (Xn+1)2 = Xn+1(Xn - Xn+1) + (Xn)2 = -Xn+1Xn-1 + (Xn)2 = -(-1)n = (-1)n+1. So we have proved statement (*). Then Xn+1/Xn - Xn/Xn-1 = (Xn+1Xn-1 - (Xn)2)/(XnXn+1) = (-1)n/(XnXn+1), Q.E.D. Note that Xn+1/Xn = 1 + sum{2≤i≤n}((-1)i/(XiXi+1)); because the summation is alternating and the terms converge to 0, the sum converges as n→∞.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
Here is the Youtube 720p60 upload: Link to video (Settings icon → Quality → 720p60 HD.)
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
Something interesting that happened with one of the Riddler "problems" last week (well, more like participatory games). (from https://fivethirtyeight.com/features/can-you-rule-riddler-nation/ )
A classic participatory game-theory problem: Submit a whole number between 1 and 1,000,000,000. I’ll then take all those numbers and find the average submission. Whoever submits the number closest to ⅔ of the mean of all of the submitted numbers wins. Submit your number
If everyone plays by the optimal solution, then the solution is obvious. Everyone chooses the number 1 (because it's the only integer x between 1 and 1,000,000,000 satisfying: x is closer to ⅔x than any other integer between 1 and 1,000,000,000) and everyone ties for the win. As you probably expected, the fact that this is participatory means that it's not so much a game-theory problem as it is a social experiment. And guess what happened. (from https://fivethirtyeight.com/features/can-you-save-the-drowning-swimmer/ )
The mean was 195,921,656*, or nearly 20 percent of the upper limit of the range. Jeffrey, our winner and resident Nostradamus, chose 196,352,731.
*(maybe the Riddler meant "⅔ of the mean was 195,921,656".)
Following that logic all the way down, the unique equilibrium is that every player submits the lowest possible number — in this case, the number 1. No one can get any closer to ⅔ of the average, and everyone ties for the win. Suffice it to say, we did not arrive at that equilibrium. In this case, the trolls prevailed. Eighty-one “solvers” submitted an answer of 1,000,000,000 and an additional 25 submitted 999,999,999 — answers that can literally never win*. Their submitted justifications ranged from “to throw off everyone else’s logical calculation” to “game theory can’t handle anarchy” to “I just want to watch the world burn.” And burn it did. Game theory is not well-equipped to deal with modern trolldom.
*(assuming that at least one other person chooses a number between 333,333,336 and 999,999,998.) You can see that deliberately uncooperative behavior is by no means restricted to political movements, internet communities, and Twitch Plays Pokemon. Even math games are not immune. (The other participatory game about deploying troops to claim castles was a little more grounded in strategy. It helps that a single choice doesn't instantly troll everyone.)
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
Nice run, Baddap1! Though I would have preferred to see a run with different goals, maybe, hard mode V1.00 with a perfect hero score. That will have to wait. Unfortunately the encode given is only in 30fps and low quality. It is very important to have encodes of Mega Man games in 60fps because of the reliance on blinking effects all over the games. I am uploading a 720p60 version to Youtube right now (will probably take until tomorrow before it is ready).
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
StarvinStruthers wrote:
do you still have your hero tasproj? maybe strats can be combined for better tas?
I never used tasproj at the time (and to this date I still haven't). If you want a tasproj of my TAS, it will have to be generated from scratch (but it shouldn't take long to do, just open the TAS in TAStudio and let it run). Also, the movie only seems to work on older versions of BizHawk (such as 1.5.3, the emulator I used to dump the AVI to make the comparison movie).
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
StarvinStruthers wrote:
but yo i think it might seem slower because i'm dropping extra bombs in stages 1-6 unless you're referring to something else
I've accounted for the dropping of extra bombs; each split happens after bombs have been added to the bonus, right before the next stage appears. However, some of the stage time differences appear to be in favor of the old submission. By the way, you can edit your previous post with the edit button on the top right of your last post if nobody else has posted yet, instead of posting two or three times straight over a very short period.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
sullyrox wrote:
Patashu wrote:
By the way, if your TAS doesn't break all existing records (both RTA and TAS) in its category, don't submit it. Just upload to userfiles the input file (necessary for other TASers to easily critique your work) (make a video too if you want it to be easier for people to watch, though!) and post it in the respective game thread on the forum if you're looking for feedback. EDIT: Added... advice from Spikestuff.
how do i upload to userfiles?
You must be logged in to upload there. Once you are logged in, the upload form should appear at the bottom.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
Comparison video: Link to video This submission seems to be slower in a few spots, but I don't know how much is due to core emulation change. Anyway, nice work StarvinStruthers. Note to judge and publisher: The submission file should be replaced by the one in this post, which removed the empty input at the end. The final time should be around 9:51.00.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
Here's an initial RTA of Pokemon Prism ver 0.91: https://www.twitch.tv/videos/120096099 Very much improvable, but it might help. (I'd catch L7 Marill in the grass north of Oxalis City instead.)
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
Cool run, I guess. And MrWint has pretty much a full understanding of the GB system, far more than I was ever willing to put into it. Even if recent ACE superplays have pretty much crashed the concept into the ground and there is no point to doing any more of them, I like that there is still at least one person out there who enjoys making these types of TASes for the simple reason of, well, why not?
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
It's nice to have the TAS Block every year. That being said, I have some comments. In my opinion, the Portal TAS is too confusing for anyone who hasn't played the game to understand no matter how much of it is explained in words. And all this time I was wondering when the commentators were going to say that the Super Mario 64 and Portal things were just video streams. I mean, those couldn't be anything else (N64/PC emulators on SNES? How absurd), but explanations given sooner would have been nice. Though I think that in this case there are better things to stream on a hijacked SNES than TASes, and that SM64 should have been shown on an actual N64. (I mean, it is possible, right?) Interestingly, the Twitch emote spam crashed my stream, but that's just me. I don't use super laptops like others do. Other things: - I don't have infinite time, so I am selective about which AGDQ games/blocks I choose to view. So that helps. I chose to view Pokemon Emerald, Mega Man X, Mighty No. 9, Halo 2, and the TAS Block. - It is extremely important in all blocks to have good commentary; AGDQ should encourage this as much as possible.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
arflech wrote:
The article linked from the Riddler Classic problem says the maximum board size is 6x6, but I haven't bothered to figure out a draw configuration for that size, or to check why it doesn't work for larger sizes: http://fivethirtyeight.com/features/dont-throw-out-that-calendar/#ss-1
It is a computation question, pretty much. There are four base solutions for draw configurations (three if you consider color switching the same), invariant under rotation and reflection:
0 1 0 0 0 1    0 1 0 0 0 1    0 1 0 0 0 1    0 1 0 1 0 1
1 1 1 1 0 0    1 1 1 1 0 0    1 1 1 1 0 0    1 1 0 0 0 0
0 0 1 0 0 1    1 0 1 0 0 1    1 0 1 0 0 1    0 1 1 0 1 1
1 0 0 1 0 1    1 0 0 1 0 0    1 0 0 1 0 1    1 1 0 1 1 0
0 0 1 1 1 1    0 0 1 1 1 1    0 0 1 1 1 1    0 0 0 0 1 1
1 0 1 0 1 0    1 0 1 0 1 0    1 0 0 0 1 0    1 0 1 0 1 0
The C program which I used to confirm this is at http://pastebin.com/LjigMYGX . The site at http://www.di.fc.ul.pt/~jpn/gv/hip.htm says that there are no 7x7 (or 6x7) draw configurations. The program I posted above confirms this for 7x7 if you replace "#define SIZE 6" with "#define SIZE 7". Also,
The Riddler wrote:
On snowy afternoons, you like to play a type of solitaire game. You deal out cards from a randomly shuffled standard deck, face up, into a pile. With each card you deal, you say the faces of the cards, in order: ace, two, three, up to king, then starting over at ace. If you get through the deck without what you say ever matching what you deal, you win. What are the chances that you win? They’re about 1.6 percent. In a standard deck, there are four cards of each rank — four aces, four twos, four threes and so on. So when you randomize the deck by shuffling it, there is a 4/52 (or 1/13) chance that you will place a card in a position that will match what you eventually speak aloud. Put another way, before you start the game, there is a 12/13 chance that any card will not match what you will speak aloud. In order to win, you have to get through the deck with zero matches, so you need to “win” these 12/13 shots 52 times in a row. The chances of that are (12/13)52≈0.01557, or about 1.6 percent. Good luck!
is wrong based on my understanding of the problem, but I don't care to figure out the exact number. Edit: Close enough, but random trials (C++ program at http://pastebin.com/YDSWF9UR) appear to give a winning percentage of about 1.62%.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
This ROM hack is a bit buggy at this point, according to the BUG REPORTS tab (it is being updated mostly anonymously now). And by a bit buggy, I mean that this game should have received far more beta testing than it evidently appears to have received. (By the way, there are reports that the leaked build was from Dec. 19, 2016, which would conflict with other reports that it was the "TPP Build". In any case, I think this hack should never have been introduced to TwitchPlaysPokemon in such a state.) Because this ROM hack appears to be nowhere near a final version, it makes it very difficult to consider starting a TAS in the first place. ---- I played this hack through the main game and the postgame (20 badges, but not Red). My opinion on this hack is that, although it is clearly ambitious, there were too many technical problems that would not have turned up had adequate testing been done. This is one of the downsides of trying to cram in many new features in a hack. The story was rather forgettable for the most part (though the same could be said about a lot of other hacks) and the postgame feels very empty and visibly incomplete. There were a few moments where the hack has some interesting ideas that break the mold, but not nearly enough of it to make up for its problems.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
PikachuMan wrote:
If we were to TAS this, do not include the end credits in any of the encodes and do NOT upload them to YouTube.
Do you have reason as to why encodes should not be uploaded to Youtube? Gameplay videos have already been uploaded.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
MUGG wrote:
Kirby Nightmare in Dreamland, ability 1B pause screen What does it say?
"Let's be careful. Abundant caution does no harm*." *The actual Japanese idiom is that one that is literally about being careful every second, lest you be injured for life. Or alternatively, being careless for a second causes injury for life. It's idiomatic meaning is something like what I posted above.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
Amaraticando wrote:
FractalFusion wrote:
What this means is unclear, but so far I verified that all movies are re-encoded at 30fps.
I uploaded a video some days ago. It definitely looks 60 fps to me. Just check the water level, where Mario changes its direction every other frame (~ 9:45). If I pause the video, it can be both right and left. On youtube and 30 fps, only one direction would be possible.
How big was the uploaded file, and what was its resolution? Edit: Are you a general (non-pay) user, or a premium (pay) user?
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
Nicovideo recently changed their uploading limits for general (non-paying) users, on Dec. 8, 2016. - General users are limited to 50 uploaded videos, excluding those already uploaded prior to the change. (The former limit was 2GB total.) - There are no longer any real limits to uploaded files (except below); however, all uploaded videos by general users are now re-encoded by the site. (The former policy allows either 100MB max with re-encoding, or 40MB max with no re-encoding.) - The upload limits (for everyone) are 1.5GB per file, a resolution of 4096x2160. (But general users will have their video scaled down, I think.) (from http://blog.nicovideo.jp/niconews/ni065283.html) What this means is unclear, but so far I verified that all movies are re-encoded at 30fps. Unfortunately, since the previous policy allowed for no re-encoding, this means there will be no more 60fps at Nicovideo for general users. :( I will need to do more testing to see how bitrate is affected.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
IPS file for version v0.91 build 0144: [MODERATOR EDIT: Removed link to patch due to inclusion of copyright-sensitive material. -Mothrayas] Use a patching program like LunarIPS. Reading the README.txt file is a must. May be buggy since it's the TPP version, so keep multiple savestates. And this:
andypanther wrote:
When you make fan games of Nintendo IPs, you gotta keep a low profile. No fancy trailers and stuff, it's bad for you.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
Translation of the description in the video, which I already posted over there. ---- 悪魔城ドラキュラ 奪われた刻印 蟹瞬殺バグ イグニスのグリフの炎が画面に残す場合、ボス部屋に進入の時が發生。 適当にアクションの後エレベーター召喚。 失敗の可能性がある。上の足場消えるとか、出口の門誤表示とかの可能性もある。条件は不明。 グリフの入手方法はフレイムデーモンしかないからTAS使用は二周目限定? replay: https://drive.google.com/open?id=0B3FG6Qj-CuE9cE8wbG1hQi1pQjg 採用ありがとう→ sm30147789 Castlevania: Order of Ecclesia Crab instant kill glitch Caused by leaving flames from Ignis Glyph on the screen before entering boss room. Normally it is supposed to summon the elevator. There is a chance for failure. Such as the upper platform disappearing, or the exit door glitching. Unclear how it is caused. Since Glyph can only be obtained from Fire Demon, use in TAS is limited only to second round? Replay file: https://drive.google.com/open?id=0B3FG6Qj-CuE9cE8wbG1hQi1pQjg Thanks for using -> sm30147789
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
Fortranm wrote:
Link to video Could anyone please translate the description of this video?
I translated it. ---- 悪魔城ドラキュラ 奪われた刻印 蟹瞬殺バグ イグニスのグリフの炎が画面に残す場合、ボス部屋に進入の時が發生。 適当にアクションの後エレベーター召喚。 失敗の可能性がある。上の足場消えるとか、出口の門誤表示とかの可能性もある。条件は不明。 グリフの入手方法はフレイムデーモンしかないからTAS使用は二周目限定? replay: https://drive.google.com/open?id=0B3FG6Qj-CuE9cE8wbG1hQi1pQjg 採用ありがとう→ sm30147789 Castlevania: Order of Ecclesia Crab instant kill glitch Caused by leaving flames from Ignis Glyph on the screen before entering boss room. Normally it is supposed to summon the elevator. There is a chance for failure. Such as the upper platform disappearing, or the exit door glitching. Unclear how it is caused. Since Glyph can only be obtained from Fire Demon, use in TAS is limited only to second round? Replay file: https://drive.google.com/open?id=0B3FG6Qj-CuE9cE8wbG1hQi1pQjg Thanks for using -> sm30147789
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
nathanisbored1 wrote:
Actually this came out last year on November 16. it was recently resubmitted to smwc because of a new version, so the current submission it shows a more recent date, but the version that was TASed was public on smwc much longer (and had many more downloads).
Shouldn't TASes for hacks be done on the most recent version? Or perhaps wait until no new versions are expected? Do any of the changes since v1.01 affect the methods used in this TAS?
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
Great, you managed to improve it! I knew there had to be a mistake somewhere. :) I'm trying to see if something like "8F" (8th floor) glitch can be used to improve the TAS. Might take some time to work out.
Editor, Experienced Forum User, Published Author, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
I had a look at the disassembly to see what was going on. Here's what MrWint says under the section "How skipping to the end works" (bold mine):
MrWint wrote:
Specifically, we can change the ID of the current map (at $d35e) and the pointer to the map script (at $d36e) to execute the Hall of Fame cutscene and end the game right away. The Hall of Fame code is the same in all versions of the game, but can be located at different places inside the ROM. There are two possible ways to jump into it, either calling the HallofFameRoomScript to run the full cutscene (as seen in the current publication), or by jumping directly into HallofFameRoomScript2, which starts the Dex rating sequence immediately (as seen here). Note that it's not possible to jump any further into the sequence, such as executing the credits directly, since the ending bit of HallofFameRoomScript2 is actually needed to finish off the game as expected, by restarting after a button press (otherwise it would loop in the credits like seen here).
Indeed, he is correct. The hall of fame screen and the credits are executed with a CALL at line 28, whereas lines 46-48 of HallofFameRoomScript2 save your game at the very end. Now what line 28 (predef HallOfFamePC) does is set register A to hex 55, then call 3E6D (on Pokemon Red U). What this submission does is mimic this as follows: - The player name (which is at D11D/F11D) corresponds to code. - The map pointer is set to D101 (or F101). - Once control is hijacked by the changed map pointer, it jumps to D101/F101 and executes the player name: -- Coming in, register A is already set to 0x01. -- Subtract 0xAC from register A, so it becomes 0x55. -- JUMP or CALL to any address currently in ROM, that calls 3E8B (predef on Pokemon Red J V1.1). This submission wanted to call 34CD so the player name was chosen accordingly. And that's about it. The movie I uploaded is pretty much the same thing. Unfortunately, as described above this only executes predef HallOfFamePC and not HallofFameRoomScript2, which explains why it glitches out at the end and doesn't save the game or terminate correctly. So this submission might be rejected on the basis of not completing the game (like what happened to this submission). In any case, I see the game going to the hall of fame screen and to the credits (like almost all the other TASes do), and that's all I really care about as far as completion of the game is concerned.