Seiken Densetsu 3 (aka Trials of Mana) Hacks Discussion

Started by hmsong, October 22, 2021, 09:05:40 PM

Previous topic - Next topic

Red Soul

Quote from: lexluthermiester on November 07, 2021, 04:39:10 AM
Oh, please no. The spells take long enough to cast as it is, we don't need a delay.

Don't get me wrong, you're totally right. I've been just brainstorming here trying to find a viable balance between vanilla (really buggy due to the casting bug exploit) and the absurdly powerful insta-cast option I've been doing a playthrough with as a test.

praetarius5018

Quote from: soul_knight on November 07, 2021, 12:51:48 AM
I wish Luck counter math was something like, [[Enemy's Luck] - [Attacker's Luck] + 3 ] / 5.  That way, if low level characters fought equally low level enemies, the enemies will have at least 1/3 chance of using counter attack, and if high level characters fought equally high level enemies, then the enemies will also have at least 1/3 chance of using counter attack.
problem is range of values.

who: starting value - range of caps for final classes
-----------------
monster: 3 - 16
Duran: 2 - 15-17
Kevin: 2 - 15-17
Hawk: 6 - 20-22
Angela: 4 - 15-17
Charlie: 5 - 18-20
Lise: 3 - 16-18 (lower start than Angela but higher end)


I can't check what would trigger the reaction (L2/3 tech or spell), so I need one formula that accounts for all cases. And there needs to be still a reason for Hawk go all the way to 22 while Duran/Angela with 15 still needs to get something out of it.

