Posts for morningpee

morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
New category wrong warps from a game over in MG1 to MH1, but it requires some setup. Link to video Summary from Eandis:
Eandis wrote:
1. Start up the game 2. Go to Competition mode, choose no monitors, start a new game 3. get to hydrocity 1, get any big ring, don't collect an emerald, get to boss, and drown on score tally for act 1 in act 2 glitch. Beat the level and reset console after score tally. 4. do that 3 more times but dont collect the big ring anymore 5. start a new file (timing starts now), get to hydro 1, die until 2 lives left, get any big ring, do act 1 in act 2 glitch 6. game over in marble garden 7. winner
drown on score tally for act 1 in act 2 glitch is a reference to Link to video
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
Vote: Were there sheep in this movie? (Vote after watching!)
Yep
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
PoochyEXE wrote:
Sorry, please hold off on judging for a little bit, I spotted a couple optimizations that I think I can add in while still being able to resync the RNG state afterwards. I'll probably have a new version in a day or two. Edit: Done! https://tasvideos.org/UserFiles/Info/637806096666496015 -- Please replace the movie file with this new one. I've included a changelog in the upload description. (Note that this still includes the fanfare at the end.)
Linked to a new encode. Also, now the RNG in 59 is even sillier. Love it
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
Temporary encode: Link to video For reference, the RTA WR is 1:11:15 currently. My favorite level was 59 because it was so clean. Easy yes vote!
PoochyEXE wrote:
There's a special fanfare that plays upon clearing Round 99, but unfortunately letting it play out would lose about 5 seconds, so I simply skip it and proceed to the ending cutscene, although the time loss would be after the point when the timer would stop in an RTA speedrun. If the community and/or mods think the speed/entertainment tradeoff is worth it, it's easy to change the movie.
+1 for hearing the special fanfare Edit: Replaced video with encode of User movie #637798894512418864 Edit edit: Replaced video with encode of User movie #637806096666496015
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
Nicely done! Happy to see Seaquest finally get TASed by someone who knows what they are doing.
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
It has been brought to my attention that a 3:10.82 TAS exists of Ikachan. Link to video (Nico link: http://www.nicovideo.jp/watch/sm25724519) WTF file: https://www.axfc.net/u/3424972?key=ikachan So, someone should contact .nan7 about submitting it to TASVideos.
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
This is popular on reddit right now.
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
I was entertained. I'm a fan of the ending.
TASVideoAgent wrote:
The one main enemy that keeps chasing you (sadly I don't know his name, I just call him the asshole) randomly shows up in rooms and in random places.
page 7 of the manual wrote:
Watch out for the thugs that roam the streets—they may try to shoot at you.
The asshole it is.
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
You might be talking about this homebrew game. If that is the case, it is hosted on SourceForge.
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
Great work! I've been looking forward to this since [2818] N64 Paper Mario by Malleoz in 1:30:40.15.
TASVideoAgent wrote:
Though a Youtube encode with commentary is not available yet, here is a livestream where both myself and Stryder7x are commentating. https://www.twitch.tv/videos/145626330
Would you consider posting the Twitch VOD to YouTube? From my limited perspective, it had good commentary. The submission seems to cover everything else, just in case. Suggested screenshots: 1, 2
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
Very nice, yes vote! My favorite parts were the spin-dash glitch used at 18:34, the strat used to get 2 unreachable coins in Mystic Cave Zone 2, and all of Oil Ocean Zone 2. At first I wasn't sure if the ring losses at 30:16, 30:30, etc. were legal, then I realized you were collecting it again. The super-fast movement that it enabled was very cool! Close call at 39:43
SmashManiac wrote:
I really enjoy the "maximum rings" idea
I wouldn't call it "maximum coins" because it is not comparable to [2977] NES Super Mario Bros. "maximum coins" by TEHH_083, HappyLee & CuteQt in 26:10.25. If it were, there would be a lot of back-tracking in each level to collect each ring multiple times. This could be accomplished by entering/exiting special stages, which causes all rings to respawn but does not reset the ring count, and you could potentially do this for each star post. I am glad the branch is "ring attack" and not "maximum rings".
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
I almost voted no because you missed the 15th apple at frame 24036. Here is a fixed movie that includes the 15th apple: http://tasvideos.org/userfiles/download/36055273675469083 No coauth necessary.
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
Baxter wrote:
morningpee wrote:
Now for the important question: Does this movie minimize the number of A presses necessary to complete the game?
It doesn't. The reset is done by using UP+A on the second controller, which could count as using the A button. As for using A on the first controller: you could grab more heart containers, obtain the magical sword and beat Ganon by using A 4 times instead of 16 times, which would be less A-presses (but obviously be slower).
Thank you for this. Needless to say, I voted "yes".
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
It's great to see an improvement to this category! Now for the important question: Does this movie minimize the number of A presses necessary to complete the game?
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
Thank you for showing me that racing games are actually just platformers. 1st place just means jumping a lot.
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
Warepire wrote:
You will need to do some sort of API replacement to achieve the necessary determinism required to do input replay etc across systems.
That is recreating a lot of things that linux containers have already achieved. Being more strict, requiring the TASer to simplify his own environment or play a game in a lxc may not be nice, but it simplifies the process of recreating Hourglass for Linux. Hourglass for Windows accepts most executables and fails 95% of the time.
Warepire wrote:
Thirdly ... how did you end up requiring sudo? gdb doesn't and it can do the same things.
Running everything in userspace might take awhile because you start using tricks like "LD_PRELOAD" before you hit any dead ends. If he starts top-down, using linux containers, he can keep requiring sudo without exposing his system.
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
Fishaman P wrote:
Really liked all the zips we don't see humans do! Mystic Cave 2 was the coolest one by far.
I personally enjoyed the horizontal underflow in Oil Ocean. /pun
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
YamiAmarillo wrote:
feos wrote:
What does the difficulty level affect other than amount of Puppy Love rounds?
Easy gives you 3 rounds, normal is 4, and difficult is 5. Btw, any chance you could send me the Lua file you have for puppy love? I want to mess around with it. I was debating using a Rom hack a friend made that gets rid of all the puppy loves, but I didn't know if that is allowed
Difficulty level also affects how fast Psy-Crow runs in the final stage. In the hardest difficulty, he runs faster than you.
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
Great job, this blows other TASing attempts I've seen out of the water. Your RNG manipulation managed to make even Puppy Love watchable, EWJ2 speedruns never show the player getting mauled by the mother... multiple times.
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
Ratings consistency isn't helped when people vote on their own movies.
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
Post subject: Tetris DS Visualizer
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
A major frustration I have come across while TASing this game has been the 2-frame delay between inputs and display. I have made a set of scripts that removes this delay. Use them https://gitgud.io/scahfy/Tetris_DS_Visualizer/tree/0.1.1
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
I will be interested to see how this plays out. For the first time, it might make sense to use console verifications as the primary publication videos, when possible. Console verification videos are generally camera footage of the whole playback setup, including the bot and the TV, to emphasize the process for the viewer's benefit. As a legal response, though, nothing but the game footage should be necessary.
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
Post subject: Watches in gdb stub
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
I am unable to watch addresses using the GDB stub in 0366 - Tetris DS (U).nds. When the watch is supposed to break execution, I instead get the following message in GDB:
Can't send signals to this remote system.  SIGABRT not sent.
I can write a small GDB script that imitates watching and breaks when certain conditions are met, but that option runs very slowly. I am using arm-none-eabi-gdb on Arch Linux and running Desmume 0.9.11 in Wine.
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
jlun2 wrote:
How exactly does this game's RNG work? Time/input/frame?
The initial RNG value comes directly from the system time. The original algorithm that generates the first RNG value is too long to paste for how simple it is so I'll just say that the last word (at 0x207F3EC) is always 0x00000000, and the first word is the system time at frame 222, calculated from the replay file's rtcStartNew parameter as follows: 0x00000003 + 0x01000000 * year + 0x00100000 * month + 0x00008000 * day + 0x00000e10 * hour + 0x00000036 * minute + 0x00000001 * second. Year ranges from 0-99, month ranges from 1-12, day ranges from 1-31, hour ranges from 0-23, minute ranges from 0-59, and second ranges from 0-59. The offset 0x00000003 comes from the fact that frame 222 is about 3 seconds in. For example, May 25 2012 at 00:00:00 becomes 0x00000003 + 0x01000000 * 12 + 0x00100000 * 5 + 0x8000 * 25 + 0x00000e10 * 0 + 0x00000036 * 0 + 0x00000001 * 0 = 0x0c5c8003. The RNG cycles once at frame 222 (Desmume 0.9.11), 30 times for each bag sequence that is generated, and one extra time between the first and second bags of the game.
Language: asm

0x02027240: 50 10 9f e5 ldr r1, [pc, #80] ; 0x2027298 0x02027244: 08 c0 91 e5 ldr r12, [r1, #8] 0x02027248: 00 30 91 e5 ldr r3, [r1] 0x0202724c: 04 20 91 e5 ldr r2, [r1, #4] 0x02027250: 9c 43 8e e0 umull r4, lr, r12, r3 0x02027254: 9c e2 2e e0 mla lr, r12, r2, lr 0x02027258: 0c 20 91 e5 ldr r2, [r1, #12] 0x0202725c: 10 c0 91 e5 ldr r12, [r1, #16] 0x02027260: 92 e3 2e e0 mla lr, r2, r3, lr 0x02027264: 04 30 9c e0 adds r3, r12, r4 0x02027268: 14 20 91 e5 ldr r2, [r1, #20] 0x0202726c: 00 30 81 e5 str r3, [r1] 0x02027270: 0e 40 a2 e0 adc r4, r2, lr 0x02027274: 00 00 50 e3 cmp r0, #0 0x02027278: 04 40 81 e5 str r4, [r1, #4]
Starting with the sequence {0, 1, 2, 3, 4, 5, 6}, each bag is generated by swapping bag elements a total of 15 times (once for every two RNG cycles). At 0x02028894, the first index is stored in r7 and the second is stored in r0.
Language: asm

0x02027280: 94 20 81 10 umullne r2, r1, r4, r0 ; where r0 = 7 and r4 is the first word of most recent calculation of the RNG ;... for the first RNG cycle, r1 -> r7 ;... for the first RNG cycle, r1 -> r0 0x02028894: 07 30 86 e0 add r3, r6, r7 ; r6 points to the next bag of pieces 0x02028898: 00 10 86 e0 add r1, r6, r0 0x0202889c: 01 50 85 e2 add r5, r5, #1 0x020288a0: 04 20 d3 e5 ldrb r2, [r3, #4] 0x020288a4: 04 00 d1 e5 ldrb r0, [r1, #4] 0x020288a8: 0f 00 55 e3 cmp r5, #15 0x020288ac: 04 00 c3 e5 strb r0, [r3, #4] 0x020288b0: 04 20 c1 e5 strb r2, [r1, #4]
After rewriting the RNG algorithm in C and brute-forcing all system times, I can say that changing the movie's "rtcStartNew" date to May 25, 2012 makes veup's movies sync in Desmume 0.9.8. That is the only startup system time that produces the correct RNG.
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
Post subject: Veup run sync
morningpee
They/Them
Experienced Forum User, Published Author, Player (56)
Joined: 11/28/2013
Posts: 119
Okay, good news and bad news. The bad news is that the RNG is an 8-byte value (ranging from 0x0207F3E8 to 0x0207F3EF) and I have no intention of brute-forcing it. The good news is that I wrote a Lua script that injects the correct piece sequence in the memory so veup's 200-line run can sync. The script can be found here. If you use Desmume v0.9.8, you can use veup's original movie file. I have also uploaded a version of his movie optimized for 0.9.11.
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin