• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
April 23, 2024, 02:57:56 pm

ASM AI difficulty patch

Started by vereleisk, August 18, 2015, 08:28:32 am

vereleisk

First of all, you guys are amazing, the amount of content and tools on this website is huge, and the tools are fantastic!

I'm working on a patch to edit existing classes ability sets, like say change archer to marksman(with guns added, and with some snipe abilities, etc) but the snag is i can't replicate the same difficulty level present in fft+ 1.01c. May i ask you what kind of code made it happen?

I know it won't be some simple 2kb file, but any hints/example could set me on the right track.
Don't blame us. Blame yourself or God.
The best ways, don't always lead to the best results.

Nyzer

Everything you described can be easily accomplished with FFTPatcher. You'll have to sacrifice some of the other Jobs if you want more ranged skillsets (I'd advise converting some of the magical jobs into mixed magic and ranged weapons - you could give white mages bows as a tribute to Rosa, as an example), though you don't want to mess with the skillsets of Chemists, Ninjas, Samurai, Geomancers, Dragoons, or Mimes because there's a lot of hardcoding there. (Thankfully, there are some ASMs that can fix this.)

You can also increase the JP required per Job Level for a stress-free way to ensure the AI opponents have more Abilities - it'll mean the difference between a level 2 Knight only knowing a couple skills versus several. It also works the same way for the Jobs that were blocking the way to the ones they've unlocked: a Monk will know more Knight abilities than they would otherwise, because they'll have had to "earn" more Knight JP.
Even if you think that would make Job unlocking too annoying for you, you can always just reduce the number of unlock tiers. Make the Dragoon unlocked via the Knight instead of through the Thief/Monk or something.
You can also go into the ENTD and adjust enemies' base levels. You can set the story battles to scale with the party level, and the random ones to be the party's level PLUS a few.
  • Modding version: Other/Unknown

vereleisk

So basically FFT+'s difficulty can be attributed to the fact that the jobs we face have spent more JP since the minimum requirement was higher?

But let's say i want the AI to put me against some knights that also know white magic, or black mages with some summons, etc. What or where could i enter/modify that?
Don't blame us. Blame yourself or God.
The best ways, don't always lead to the best results.

Nyzer

I've never played FFT+, so I can't say for sure if that's the case. I do know that increasing the JP required per Job Level is a quick way of allowing the AI characters to know more abilities, though.

You can choose which skillsets characters spawn with in the ENTD, making it easy to pick which secondary you want your enemies to have.