So my first suggestion would be to start with a char specific bonus to lessen the range we have to deal with:
Duran, Kevin, Angela +2
Hawk +0
Charlie, Lise +1
Second would be to arbitrarely decide that Hawk with 22 luck vs 16 luck monster should have 80% counter negate chance.
And third to give 10% per point, so my formula would be:
chance to negate counter = 10% x (2 + user's luck + user's char bonus - target's luck)

so for the given points in the game we'd get:
monster: 3 - 16
Duran (+2): 2 - 15-17 -> 30% - 30%-50%
Kevin (+2): 2 - 15-17 -> 30% - 30%-50%
Hawk (+0): 6 - 20-22 -> 50% - 60%-80%
Angela (+2): 4 - 15-17 -> 30% - 30%-50%
Charlie (+1): 5 - 18-20 -> 50% - 50%-70%
Lise (+1): 3 - 16-18 -> 30% - 30%-50%

Red Soul

I wonder what actually triggers the counters.
Does the AI get vengeful every time when something hits all targets or does the game use specific threshold values like
damage inflicted at once? maybe it counters at specific HP thresholds?

It seems inconsistent vanilla because I lost count of how many times I'd get wiped by Nightblades on Glass Desert because they seemingly had a full tedh gauge or close to full when I stepped onto the area they spawn at.

praetarius5018

Quote from: Red Soul on November 07, 2021, 05:36:51 AM
I wonder what actually triggers the counters.
Does the AI get vengeful every time when something hits all targets or does the game use specific threshold values like
damage inflicted at once? maybe it counters at specific HP thresholds?
there are no thresholds; the AI just checks what it was hit by and if it falls in the right category it tries to queue a counter action (if the monster type has one); though same as when I press the tech button that action may get eaten up by lag or similar issues.

small monster just check if they were hit at all by a time freezing move. big boss monster may also check for element of the spell; e.g. hitting landumber with wind magic gets a reaction but his second weakness of fire does not.


Quote from: Red Soul on November 07, 2021, 05:36:51 AMIt seems inconsistent vanilla because I lost count of how many times I'd get wiped by Nightblades on Glass Desert because they seemingly had a full tedh gauge or close to full when I stepped onto the area they spawn at.
monster don't use tech gauges, they can use spells and techs whenever they feel like it. pure RNG really.

lexluthermiester

Quote from: Red Soul on November 07, 2021, 04:43:54 AM
the absurdly powerful insta-cast option I've been doing a playthrough with as a test.
Um, go with this please. As far as I'm concern, when I cast a spell I expect it to go off as soon as I press the button. We're talking about real-time hand-to-hand combat not Final Fantasy turn based dynamics.

Please, no delays on spell casting.

Red Soul

#105
Quote from: praetarius5018 on November 07, 2021, 06:04:43 AM
there are no thresholds; the AI just checks what it was hit by and if it falls in the right category it tries to queue a counter action (if the monster type has one); though same as when I press the tech button that action may get eaten up by lag or similar issues.

small monster just check if they were hit at all by a time freezing move. big boss monster may also check for element of the spell; e.g. hitting landumber with wind magic gets a reaction but his second weakness of fire does not.

monster don't use tech gauges, they can use spells and techs whenever they feel like it. pure RNG really.

Well then, I guess I have been pretty unlucky in my playhroughs in general haha.

So bosses are scripted and use spells at random? Funny you brought up Land Umber, got totally creamed in my test playthrough (courtesy of insta-cast explodes) but impressively Dolan was dangerous even with that.

November 07, 2021, 06:13:40 AM - (Auto Merged - Double Posts are not allowed before 7 days.)

Quote from: lexluthermiester on November 07, 2021, 06:08:40 AM
Um, go with this please. As far as I'm concern, when I cast a spell I expect it to go off as soon as I press the button. We're talking about real-time hand-to-hand combat not Final Fantasy turn based dynamics.

Please, no delays on spell casting.

It's pretty fun, not gonna lie (the insta-cast patch is optional as of bugfix 1.7; Praetarius5018 has been doing a phenomenal job and the patch is totally recommended whether insta-cast is appended to it or not), Angela went from an eternal bench warmer (never used her much, save for one playthrough) to a complete demolisher.

Again, I'm just wondering about a "natural balance" of sorts. Was casting instant in Secret of Mana? I forget.

lexluthermiester

Quote from: Red Soul on November 07, 2021, 06:10:53 AM
Was casting instant in Secret of Mana? I forget.
It was. Regardless of the spell, the caster or the level of the spell, the moment you pressed the button, the caster sets the spell off. This is of course when the spell cast glitch was not in effect. So effectively the only wait time was the charge meter, which I always did away with using game genie as it fair because the charge meter was also removed for enemies. This introduced a new type challenge as the enemies could spam spells as quick as the player and some of them did.

I'd love to have that same dynamic in SD3/SOM2/TOM.

praetarius5018

Quote from: Red Soul on November 07, 2021, 06:10:53 AMAgain, I'm just wondering about a "natural balance" of sorts. Was casting instant in Secret of Mana? I forget.
Magic in Secret of Mana was super OP.
Nearly instantly goes off (first the elemental spirit appears then the spell actually starts), stops the target from doing anything at all so you can just chain the next spell while the current spell deals its damage. Also walnuts give 50 MP while most spells cost 2-3.
And most importantly no counter reactions to spells being cast.
Effectively the game had like 4 real boss fights and 30 cutscenes: mantis, tropicalo, big cat because you don't have magic yet and the final boss because all spells do 1 damage.
With that I understand that they had to take some measures to reign in spellcasters here but they went too far.

hmsong

#108
Quote from: praetarius5018 on November 07, 2021, 05:27:22 AM
And third to give 10% per point, so my formula would be:
chance to negate counter = 10% x (2 + user's luck + user's char bonus - target's luck)

so for the given points in the game we'd get:
monster: 3 - 16
Duran (+2): 2 - 15-17 -> 30% - 30%-50%
Kevin (+2): 2 - 15-17 -> 30% - 30%-50%
Hawk (+0): 6 - 20-22 -> 50% - 60%-80%
Angela (+2): 4 - 15-17 -> 30% - 30%-50%
Charlie (+1): 5 - 18-20 -> 50% - 50%-70%
Lise (+1): 3 - 16-18 -> 30% - 30%-50%


That seems very reasonable.  Well, I prefer:
Chance to negate counter = 10% x (1 + user's luck + user's char bonus - target's luck)

with char bonus of the following:
monster: 3 - 16
Duran (+3): 2 - 15-17 -> 30% - 30%-50%
Kevin (+3): 2 - 15-17 -> 30% - 30%-50%
Hawk (+0): 6 - 20-22 -> 50% - 50%-70%
Angela (+3): 4 - 15-17 -> 30% - 30%-50%
Charlie (+1): 5 - 18-20 -> 40% - 40%-60%
Lise (+2): 3 - 16-18 -> 30% - 30%-50%

I think Hawk having 60~80% negate is a little too much.

Something different.  I was working on Eva, and assuming monster evade is ((1.4x AGL) + 5) x (100% + type_modifier), then Specter Lv13 in Ghost Ship (who has 100 for modifier and AGL of 9) will have evade rate of 34 (rounded down).  And if I used Angela and didn't raise AGL at all (AGL 2), then she'll have accuracy of 3.  So 34-3 = 31.  So she'll miss 31% of time?  I used her in Ghost Ship (killed off the rest of the teams to test her thoroughly), and she seemed to miss way more than 30% though.  Did I miscalculate something somewhere, or was I just unlucky?

Quote from: praetarius5018 on November 07, 2021, 06:35:11 AM
Magic in Secret of Mana was super OP.
Nearly instantly goes off (first the elemental spirit appears then the spell actually starts), stops the target from doing anything at all so you can just chain the next spell while the current spell deals its damage. Also walnuts give 50 MP while most spells cost 2-3.
And most importantly no counter reactions to spells being cast.
Effectively the game had like 4 real boss fights and 30 cutscenes: mantis, tropicalo, big cat because you don't have magic yet and the final boss because all spells do 1 damage.
With that I understand that they had to take some measures to reign in spellcasters here but they went too far.

Yeah.  That's why Turbo hack (prob the most popular SoM hack compilation) gave the magic recharge time, just to prevent people from chaining.  That made the game way more balanced, although magic still overpowered melee attacks.

praetarius5018

Quote from: hmsong on November 07, 2021, 06:52:52 AMSomething different.  I was working on Eva, and assuming monster evade is ((1.4x AGL) + 5) x (100% + type_modifier), then Specter Lv13 in Ghost Ship (who has 100 for modifier and AGL of 9) will have evade rate of 34 (rounded down).  And if I used Angela and didn't raise AGL at all (AGL 2), then she'll have accuracy of 3.  So 34-3 = 31.  So she'll miss 31% of time?  I used her in Ghost Ship (killed off the rest of the teams to test her thoroughly), and she seemed to miss way more than 30% though.  Did I miscalculate something somewhere, or was I just unlucky?
No, that's on me, I overlooked one step there.

((1.4x AGL) + 5) x 1.5 x (100% + type_modifier), each step rounded down, so that ghost comes out to 50, then subtract your 3 accuracy and you get 47% misses.

For the player it is instead:
(1.4x AGL) + LUCK/2 + 5 + gear bonuses

Also I hate how L1 tech doesn't auto-hit but reuse the last hit status, so I can just miss 100 L1 techs in a row there >.>
really, the whole handling of the "is hit" flag being on the target and then also shared between all attackers just causes a ton of problems; I just don't have any RAM available to change that.

Messianic

#110
I'm of the opinion that 3x Luck is a good %chance of denial.

Hawkeye gets a max of 66% where others would cap out at like 51%.

Perhaps if early game feels too countery and late game not, maybe give a class penalty or something:

(9 / class lv) + (LCK x 3) = denial %

So early game Duran with say 6 LCK has 27%  counter denial while if late game had the same amount of LCK it would be 21%, however he caps out at 54%.

At any rate I think no counter should go beyond 2/3 chance of denial or boss fights are going to be pathetic.

Zimgief

#111
Hi!
I'm so happy that praetarius5018 is working again on the bugfix patch, and that people are so eager to help! SD3 needs it so badly, being so great, yet.. so bugged!

The highlights for me are:
- the evade bonus as intended, especially for shields and Hawks
- making luck more relevant
- instant casting for spells (used to never use casters because melee was so much more effective).

What can be improved:
- a proper balance of counters. The player should never feel detered from using high level spells and techniques, and late bosses should be able to use their impressive counters. But spellcasters should not become too strong now that they insta-cast spells. We should test and test the game again until spellcasting feels right. (Could the level of the ennemy be part of the formula?)
- a proper balance of evasion. Clearly, the developers entered random values for evade modifiers as they dumped the mechanic during development. Enemies could be attributed a default evade modifier, then cases should be worked individually to make sense (high modifier for ninjas, low modifier for mages, etc.). Even if it's basic (most ennemies with 0, some with -50, others with +50).

Thoughts:
- Transshape with a duration of x + LUCK (or LUCK /2 or whatever)instead of fixed or minus LUCK?

Thanks again for the work. SK3 is one of my favourite games. :)

praetarius5018

Quote from: Messianic on November 07, 2021, 11:38:38 AM(9 / class lv) + (LCK x 3) = denial %
that would make class changing detrimental, at least until you've put in 1-2 points of luck and lets be honest: 99% of characters have more important stats.


Quote from: Zimgief on November 07, 2021, 12:17:45 PMBut spellcasters should not become too strong now that they insta-cast spells. We should test and test the game again until spellcasting feels right. (Could the level of the ennemy be part of the formula?)
I have access to basically all values of both the player/caster and monster/target there.

If the power level of casters is the topic, it should rather find different ways to address that instead of disabling the AI.
Also not all monster have a counter and for random mobs... stone cloud and death spell/turn undead make it so there is noone left to counter.

on another sad note... I accidently found my old notes on wtf I had to do to fix casttime... fml


Quote from: Zimgief on November 07, 2021, 12:17:45 PM- a proper balance of evasion. Clearly, the developers entered random values for evade modifiers as they dumped the mechanic during development. Enemies could be attributed a default evade modifier, then cases should be worked individually to make sense (high modifier for ninjas, low modifier for mages, etc.). Even if it's basic (most ennemies with default modifier), it should at least make sense!
default modifier would be an increase for 90% of monsters; most have just a fraction of the base value.

base at max level would be around ((20AGL x1.4)+5)x1.5=47
I think I'll work with just 4 modifiers:
-100% for stuff that should be easy to hit (bulettes, golems)
-30% as default = 33 evade at max, so 22 AGL hawk would never miss here, all other need speed up to meet 100% hitrate
0% for e.g. ninjas and birds
100% for ghosts and devils


Quote from: Zimgief on November 07, 2021, 12:17:45 PMThoughts:
- Transshape with a duration of x + LUCK (or LUCK /2 or whatever)instead of fixed or minus LUCK
there are several problems there:
-the value is shared with sleep duration and I can't separate them
-there's no reference to the caster of the original spell anymore, I have only access to the stats of the victim of those 2 effects

Messianic

How about a base of 6 and then 2x LCK?

Hawkeye caps at 50%.

Is there any way to differentiate between regular enemies and bosses when it comes to reducing rates of countering? The game's real problem is regular enemies wiping your team like Wolf Devils, Night Blades, etc. I expect bosses to react harshly to what I do.


On a separate note. Is there a way to tweak regular enemy base stats? It has always seemed to me that it make sense to give enemies the stats of the player classes they are meant to mimic, like Porobon = Ranger, green Porobon = Rogue or Wander (unsure which is which), Porobon Leader = the other. So for example the regular Porobon would have 9/12/9/9/9/12 for stats to calculate evasion and all that other stuff off of instead of everyone being based off Reisz. Bee Ladies would be based on Reisz's light classes, beast men based on Kevin's classes (though a few seems to not be represented at all), etc.

I hope this makes sense.

praetarius5018

Quote from: Messianic on November 07, 2021, 02:35:58 PMIs there any way to differentiate between regular enemies and bosses when it comes to reducing rates of countering? The game's real problem is regular enemies wiping your team like Wolf Devils, Night Blades, etc. I expect bosses to react harshly to what I do.
That I can; but the mentioned enemies are not using the L3 tech (only) as counters but whenever they feel like it.


Quote from: Messianic on November 07, 2021, 02:35:58 PMOn a separate note. Is there a way to tweak regular enemy base stats? It has always seemed to me that it make sense to give enemies the stats of the player classes they are meant to mimic, like Porobon = Ranger, green Porobon = Rogue or Wander (unsure which is which), Porobon Leader = the other. So for example the regular Porobon would have 9/12/9/9/9/12 for stats to calculate evasion and all that other stuff off of instead of everyone being based off Reisz. Bee Ladies would be based on Reisz's light classes, beast men based on Kevin's classes (though a few seems to not be represented at all), etc.
That can be done as Koren and Heath show but that would change way too much since that also influences atk, def, hp, ...
I'd rather let those be here so e.g. evasion and crit rate is more predictable.

Zimgief

#115
Quote
default modifier would be an increase for 90% of monsters; most have just a fraction of the base value.

base at max level would be around ((20AGL x1.4)+5)x1.5=47
I think I'll work with just 4 modifiers:
-100% for stuff that should be easy to hit (bulettes, golems)
-30% as default = 33 evade at max, so 22 AGL hawk would never miss here, all other need speed up to meet 100% hitrate
0% for e.g. ninjas and birds
100% for ghosts and devils
This is easy to intuit for the player, and  effective.  :woot!:

Counter Magic
Quote from: hmsongJust a minor bug report regarding Counter Magic (vanilla, and probably still applicable for your patch) -- whenever an enemy uses Counter Magic (Gildervine, Mispolm), they reflect Air, Fire, and Water magic, but not Earth, Light, Dark, and Tree magic.  Counter Magic works as intended (reflects all elements) when the player uses it though.  I'm not sure why that's the case, since Gildervine is only immune to Tree magic, so elemental weakness/strength doesn't seem to have anything to do with it.
I understand it is not a bug, but the implementation the developers opted for doesn't make a lot of sense, alas. It is not symetrical with the player's spell nor it is coherent with what one would expect. It's minor, but it's a lack of consistency from a gameplay perspective.

Deny enemy counter moves
If I understand correctly, there are two problems here :
- early enemies will counter more often than later enemies, so even without actively increasing luck, the game will become easier
- the cancellation's rate by the end of the game is too high (especially now with instant spell-casting).

I feel that adding a character modifier is a bit arbitrary (inelegant). Enemies's LUCK may need to be attributed new values to be included in the formula (I don't know, but maybe some boss relies on counters, yet has a bad luck).

I was thinking of this, if that helps: player's LUCK / (20 + Handicap), the handicap being 10 for class 2 enemies, and 20 for class 3 enemies.

For ex.
- base Duran vs early enemy: 2 / 20 = 10%
- base Hawk vs early enemy: 6 / 20 = 30%
=> Better chances than in current patch in early game.
- max LUCK Duran vs late enemy: 15 / (20 + 20) = 37.50%
- max LUCK Hawk vs late enemy: 22 / (20 + 20) = 55%
=> Lesser chances than in current patch in late game.

A further handicap against bosses is an interesting tool, if necessary.

Instant spell casting
According to Red Soul, instant spell casting is too strong right now (will a new formula for counter-cancel help?).
Yet, instant spell casting seems the best solution:
- to improve magic characters, who are too weak compared to melee characters in the base game
- for consistency, as the exploit for instant casting cannot be fixed.

So, instant spell casting is a good start but needs to be balanced (like were critical hits) in the optional patch:
- apply a malus to damage for players' spells?
- increase their mp cost?

praetarius5018

Quote from: Zimgief on November 07, 2021, 03:50:32 PMCounter MagicI understand it is not a bug, but the implementation the developers opted for doesn't make a lot of sense, alas. It is not symetrical with the player's spell nor it is coherent with what one would expect. It's minor, but it's a lack of consistency from a gameplay perspective.
This only affects the 2 plant bosses; maybe they wanted to prevent player frustration in case mispolm is taken late and angela has death spell and/or stone cloud ready?


Quote from: Zimgief on November 07, 2021, 03:50:32 PMI was thinking of this, if that helps: player's LUCK / (20 + Handicap), the handicap being 10 for class 2 enemies, and 20 for class 3 enemies.
could just boil it then down to:
player's luck / (20+enemy's luck)

