Fortranm
He/Him
Editor, Experienced player (878)
Joined: 10/19/2013
Posts: 1121
That's why I use 0.9.9 for my CTDS TAS. Using 0.9.10+ for that game sometimes results in the same situation during playback, and in other time, the game is stuck in that screen forever.
Skilled player (1741)
Joined: 9/17/2009
Posts: 4981
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Thanks very much, it worked on 0.9.8 as well. I wonder what caused the behavior to pop up for the last 2 releases?
Skilled player (1741)
Joined: 9/17/2009
Posts: 4981
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
jlun2 wrote:
Related to that last point: every time you invest on the same stat, the roulette for the next level shows lower and lower numbers. Will it always show +6, or would using the boost on another stat eventually be better in a TAS?
Ok, tested using cheats, and I got this for the first 13 levels for mario by focusing solely on POW. https://docs.google.com/spreadsheets/d/1MLt_HBK3aZwPPmXKrIECCh2iCJVTPSimXPRo5wcev0o/edit?usp=sharing It appears the roulette for stache is different that the rest, and the other stats share the same roulette. By level 8, The stache roulette starts glitching up, and a "6" will spontaneously change to "5" mid way down. At level 11, +4 does not exist on stache. The same happens to the shared roulette by level 12. By level 5, after choosing ONLY POW for the entire time, it's impossible to get +2; even with frame advance, it will automatically change to +1 for POW. I still managed to get 61 POW by level 13, but I end up with very poor speed. I also added some RAM addresses for this game after I realized the action replay codes basically use the RAM addresses of the stats. With this table, is it ever worth investing on speed? Some boss attacks are very lengthy, and with this poor speed they might potentially waste a lot of time. Edit: I managed to get +2 POW again after applying the boost to another stat once. Edit2: 0.9.8 desyncs on playback.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
Migu
He/Him
Player (189)
Joined: 10/3/2015
Posts: 62
Location: Louisiana
Gritzy desert early was thought to be useless (https://www.youtube.com/watch?v=OLZVnCNTEig) but I think it is actually useful. In gritzy desert you can get bro items like ice flowers and pocket chomps that would speed up early bosses (like Swiggler, Kamek, and Sunnycide). It's possible to access the koopaseum without hammers/spinning/rolling, but the first room in the koopaseum after the cutscene requires the rolling ability to get through.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
The detour to the desert takes too long, imo. Also... *opens notes* Swiggler fight can be done in 2 turns with 4 fireflowers.
///// vs Swiggler,  doctor shroob with grey shroom(random),  doctor shroob with normal shroom(random)
~ Swiggler 200 HP
~ Doctor Shroob 46HP
~ THIS FIGHT REQUIRES 4 FIREFLOWERS!
-- hammer poison cloud with one pound (two hits)
Mario+b      fireflower [  58     3      0   ]
Luigi+b       fireflower [   57     4      0   ]
-- dodge shot
-- hammer defend big doctor shroob
Mario+b    fireflower [ 56     1      1    ]
Luigi+b     fireflower [ 29     0       0   ] everyone dead
~ gain 196 EXP,   140 COIN
I think the other two fights can be done reasonably fast with items on the way.
Migu
He/Him
Player (189)
Joined: 10/3/2015
Posts: 62
Location: Louisiana
I assumed that if you manipulated RNG to only hit swiggler, the fire flower would run out before you did decent damage. But I was wrong. I had another to speed up the Swiggler fight - lucky hits double the total damage done with fire flowers (I think). So instead of doing 58 damage with a fire flower, for example, it could do 116 with a lucky hit. Not quite sure if this is how it works, but if it does work like that, Swiggler could feasibly be defeated in 1 turn with 2 flowers, both lucky hits. If you're eligible for a lucky hit on a given enemy it'll be lucky no matter how many fireballs hit that enemy, so the RNG manipulation shouldn't be too difficult. The chance of a lucky hit with un-upgraded stache is roughly 1 in 50 I think. But either way, I realize the desert trip is definitely not worth it.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
ghostcookies wrote:
when i was playing i activated the dry bone statue to the right then before the time ran out i read the sign to the north of the statue. The result was it allowed me to walk around while having the sign text still be there. I dont know if this was already found but it might have some potential speedrun use
source
Migu
He/Him
Player (189)
Joined: 10/3/2015
Posts: 62
Location: Louisiana
Here's my WIP playlist: https://www.youtube.com/watch?v=dDHkWFKw5Hg&list=PLNXBRD8jAgUf684BVNYp8D99bQM319Nqt&index=1 There's a problem with the encode where screens don't fade out correctly. You can see this in part 4 at 0:09, 1:56, 2:41, 2:53, 6:56, and 7:35. Could the problem be caused because those are places I made savestates? Is there a way to fix it?
Migu
He/Him
Player (189)
Joined: 10/3/2015
Posts: 62
Location: Louisiana
WIP of about 40% of the game: Link to video I'm working on an actual route which I will update here: http://pastebin.com/iiStsedR Help is appreciated :P
Skilled player (1741)
Joined: 9/17/2009
Posts: 4981
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Migu wrote:
WIP of about 40% of the game: Link to video I'm working on an actual route which I will update here: http://pastebin.com/iiStsedR Help is appreciated :P
(J) version? Isn't that an "easier" version? Although now that I think about it, I'm curious what's the shortest version in terms of both text and stats. That and I'm conflicted, since I've actually played this vastly underlevelled, and know how insanely boring the boss fights become, so I'm not certain (especially for the latter bosses) if using (U) is the "right" thing to do. :| Anyways... This game's quite lengthy in text, so I hope you're not simply autofiring without regard on whether its optimal. :P Every now and then, you bump into walls. Example 9:11. Any reason for this, or is it visual/faster? The loading screens for the battle/overworld transitions are glitched. lol At 12:37, that was a rather laggy area. Would it be better to not jump over the shroobs and walk instead? Avoiding that boo at 27:25, 27:30 was nice. For the fireball "puzzle" in the forest, was it really better to move the older bros before hitting the fireball, or the same? For the hammer bros. fight, I'm not sure how feasible it would be to manipulate crits to 2 turn KO them. Same applies for Swiggler. At 1 hour in, why did the color blocks suddenly vanished at the top screen. lol Sadly lack of crits at Kamek. Oh well. You got a crit at the shroobers lol. >.< That Sunnicide fight really shows how powerful TAS-precision fire flowers are. 0_o Overall, quite nice, barring the lack of crits for bosses. Good luck on the rest of it. Will you be posting the input file WIPs?
Migu
He/Him
Player (189)
Joined: 10/3/2015
Posts: 62
Location: Louisiana
jlun2 wrote:
a bunch of stuff
In terms of text, pretty sure all versions are the same. I used J because of the lower boss health, but recently found that the Europe version has the same stats as J as well as English text, so I'll use that from now on. Although the title screen is 75 frames faster on J than the other versions, lol. For text I alternate button presses every frame (ABABABAB) since ABXY all advance text. Don't see how that can be optimized further. 9:11 is unoptimized for sure. I hardly knew anything about movement at the time. Bowser's castle is when I really learned how to optimize movement. The transitions are an encode problem, I'm not sure how to fix it. It looks fine in the emulator. For some reason Boos notice you from a greater distance if you move diagonally. So I moved orthogonally a bit to help avoid them. I haven't noticed this behavior with any other enemies. In the fireball thing I moved the adults to minimize the camera scrolling time. From my minimal testing of lucky hit manipulation, it takes on average a few thousand frames to manipulate a lucky hit. If there was a quicker way, then I'd love to make every hit lucky. Not only would it save minutes, it would really simplify the item route. The crits on the shroobers are only because they are weak to ice. Lucky hits are RNG, crits are elemental and guaranteed if you use the right item. It is possible to get lucky and crit and it does a lot of damage: (Sunnycide is weak to fire when he is knocked down, but it takes too long to knock him down to be useful.) What's the best place to upload input files?
Skilled player (1741)
Joined: 9/17/2009
Posts: 4981
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Migu wrote:
jlun2 wrote:
a bunch of stuff
In terms of text, pretty sure all versions are the same. I used J because of the lower boss health, but recently found that the Europe version has the same stats as J as well as English text, so I'll use that from now on. Although the title screen is 75 frames faster on J than the other versions, lol. For text I alternate button presses every frame (ABABABAB) since ABXY all advance text. Don't see how that can be optimized further. 9:11 is unoptimized for sure. I hardly knew anything about movement at the time. Bowser's castle is when I really learned how to optimize movement. The transitions are an encode problem, I'm not sure how to fix it. It looks fine in the emulator. For some reason Boos notice you from a greater distance if you move diagonally. So I moved orthogonally a bit to help avoid them. I haven't noticed this behavior with any other enemies. In the fireball thing I moved the adults to minimize the camera scrolling time. From my minimal testing of lucky hit manipulation, it takes on average a few thousand frames to manipulate a lucky hit. If there was a quicker way, then I'd love to make every hit lucky. Not only would it save minutes, it would really simplify the item route. The crits on the shroobers are only because they are weak to ice. Lucky hits are RNG, crits are elemental and guaranteed if you use the right item. It is possible to get lucky and crit and it does a lot of damage: (Sunnycide is weak to fire when he is knocked down, but it takes too long to knock him down to be useful.) What's the best place to upload input files?
Wow..never knew about the item weakness :o You can use http://tasvideos.org/userfiles/my#uploadfile for WIPs. Also speaking of item route, you'll be vastly underlevelled for future bosses. Will it be flowers all the way, or would other items be better?
vince1919
He/Him
Player (88)
Joined: 10/4/2015
Posts: 76
Location: Quebec, Canada
I think that money glitch should be used to buy powerful badges and powerful gear. The fights could be faster.
jlun2 wrote:
Also speaking of item route, you'll be vastly underlevelled for future bosses. Will it be flowers all the way, or would other items be better?
Pocket chomps will be used later. It is an infinite attack so bosses will die in one turn. Later, red shells and copy flowers will be avaiable too. They are also infinite and they are much faster than pocket chomps.
Migu
He/Him
Player (189)
Joined: 10/3/2015
Posts: 62
Location: Louisiana
The item route is still something I'm working on, but I'm pretty sure the multi-hit attacks like trampoline and pocket chomps are much faster than flowers when the bosses get to 1000+ health.
Skilled player (1741)
Joined: 9/17/2009
Posts: 4981
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Would it be a bit faster to use flowers for a bit before they start having longer/multiple attacks at low health then switch to pocket chomps? Pocket chomps don't seem to deal much damage for each individual attacks. Finally, at low levels, will using those pepper actually do much at all?
vince1919
He/Him
Player (88)
Joined: 10/4/2015
Posts: 76
Location: Quebec, Canada
Red peppers helps a lot. They are used in RTA. For TAS, I'm not sure if it would be faster but it is worth trying. Fights would look like: Red pepper, ice flower (to reduce defense) and red shell (it is the fastest attack but it only works for ground enemies.)
Memory
She/Her
Site Admin, Skilled player (1556)
Joined: 3/20/2014
Posts: 1765
Location: Dumpster
Generally you would only want to delay an infinite combo attack like copy flowers and such if you were going for a defense down with ice flowers or if you wanted to hit multiple targets with mix flower. The thing about copy flowers, pocket chomps, trampolines and red shells is that they start out slow but speed up the longer you keep up the chain. At their fastest, they completely outpace any other methods of doing damage.
[16:36:31] <Mothrayas> I have to say this argument about robot drug usage is a lot more fun than whatever else we have been doing in the past two+ hours
[16:08:10] <BenLubar> a TAS is just the limit of a segmented speedrun as the segment length approaches zero
Migu
He/Him
Player (189)
Joined: 10/3/2015
Posts: 62
Location: Louisiana
In my last post I mentioned that manipulating lucky hits would save a lot of time. Since then I looked into it and I'm pretty happy with what I've come up with so far. First I considered where I could waste time in a battle to change the RNG. I determined that RNG does not change while you are selecting an attack or selecting a bros. item. It does change, however, when you are selecting a target. (For flowers the only target option is to attack all enemies.) After selecting the target the game has determined whether or not the attack will be a lucky hit for each individual enemy. (By the way, everything I explain here is about bro flowers. It probably applies to ice flowers as well, but no other items.) RNG changes only when you are selecting a target, but it does not change every frame. In fact, in only changes once in every ~100 frames. The frames that RNG changes happen to coincide with the moments when the fireball switches between bros in the attack demo on the top screen. Specifically, the first frame with a new RNG seed is the last frame in which the last fireball thrown by one of the bros is visible. In the demo, Mario and Luigi will either throw 3 or 4 fireballs. If the adults and babies are present, the babies will also throw 3 or 4 fireballs. Here is the amount of time each of these takes: Adult/baby on ground throwing 3: 103 frames Baby on piggyback throwing 3: 118 frames Adult/baby on ground throwing 4: 132 frames Baby on piggyback throwing 4: 152 frames Suppose that if you select the target on frame X, the attack will not be a lucky hit. If you select the target on frame X+1, the attack will also not be a lucky hit. However, if and only if the fireball that exists on the top screen on frame X+1 no longer exists on frame X+2, there is a chance that selecting the target on frame X+1 will produce a lucky hit. In this way, lucky hits appear in "clusters" of 103, 118, 132, or 152 frames. The RNG is constant within each cluster and changes from cluster to cluster. There is actually a initial cluster before the demo begins which lasts only 9 frames if all 4 characters are present, and 7 if only two are present. I found that if I waited 139 frames in the hammer bros. battle, waiting past a short cluster and a 4-fireball cluster (7+132), I would reach a lucky hit cluster. This means that the hammer bros. battle can be about 13 seconds faster because the second attack turn can be completely skipped, but the first turn would take longer due to the manipulation.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
Do we have the RNG address(es)?
Migu
He/Him
Player (189)
Joined: 10/3/2015
Posts: 62
Location: Louisiana
I don't have any RNG addresses. I did find that 020C0939 corresponds to which bro is throwing fireballs in the demo, which can be helpful.
Joined: 3/20/2010
Posts: 15
The only time I tried some TAS/memory stuff, I found an address that's related to RNG stuff. For U (I think it was U), it's 02060A86 (I actually posted it a while ago). For E (at least the ROM I have), it seems to be 02060E06. If you fix its value, some things that are usually random are fixed (flower targets, enemy movements, etc.). When you watch a demo of most bro items, the value change when something is changed in the demo (different bro fires flower, a bro appears on screen, etc.). Green Shell doesn't seem to change though, and I'd guess Red Shell is the same. Anyway, in battle that's pretty much the only way to manipulate without attacking or being attacked. Outside, there are lots of things that can change it, including enemy movement, screen changing and pausing.
jdaster64
He/Him
Joined: 12/1/2012
Posts: 103
Location: New Donk City
Dang it man, I was literally about to post the RNG address. For (U), the RNG seed is indeed 0x02060a86, only 16-bits (unlike Superstar Saga's ~2KB). The formula as best as I can tell: RNG(x+1) = (x * 41 / 2) & 0x7fff, + 0x8000 if x was odd. Trying to figure out a consistent inverse to the formula and determine how Lucky hits are determined; for some reason, the attack I was testing rolled the RNG 2 or 3 times depending on whether I got a Lucky hit. EDIT: Looks like standard jumps only roll the RNG once per hit, I guess the extras came from the death animation. In any case, I've still yet to figure out how the RNG is actually used in the calculation; 0x8348 produced a Lucky hit with 100 STACHE, but 0x0029 did not.
jdaster64
He/Him
Joined: 12/1/2012
Posts: 103
Location: New Donk City
All right; here's how to predict the RNG effectively (using Python for these formulas):
next_rng(x) = lambda x: ((x*41//2)&0x7fff)+0x8000*(x%2) if x else 0x3ff3

def irng(x): (inverse rng):
  for z in range(0,41):
    ix = math.ceil(((x&0x7fff)+(z*0x10000))/20.5)&0xffff
    if next_rng(int(ix)) == x: return ix
  return -1
To determine whether the next hit will be Lucky!, the formula given a current seed is next_rng(seed) % 100 < lucky_chance. Testing a standard jump on a Koopeleon, that chance is 24 at 100 STACHE; going to try to see if that varies based on attack / enemy. EDIT: Lucky chance = floor((Attacker STACHE / 4) - (Enemy Level / 8)), clamped to [1,99]. Lucky Badge doubles the chance, and Lucky Badge A quadruples it.
Migu
He/Him
Player (189)
Joined: 10/3/2015
Posts: 62
Location: Louisiana
Thanks! I will definitely test this out when I can. Do you know if the algorithm works the same way in the EU version, since that's the one I will be using? (because it has less boss health and english text)