lushen124 / Universal-FE-Randomizer

Properly universal this time.
MIT License
98 stars 28 forks source link

[FE7] (and 6 and 8?) Suggestion to enhance evenly assigned classes #367

Open Enaluxeme opened 3 years ago

Enaluxeme commented 3 years ago

I have a very simple thing to note about the even class assignment: the berserker class is problematic, as it has 3 classes that promote to it.

At the very least I would suggest to remove the corsair from the randomization pull, as it is simply a copy of the pirate class.

What I would like however would be to treat the pirate and brigant classes as one class as far as the even assigning is concerned. What I mean is that if every class has a 10% chance to be picked, the brigant and pirate should have 5% each.

I mean, it kinda defeats the purpose of assigning classes evenly when I have a pirate, a corsair, two brigands and a berserker in the same playthrough, you know?

Apart from this, the option seems to work as intended on GBAFE as a whole.

Enaluxeme commented 3 years ago

I ran it a few more times and I noticed something that I see as a flaw: it seems like the randomizer treats each class as completely separated from each other. That's not good when you consider that in FE6 and FE7 there is a fixed promotion for each unpromoted class.

You can for example end up with 5 sages because you had 3 mages and 2 sages, while you only have 1 potential paladin.

Of course, this problem is exacerbated by brigands and pirates (and corsairs) sharing a promotion. Same for clerics and monks and for knights and soldiers.

Enaluxeme commented 3 years ago

I've run a few more times and decided to take notes, figured it would help. My opinions are at the bottom. I've recorded 10 randomizations which all used the same settings: randomized lords, thieves and special classes, loose gender restriction and randomized recruitment with lords, thieves, special classes and cross-gender.

Seeds used:

Average times a character was randomized into each class branch:

Number of times each class branch wasn't picked at all:

By looking at the focus on Mages/Sages I'm pretty sure that you are treating different gender version as completely separated classes. I don't feel like that's what somebody who would check on "assign classes evenly" expects. I feel like when checking the option you should at the very least have one character for each class branch. Flyers always randomized to flyers (except Florina), but it should be safe to randomize them to Brigands/Berserkers if they spawn on mountains or Pirates/Berserkers if they spawn on water. Bards/Dancers often randomized in pairs, but you probably want to only have one of them. Speaking of bards and dancers, I noticed Ninian and Nils randomized in different classes... How does that even work? They should probably randomize to the same class every time seeing how they swap places twice. You probably don't want to train a swordmaster Ninian and get an archer Nils in the last chapter.

lushen124 commented 3 years ago

Thanks for bringing this up. Indeed each class is treated as completely separate from other potentially related class. Perhaps it may be better to assign promoted classes evenly and randomly choose the unpromoted class if there's more than one, which would prioritize variety in what the end game team makeup could look like. This sounds like it would resolve your issue. I think I would still treat differently gendered classes differently, so you'd still likely have two of the classes that have both genders available, but that should be a bit more evenly distributed in terms of what you should end up with.

lushen124 commented 3 years ago

As for Nils/Ninian, that is the current logic that they are treated as separate characters, but it's just tricky anyway because the game just swaps them out and does some custom logic to transfer stats. Even if they were both myrmidons, if you promoted one, I'm not convinced it would automatically promote the other too. That's partially why I generally don't randomize them and make that the default. Admittedly, I haven't tested this.

Enaluxeme commented 3 years ago

If it doesn't automatically promote Nils, maybe you could just have him be prepromoted. If the stats are still the same Ninian had, it wouldn't be a good deal because no promo gains and a lot of wasted levels, so you're not really incentivising to leave Ninian unpromoted anyway.

Then again, I don't really know if Nils stats are always identical to Ninian or if changing their class would make everything weird.