imo better than the stair effect you get from having 13 luck vs a level 19 target = 65% safe and then going to the next screen and only getting 42% vs the level 20s there


Quote from: Zimgief on November 07, 2021, 03:50:32 PM- for consistency, as the exploit for instant casting cannot be fixed.
Quote from: praetarius5018 on November 07, 2021, 12:53:04 PM
on another sad note... I accidently found my old notes on wtf I had to do to fix casttime... fml


Quote from: Zimgief on November 07, 2021, 03:50:32 PMSo, instant spell casting is a good start but needs to be balanced (like were critical hits) in the optional patch:
- apply a malus to damage for players' spells?
- increase their mp cost?
instant cast is a separate patch and its own sack of issues.
if it wasn't too much of a change compared to the base game you could make spells instant cast by using 4 tech points.

hmsong

#117
@praetarius5018

You mentioned that enemy's AGL maxes out at 20, but given that most enemies' stats are based off Lise, the AGL will max out at 19.  Also, for current patch, how is Speed Up/Down affect Eva?  I'm guessing it's +/-20%, but where does the multiplier apply?  I assume it's all the way at the end, but just like other stat up spells, I have a feeling that may not be the case.  I'm guessing your +10/-15 Acc applies at the end.

I'm having a little trouble with Eva, because many enemies at the beginning have too high Eva if I try to apply something general.

