1 2
8 9
Post subject: Final Fantasy Legend
Ambassador, Experienced player (710)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
I actually played my old gameboy a bit while travelling over the holidays and finished an all-monsters quest in this game. Anyway, I noticed a trick which can be exploited to avoid encounters and make a decent TAS on this game. Of course, it's possible to run from random encounters, but not possible to manipulate the run to work. First, if you save your game and run into a battle, then power cycle your gameboy and try again, the same thing will happen. However, if you run into the battle, then do a soft reset, the steps-to-battle counter will reset. So here is the sequence to go anywhere without having any encounters: --Walk until the next step will be a battle --Save --Take the step, going into battle --Soft reset (A+B+Select+Start) --Walk on through to the next fight Still to do is to see if this can be used to manipulate luck. It may be faster to run if that's possible, but it isn't always. However, a TAS on this game won't need a whole lot of luck since there are attacks which can kill any boss pretty easily. Anyone with a lot of experience at this game can figure out a plan to nail the bosses using the SAW glitch. Unfortunately this won't work on the first few necessary fights (all first world fights,) but these fights should be easy enough to beat some other way. My first guess at the party was two monsters. One monster will become a beetle to be the SAW man and the other will get an instant death attack to finish off everything else. All battles would be easy, but this would be very difficult to build up. Perhaps a better idea is one mutant and one monster. The mutant hunts down meat to get the monster to beetle and uses POWER to kill the first world bosses.
Joined: 8/13/2005
Posts: 356
Location: Canada
I'm interested in this! I was playing Final Fantasy Legend II recently and trying to figure out what's possible with it. I also tried to see how luck manipulation and realized that it was hard to do - time and input aren't factors, but the commands that are actually executed are (ie. animations that occur). I didn't try anything with soft resetting. I think monsters are the way to go for either game, really. Humans and mutants would take to long to get equivalently powerful, and robots (FFL2 only, I think?) require money or dungeon cruising to be worthwhile. I guess as long as you find a good way to manipulate luck to survive effectively, two monsters should be adequate. If only there were a good way to move faster...
Ambassador, Experienced player (710)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
Well, I'd say humans in FFL1 are out, but a mutant could be useful. As I said before, POWER can beat early bosses easily. Also, if there is some way to get stats up every battle, a mutant could build up very quickly. But in FFL2, stats only go up by 1 when you get the message, which is tough to get. It still might be possible to get a lot of mana quickly, which would turn a mutant into a killing machine with magic spells that don't have to be bought. Also, FFL2 mutants can learn high-level spells from mid-game bosses, which leads to some strange glitches. If the spell selection and mana stat can be controlled well, a mutant could be pretty powerful. Finally, FFL2 robots are powered up by their equipment. Consider also that enemies can drop items in FFL2. If this can be used to get useful or expensive items and all items and money goes toward one robot, it may not be hard to put together a powerful robot. Monsters are much better in FFL1 because you can build them almost all the way to the top in the very first world. There's no way to do this in FFL2, so monsters don't break the game as badly. However, FFL2 monsters are generally more powerful than FFL1, so they are still likely to be easier to use than humans or mutants. I bet it would actually be fairly easy to TAS FFL2 with four monsters, assuming random encounters can be avoided and meat can be manipulated.
Joined: 8/13/2005
Posts: 356
Location: Canada
Actually, for FFL2 I'm thinking three monsters and a mutant would be best, or maybe one robot would work. Monsters can't learn "teleport" until very late in the game, and Mutants can learn it in (I think) the third world. Not only does that save transit time, but it allows that glitch where you end up always riding a dragon. With a superfast dragon, assuming that this doesn't mess up the play too badly, that could be a very cool glitch run. I've never tried the dragon warp glitch myself, so I don't know if game events and encounters still occur. As you said, stats in that game only go up by one and they're very hard to manipulate consistently. I never tried soft resets, but I tried playing for a bit such that I'd manipulate the best stat gains and it wasn't really too profitable. I think that the mutant's sole purpose after the first few worlds would be to teleport, use shields and fire guns. Too bad there aren't any good boss-killers in that one, though. That said, I think this conversation would belong in another topic if either of us wanted to get serious about FFL2. :) I'll think about it.
Joined: 4/4/2004
Posts: 66
I recall accidentally stumbling upon the FFL2 power cycle trick many years ago on a family vacation. I thought I'd found something new, but alas, someone else had already published it :) I believe I was able to use it to get and complete the same battles repeatedly (thus ensuring a power-up after every battle), but I'm not totally sure about that. Give it a try. If it doesn't work (or it's not useful), sorry for wasting your time :) Edit: Now that I think about it, way back then, I may have just noticed that I could get a power-up after every battle as long as I power-cycle and make the same movement. I certainly remember trying to get repeated power-ups after saving to work, but I'm unsure if I succeeded. I wish I remembered if I did.
Joined: 8/13/2005
Posts: 356
Location: Canada
TheAxeMan, now that you've finished your DW2 run, is there a chance that this one is on your agenda?
Ambassador, Experienced player (710)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
There's a chance. :)
Player (25)
Joined: 4/23/2005
Posts: 435
Location: Germany
Can't wait to see more Final Fantasy games on the GameBoy. :-) I only play one from them short, but never like it so much. But I would like to see TAS from all of them. Good Luck, when you try it.
Last TAS finished: Final Fantasy Adventure (4.0 Warp Glitch Run) WIP in the moment: Tail Gator (GB) Matty
Former player
Joined: 1/17/2006
Posts: 775
Location: Deign
I know that in FFL2 (I have it on gameboy) I found this wierd glitch that allowed me to select my trash can in inventory twice like you would a potion and then use it on my people to increase their agility. It would work for a while (I once got one of my mutants up to agility of 73 from his original) before double selecting the trash can gave me that error noise. I don't know what caused it and I only have two guesses: performing a certain sequence of button presses, and dropping the gameboy one too many times. It has happened to me in Venus World, The Nasty Dungeon and inside Ki and maybe some other places, but I don't think that has anything to do with it. As for character selection I have found that monsters are virtually useless for endgame bosses (they were for me anyway). I never managed to kill Apollo with 4 monsters+dad. For endgame bosses I have found that mutants are the best, and you could manipulate them to gain the magic ability Flare in several item slots (that way it is not necessary to have 50000 GP to spend). So I think maybe 2 monsters and 2 mutants would be good, and actually make the mutants good. Is it possible to manipulate the game so the mutants gain 1 stat point and HP every battle? Once they have good stats Blizzard and Flame will kill pretty much anything accept immunes and bosses in one hit. For Odin (iirc) you already have the magi pegasus I think it was called (the sword) and one of the monsters could use that while the mutants use flare. The other monster could either be dead or a healer unless there is some better use for him. I hope these are good ideas, and will save further discussion until I am sure it is needed (about strategy and such, as much as I can help). Especially since FFL2 might get a different topic than this one.
Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign aqfaq Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign
Joined: 8/13/2005
Posts: 356
Location: Canada
TheAxeMan was interested in Final Fantasy Legend, and not the sequel. I already felt kind of bad for derailing his thread and now it just keeps going. :P Digging deeper: That FFL2 trashcan bug is relatively well-known. There's an in-depth guide at GameFAQs about it. Don't worry, you didn't drop your gameboy too many times.
Player (206)
Joined: 5/29/2004
Posts: 5712
Can you split the topic?
put yourself in my rocketpack if that poochie is one outrageous dude
Ambassador, Experienced player (710)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
Ok, back on topic, I have been thinking about this and there are several ways to get the killing power needed to finish this game. However, SAW is the only way to instakill the final boss, so I think someone in the party really must have this. It can either be a monster (beetle) or a human or mutant that equips it. The monster can be acquired at any time, but unfortunately the same glitch which allows this to work on the final boss also prevents this from working on any monster in the first world. SAW can't be bought until world 3, which means Sei-Ryu would have to be defeated normally. STONE and DEATH magic slaughters whole groups of most enemies but doesn't work on Ashura or Creator. Stone can be bought in world 3. I don't think breeding a beetle in world 1 is practical because it would require going from one side of the world to another multiple times. It wouldn't help until Sei-Ryu anyway, so the mutations could be spread out. But if an easier Sei-ryu is the only advantage to breeding a monster instead of waiting until buying a SAW, then it might be best to just forget about monsters and take all mutants. The POWER ability seals the deal if it can be manipulated, since it would make all battles fairly easy. The best party might just be four mutants.
Ambassador, Experienced player (710)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
Ok, I am making a run at this game, just a test for now. POWER is definitely the way to go, I was able to finish the first world in under 10 minutes by manipulating someone in a four-mutant party to get the POWER ability and using it to beat all the bosses. Now that I look a little harder at things, there is a SAW in a treasure chest that I can just pick up and use, but it's after world 3. That's fine, I should be able to beat Sei-ryu with POWER and in world 3 I can pick up STONE (though money might be a problem). That and POWER should be enough to beat the fights I have to, then I'll get SAW to use too. Between STONE and SAW I can beat any enemy in one hit including all the bosses. I discovered that the menu cursor can be moved faster by pressing diagonals. Save/soft-reset/reload is the only good way to manipulate luck. The seed is set on the reset so luck is manipulated by picking which frame to do the A-B-Start-Select soft reset. The steps to next encounter can be set this way, so a well optimized run would always get a very long walk between saves. This is also how I was able to get POWER and beat all bosses without anyone dying (yet!) This is going pretty fast so I'll try to get to the end before I post anything.
Joined: 8/13/2005
Posts: 356
Location: Canada
TheAxeMan wrote:
The seed is set on the reset so luck is manipulated by picking which frame to do the A-B-Start-Select soft reset. The steps to next encounter can be set this way, so a well optimized run would always get a very long walk between saves.
Ooh, I have a feeling that this information will prove very useful! So, how do diagonal controls increase the menu speed? Is that for diagonal selections only? I didn't think many menus in this game scrolled in more than one dimension. It sounds like this could be a pretty entertaining RPG movie. 10 minutes for the first world is really good.
Ambassador, Experienced player (710)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
The diagonals work on 1D menus too. It's faster because I can just alternate between the diagonals instead of adding in empty frames. But it seems to take extra frames to scroll the menu down, oh well. World 2 went very fast because there was only one required fight--Sei-Ryu. Since I don't have to spend money on anything else, I had no problem picking up a book of STONE. I have to say, even with very low stats the success rate is pretty good. This turns my party into killing machines which should have no problem taking out most enemies. This is nice because there are quite a few required fights in world 3. Beat Byakko at about 23 minutes. So far so good, but I'm sure there are several minutes of improvement here. It will be interesting to see how tough it is to finish this.
Ambassador, Experienced player (710)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
Well, I think I'm going to give up, I just don't have the patience to manipulate this game's luck at all. I think it would really take a bot to do well, though it would be neat. Here's what I have so far: http://home.comcast.net/~f_amoroso/ffl-TheAxeManv0.1.vbm I got to the fourth main world, to the power plant scene. The watcher here is pretty resistant but can be stoned. Also, I have tested many frames on the reset and _never_ seen SAW work. One possibility is swapping out a character in a world four guild and picking up a more powerful female mutant with 52 agility. If necessary, a female human could be picked and pumped with potions to whatever agility is needed to hit. Luck manipulation is very difficult in this game. The only time you can change luck every frame is on reset, which makes it slow to test many frames by hand. It sometimes seems to be possible to change the enemy's action by changing yours but usually they'll do the same thing. In general I end up switching the order of the party or their equipment in anticipation of how things will turn out. So to get something low probability to happen is pretty tough for me.
Joined: 8/13/2005
Posts: 356
Location: Canada
What's the source of your mechanical information on SAW? I thought it required a certain minimum strength statistic to work.
Ambassador, Experienced player (710)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
Hmm, I never saw any of the actual algorithms, but my understanding is that the saw is supposed to instakill an enemy if: 1. You hit, based on an agility roll. 2. Your strength is less than their defense. Most people consider this a glitch since the designers probably intended the opposite.
Active player (315)
Joined: 8/25/2006
Posts: 287
Pleasee can someone tell me where to get this rom ive been searching forever :( if ur not aloud to say on this site email me at Silent_Slayers@hotmail.com ty in advance on topic: This game rules. very interested in this run whats the estimated time of the total run?
Ambassador, Experienced player (710)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
Dude, if you read the forum rules you'd see there are no rom links allowed. But back on topic, I can't really say how long this run should be. To do this better I'd really need to analyze the game a lot more and use some more advanced techniques like memory poking or maybe a bot. If you really want to find out more, why don't you try TASing this yourself?
Editor, Skilled player (1203)
Joined: 9/27/2008
Posts: 1085
I'm pretty sure a Mutant would be a good choice to have. Starting as a female Mutant gives us a weapon that we can sell for over 1000G, allowing us to purchase some useful armor instantly, should we find it needed. Abusing the RNG for the right abilities is possible. Soft resets shuffles the RNG somewhat, giving us the control over it that we TASers desperately need. Imagine needing to head back to the tower, and what luck, we happen to learn TELEPOR from that boss we just fought! I'm not actually familiar enough with the game to know a good route from beginning to end (never completed it, haven't used monsters enough). But I did some digging around on how to abuse a Mutant... First off, the list of abilities a Mutant can learn is here in this GameFAQs topic. - ESP - BARRIER - FORSEEN - ELECTRO - STENCH - FLAME - MIRROR (10) - ARMOR - ICE - STEALTH - KINESIS - THUNDER - POWER - HEAL - GAS - xFIRE - oFIRE - BURNING - SL-GAZE - TELEPOR - P-FANGS - HYPNOS - LEECH - P-BLAST - oPAR/WP - MIRROR (3) - GAZE (stone) - GAZE (confuse) - QUAKE - GAZE (death) - oDAMAGE - oCHANGE Second, two useful addresses I scoped out: 0xC30B - Increments after every battle once per mutant in party. Determines what one of 8 "bonuses" the mutant may get. 0xC34B - Increments if a Mutant gets Str, Agl, Mana, or Def. Also changed dramatically if a Mutant learns an ability. Determines what ability may be learned. These are changed on a soft reset, among other things. Third, here's a couple tables I managed to create after meticulously searching through every value for C30B (Memory watch, no real hacking. Just what I observed):
Table C30B
Read C30B as a hex number, find the line that matches the left digit,
start at the leftmost element in that line, then count to the right however
high the right digit is.

0x00| HP __ __ Df XX __ Mn __ Ag __ __ XX __ XX __ __
0x10| __ __ XX Mn Ag __ __ Mn __ __ __ __ Mn XX __ Mn
0x20| __ __ __ __ __ __ Ag __ __ __ XX Mn XX HP XX __
0x30| __ __ __ XX __ __ HP XX Ag __ __ St Ag Mn St St
0x40| HP __ XX __ Ag __ __ __ XX __ __ __ __ Ag __ Mn
0x50| XX __ Df HP XX St YY HP Mn __ HP HP __ YY HP __
0x60| St __ __ __ Mn Mn XX __ __ __ St __ St __ Mn XX
0x70| __ St HP Ag __ HP __ St __ St __ XX XX __ __ __
0x80| __ Ag Ag Ag __ XX __ Ag __ Mn Mn __ HP __ Mn HP
0x90| Ag Mn __ __ Df XX XX __ HP HP Mn HP __ __ HP __
0xA0| XX HP Mn HP HP XX YY HP HP XX __ __ __ __ __ Ag
0xB0| Mn XX Mn __ HP HP __ __ Df XX Ag St __ __ St St
0xC0| __ XX __ XX __ Mn HP XX __ HP HP Mn HP Df XX __
0xD0| __ HP St __ __ St Ag __ __ Mn __ __ HP Ag __ HP
0xE0| St Mn HP Mn __ __ __ Mn Mn Ag Df XX St Mn __ __
0xF0| HP St __ YY Mn __ Mn Df XX Df XX __ __ HP XX XX

HP - Max HP
St - Strength
Df - Defense
Ag - Agility
Mn - Mana
XX - New ability
YY - Mixes up the number of uses on each ability
__ - No observed effect
Table C34B
Similar instructions as for that other table in finding the spot on the table.

Start with the first ability in our list (ESP).
Read C34B for your number, and find your spot in this table.

If you picked a YY, then whatever ability you're pointing at, that's our new ability.

If you picked __, then point at the next ability in the list, and look at the
next entry in this table, and check again.

If you run out of abilities (at oCHANGE and looking at __), then start
again at ESP and keep going.

After we get our ability, the RNG is pointing to a spot after the YY we found.

0x00| __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
0x10| __ __ __ __ __ YY YY __ __ __ __ __ __ __ __ __
0x20| YY __ __ __ __ __ __ __ __ YY __ __ __ __ __ __
0x30| __ YY __ __ __ __ __ __ __ YY __ __ __ __ __ __
0x40| __ YY __ YY __ __ __ YY __ __ __ __ __ __ __ __
0x50| __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
0x60| __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
0x70| __ __ __ __ __ __ __ __ YY __ YY __ __ __ YY YY
0x80| __ __ __ __ YY __ __ __ __ __ __ __ __ YY __ __
0x90| __ __ YY __ __ __ __ __ __ __ __ __ __ YY __ __
0xA0| __ __ __ __ __ __ __ __ __ __ YY __ YY __ __ __
0xB0| __ __ __ YY __ __ __ YY __ __ __ __ __ __ __ __
0xC0| __ __ YY __ __ __ __ __ YY __ __ __ __ __ __ __
0xD0| __ __ __ __ YY __ __ __ __ __ __ __ __ __ __ __
0xE0| __ __ __ __ __ __ YY __ __ __ __ __ __ __ __ YY
0xF0| __ __ __ __ __ __ __ __ __ __ __ YY __ __ __ __

YY - This "roll" will pick our new ability.
__ - Nope. Read the next one to see if the next ability is picked
EDIT: Filled in the blank spots in my second table EDIT2: Replaced a blank spot in table C30B (0x56). Found it to affect use-counts. EDIT3: Replaced a blank spot in table C30B (0xF0). Found it to boost max HP.
Player (80)
Joined: 8/5/2007
Posts: 865
Hey FatRatKnight, great to see a new post on this topic! I was recently thinking about bumping it, but decided I didn't have enough to add. In any case, I think this game definitely needs to be TASed! I noticed that GameFAQs topic as well, and I encourage any prospective runners of this game to study it closely. I sheepishly thought about giving a TAS of this game a shot, but found it too impenetrable. I couldn't find the RNG in the RAM and I couldn't even find some of the most basic stats like GP. Perhaps it's because I'm somewhat of a novice and don't really know where or how to look. I totally agree that mutants are probably the way to go. The only other possibility in my mind is a team with three mutants and one human. The mutants carry the burden for the first 3/4ths of the game, then the human is pumped up to pick up the last bit. My biggest discovery is that with a party of four mutants, the order matters as far as stat boosting. For example, if the third mutant gets a bonus of +5 HP after a battle, then reloading a saved state and switching the first and third mutants will give the first (now third) mutant the same +5 HP boost. The implication is that one mutant can be pumped way up while avoiding the possibility that they forget a valuable ability. Your post seems to indicate that this wouldn't work in, say, a party of one mutant and three humans, but I'd like to check it out just to be sure. Also, from what I remember and what I've read, monsters (as party members) are all but useless. Your tables will be invaluable to producing a run of this game. My only concern is that resetting could completely interfere with the rhythm of this game. I imagine it would get pretty boring watching the same battles over and over. That's a stylistic choice that will have to be addressed once a run is being put together. I don't know enough about this game and I don't have the technical prowess to do a well-polished TAS, but I'd be happy to co-author something if anyone is interested. It could be a valuable learning experience for me. I have beaten this game, although it was just once and it was about seven years ago, so I would need to re-familiarize myself with it. My biggest reservation (aside from an overall contempt for RPG TASes) is that this game is notoriously poorly programmed, which means there are likely to be scores of glitches that are hard to find. My fear is that I could complete a 90-minute run of this game, only to discover some game breaking glitch, a la Pokemon, reducing the runtime to five minutes. Anyway, you seem to have more technical know-how than I do, so if you're interested in planning a run, I'd be happy to sign on to do what I can.
Editor, Skilled player (1203)
Joined: 9/27/2008
Posts: 1085
Here's my thoughts: - A human isn't fit for a lot of things. Primarily due to the fact one needs money, and we'll likely be short on it. - A mutant will get things like POWER and TELEPOR right away. Limited chances for stat boosts because we'll be avoiding many battles. - A monster can gain in power very fast with a few select meats. Also, get one with SAW and insta-kill later bosses with ease, from what I heard. - I feel an optimal party would consist of a Mutant and one or two monsters. Yes, we'll have 1 or 2 empty slots. It's still a good idea to try to do a test run to get a better idea. Maybe we'll fight more things than I thought we should. - Hard reset: Turning off the game and powering it back on. This type of reset puts the RNG back to a non-random initial state. - Soft reset: Pressing A, B, start, and select simultaneously. This type of reset changes the RNG to "random" values. At least, the RNG doesn't keep going back to the same values over and over. - I would love to see any sort of test run to get a better idea on what should be done. Even one that is mostly unassisted. A human, mutant, and two monsters may be a good start to get an idea of who's good or bad. - Save & soft reset is the way to go to avoid unnecessary encounters. As a plus, it shuffles up the RNG for us. - Do we really need all four slots filled with party members? Having 4 characters means menu time through all of them, while having only 1 or 2 means we only need to pick through fewer actions. - I'm pretty sure the presence of humans and monsters don't affect a mutant growth. Wouldn't hurt to double-check, however. I did create a lua script. If you got a version of VBA that works with lua scripts, try this one out. It predicts what sort of growth to expect for a mutant. This should get a lot of the guesswork out.
local range= 16

local H,S,D,A,M,X,Y= "hp","st","df","ag","mn","AB","!!"
local _ = "__"

local Growth={[0]=H,
    _,_,D,X,_,M,_,A,_,_,X,_,X,_,_,
  _,_,X,M,A,_,_,M,_,_,_,_,M,X,_,M,
  _,_,_,_,_,_,A,_,_,_,X,M,X,H,X,_,
  _,_,_,X,_,_,H,X,A,_,_,S,A,M,S,S,
  H,_,X,_,A,_,_,_,X,_,_,_,_,A,_,M,
  X,_,D,H,X,S,Y,H,M,_,H,H,_,Y,H,_,
  S,_,_,_,M,M,X,_,_,_,S,_,S,_,M,X,
  _,S,H,A,_,H,_,S,_,S,_,X,X,_,_,_,
  _,A,A,A,_,X,_,A,_,M,M,_,H,_,M,H,
  A,M,_,_,D,X,X,_,H,H,M,H,_,_,H,_,
  X,H,M,H,H,X,Y,H,H,X,_,_,_,_,_,A,
  M,X,M,_,H,H,_,_,D,X,A,S,_,_,S,S,
  _,X,_,X,_,M,H,X,_,H,H,M,H,D,X,_,
  _,H,S,_,_,S,A,_,_,M,_,_,H,A,_,H,
  S,M,H,M,_,_,_,M,M,A,D,X,S,M,_,_,
  H,S,_,Y,M,_,M,D,X,D,X,_,_,H,X,X
}

local SelectAbility= {
  [0x15]=true,[0x16]=true,[0x20]=true,[0x29]=true,[0x31]=true,
  [0x39]=true,[0x41]=true,[0x43]=true,[0x47]=true,[0x78]=true,
  [0x7A]=true,[0x7E]=true,[0x7F]=true,[0x84]=true,[0x8D]=true,
  [0x92]=true,[0x9D]=true,[0xAA]=true,[0xAC]=true,[0xB3]=true,
  [0xB7]=true,[0xC2]=true,[0xC8]=true,[0xD4]=true,[0xE6]=true,
  [0xEF]=true,[0xFB]=true
}

local AbilityList={
  "ESP",    "BARRIER","FORSEEN","ELECTRO",
  "STENCH", "FLAME",  "MIRROR 10","ARMOR",
  "ICE",    "STEALTH","KINESIS","THUNDER",
  "POWER",  "HEAL",   "GAS",    "xFIRE",
  "oFIRE",  "BURNING","SL-GAZE","TELEPOR",
  "P-FANGS","HYPNOS", "LEECH",  "P-BLAST",
  "oPAR/WP","MIRROR  3","GAZE(s)","GAZE(c)",
  "QUAKE",  "GAZE(d)","oDAMAGE","oCHANGE",
}

local MutantTable={}

--*****************************************************************************
local function FindAbility(rng)
--*****************************************************************************    
-- The lazy way. It's slow, but easy on me, the coder.
-- I'll try something else later...
    local Sel= 1
    while not SelectAbility[rng] do
        Sel= (Sel%32)+1
        rng= (rng+1)%256
    end

    return AbilityList[Sel], (rng+1)%256
end

--*****************************************************************************
local function RefreshMutantGrowth()
--*****************************************************************************
    local x= memory.readbyte(0xC30B)
    if x == MutantTable.RNG then return end

    MutantTable.RNG= x
    local y= memory.readbyte(0xC34B)
    for i= 1, range do
        local ab
        local stat= Growth[x]
        MutantTable[i]= stat
        x= (x+1)%256
        if stat == "AB" then
            ab, y= FindAbility(y)
            MutantTable[i]= MutantTable[i] .. " " .. ab
        elseif stat=="st" or stat=="df" or stat=="ag" or stat=="mn" then
            y= (y+1)%256
        end
    end
end


local function Disp()
    for i= 1, range do
        gui.text(1, 9*i - 8 ,MutantTable[i])
    end
end
gui.register(Disp)

while true do
    RefreshMutantGrowth()
    emu.frameadvance()
end
EDIT: Updated script to account for the value of 0x56 actually messing with use counts instead of doing nothing. EDIT2: Another update; This time the value 0xF0 had to be changed to indicate an HP boost.
Player (80)
Joined: 8/5/2007
Posts: 865
Nice Lua script! I have verified that the RNG is only rolled once per mutant (not per party member). This means if we want to grow as quickly as possible without resetting, we should have a party of four mutants, allowing us to boost one mutant's stats in almost every battle. I noticed that in your first table, there are only a few places where four consecutive slots are empty, so we would just need to reorganize the party between battles. I also like the idea of just one party member, but I'm not sure it would work well. This game is apparently pretty difficult to do a solo run of, so it may necessitate too much grinding. Also, we would be completely at the whim of the RNG, unless we were to use soft resets all the time. It's worth looking into, though. One viable strategy would be to have a party of three mutants with the last slot open, allowing us to draft a monster late in the game, just before a major boss battle. We then have that monster eat the meat of the boss, giving us an instant contributor. That would be the only way to get a party member that doesn't need leveling. The other strategy that crossed my mind was using four mutants, but killing some of them off. I don't think that would be such a good strategy because of the hearts system. We would have to revive any downed party members twice before the slot opens up again for a new member. That would be expensive and time-consuming. So basically, I have nothing conclusive to contribute at this point: parties with one, two, three, or four mutants could all be viable options. We could also include a human or a monster in there if they would contribute substantially and we can get enough money to pump a human up. I have a few questions on my mind: •Do you know if we can manipulate the RNG on a soft reset? Is its new value based on an internal timer, or is it a deterministic pseudo-random number generator we have no control over? (Actually, I just checked it out. It's non-deterministic, probably dependent on a timer or something. This is important because it means we can manipulate mutant growth almost however we wish, provided we fill the game with soft resets.) •Can you find the number of steps to the next battle? I briefly searched for a counter that decreases with every step, but it came up dry. •Can you update the Lua script to include the amount of growth in each variable? No big deal if you can't, since we can always manually test the growth amount, then reload a state. •How much, if anything, do you know about how battles work? It will be crucial that we can at least manipulate who gets hit and who doesn't. It would also be nice to manipulate other variables like how hard each attack is and the likelihood of attacks connecting. This website is devoted to deconstructing the battle system: http://towerreversed.org/ Maybe we should contact them to see what they know. I would be happy to do a quick playthrough of this game so that we both get an idea of how to proceed. I was going to make a quick movie to test for desyncing, but both of my attempts failed. When I try to replay my own movie, it just sits at the title screen doing nothing. Any idea what I'm doing wrong? If you would upload a brief movie of your own, I could test that for desyncing-- it'd at least be a start.
Editor, Skilled player (1203)
Joined: 9/27/2008
Posts: 1085
Bobo the King wrote:
[...] we should have a party of four mutants, allowing us to boost one mutant's stats in almost every battle. [...]
So you're saying we should have several mutants to run through the RNG states faster, so we can grab the abilities and stats we like faster on a particular mutant. That's actually an idea. I've played around with resetting a bunch of times, and I note that 0xC34B is always 9 higher than 0xC30B, which limits our control over what abilities we want. The fastest POWER I found is when 0xC30B = 95 (hex), where it's next in queue. The fastest TELEPOR is when 0xC30B = EB on reset. in spot 14. With 1 Mutant, we'll need to fight 14 consecutive battles, but with 3, it's 5 battles, and 4 mutants lets us fight only 4 battles. The fastest P-BLAST is when 0xC30B = F2 on reset, in spot 7. Multiple mutants are looking rather attractive now...
Bobo the King wrote:
[...] Also, we would be completely at the whim of the RNG, [...]
That's somewhat true, apparently. It looks like, at a glance, that even with all the RNG-based addresses, we only have 256 possibilities on each reset.
Bobo the King wrote:
•Can you find the number of steps to the next battle? I briefly searched for a counter that decreases with every step, but it came up dry.
0xC33B is the relevant address. Note it increases with each step. I'm aware that hex values 2D 7C 96 A1 FF guarantee a battle in all places with random encounters, but I didn't check places with a higher encounter rate. Seems to follow similar RNG rules that everything else uses.
Bobo the King wrote:
•Can you update the Lua script to include the amount of growth in each variable? No big deal if you can't, since we can always manually test the growth amount, then reload a state.
Unfortunately, my knowledge of the RNG system is limited. I don't know how to disassemble ROMs to know what the code is doing. I've filled in the tables I did by manually checking every state. It's possible, by checking stuff manually and recording as we go. Then build a table in lua to hold the collected information. But that's sort of a clunky way to do it, yet that's what I did previously anyway. I do have a few addresses to look at, however: 0xC30B - Previously mentioned. Affects what base thing a mutant gets. 0xC34B - Previously mentioned. Affects what ability and 4 of the stats. 0xC309 - Affects how much HP we get. I didn't check this carefully. 0xC36F - Affects which one of four slots the ability goes into.
Bobo the King wrote:
•How much, if anything, do you know about how battles work? [...]
Practically zero, outside of what I read from the GameFAQs message board.
Bobo the King wrote:
http://towerreversed.org/ Maybe we should contact them to see what they know.
That may help us to get their thoughts. Do you want to try?
Bobo the King wrote:
I would be happy to do a quick playthrough of this game so that we both get an idea of how to proceed. I was going to make a quick movie to test for desyncing, but both of my attempts failed. When I try to replay my own movie, it just sits at the title screen doing nothing. Any idea what I'm doing wrong? If you would upload a brief movie of your own, I could test that for desyncing-- it'd at least be a start.
http://dehacked.2y.net/microstorage.php/info/870235960/FFL.vbm It should select a mutant and name her TAS, and then stop right after the naming. I haven't played around with the emulator much, yet, so I can't say what's going on. As for names, should we have interesting 4-letter names or short 0-letter or 1-letter names? Apparently, it adds to the text seen in battles, slowing us down...
1 2
8 9