1 2
8 9 10 11 12 13
Former player
Joined: 5/29/2006
Posts: 200
Thanks for the help. The final chapter is incredibly simple, so with any luck, I'll be submitting this thing tomorrow. It's been over two years (!) since I first started, thinking it took ~15 frames to waste an RN, but now it's almost done.
Player (100)
Joined: 3/20/2008
Posts: 466
Location: Montreal, Quebec, Canada
Hey Nitrodon, I am looking to TAS FE5 but I need some help for forming a table of RN values. Cheetah posted this at gfaqs: "Actually, it's fairly easy to find in VBA's memory viewer the previous three RNs, which the game uses to calculate the next one. Then somebody somewhere figured outt he formula used for gtting the next RN from the previous three. Then Nitrodon, who helped a lot with the run, made a spreadsheet that lets me put the three numbers at the beginning of the chapter into blank spots, and it'll list out the next 500." I'm wondering if you can do the same but for SNES9x v1.43...? Any help would be immensely appreciated.
Former player
Joined: 5/29/2006
Posts: 200
Before you run off with what I said, note that it explicitly applies to the GBA fire emblems. I have no idea if it works with any of the others. Though I do know FE5 has a similar RNG, where new numbers are calculated based on old ones.
Active player (287)
Joined: 3/4/2006
Posts: 341
FE5's RNG is very similar to FE4's, except that that are more (and faster) ways to manipulate it during the player phase. If you have animations on, you can even manipulate the RNG during the enemy phase. I could probably make a spreadsheet, but you would need to input 55 numbers (046B-04A1) instead of 3. This might be easier if I learn Lua scripting. This discussion should probably be moved to a new topic, since it has nothing to do with FE8.
Player (100)
Joined: 3/20/2008
Posts: 466
Location: Montreal, Quebec, Canada
Active player (287)
Joined: 3/4/2006
Posts: 341
What's the point of HD for video that was initially 240x160? You don't gain any video information by increasing the resolution.
arflech
He/Him
Joined: 5/3/2008
Posts: 1120
Nitrodon wrote:
What's the point of HD for video that was initially 240x160? You don't gain any video information by increasing the resolution.
At least he used a decent filter so it doesn't look blocky...could have done better though.
i imgur com/QiCaaH8 png
Joined: 8/27/2006
Posts: 883
Youtube reencode the movies, so if you put it on youtube HD the quality is better, even if you upload the same video
GoddessMaria
She/Her
Reviewer, Experienced player (868)
Joined: 5/29/2009
Posts: 519
Location: Hell...
Hello~ I do apologize if I am bumping the topic, but this sorta has something to do with this. I'm currently working on a run of my own, but on Difficult mode(Hard). I've already got to Chapter 4 and it's not as bad as I first pictured it to be.
Current projects: failing at life
Active player (287)
Joined: 3/4/2006
Posts: 341
Good luck with the run. I recommend uploading your WIPs to http://dehacked.2y.net/microstorage.php so the rest of us can watch and maybe provide some useful feedback.
Former player
Joined: 1/29/2007
Posts: 116
GoddessMaria15 wrote:
Hello~ I do apologize if I am bumping the topic, but this sorta has something to do with this. I'm currently working on a run of my own, but on Difficult mode(Hard). I've already got to Chapter 4 and it's not as bad as I first pictured it to be.
Sorry for the OT, but in that color your post is just barely readable.
Former player
Joined: 5/29/2006
Posts: 200
So, I've been pondering improving my existing movie. My resistance to it has been on two grounds: 1) The strategies are, for many chapters, completely optimal. All the time saved will just be optimizing the existing strategy, which isn't very distinctive for the viewer to watch. In my last watch-through of the video, I couldn't find any strategies that jumped out at me as needing to be improved. 2) I only estimate between 2 and 4 minutes of improvement that I can think of. It'd seem sad to have a 1:06 video not improved below the hour mark in a second version. Any opinions out there?
GoddessMaria
She/Her
Reviewer, Experienced player (868)
Joined: 5/29/2009
Posts: 519
Location: Hell...
Hmm.. I could only say that it looks fine from where it is atm. I might possibly spot something eventually, cheetah. And now on another note, I've restarted my run due to a time saver in the prologue. Here's a little WIP that stops up to Chapter 3. http://dehacked.2y.net/microstorage.php/info/1215887699/FESacredStonesWIP1.vbm
Current projects: failing at life
Former player
Joined: 5/29/2006
Posts: 200
GoddessMaria15 wrote:
Hmm.. I could only say that it looks fine from where it is atm. I might possibly spot something eventually, cheetah. And now on another note, I've restarted my run due to a time saver in the prologue. Here's a little WIP that stops up to Chapter 3. http://dehacked.2y.net/microstorage.php/info/1215887699/FESacredStonesWIP1.vbm
I'd advise you to take a closer look at my run in slow motion, especially with input turned on. You'll save a LOT of time with just a few quick fixes. Hold B whenever the cursor is moving. This makes the cursor move faster. Hold A during the enemy phase. This will skip the targetting cursor enemies have. If you haven't already, ask Nitrodon for a spreadsheet that lets you list the next 500 or so RNs. This way, you don't have to find the RN you need manually. Some more sophisticated things: Try to move the cursor towards your eventual destination as you waste RNs. If you simply can't pull this off, you can press L to instantly return the cursor to the character. Every attack uses about 40 frames. Doing things like having Seth use the silver lance on the chapter 1 boss will thus save considerable time by reducing the number of attacks needed. Having Vanessa double crit the archer in chapter 2 would also save a lot of time. Having start on autofire during custscenes will sometimes lose a few frames compared to manually finding the first skippable frame. Try to always crit on the player phase, the time saved by not watching an enemy counter + a pursuit attack is enormous.
Joined: 7/3/2009
Posts: 5
i made a lua script that lists the current RN each frame if it changed from the last frame. emu.pause() zero = memory.readword(0x3000000) nex0 = memory.readword(0x3000000) while true do nex0 = memory.readword(0x3000000) if ( nex0 ~= zero ) then print(nex0) end zero = memory.readword(0x3000000) emu.frameadvance() end this works for both blazing sword and sacred stones because the rng works in the same way (as far as i'm aware of) and is located in the same place. weird why they would do that huh? anyways if Nitrodon knows how to find the next sequence of random numbers, then can someone teach me how to too? i would just prefer the direct formula if possible. i tried looking up "z/2z linear function" but i couldn't make heads or tails of it. google just wouldn't give me a straight answer. btw: if anyone cares i want to make a youtube video "Fire Emblem: RNG Abused Critical Hit Complication" which will include a playthrough's worth of critical hit sequences / levelups. i plan to make the video interesting by playing the kirby FALCON PAWNCH song. seeing as it seems quite fitting to me. if anyone suggests a better song then i'll consider. the reason im making a video is so i can play through fire emblem for the first time so im familiar with it when i do an eventual TAS of it.
Active player (287)
Joined: 3/4/2006
Posts: 341
Try looking up "linear feedback shift register" instead. The tap sequence is [47, 21], and the most significant bit is generated first.
GoddessMaria
She/Her
Reviewer, Experienced player (868)
Joined: 5/29/2009
Posts: 519
Location: Hell...
Well.. I have decided to redo the run again from scratch as there were more things to fix and optimize. Current progress is at the prologue.
Current projects: failing at life
Active player (279)
Joined: 4/30/2009
Posts: 791
The Lua scripts used on FE6 should be easily adaptable for FE8, since more or less all the GBA games used the same engine. It shouldn't be hard to work out memory locations in FE8 comparable to the ones in FE6. Definitely be useful for some of the more complex enemy phases. For example there's this script which was created mostly thanks to amaurea: Download rngdisplay.lua
Language: lua

function nextrng(r1, r2, r3) return AND(XOR(SHIFT(r3, 5), SHIFT(r2, -11), SHIFT(r1, -1), SHIFT(r2,15)),0xFFFF) end function rngsim(n) local rngbase=0x03000000 local result = { memory.readword(rngbase+4), memory.readword(rngbase+2), memory.readword(rngbase+0) } for i = 4, n do result[i] = nextrng(result[i-3],result[i-2],result[i-1]) end return result end local phit = 0x0203CDAE local pdmg = 0x0203CDB2 local pcrt = 0x0203920A local ehit = 0x0203CDAC local edmg = 0x0203CDB0 local ecrt = 0x0203CDB4 while true do local nsim = 20 rngs = rngsim(nsim) for i = 1, nsim do gui.text(228, 8*(i-1), string.format("%3d", rngs[i]/655)) end gui.text(210,0,"RNG1:") gui.text(210,8,"RNG2:") gui.text(210,16,"RNG3:") gui.text(194,24,"Next RNs:") gui.text(0,0,"Player") gui.text(0,8,"Hit: " .. memory.readbyte(phit)) gui.text(0,16,"Damage: " .. memory.readbyte(pdmg)) gui.text(0,24,"Crit: " .. memory.readbyte(pcrt)) gui.text(0,40,"Enemy") gui.text(0,48,"Hit: " .. memory.readbyte(ehit)) gui.text(0,56,"Damage: " .. memory.readbyte(edmg)) gui.text(0,64,"Crit: " .. memory.readbyte(ecrt)) emu.frameadvance() end
This ends up looking like this on screen: Here, Marcus is performing a crit on the bandit. As you can see, it shows the RNs listed in memory, plus the next 17 RNs on the right side of the screen. It also displays the hit/damage/crit. The addresses in FE8 are different for the combat display, but as you know the RNG is the same so doesn't need changing. It should be pretty easy to find the hit, damage, and crit memory locations and adapt this script for those purposes. One final thing to change is the fact the current RNG value is divided by 655.36 in FE7 and 8, the 655 in this program is a rounding error present in FE6, and needs to be fixed here. One thing I want to add to this is the active player unit's wexp values. Not sure how to do that yet.
GoddessMaria
She/Her
Reviewer, Experienced player (868)
Joined: 5/29/2009
Posts: 519
Location: Hell...
Ah~ I will try to put it to use for this run. Also, I have finished the prologue though with a problem.. the miss with Seth's first attack using the Silver Lance... http://dehacked.2y.net/microstorage.php/info/818251375/GoddessMaria_FE8-TASprologue.vbm
Current projects: failing at life
Active player (279)
Joined: 4/30/2009
Posts: 791
If there's a miss, then you can fix it. That's what RNG manipulation is all about :-). EDIT: After watching the prologue, I can see where you went wrong. 1) Move Eirika first, you start on her and she's given an immediate crit if no RNs are shifted. 2) L target between units 3) Test how many RNs Seth needs to shift to do a counter kill on the first attack, and find the best way to manipulate that enemy phase. 4) Always use Select button to enter Options. 5) In options, you don't need to select Text to maximum speed. You will be able to skip all sources of text so you won't need to read any. It's a minor saving. 6) It is still arguable whether autocursor off is necessarily faster
GoddessMaria
She/Her
Reviewer, Experienced player (868)
Joined: 5/29/2009
Posts: 519
Location: Hell...
I have tried pressing select, but nothing happened. I will try other possibilities for Seth, but the current product I have seems to be a little faster than the previous one.
Current projects: failing at life
Former player
Joined: 5/29/2006
Posts: 200
Toothache wrote:
If there's a miss, then you can fix it. That's what RNG manipulation is all about :-). EDIT: After watching the prologue, I can see where you went wrong. 1) Move Eirika first, you start on her and she's given an immediate crit if no RNs are shifted. 2) L target between units 3) Test how many RNs Seth needs to shift to do a counter kill on the first attack, and find the best way to manipulate that enemy phase. 4) Always use Select button to enter Options. 5) In options, you don't need to select Text to maximum speed. You will be able to skip all sources of text so you won't need to read any. It's a minor saving. 6) It is still arguable whether autocursor off is necessarily faster
I can absolutely guarantee autocursor off is faster in any run that even sort of looks like the run I did.
GoddessMaria
She/Her
Reviewer, Experienced player (868)
Joined: 5/29/2009
Posts: 519
Location: Hell...
Yeah, as said, Eirika gets an auto critical on the first bandit when moved first, but the problem with the silver lance comes back again to haunt me.. even with the lua script, it is hard to pinpoint the RN that controls the miss from the first attack. Would I need to go back further to change the RNs or is there something else?
Current projects: failing at life
GoddessMaria
She/Her
Reviewer, Experienced player (868)
Joined: 5/29/2009
Posts: 519
Location: Hell...
Well... I have given it thought and decide to just go with the 2HKO on Prologue boss... Also.. I had first started with experimenting using my actual GBA and got some good results, but half of the time was pretty bad in the WIP attempt. So I have spent a night or two trying to remember what i did to get near great results and that didn't result in Eirika's death. After remembering what it was, I then went and redo it from there. New WIP Here is also an Encode
Current projects: failing at life
Rolanmen1
He/Him
Experienced player (765)
Joined: 2/20/2009
Posts: 569
Location: Dominican Republic
I think you could improve it a bit, in chapter1, before rescuing Eirika, trade all his weapons to her, so he won't counter during EP, then before dropping Eirika, trade all weapons to him.
1 2
8 9 10 11 12 13