News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Poll

Restored: ROM space allowing, should attacks be tallied for each weapon type used in combat? (support multiple weapon EXP for weapon swapping)

No. Restored already has passive growth, only end-of-combat weapon should receive bonus.
Yes. All weapons used in combat should receive this bonus credit.

Author Topic: Final Fantasy II Restored  (Read 188284 times)

ScarabEnigma

  • Jr. Member
  • **
  • Posts: 16
    • View Profile
Re: Final Fantasy II Restored
« Reply #580 on: June 06, 2021, 10:27:41 am »
This is the most accurate description of how broken this game is that I've read. Whenever I play, I live by the dual-shield strategy and it can get me through the entire game with little to no grinding. I would almost argue that shield-related evasion bonuses should be static and not multiplied by shield level. Perhaps an alternate bonus from shields could be calculated from its level, such as increased defense. A change like this would not go against the spirit of the original game, since it nerfs a cheap strategy that is almost certainly unintended by the developers, but still gives shields an added value. Besides, who can actually dodge better while holding a giant metal plate? I know evade is supposed to also include "blocking" of attacks, but really, evade is evade. Shields should definitely raise defense value and they don't. It also doesn't completely eliminate the ability to create parties with 16-99 evade invincibility, just makes it take way longer and require additional equipment considerations to achieve.

If shields worked similarly to how they did in ff3, perhaps it would be more manageable. Specifically, in ff3, equipping a shield gives a static evade % boost and your own stats and job level determined how many hits dodgeable are applied with same factor as weapon hit rate determination, however it requires specific gear to achieve a 99% rate, and even moreso, there exists enemies who hit for over 30x in a single action. FF2 even if it used this manner, still has another issue, evasion is used to determine speed in battle. Additionally, the agility stat is 1 evade% per stat, so maxed agility is maxed evade % innately, cause much like all the other player stats, they simply do not exist on the enemy, the enemy having evade% as the manner to determine their speed in battle. If it was possible to apply agility stat to enemy statistics and have that solely be factor for action speed for player and enemy both, it would be a huge difference. Also would be nice if every 2 levels of shield skill added one level of evading, while evade lvl itself was the limiting factor to how many hits can be dodged while shield equipped, to prevent dodge rate from becoming perfect too easily. but to do any of this would require so much rewriting that is all too likely beyond anyone's access at this time.

Leviathan Mist

  • Jr. Member
  • **
  • Posts: 65
    • View Profile
Re: Final Fantasy II Restored
« Reply #581 on: June 07, 2021, 03:43:22 pm »
If shields worked similarly to how they did in ff3, perhaps it would be more manageable. Specifically, in ff3, equipping a shield gives a static evade % boost and your own stats and job level determined how many hits dodgeable are applied with same factor as weapon hit rate determination, however it requires specific gear to achieve a 99% rate, and even moreso, there exists enemies who hit for over 30x in a single action. FF2 even if it used this manner, still has another issue, evasion is used to determine speed in battle. Additionally, the agility stat is 1 evade% per stat, so maxed agility is maxed evade % innately, cause much like all the other player stats, they simply do not exist on the enemy, the enemy having evade% as the manner to determine their speed in battle. If it was possible to apply agility stat to enemy statistics and have that solely be factor for action speed for player and enemy both, it would be a huge difference. Also would be nice if every 2 levels of shield skill added one level of evading, while evade lvl itself was the limiting factor to how many hits can be dodged while shield equipped, to prevent dodge rate from becoming perfect too easily. but to do any of this would require so much rewriting that is all too likely beyond anyone's access at this time.

What if instead of agility increases being based on your evade%, they were based on your actual agility value, and reversed for diminishing returns? This might be a bit too deep into rebalancing for the project, but if, say, the odds of an increase were 10% at 1 agility, and dropped all the way to 1% by 98 agility, that would make agility gains happen for those that need them, and not just for those who already evade everything.

I know this doesn't address the underlying issue with evade, but is a separate issue that would change some strategies around. Ultimately the only real answer would be to cap evade% or evade level at values lower than they currently are, and I don't think a hard cap is the answer.

abw

  • Hero Member
  • *****
  • Posts: 585
    • View Profile