You can choose one unlocked Job per character in the ENTD, and set its level appropriately. Every Job required to unlock that one will have at least enough levels needed to unlock that one, with the JP randomly pre-spent. So a Black Mage with Summon would be perfectly fine and have no bugs whatsoever. A White Mage with Summon would also work, because the Summoner requires a Black Mage, and the Black Mage is unlocked at the same time the White Mage is. However, the WM would likely have fewer WM abilities than the BM would have for their own skillset, because the WM wouldn't be required to be at any Job Level.
A Knight with White Magic might not have any of the Knight abilities, as they wouldn't be guaranteed to have Knight unlocked, unless White Mage was tied to the same level of Squire. In addition, you'd probably lose the ability to put them back in Knight if you recruited them, then changed their Job. (I haven't personally tested most of this.)

Something notable about this, though, is that by default the unlock conditions for Jobs are actually more than what their descriptions in the Job Wheel say they are. A Thief might be set to require Level 3 Archer, but it's also set to require Level 2 Squire, because Archer is set to require Level 2 Squire. So if you mess around with the job requirements in the Patcher, setting the Arithmetician to require nothing but a level 8 Summoner will cause Arithmetician units to spawn with level 8 Summoner, but without any levels in Black Mage, meaning they even can't get at their Summoner job in the first place.

For characters that can't be recruited, you have more freedom than normal. In fact, you can give them a Secondary skillset they wouldn't otherwise have access to (i.e. give Agrias' Holy Blade to a random generic) and that unit will automatically have access to every ability in Holy Blade. If that unit is a special unit themselves, then they also seem to automatically unlock their own entire base skillset by doing that. There are plenty of blank skillsets in the Patcher that you can make use of for this, and, in fact, Tietra has an unused skillset named "Magicks" (in the PSP version) that you could probably fill in with whatever you wanted with no real need to jump into Tactext to change any of the description/name text. I assume it's named something usable in the PSX version too.
  • Modding version: Other/Unknown

vereleisk

Alright, that makes sense.

So in the ENTD, we can control what kind of unit and all their abilities/jobs can spawn in a random battle.
Let's say that we disable the ability to recruit any human units, then we could unlock every class for every units spawning in random battles and that would be much better in term of randomness of the encounters (for the sake of replayability, not hitting the same Knights/Squires for the next 15 battles).

Then, if i go on the basis that JP=Quantity of skills learned, the minimum requirements that I set to the units would also affect what kind/quantity of abilities would be determined by the amount of JP that they spawn with, right?
Meaning that if i require units to have level 5 black mage, then those units could potentially have the spells learned that my own level 5 black mage could afford to learn?

If so, could I then scale up the values depending if I'm on chapter 1/2/3/4? Is there different encounter settings for different chapters?

PS: Sorry for all the questions, I'm really eager to get this working, and if everything works as planned, I would LOVE to share my patch build with you guys.
Once I get the basics of editing the core stuff, I should be able to guess the rest.
Don't blame us. Blame yourself or God.
The best ways, don't always lead to the best results.

Nyzer

You don't necessarily need to disable the ability to recruit ALL human units. The ENTD has an Immortal flag that prevents crystallization, and that flag can also be set to block Traitor status (if it isn't already). You can also set enemy units to have Earplug/Finger Guard, as the only way to convert enemy humans is through the Orator skills anyway.

And yes, you could set units to have, say, Mime unlocked and set their secondary to Random - that would give them a VERY large variety of skills to choose from.

There are SOME battles that unlock over the course of the storyline. The ones that are present in Ch. 1 will be present throughout the whole game, so you won't be able to have them unlock more Jobs as time passes. But the deeper in you are, the higher the odds of having later battles unlocked for those same areas. The battle you get is randomly selected (though it also depends on which way you entered the region from).

You can also set units to a random spawn. I've never done this myself, but as I understand it, you could set an Archer, a Knight, and a Black Mage all to the same spot with random checked and the game will randomly pick one every time it loads that battle.

Fair warning: there is a hardware limit on drawing more than 9 unique spritesheets at once, and in random battles the game ALWAYS assumes your five combatants will all have unique spritesheets, so you'll never be able to put more than four different kinds of units in one battle. So, for example, a male Archer, a female Archer, a Knight, a Black Mage, and a Chocobo wouldn't work.
Thankfully, monsters in the same family all use the same spritesheet, just with palette swaps. So an enemy party of a male and female Archer, a Knight, a Chocobo, and a Black Chocobo would work.

You are correct about the Black Mage thing. It seems the game will stop auto-spending JP at a certain threshold, but in my tests, I was able to spawn Argath on Mandalia Plains with the Faerie summon, which was one of the ones near the bottom of the list.
  • Modding version: Other/Unknown

Angel

  • Modding version: PSX
* Angel should quit being a lazy bitch
<@Elric> I agree to that as well

nyanyame nyanyajuu nyanyado no nyarabide nyakunyaku inyanyaku nyanyahan nyanyadai nyannyaku nyarabete nyaganyagame
At the end of the day, are we not all trapped inside lemons?

Eternal

I'm working on the PSP version of KO Critical Mode, and here are some decent tips (courtesy of Raven and others) to get the AI to learn skills efficiently and with greater variety. In doing so, you can make really potent units, ones that are almost up to par with actual human players.

-Set Job Level 8 to require 9999 JP and set enemies to have Job Level 8 of whatever skillset you want them to have mastered. This won't guarantee they'll learn everything (you'd need every skill to have a 100% learn rate if that were to happen, but that's a horrible idea), but it'll give them a very large amount of skills to work with.

-Rearrange skillsets with the most useful skills first. The AI learns skills by going down the skillset and learning them with what JP it's given. If, for example, the AI spends all of its JP on Fire, Fire 2, and Fire 3, you're not giving them the ability to learn Flare because it's at the bottom of the skillset. It would have to go through all that muck for a chance to even acquire it. Instead, put the most useful skills first in the skillset and put less useful skills (such as Poison) last.

-Mixed units can be truly deadly. A Knight with no Knight skills but a full set of Math Skills and Black/White/Time/Yin-Yang Magic set to 70 Faith can be really obnoxious and dangerous. It's all about what R/S/M skills you give them and what secondary you want them to play with. Thinking outside the box can lead to some really deadly units.

Some other ways to boost difficulty without being unfair would be to add traps in each map (making things like Treasure Hunter and Float more useful- albeit slightly- by proxy). The thing to bear in mind with this is that the AI cannot see traps and will gladly walk right into them. In Lucavi/boss fights, you'll want to use Sleeping Gas traps and Doom Traps, since even if the AI walks into them, it won't affect them. Steel Needle traps can hurt Lucavi/bosses big time though, since they're percentage based.
  • Modding version: PSX & WotL
"You, no less human than we? Ha! Now there's a beastly thought. You've been less than we from the moment your baseborn father fell upon your mother in whatever gutter saw you sired! You've been chattel since you came into the world drenched in common blood!"
  • Discord username: eternal248#1817

gatebuster202

I'm spending time in Arena for my patch, both playing for fun and observing how their skills and builds interact with even teams. I have so many fun ideas and I can see what all the AI is capable of. It gives some good perspective into how the AI will use it's skills (and how smart it can be.)
  • Modding version: PSX
Winner of the 2nd FFT Arena SCC Tourney. -Geomancers

Nyzer

Haha, sorry Toshiko, but I've never even played the PSX version of FFT. I started the series with FFTA, then picked up WotL later on.

As for the AI learning skills in order from top down: I'm not sure that's entirely true. As I mentioned earlier, ARGATH spawned with one of the last spells in Summoner learned in my limited testing. Maybe it works differently on the PSX and ALGUS would spawn with more of the earlier summons...
  • Modding version: Other/Unknown

Kaijyuu

Given the percentage chance to learn abilities, it's always possible they'll get something near the bottom of the list. Just unlikely.
  • Modding version: PSX

vereleisk

I played with the ENTD and the class levels a bit and here's what I found working like a charm.

Let's say I dummy the Mime Job, make it require all other jobs at some level. (I did SQ8, CH8, rest level 6)
Then I put every human units in the ENTD (except the ones that join your party after the battle) to have 'Jobs Unlocked' --> Mime

Job JP to level was:
1) 100
2) 600
3) 1200
4) 1800
5) 2400
6) 3000
7) 3600
8) 6000