Quote from: praetarius5018 on November 07, 2021, 12:53:04 PM
base at max level would be around ((20AGL x1.4)+5)x1.5=47
I think I'll work with just 4 modifiers:
-100% for stuff that should be easy to hit (bulettes, golems)
-30% as default = 33 evade at max, so 22 AGL hawk would never miss here, all other need speed up to meet 100% hitrate
0% for e.g. ninjas and birds
100% for ghosts and devils

Should I just leave the Eva thing with you?  I'm working on this (dungeon by dungeon), but you seem to have some idea what to do.  I don't think devils should have 100% Eva though.

Also, a suggestion to add to your next bugfix.  In Hawk/Lise scenario, after getting the Mana Sword stolen, but before using Wind Drum (to fight the Godbeasts), if you go inside the Navarre (anywhere) and use the Magic Rope, the game crashes.  There are also few rooms in Dark Castle where players can softlock themselves if Magic Rope is used.  I fixed these issues on Better Monsters by disabling all the Magic Rope in those places, but I felt that your patch should have that too (Beast Kingdom and Altena didn't have Magic Rope enabled, so I never understood why that was the case for Navarre, not to mention that outside Navarre, you can use both Wind Drum and Magic Rope, which was weird).

Red Soul

Quote from: hmsong on November 07, 2021, 06:20:08 PM
Also, a suggestion to add to your next bugfix.  In Hawk/Lise scenario, after getting the Mana Sword stolen, but before using Wind Drum (to fight the Godbeasts), if you go inside the Navarre (anywhere) and use the Magic Rope, the game crashes.  There are also few rooms in Dark Castle where players can softlock themselves if Magic Rope is used.  I fixed these issues on Better Monsters by disabling all the Magic Rope in those places, but I felt that your patch should have that too (Beast Kingdom and Altena didn't have Magic Rope enabled, so I never understood why that was the case for Navarre, not to mention that outside Navarre, you can use both Wind Drum and Magic Rope, which was weird).

It seems to me the crashes occur due to the rope teleporting the player to the wrong screen?
If that's the case, maybe something like Map Jester can fix the teleport destinations.

hmsong

Quote from: Red Soul on November 07, 2021, 09:00:50 PM
It seems to me the crashes occur due to the rope teleporting the player to the wrong screen?
If that's the case, maybe something like Map Jester can fix the teleport destinations.

I could do that, but I felt that Navarre shouldn't have Magic Rope enabled.  No other kingdoms had Magic Rope enabled, not to mention Navarre outside had both Magic Rope and Wind Drum enabled, which was weird.  And as for Dark Castle, that was a somewhat known problem.