Final Fantasy Hacktics

Modding => Non-FFT Modding => FFTA/FFTA2 Hacking => Topic started by: Leonarth on February 02, 2019, 08:39:04 am

Title: Leonarth's FFTA Randomizer
Post by: Leonarth on February 02, 2019, 08:39:04 am
I was thinking about good ways to get people to try the new stuff, specifically to try abilities on races they don't belong to, to see if we can find any missing animations, then I had the idea to make a randomizer to make the whole process fun:
(https://i.imgur.com/j33gA0s.png)

It doesn't have a lot of options yet but I hope you guys will enjoy it!

Things I'm looking to implement in the future are some randomization options for monsters (monsters bring a lot of trouble with the randomizer for several reasons) and random jobs for enemies.
Enemies, or at least select enemy units, would probably have to keep their looks (so you would fight an archer that looks like a soldier or whatever) because of special animations for cutscenes, there's also the whole deal of equipment and learnt abilities so, yeah, not an easy thing by any means, don't expect it soon.
I know random enemies is probably going to be the most requested feature but please understand that it's a very complex thing to make.

Get it here:
https://drive.google.com/file/d/1fBRsmWvBbWk1_3FKkdXNOXQSsJHRyYPc/view?usp=sharing

The download includes a base patch (you HAVE to use the patch OR have a ROM that has the updated job and race customization hack).
There's also a readme, and the randomizer itself has a lot of tooltips so I hope people won't be confused.

Please leave any suggestions/comments you have on this thread.
Title: Re: Leonarth's FFTA Randomizer
Post by: Diedrik on February 03, 2019, 06:46:26 pm
I am not quite sure what the differences are between shuffling and randomizing abilities. Is it that randomized abilities cannot land in their original job?

Also when I tried it with the full JP skill purchase set installed it said that the rom was too big.

Could we get it to append the seed to the end of the file name if the return seed option is checked?
Title: Re: Leonarth's FFTA Randomizer
Post by: Leonarth on February 04, 2019, 06:17:52 am
QuoteI am not quite sure what the differences are between shuffling and randomizing abilities.

When you shuffle abilities the number of each specific ability remains the same, there will be 2 "Steal: Ability", no less, no more, since this ability exists exactly twice (one for hume thief, one for moogle thief).
When you randomize abilities that's not the case, you could potentially end up with all jobs being able to learn "Steal: Ability".

QuoteIs it that randomized abilities cannot land in their original job?

There are no checks for abilities landing back into their original spot, or even the same ability being present on the same job multiple times.

Quoteit said that the rom was too big.

Maybe you set the freespace definition too far into freespace, which changed the size of the ROM, there's enough freespace to fit all of the hacks I made without increasing the size of the ROM.
Either way the randomizer will be able to handle 32MB ROMs on the next update.

QuoteCould we get it to append the seed to the end of the file name if the return seed option is checked?

I like that idea.

Edit: Updated the randomizer with support for bigger files and Diedrik's seed on file name idea. I also updated the base patch because I forgot to remove the restriction of blue mage's not being able to purchase abilities, which really screws them with randomized abilities.
Title: Re: Leonarth's FFTA Randomizer
Post by: ExL on February 05, 2019, 08:45:00 am
Started playing FFTA JARC Randomizer_SbRVzuTTpJRl and having a blast with it :cool:
Marche(or I called him Lurch) is Red Mage, Montblanc - Dragoon(changed job to White Monk though). Just a few missions under my belt, but no issues so far. And throwing Firebombs with my viera White Mage is fun! I've got lucky with random seed, so far everything to my enjoyment :D

If I may - can I request one feature for your main project with FFT ability buying system? Can you make optional mod with move after attacking being separate movement ability rather than usual behaviour or rephrased end of turn after any action instead of being able to move if you didn't before action? I think it would be worthy addition to Move abilities and add up to gameplay  when you can move and attack, but not attack and then move unless you have an ability. Though I'm not pushing, you have already tons of stuff planned :roll:
Title: Re: Leonarth's FFTA Randomizer
Post by: Leonarth on February 05, 2019, 11:32:23 am
There are some bugs on the current build of the base patch which I'm currently working on so you'll probably have to update soon, but since you have your seed you should be able to rerandomize the ROM from the new base after the update, if you find any issues.

QuoteCan you make optional mod with move after attacking being separate movement ability rather than usual behaviour

Actually sounds pretty easy to make, although it will depend on how the game handles setting the bit for different types of action.
It could be named Cunning, as a reference to DnD 5e's Cunning Action.
Title: Re: Leonarth's FFTA Randomizer
Post by: Diedrik on February 06, 2019, 11:35:02 am
Works great. The previous one made a rom that had some trouble running on one of my mobile emulators, but this one does not have that issue.

Unrelated bug I found due to the randomizer, opening a guest's skill learning menu causes the game to softlock.

I think you should put your explanation of shuffle versus randomize in the readme, the one you put here for me is more clear I think.

Thanks for adding the filename thing, I know that will be much more convenient for me.

The randomizer almost makes me wish there was a way to just have every recruit have a randomized set of skills just to themselves. The variety of the characters out of the gate is amazing.

Is the stat growth and unarmed damage also randomized?

Edit: I have an animist who's reaction ability is counter magic, and the beret says it will let him use it before he learns it, but it does not let him do that.
Title: Re: Leonarth's FFTA Randomizer
Post by: Leonarth on February 06, 2019, 02:15:39 pm
Quoteopening a guest's skill learning menu causes the game to softlock

I think this might be related to a bug I already fixed and will no longer exist in the next update but I'll doublecheck.

QuoteI think you should put your explanation of shuffle versus randomize in the readme, the one you put here for me is more clear I think.

Noted.

QuoteThe randomizer almost makes me wish there was a way to just have every recruit have a randomized set of skills just to themselves.

Sadly there's just no way to do that with how the game works, although I could add an option to eliminate job changing or limit it in some way for each unit, which would have a similar effect, with a catch 'em all feel to it.
Personally I think no job changing would be the one to make the most sense and the easiest one to implement, maybe units would still be able to get abilities from other jobs for a secondary action command, but never change into them?
Would you guys like to see challange run options like that added in? Or maybe released as external engine hacks?

QuoteIs the stat growth and unarmed damage also randomized?

It's not, random grwoths are an option I would like to add in the future but I think melee damage isn't really important enough to justify adding an option for it.

Thanks for the feedback!
Title: Re: Leonarth's FFTA Randomizer
Post by: Diedrik on February 06, 2019, 02:46:09 pm
Quote from: Leonarth on February 06, 2019, 02:15:39 pm
I think this might be related to a bug I already fixed and will no longer exist in the next update but I'll doublecheck.

I just double checked, and it arises with a non-randomized JP Skill Purchase rom as well.

Quote from: Leonarth on February 06, 2019, 02:15:39 pm
Would you guys like to see challenge run options like that added in? Or maybe released as external engine hacks?

I would definitely like to see challenge run options like that added. I really like the catch 'em all vibe. Could make for an interesting external engine hack, but if I were to pick one it would definitely be an option in the randomizer.

Would it be possible to randomize the character's race after they have been added to the party so that their job and what other jobs they can use as a secondary are separate? I think that would really enhance the catch-em all vibe, even if abilities are not randomized.

The other thing I like about that is that characters would have a pseudo-unique appearance.

Quote from: Leonarth on February 06, 2019, 02:15:39 pm
random growths are an option I would like to add in the future but I think melee damage isn't really important enough to justify adding an option for it.

I am a huge fan of unarmed being feasible in games, but unfortunately you could not really figure out who is good at it without just making everybody punch stuff. Also, does the unarmed damage grow when leveling with a high unarmed class? I feel like it should. I know I would like it if it was part of the stat randomization, but I agree that most other people would probably not notice or care.

There would be no non-tedious way to tell if a class has recieved more physical or magical skills, and have their stats favor that is there?
Title: Re: Leonarth's FFTA Randomizer
Post by: Leonarth on February 06, 2019, 04:04:20 pm
QuoteWould it be possible to randomize the character's race after they have been added to the party so that their job and what other jobs they can use as a secondary are separate?

No, the abilities a unit has depends on their race, even if the job stayed the same if you changed the race the job would be altered, possibly resulting in garbage that makes no sense if the new race has less abilities than the old one, and resulting in abilities shared with other jobs of the new race in the best of cases, but no unique ones.

QuoteThe other thing I like about that is that characters would have a pseudo-unique appearance.

I was actually thinking about something like this the other day, but I'm unsure about how this idea could be implemented: esentially my idea is to have generics be able to change jobs without changing aspect, so you could have your soldier look like a viera archer or an enemy judge or whatever else you wanted, kinda like skins in online games. Just an idea though.

Quotedoes the unarmed damage grow when leveling with a high unarmed class?

No, there is no growth, unarmed damage is terrible and there is no way to fix this without engine hacks. For now there is really no reason for this option to exist as it would always either be broken for early game or just as bad as vanilla.

QuoteThere would be no non-tedious way to tell if a class has recieved more physical or magical skills, and have their stats favor that is there?

Currently I don't even know how the game determines what is magic and what isn't, so not really?. Once I figure that out I will be able to determine how possible it would be. There's also the issues of abilities that do no damage, mages often have status abilities, but so do other jobs, I don't know how I would account for that.
Title: Re: Leonarth's FFTA Randomizer
Post by: Sundaybrawl on February 06, 2019, 10:10:23 pm
I'm loving this randomizer so much. It's been my dream to have one for this game since I got into randomizers, and all of these ideas look really promising.

I had an idea since the animations seem to work properly with everyone (as far as I've seen at least), since you can now purchase abilities rather than being forced to learn through weapons, would it be possible to randomize which class can equip which type of weapon? Be interesting to see the combos on that.

The unique appearances would be a cool idea. Perhaps at some we could even see custom sprites?
Title: Re: Leonarth's FFTA Randomizer
Post by: chocolatemoose on February 06, 2019, 10:44:30 pm
@Leonarth: I know you're focused on FFTA, but do you foresee eventually getting around to FFTA2? The bazaar could really use a randomizer.
Title: Re: Leonarth's FFTA Randomizer
Post by: Leonarth on February 07, 2019, 06:31:11 am
QuoteI'm loving this randomizer so much.

Thanks!

Quotewould it be possible to randomize which class can equip which type of weapon?

That is planned, but I first need to make the encounter randomizer since otherwise enemies will end up with weapons they shouldn't have.
As I explained earlier, this might take some time to happen.
Keep in mind that the JP purchase system isn't mandatory for the randomizer, you could build a base patch that only includes the new animations and all the current features would work perfectly.

QuotePerhaps at some we could even see custom sprites?

Custom sprites are already possible, check the animation template here: http://ffhacktics.com/smf/index.php?topic=12169.0
Any battle animation done with that will have all the animations needed, as long as the person making it makes all the poses needed.

QuoteI know you're focused on FFTA, but do you foresee eventually getting around to FFTA2?

No, not really, sorry.

Edit:
I updated the base patch, the executable itself is the same. If you have your seed you should be able to get an updated version of your run by following these steps:
Patch a vanilla ROM with the new patch.
Randomize it with your old seed and the same options.
That's it, replace your old ROM with this one.
Make a backup if you are worried about it not workin/messing up!
Title: Re: Leonarth's FFTA Randomizer
Post by: Diedrik on February 07, 2019, 11:26:11 am
How is this idea for the collectable generics, disable job changing, and only allow them to use two classes, their starting class, and 1 randomly selected other class from their race.
That would render them pretty unique I think. You might run into a handful of viera white mages, but their secondary class options are all likely to be different.

I have not yet familiarized myself with your class unlock and lock out system though, so I am not sure how easy this would be to determine during run time.

When you add the encounter randomizer, I would like a no equipment type limit option, I am currently playing with a patch that divorces equipment from class, so it would be pretty cool to see illusionists spawn with great bows, etcetera.

Sad that you do not expect to ever get into FFTA2, your improvements to FFTA have uplifted the series immensely for me.
Title: Re: Leonarth's FFTA Randomizer
Post by: Leonarth on February 07, 2019, 11:37:01 am
Quoteonly allow them to use two classes, their starting class, and 1 randomly selected other class from their race.

This is something I want to do but I think the second part would be an external engine hack.
I have to look more into how the recruited units are handled anyway, I don't know much about those.

QuoteI would like a no equipment type limit option

Sure, that shouldn't be a problem.

QuoteSad that you do not expect to ever get into FFTA2

Sorry, I'm a GBA guy.
Title: Re: Leonarth's FFTA Randomizer
Post by: Diedrik on February 07, 2019, 11:46:21 am
If we can make recruited units start with abilities (Which they probably should have in vanilla since they start in advanced classes), what you could do is just remove the job unlock requirements so no jobs can be unlocked, and give them 1 random ability.
Thereby giving them access to learn from the job it comes from.

This would also automatically create tiered values for the characters, a bottom tier character would be one that start with an ability that is in their starting job, thus not having a second job to pull from, a mid tier character would have their starting job, and access to one more, and higher tier characters would start with an ability that is in multiple jobs thus giving them access to 3 or more jobs.

In that case any interest in messing with Tactics Ogre: Knight of Lodis for GBA at some point?
Title: Re: Leonarth's FFTA Randomizer
Post by: Leonarth on February 07, 2019, 12:03:02 pm
Quotewhat you could do is just remove the job unlock requirements so no jobs can be unlocked, and give them 1 random ability.
Thereby giving them access to learn from the job it comes from.

That's a pretty good idea!

QuoteIn that case any interest in messing with Tactics Ogre: Knight of Lodis for GBA at some point?

I just started playing it for the first time the other day, not liking it too much so far, game feels really clunky and dated, and that music isn't great either, so I don't know.
Title: Re: Leonarth's FFTA Randomizer
Post by: Sundaybrawl on February 08, 2019, 01:52:18 am
I've come across an issue, not sure if it's the base patch or something else but when I fight in the first mission, when a monster goes to attack my unit, it stops and just stands there, putting the game into a soft-lock. Not sure what's causing it, maybe an animation issue? I've tested it on 3 different randoms and even tried applying the patch to a clean file again. Wasn't happening in the previous version.
Title: Re: Leonarth's FFTA Randomizer
Post by: Leonarth on February 08, 2019, 04:16:05 am
Sorry about that, I forgot to make one change, I updated the base again, it should be fixed now.
Title: Re: Leonarth's FFTA Randomizer
Post by: Diedrik on February 09, 2019, 03:58:52 am
Testing the version before the one that required that hotfix, I have found that a moogle animist on height 7 attacking a target on height 9 with a silver sword has the no animation ergo disappearing problem.

I will update now, and retry in case you already fixed that issue.

Edit: After updating it did not do the disappearing thing, it used the new default animation case of standing. So good error catch, funny that it specifically says it will not do that in this instance on the change log. But yeah, apparently attacking with a height difference is an unplanned case.

Additionally, the game no longer softlocks when pulling up the learning menu on guest characters, the learning menu is empty, but can be backed out of.

Edit again: I have a black mage with ignore height who fails to spawn any blue movement tiles when he attempts to move, rendering him immobile.
Title: Re: Leonarth's FFTA Randomizer
Post by: Facky on February 09, 2019, 07:36:24 pm
Any way to make this compatible with 32 bit systems?
Title: Re: Leonarth's FFTA Randomizer
Post by: Leonarth on February 10, 2019, 08:46:06 am
QuoteAny way to make this compatible with 32 bit systems?


I'm new to this, it took me a while but I think I got it?
Try redownloading and running it, same link.
Title: Re: Leonarth's FFTA Randomizer
Post by: Leonarth on February 11, 2019, 11:33:04 am
Quoteapparently attacking with a height difference is an unplanned case.

I think this might be fixed now? I think this was a case of me misscounting, the math is pretty weird on this and I'm not good with numbers so it might take a while to get it right. If you see some weapon using the wrong animation, either one for a different type of weapon or one that doesn't look right for the height then that's my fault probably.
Essentially, there are 6 animations for every weapon, two for attacking two heights or more above you, two for neutral height and two for lower, one being the front and one the back for each.
I think I misscounted and I left the sword's higher animation out of the new ones, I made them, they just aren't used right now, because it's the first weapon animation.
Anyway, point is this should be fixed in the new update.

QuoteI have a black mage with ignore height who fails to spawn any blue movement tiles when he attempts to move, rendering him immobile.

It's not the first time I get this complaint, I have been trying for days and I just can't replicate it, it works perfectly fine for me. Can you give me more details?
Title: Re: Leonarth's FFTA Randomizer
Post by: Diedrik on February 11, 2019, 01:01:01 pm
The stat change from Ignore Height on my 3 human characters:
Black Mage  2 to 0
Soldier        2 to 8
White Mage 2 to 6

Second battle he was in, my black mage could now move, the Soldier could not. I tried restarting the same battle, but with placed the units in a different order, and in different places, same result. The more I have tested the less theories I have.
Title: Re: Leonarth's FFTA Randomizer
Post by: Leonarth on February 11, 2019, 01:45:36 pm
Ignore Height should NOT change the jump stat so there's something going wrong there.
Title: Re: Leonarth's FFTA Randomizer
Post by: Diedrik on February 11, 2019, 02:17:43 pm
Yeah, every person I have tested it on in the randomizer has had it affect their jump stat for some reason, hopefully that hint helps you figure it out, I will try to get a bangaa to test it in a non-randomized game.

Edit: Still no Bangaa Gladiator yet, but I just saw a human soldier learn SwarmStrike in non-rando, which is unexpected, I thought that was a Viera only ability in vanilla.
Title: Re: Leonarth's FFTA Randomizer
Post by: Leonarth on February 11, 2019, 03:00:43 pm
I updated the base patch, I think I fixed Ignore Height? It's hard to tell since I can't replicate the can't move effect.

Quotebut I just saw a human soldier learn SwarmStrike in non-rando

Yeah, there's clearly something going wrong there.
Title: Re: Leonarth's FFTA Randomizer
Post by: Facky on February 21, 2019, 03:28:45 am
It worked well. Thank you!
Title: Re: Leonarth's FFTA Randomizer
Post by: Sophialee on May 01, 2019, 07:08:40 pm
(Moggle Jobs)
0x24 Animist
0x25 Mog Knight
0x26 Gunner
0x27 Thief
0x28 Juggler
0x29 Gadgeteer
0x2A Black Mage
0x2B Time Mage

(Viera Jobs)
0x1C Fencer   
0x1D Elementalist
0x1E Red Mage
0x1F White Mage
0x20 Summoner
0x21 Archer
0x22 Assassin
0x23 Sniper

(Nu Mou Jobs)
0x14 White Mage
0x15 Black Mage
0x16 Time Mage
0x17 Illusionist
0x18 Alchemist
0x19 Beastmaster   
0x1A Morpher
0x1B Sage

(Bangaa Jobs)
0x0D Warrior
0x0E Dragoon
0x0F Defender
0x10 Gladiator
0x11 White Monk
0x12 Bishop   
0x13 Templar

(Human Jobs)
0x02 Soldier
0x03 Paladin   
0x04 Fighter
0x05 Thief     
0x06 Ninja   
0x07 White Mage   
0x08 Black Mage
0x09 Illusionist   
0x0A Blue Mage
0x0B Archer   
0x0C Hunter   




Didnt realize that the code was Hexadecimal here is the update given by Leonarth. It still remains that if you get your character into a certain race you can stay in that race (for now).
Title: Re: Leonarth's FFTA Randomizer
Post by: Leonarth on May 02, 2019, 12:43:45 am
Hello!
I didn't know people would want a list, however that list is innacurate, all jobs are available in the randomizer, you just skipped a bunch of numbers. The numbers are in hexadecimal (digits go from 0 to F, not 0 to 9, that's what the 0x means), and the values are the internal IDs of the jobs, for example you skipped 0x0A which is Blue Mage.
Please edit your post as to not confuse people.

Here is the actual list:


0x02 Soldier
0x03 Paladin   
0x04 Fighter
0x05 Thief      
0x06 Ninja   
0x07 White Mage   
0x08 Black Mage
0x09 Illusionist   
0x0A Blue Mage
0x0B Archer   
0x0C Hunter   



0x0D Warrior
0x0E Dragoon
0x0F Defender
0x10 Gladiator
0x11 White Monk
0x12 Bishop   
0x13 Templar



0x14 White Mage
0x15 Black Mage
0x16 Time Mage
0x17 Illusionist
0x18 Alchemist
0x19 Beastmaster   
0x1A Morpher
0x1B Sage   



0x1C Fencer   
0x1D Elementalist
0x1E Red Mage
0x1F White Mage
0x20 Summoner
0x21 Archer
0x22 Assassin
0x23 Sniper



0x24 Animist
0x25 Mog Knight
0x26 Gunner
0x27 Thief
0x28 Juggler
0x29 Gadgeteer
0x2A Black Mage
0x2B Time Mage

Title: Re: Leonarth's FFTA Randomizer
Post by: Thym on May 20, 2019, 09:46:17 am
Hi, I've really enjoyed playing this recently. I'm not sure if you're aware but there seems to be a bug with the Blue Mage. He's able to purchase the usually non-obtainable ability Knife and Limit Glove (they aren't usable in battle and the option to even select them doesn't appear at all) but I haven't seen it mentioned anywhere else so just thought I'd let you know (as I haven't encountered any actual bugs yet :P).

I left abilities un-randomized entirely so its definitely in his base kit.
Title: Re: Leonarth's FFTA Randomizer
Post by: Leonarth on May 20, 2019, 11:06:50 am
Those abilities should be marked as both invisible and unpurchasable, if they are purchasable then that's an issue with the patch, not the randomizer.

When I eventually update the patch to include whatever new stuff I end up making, it will get fixed.

Thanks for letting me know, though!
Title: Re: Leonarth's FFTA Randomizer
Post by: Ren on June 20, 2019, 07:41:07 am
Hello Leonarth,

i wanted to try out your randomizer, but sadly your dropbox link has been turned off, so i just wanted to inform you.
Title: Re: Leonarth's FFTA Randomizer
Post by: Leonarth on June 20, 2019, 01:35:42 pm
I literally just got an email about that from dropbox, there's not much I can do for now so you'll have to wait for a while.

Might switch to google drive after this.

Edit: I changed the link to a google drive one, still not sure what happened with dropbox.
Title: Re: Leonarth's FFTA Randomizer
Post by: Sundaybrawl on August 03, 2019, 12:45:32 pm
I know it's been a while, but has there any more progress for the randomizer? As in, adding more craziness and general nonsense?

I'd love to learn how to mod the game like this but have no idea where to start. Do you have any resources I could use to learn?
Title: Re: Leonarth's FFTA Randomizer
Post by: Leonarth on August 04, 2019, 07:28:32 pm
I'm not working on the randomizer at the moment.

To mod the game like this you can probably just stick to the all in one editor and be fine:
http://ffhacktics.com/smf/index.php?topic=9764.msg189278#msg189278

That's not what I use, but it should work for what you want to do.
Title: Re: Leonarth's FFTA Randomizer
Post by: afdc98 on September 02, 2020, 12:01:49 pm
Hello! Thanks for doing a great job with the randomizer!
I wanted to report a crash happening if a hume uses one of the Defender (Bangaa) Elemental Swords (Fire, Thunder and Ice Sword abilities). The animation of the sword plays, but the sprite remains still, and the game softlocks.
Hoping this can be fixed! 😁
Title: Re: Leonarth's FFTA Randomizer
Post by: dck on September 02, 2020, 02:17:56 pm
You have to use the updated Engine Hacks from https://github.com/LeonarthCG/FFTA_Engine_Hacks instead of the provided .ups; that file is from Feb 2019, so not really maintained and more of a showcase than anything else. The issues with Gladiator elemental swords were reported and fixed a few months ago.