Re: Final Fantasy II Restored
« Reply #582 on: June 13, 2021, 04:02:28 pm »
but to do any of this would require so much rewriting that is all too likely beyond anyone's access at this time.
Most of this should be relatively easy, actually. Don't forget that we're working with (basically) fully labelled and re-assemblable ASM, not a hex editor, so shifting things around a bit is generally not a problem.

Making shields (and/or weapons) provide a static evasion % boost is trivial (delete the level multiplier code, optionally edit the item data to change the boost amount), as is changing the number of hits enemies deal or their accuracy (edit the enemy data, subject to the enemy data only supporting a maximum of 16 different values, unless you want to expand the enemy data). Ditto for making evasion % be based on e.g. agility / 2 (rearrange the adding code a tiny bit and then add a single LSR).

If it was possible to apply agility stat to enemy statistics and have that solely be factor for action speed for player and enemy both, it would be a huge difference.
Both characters and monsters have some unused battle stats which could be used for new data (e.g. characters don't have a Fear level or a Family, monsters don't have secondary hand weapons, etc.), and once Agility was available as a battle stat, switching the turn order sorting to use agility instead of evasion % would only take a few lines of ASM. The hardest part would be freeing up enough space to hold the new monster stats, but this game's code is pretty inefficient in terms of space, so rewriting it to free up more space isn't hard - this is how I've been making room for all of the bugfixes and new features.

Also would be nice if every 2 levels of shield skill added one level of evading, while evade lvl itself was the limiting factor to how many hits can be dodged while shield equipped, to prevent dodge rate from becoming perfect too easily.
I'm not sure I understand this part - would characters without a shield equipped have 0 evasion? What would happen if a character had 2 shields equipped? Or does this mean that you'd get a guaranteed evade for every 2 levels of shield skill?

This might be a bit too deep into rebalancing for the project
Yup, changes like this definitely go beyond the (current) scope of this project, but they're still fun to play around with :).

Ultimately the only real answer would be to cap evade% or evade level at values lower than they currently are, and I don't think a hard cap is the answer.
Lowering the cap was my first thought as well - even 8-99 evasion is overkill based on the current enemy physical offensive capabilities, let alone 16-99.

There's also Blink to deal with - currently one good cast can max your entire party's evade level!

ScarabEnigma

  • Jr. Member
  • **
  • Posts: 16
    • View Profile
Re: Final Fantasy II Restored
« Reply #583 on: June 13, 2021, 07:04:08 pm »
Both characters and monsters have some unused battle stats which could be used for new data (e.g. characters don't have a Fear level or a Family, monsters don't have secondary hand weapons, etc.), and once Agility was available as a battle stat, switching the turn order sorting to use agility instead of evasion % would only take a few lines of ASM. The hardest part would be freeing up enough space to hold the new monster stats, but this game's code is pretty inefficient in terms of space, so rewriting it to free up more space isn't hard - this is how I've been making room for all of the bugfixes and new features.

Enemies could also go for a intelligence and spirit stat so their magic sucks a little less :P

I'm not sure I understand this part - would characters without a shield equipped have 0 evasion? What would happen if a character had 2 shields equipped? Or does this mean that you'd get a guaranteed evade for every 2 levels of shield skill?

I guess a evade lvl setup similar to ff3, where equipping shields increase total hit evasion count, and only now i remember they had innate evade lvl as well but it was very low without shield.

There's also Blink to deal with - currently one good cast can max your entire party's evade level!

Blink could really go for acting like the physical version of Wall. Where its level determines how many hits at max can be blocked, and once its activated, effect expires similar to wall when wall receives a spell that matches its own level.

Heaven Piercing Man

  • Full Member
  • ***
  • Posts: 177
    • View Profile
Re: Final Fantasy II Restored
« Reply #584 on: June 13, 2021, 10:50:39 pm »
So... Square Enix just announced a "Pixel Perfect Remaster" of the first 6 games for Steam and mobile, which implies FFII will be based on the Famicom version.

Did SE got ahead of this?

ScarabEnigma

  • Jr. Member
  • **
  • Posts: 16
    • View Profile
Re: Final Fantasy II Restored
« Reply #585 on: June 14, 2021, 11:08:16 am »
So... Square Enix just announced a "Pixel Perfect Remaster" of the first 6 games for Steam and mobile, which implies FFII will be based on the Famicom version.

Did SE got ahead of this?

It's likely just a coincidence of releasing is all.

Heaven Piercing Man

  • Full Member
  • ***
  • Posts: 177
    • View Profile