Then all of a sudden, I could encounter a Knight in Mandalia Plains with Teleport, Hamedo, Defense UP, and Yin Yang Magic,
this could lead to some very deadly combos, as well as some pretty crappy builds, but it would raise the difficulty and the replayability.

What I also thinkered with was the strength and availability of the weapons, let's say I want Ramza to be able to use Ninja Knives from Chap1, I lowered the AP of some weapons, and set then available from Chap1, distributing the items more evenly, instead of having 4 ninja knives in about 3 battles apart.

I'll keep working on this and if you guys are OK with it, i could post it here.

EDIT: Just a quick question, does anyone have a list of all the Generic classes NOT used in cutscenes? (that I could edit without borking cutscenes)
I know I havn't encountered a lot (or none) of Mediators, Geomancers and Bards in cutscenes, but I can't remember which does appear.

I just remembered that the event sprites editor shows it, but does it contain a full list or partial?
Don't blame us. Blame yourself or God.
The best ways, don't always lead to the best results.

Nyzer

If you're not using the sprite editor to mess with their sprites, then you should be able to do whatever you want with the jobs without affecting cutscenes.

As for starting off with setting your enemies to all have Mime: do you really want to risk a high-Brave enemy with Blade Grasp and Yin-Yang Magic's Doubt Faith early on in the game? Or even Calculator abilities? The risk of setting them to something like that with most of their equipped abilities on Random is that you can indeed bounce around between absurdly overpowered and useless.

A more reasonable approach would be to set their unlocked Job either to their current one or one of the ones immediately unlocked by their current one. A Knight with level 1 in Monk for example. By upping the JP requirement to unlock Monk, but keeping Monk low you'll ensure they have some Knight abilities on hand, and by limiting Monk you give them one or two more skills to play with, but not enough JP to make it broken. The Knight might have Counter or Chakra, but probably not both.
  • Modding version: Other/Unknown

Kaijyuu

Personally I'm not too concerned about invited units having abilities equipped that they don't actually know, so that's how I usually bump up difficulty. Makes it a bit less random too; if you come across a high brave blade grasper that was just randomly generated that way, it could very well be that the easiest way to defeat it is hit the reset button and try again.
  • Modding version: PSX

gatebuster202

I'm on the camp of creating the battles vs Randomizing them. You can hand craft a very rough Seven or Eight man encounter be Ramza and four of his close friends.

A pair of Abandon Knights/ A pair of Arrow Guard Mages(Of High Level)/ A Pair of Damage Split/Defense Up Lancers/ A Pair of Magic Attack Up, 108 Gem Geomancers with counter Magic.

Watch your player cry as they try to tackle all that at once. In Vanilla that's just mean.
That didn't even mention Secondaries or the other ways you can kit them.
  • Modding version: PSX
Winner of the 2nd FFT Arena SCC Tourney. -Geomancers