Re: Final Fantasy II Restored
« Reply #586 on: June 18, 2021, 12:13:47 pm »
I know, I mean we are getting beat to the punch.

Mirage

  • Jr. Member
  • **
  • Posts: 5
    • View Profile
Re: Final Fantasy II Restored
« Reply #587 on: June 21, 2021, 01:59:53 am »
Been playing the Restored version of this hack so far, and I'm enjoying it. Made it to Mysidia so far. I found a bug where, when Dispel fails on an enemy, the message for Blink ("Easy to dodge") show up just before the generic failure message ("Not effective"). Looking at the hex data for my copy of Restored reveals that the JSR that goes to the failure message routine should probably be a JMP instead, like with the other spell routines. Otherwise, the game will return from the message routine and begin reading the instructions for the Blink spell routine. Here's the fix for that:
Quote from: Restored hex code
0x33818: 20 -> 4c
If you're using an assembler, the very end of the Dispel routine should now look like this:
Quote from: Restored disassembly
; control flow target (from $B809)
L0C_B83B:
   JSR JMP L0C_BE73   ; clear bit 6 of $28, push Battle Message ID #$14: 'Ineffective' onto the message stack, set $4A-$4B to #$8000, disabling damage display window

abw

  • Hero Member
  • *****
  • Posts: 585
    • View Profile
Re: Final Fantasy II Restored
« Reply #588 on: June 21, 2021, 05:54:37 pm »
I found a bug where, when Dispel fails on an enemy, the message for Blink ("Easy to dodge") show up just before the generic failure message ("Not effective").
Thanks for catching that - it looks like a leftover from the original code that I missed. I've submitted an update to correct that along with the following issue:

Quote
The Mysidia Cave B4 (B3 if you consider first floor 1F) treasure room uses an incorrect battle background. The offending Map ID is $29 and uses the default (forest) battle background.

While I was in the neighbourhood anyway, I also took a few minutes to clean up the files on my Google Drive, deleting some old ones, renaming others to match the project's current naming conventions, and updating the disassemblies with further commentary.

In other news, while fact-checking a claim I wanted to make elsewhere, I found out that all of the orbs atop the Mysidian Tower disappear when you obtain Ultima regardless of whether you're obtained their stat boosts or not. Does anybody know what happens to unused orbs in the remakes after talking to the centre orb?

redmagejoe

  • Sr. Member
  • ****
  • Posts: 336
    • View Profile
Re: Final Fantasy II Restored
« Reply #589 on: June 21, 2021, 05:56:37 pm »
I could be wrong, but I believe that they're the actual 4 crystals (as seen in later games, and implied to be what the Light Warriors are holding in the first game) on pedestals, and they always remain there even after giving their boosts. So in the remakes I'm pretty sure you can go claim the stat boosts later.

ScarabEnigma

  • Jr. Member
  • **
  • Posts: 16
    • View Profile
Re: Final Fantasy II Restored
« Reply #590 on: June 22, 2021, 01:45:31 pm »
I could be wrong, but I believe that they're the actual 4 crystals (as seen in later games, and implied to be what the Light Warriors are holding in the first game) on pedestals, and they always remain there even after giving their boosts. So in the remakes I'm pretty sure you can go claim the stat boosts later.

I recall even in later ports, the stat boost crystals disappear if you get the tome before them, even in the soul of rebirth incarnation, likely cause they are tied to ultima being present and once that is claimed, they cease to be present.

redmagejoe

  • Sr. Member
  • ****
  • Posts: 336
    • View Profile
Re: Final Fantasy II Restored
« Reply #591 on: June 22, 2021, 01:49:18 pm »
Ah, I misremembered then.

ScarabEnigma

  • Jr. Member
  • **
  • Posts: 16
    • View Profile
Re: Final Fantasy II Restored
« Reply #592 on: June 22, 2021, 07:56:47 pm »
and after spending all day on ff2 gba just because :P

yes, the other orbs indeed vanish if ultima chosen before them.

abw

  • Hero Member
  • *****
  • Posts: 585
    • View Profile
Re: Final Fantasy II Restored
« Reply #593 on: June 26, 2021, 07:34:30 am »
Awesome, thanks for checking! I wasn't sure whether unused orbs disappearing should be considered a bug or not, but since they also disappear in the remakes I think we'll keep the current behaviour.