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

Author Topic: FF1 MMC5 Disassembly Updates  (Read 230954 times)

Vanya

  • Hero Member
  • *****
  • Posts: 1827
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #700 on: October 06, 2020, 12:44:23 pm »
OK, good stuff!
I've done stuff like that before while programming in Game Maker Studio.
Nothing quite like programming essentially the same thing for the fifth time! :3

Yay for more skills!!

Battle Perks are called Weapon Critical Specializations in Pathfinder Second Edition. The only difference is that they are unlocked at specific levels for different classes that have them as class features.

Perks sound like support abilities like in FF5, FF6, and Tactics. Cool beans.
As for ideas...

If you're gonna have DUAL-WIELD then how about it's counterpart, TWO-HANDS?
(NOTE!!! Can you have DUAL-WIELD allow the use of 2 shields like FF2? But instead of not being able to attack you can do a shield bash attack? A bit of a tall order I imagine. Or make it into a separate skill, DUAL-SHIELD.)

You could throw in a couple of the basic auto-status abilities, AUTO-HASTE, AUTO-PROTECT, AUTO-SHELL, & AUTO-REFLECT.

One of my favorites from FF6 was the Sniper Eye relic, which is basically NEVER MISS for physical attacks.

COUNTER! Has a chance to interrupt turn order with a physical attack after taking a hit.

FIRST STRIKE! Increases chances of getting surprise attack on the enemy.

APOTHECARY! 2x the potency of potions and such.


About weapon and armor mastery...
EQUIP X abilities. Very glad to have these in a separate space from everything else.
They are kinda the most boring support abilities, and the perception that they are "taking up space" from more useful ones is something to be avoided.

Great work so far!!

Jiggers

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
    • My Ko-Fi Page
Re: FF1 MMC5 Disassembly Updates
« Reply #701 on: October 07, 2020, 03:49:44 am »
Support abilities! That's the words I was looking for. Perks in the code since that's shorter though.

Unlocking them at certain levels... Something to look into once I set up all the job swapping stuff? Since I wanted to do that with skills. Job levels, not character levels.

Two handed, I guess that's something I should be able to do. Make sure the second hand is empty, then... what would the formula be, for boosting damage, accuracy, critical hit rate?

I'm not coding Relics into this game. Yet. I want to "finish" it before Christmas. XD And still dealing with feature creep with this perk thing! Oi.

Counter is kind of like Parry, the blackbelt skill. I'm not sure about making it automatic. Parry does a little more damage than usual (I think its enemy damage dealt+player's normal attack), at the cost of not doing an attack that round. So its a risk/reward thing, but also delayed; because once activated, it can go off several rounds later, once they're hit. But for one turn they do nothing.

First Strike--I could put that in with the Stealthy perk?

This reminds me I need to finish up swapping the lead character while paused. I want to see different sprites, without messing with the battle formation they're in. That would be how floor damage tiles would be nullified--using your geomancer to lead the party. Should it swap the battle formation, though? If putting a thief in the lead gave the first-strike advantage, but didn't come with the dangers of having your thief taking 50% of the hits... what do you think?

APOTHECARY. I love that one. Should be easily do-able.

I'm not sure I want to think about dual shields after the ordeal weapons have put me through these last few days. XD But another question--what should the formula be for dual-wielding? As I recall, it kind of lowered the weapons' stats a bit, to use two, in most games? A penalty that paid off by two still being stronger than 1, but not super overpowered.

Should shields boost evasion...? They have no evasion penalty, but don't other games make them boost your dodging more than your defense?

Weapon and Armor mastery should be working. It overrides class permissions, and I added 1 byte to all weapons and armor.

Armor types:
Heavy Shield, Heavy Armor, Heavy Helmet, Heavy Gloves; think Fighter/Knight usual stuff.
Light Shield, Light Armor, Light Helmet, Light Gloves; wood, silver, basically.

Things like the White/Black robes, don't have a type byte set, so they're exempt. Along with bracelets. Who can't equip a flippin' bracelet. Though I could use some help adjusting that for some balance, since slapping a gold bracelet on a fighter is pretty OP for damage reduction. So--either adjust those 8 types to include bracelets, then remove the permission bits, so that the player has to work to have both equipped, or... add another type byte? Still got 1000 bytes of space to play with, 64 wouldn't hurt any.

Looks like two might be the way to go anyway, to add more weapon types:
Nunchuck, Staff, Axe, Hammer, Large Sword, Small Sword, Knife -- that's 7. Doesn't separate staves from rods, or take into account the sword variety. I just went by memory of what size the sprite was and gave large/small swords their byte based on mostly "yeah that's something my red mage used if I remember..."

Working on getting start/select buttons to show dual-wielded stats in the Status screen. Then tomorrow, fix the equipment screens again.
I know exactly what I'm doing. I just don't know what effect it's going to have.

I wrote some NES music! Its a legal ROM file. - I got a Ko-Fi page too.

abw

  • Hero Member
  • *****
  • Posts: 556
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #702 on: October 07, 2020, 07:20:39 pm »
APOTHECARY! 2x the potency of potions and such.
APOTHECARY. I love that one. Should be easily do-able.
Usually I find skills like this to be very underwhelming, but in FF1's case, if this also applied to potion use outside of battle, it just might be my favourite perk/support ability!

Jiggers

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
    • My Ko-Fi Page
Re: FF1 MMC5 Disassembly Updates
« Reply #703 on: October 08, 2020, 06:29:06 pm »




I so hope I'm done with this... the logic checks for everything have been SUCH a pain. The whole equipment menu has been a pain without this!

Start/Select should now swap to the weapon screen when equipping something in the shield slot. On the status menu, they will also swap between showing right and left hand damage. The green text won't show up if you can't dual-wield, or if you have a shield or nothing equipped. It only shows up when there's a weapon in that slot!

And one last addition...





Now to wait until I figure out how to calculate damage, hit%, and critical% into one number and re-do EVERYTHING. As it is now, each strike with a weapon will count as a different attack... Instead of just animating each weapon before the final barrage of messages.

I also adjusted the small Z, V, and I tiles, because they were +1 pixel to the right, which just made the gaps between i tiles even weirder looking, considering the small l is not moved over... I never realised how much it bothered me until I kept staring at "M.Evade". (Edit: Actually, looking at it again... I put the i back, but also moved the l over. So only small Z and small V are shifted left 1 pixel.)
« Last Edit: October 08, 2020, 07:02:36 pm by Jiggers »
I know exactly what I'm doing. I just don't know what effect it's going to have.

I wrote some NES music! Its a legal ROM file. - I got a Ko-Fi page too.

Vanya

  • Hero Member
  • *****
  • Posts: 1827
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #704 on: October 08, 2020, 11:49:12 pm »
NOW:

Whoo! That's a lot to unpack. I'll be posting an extensive response later on.



LATER ON:

Pending...

Jiggers

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
    • My Ko-Fi Page
Re: FF1 MMC5 Disassembly Updates
« Reply #705 on: October 09, 2020, 02:37:10 am »
I think I can do Twohanded real easily. Even knock it out before bed.

I added Chemist to out of battle code, feeling good about it. Gave them some extra smokebomb steps too, and Phoenix Downs used by them will fill up HP to half of max. I should probably figure out how to only do that if they're alive though.

Not sure on my feelings about auto-stuff, they seem a bit one-note sorta? A Never-miss is interesting... would that be better as an alternate to the LOCK spell?

I thought of one that might be good: ENDURE. Angel-something in FF6, I think? If an attack will kill you, it instead lowers you to 1 HP. If you only have 1 HP though, grnnk.

Sorry to make another post while you're working on answering all that other stuff, what I really wanted to say was:

https://discord.gg/WaX96eA

I made a Discord server to keep track of my thoughts, plans, and progress better. No one really needs to join it, its basically a notepad file linked up to a program I always have open, and lets me sort things out easier that way.
I know exactly what I'm doing. I just don't know what effect it's going to have.

I wrote some NES music! Its a legal ROM file. - I got a Ko-Fi page too.

Vanya

  • Hero Member
  • *****
  • Posts: 1827
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #706 on: October 09, 2020, 11:41:34 pm »
Support abilities! That's the words I was looking for. Perks in the code since that's shorter though.

Noted. Perks = Support Abilities


Unlocking them at certain levels... Something to look into once I set up all the job swapping stuff? Since I wanted to do that with skills. Job levels, not character levels.

Yes. Job levels.


Two handed, I guess that's something I should be able to do. Make sure the second hand is empty, then... what would the formula be, for boosting damage, accuracy, critical hit rate?

In Pathfinder/D&D holding a weapon in two hands allows you to apply either 1.5x your strength bonus to your damage. Some weapons allow you to apply 2x STR instead. Strength bonus (STR for short) equals your strength score -10 divided by 2, round down.

So for example, a Fighter with a strength score of 17, has a STR of +3.
(17-10=7, 7/2=3.5, round down =3)
If this Fighter equips a Great Sword which does 1d10 damage. You would instead do 1d10+4 damage.

Normally FF1 does this:
Attack = Weapon Attack + STR/2

For our purposes have it do this when using Two Handed:
Attack = Weapon Attack + STR/2 + STR/4

This works out to the same thing as applying 1.5x STR/2 in Pathfinder.


I'm not coding Relics into this game. Yet. I want to "finish" it before Christmas. XD And still dealing with feature creep with this perk thing! Oi.

Actually I meant adding that relic's effect as a perk.


Counter is kind of like Parry, the blackbelt skill. I'm not sure about making it automatic. Parry does a little more damage than usual (I think its enemy damage dealt+player's normal attack), at the cost of not doing an attack that round. So its a risk/reward thing, but also delayed; because once activated, it can go off several rounds later, once they're hit. But for one turn they do nothing.

The basic counter ability in most FF games is just a normal physical attack done in response to being hit by a physical attack. Doesn't work against magic. And there's a chance of it happening, it isn't 100% automatic. So it is functionally different from Parry. It's a bonus attack that just happens sometimes if you're lucky.

You might want to rename Parry, though. Parrying just means to deflect an incoming attack. And your Parry skill is instead more like a Counter Stance.

Anyway, if you were going to do a Counter Attack perk, I'd have be an extra check done after taking a physical hit. Maybe a check against your Speed/Luck stat and if it succeeds, you have the character perform a basic attack before moving on to the next character's turn.


First Strike--I could put that in with the Stealthy perk?

Sure. That works.


This reminds me I need to finish up swapping the lead character while paused. I want to see different sprites, without messing with the battle formation they're in. That would be how floor damage tiles would be nullified--using your geomancer to lead the party. Should it swap the battle formation, though? If putting a thief in the lead gave the first-strike advantage, but didn't come with the dangers of having your thief taking 50% of the hits... what do you think?

My id says it would be sooo much better if it didn't affect party formation.
But my ego says that it makes sense to have the formation change and have it be a trade off.
And then my superego butts in and says that all the later games removed the requirement for the character to be literally in the lead position.
So I'll go with my superego on this one.


APOTHECARY. I love that one. Should be easily do-able.

I love it, too!
And it should indeed work on potions when out of battle, but at least one user of said skill should be alive so that it will activate.


I'm not sure I want to think about dual shields after the ordeal weapons have put me through these last few days. XD But another question--what should the formula be for dual-wielding? As I recall, it kind of lowered the weapons' stats a bit, to use two, in most games? A penalty that paid off by two still being stronger than 1, but not super overpowered.

Correct, most FF games apply a penalty to Attack when Dual Wielding.


In Pathfinder it's called Two-Weapon Fighting.

Normally you take a hefty penalty to hit when you do this.
-6 on your primary hand, and -10 on your off hand.

If you are wielding a light weapon in your off hand reduces these penalties.
-4 on your primary hand, and -8 on your off hand.

If you have the Two-Weapon Fighting feat, it reduces the penalty more and you compensate for your off hand.
-4 on your primary hand, and -4 on your off hand.

And finally, you combing Two-Weapon Fighting with a light off hand weapon for the best results.
-2 on your primary hand, and -2 on your off hand.


Luckily, FF1 doesn't use handedness at all. On the other hand, each weapon has it's own hit rate bonus.
I think the best way to handle this is to apply a penalty to your over all hit% for each weapon.

So normally the formula for your hit rate is this:
Hit% = Weapon Accuracy + Character's Hit%

Instead, if you have two weapons equipped it should use this:
Hit% = (Weapon Accuracy + Character's Hit%) * 3/4


Should shields boost evasion...? They have no evasion penalty, but don't other games make them boost your dodging more than your defense?

In most later games Shields primarily increase your evasion. Usually they also raise your defense.

The simplest thing is to have shields increase your evade, but that should be offset by reducing the static evade value you always have. (Evasion = 48 + AGL - Armor Weight)
By how much depends on the maximum evade bonus you want shields to have.
Of course this also means that at level with no shield, your characters become punching bags.


Weapon and Armor mastery should be working. It overrides class permissions, and I added 1 byte to all weapons and armor.

Armor types:
Heavy Shield, Heavy Armor, Heavy Helmet, Heavy Gloves; think Fighter/Knight usual stuff.
Light Shield, Light Armor, Light Helmet, Light Gloves; wood, silver, basically.

Things like the White/Black robes, don't have a type byte set, so they're exempt. Along with bracelets. Who can't equip a flippin' bracelet. Though I could use some help adjusting that for some balance, since slapping a gold bracelet on a fighter is pretty OP for damage reduction. So--either adjust those 8 types to include bracelets, then remove the permission bits, so that the player has to work to have both equipped, or... add another type byte? Still got 1000 bytes of space to play with, 64 wouldn't hurt any.

Looks like two might be the way to go anyway, to add more weapon types:
Nunchuck, Staff, Axe, Hammer, Large Sword, Small Sword, Knife -- that's 7. Doesn't separate staves from rods, or take into account the sword variety. I just went by memory of what size the sprite was and gave large/small swords their byte based on mostly "yeah that's something my red mage used if I remember..."

This whole thing is a bit complicated because of the way the armor types and the equipment slots are set up. Since permissions are separate from armor types that means that a given class will have considerably different options if permissions are removed from the game. Plus the names used for some equipment confuses things a bit.

Right now bracelets are an accessory slot item, that means that anyone can use them and they can stack with other armor, right? The problem is that in the original game they were used as armor that would go into the body slot.

If we change them back to armor then they should use the light armor type and get them a new icon for breastplate/cuirass. But if they stay as accessories they need to be rebalanced and now the game would be missing 4 armors.

So... I think what I would do is turn them back to armors similar to FF2 without changing the stats...

Copper Bracelet -> Copper Vest
Silver Bracelet -> Silver Vest
Gold Bracelet   -> Gold Vest
Opal Bracelet   -> Opal Vest

...and add 4 new bracelets:

Copper Bracelet -> +1 Defense, -1 Evade, +4 M. Evade
Silver Bracelet -> +2 Defense, -1 Evade, +8 M. Evade
Gold Bracelet   -> +3 Defense, -1 Evade, +16 M. Evade
Opal Bracelet   -> +4 Defense, -1 Evade, +32 M. Evade

As for weapon types, those seem fine. Ideally, having katanas be their own thing would be fine.
There really aren't any rods in the game, they are all staves of some kind or another.
And maybe call them Swords and Knight Swords instead?



Working on getting start/select buttons to show dual-wielded stats in the Status screen. Then tomorrow, fix the equipment screens again.

[img]

[img]

I so hope I'm done with this... the logic checks for everything have been SUCH a pain. The whole equipment menu has been a pain without this!

Start/Select should now swap to the weapon screen when equipping something in the shield slot. On the status menu, they will also swap between showing right and left hand damage. The green text won't show up if you can't dual-wield, or if you have a shield or nothing equipped. It only shows up when there's a weapon in that slot!

And one last addition...

[img

[img]

Now to wait until I figure out how to calculate damage, hit%, and critical% into one number and re-do EVERYTHING. As it is now, each strike with a weapon will count as a different attack... Instead of just animating each weapon before the final barrage of messages.

I also adjusted the small Z, V, and I tiles, because they were +1 pixel to the right, which just made the gaps between i tiles even weirder looking, considering the small l is not moved over... I never realised how much it bothered me until I kept staring at "M.Evade". (Edit: Actually, looking at it again... I put the i back, but also moved the l over. So only small Z and small V are shifted left 1 pixel.)

Groovy! That came out great! I like it better than having the stats combine into some wierd numbers.


I think I can do Twohanded real easily. Even knock it out before bed.

Also, groovy!


I added Chemist to out of battle code, feeling good about it. Gave them some extra smokebomb steps too, and Phoenix Downs used by them will fill up HP to half of max. I should probably figure out how to only do that if they're alive though.

Awesome! I dig all the specifics.



Not sure on my feelings about auto-stuff, they seem a bit one-note sorta? A Never-miss is interesting... would that be better as an alternate to the LOCK spell?

They are pretty simplistic, yeah. How about having one that works as a reaction and can have various results? For example if you get hit by a physical attack, you have a chance to auto-protect, get hit by magic for an auto-shell or an auto-reflect if you're lucky, and maybe work in the elemental barrier spells to as a reaction to big spells that hit the whole party? Maybe make the reactions depend on which spells you know?

The sniper sight/never miss one would be a top tear perk for the thief or ninja or some other appropriate class, but it could be a new spell too.



I thought of one that might be good: ENDURE. Angel-something in FF6, I think? If an attack will kill you, it instead lowers you to 1 HP. If you only have 1 HP though, grnnk.

Nice! I like this one a lot.



Sorry to make another post while you're working on answering all that other stuff, what I really wanted to say was:

https://discord.gg/WaX96eA

I made a Discord server to keep track of my thoughts, plans, and progress better. No one really needs to join it, its basically a notepad file linked up to a program I always have open, and lets me sort things out easier that way.

No worries!

I jumped on over there already!
« Last Edit: October 09, 2020, 11:57:59 pm by Vanya »

Jiggers

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
    • My Ko-Fi Page
Re: FF1 MMC5 Disassembly Updates
« Reply #707 on: October 19, 2020, 04:32:13 pm »
Worked in your numberifications for Twohanded and Dual Wield!

Yeah, you're right, Counter and Parry are different. (And Parry needs to be renamed; it would have been Counter if I had an extra letter XD) I can put Counter in. I'm going to make 2 perk bytes. The game doesn't need to check both every time; it just needs to know when to check which one!

I've set up a little dot in the menu screen, to denote party leader. Its just 1 byte in save RAM, the index of the character. To switch, pressing START in the menu will loop through the 4, or pressing START or SELECT when the cursor is pointing at a character in any of the selection moments on the main menu--so choosing whose status to look at, switching the party around, any of that will work. Doing it on the overworld was a nightmare.

I'll leave shields be, it will complicate things too much. Its already going to be weird that they have no "Weight" in shop descriptions. I should change that word. There. Added a minus sign in front of the evade penalty!



Quote
If we change them back to armor then they should use the light armor type and get them a new icon for breastplate/cuirass.

Pretty much what I was going to do, right down to making new things with more M. Evade! There's still room for 24 more items of armor as well.

I've added 2 more bytes for weapon and armor masteries, which means going to need to adjust data tables again...

Quote
They are pretty simplistic, yeah. How about having one that works as a reaction and can have various results? For example if you get hit by a physical attack, you have a chance to auto-protect, get hit by magic for an auto-shell or an auto-reflect if you're lucky, and maybe work in the elemental barrier spells to as a reaction to big spells that hit the whole party? Maybe make the reactions depend on which spells you know?

"Pretty simplistic" does not match the rest of what you just said in terms of coding... XD

There's also the part where it needs to be explained to the player what just happened... Would it just be like magic, without the graphics? Flash the background, flash the character, pop up a message box saying "Defense up!"?

(Heck of a lot of update info on the Discord too. Been busy! Hoping I can get a stable release in a week, with no more crashing in battle and being able to level up and progress again.)

October 20, 2020, 08:05:47 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Thinking of redoing the battle formation table. As it is now, there are 127 different enemy combinations, locked to the same 4 enemy types per battle. There are in fact 256 battles--A formation, and B formation, where B formation uses only 2 of the possible 4 enemies.

My plan would involve making 256 unique battles. Each one would allow 4 different enemy types from any graphic set. I will stick to the 3 main battles: 9 small, 4 large, 8 mix.

I Mayyy attempt another go at editing palettes mid-frame, between the backdrop and the enemy tiles. This would involve going through the whole game to make sure music plays at the start of the frame, do the palette swap, then tackle box drawing code, then swap back to palette swap for the last 1/3rd of the screen... *whimper* Bad idea, bad idea, but I want it so much...

If that proves impossible, this just gets simpler though.

Code: [Select]
SMALL 9:
00 Formation Strengths/Battle Type: 1111 1 < Formation Strengths; 111 < Battle Type
01 ID 1: ##
02 ID 2: ##
03 ID 3: ##
04 ID 4: ##
05 Min/Max ID 1: yX ; this enemy has priority--there will likely be more of this kind than the others
06 Min/Max ID 2: yX
07 Min/Max ID 3: yX
08 Min/Max ID 4: yX ; this enemy will be more rare
09 Palette 1: ##
0A Palette 2: ##
0B Palette 3: ##
0C Palette Assignment: 11 11 11 11 < 2 bits per enemy
0D Run Flag/Surprise Factor: 1 < run flag ; 111 1111 < surprise factor

LARGE 4:
00 Formation Strengths/Battle Type: 1111 1 < Formation Strengths; 111 < Battle Type
01 ID 1: ##
02 ID 2: ##
03 ID 3: ##
04 ID 4: ##
05 Min/Max ID 1: yX ; this enemy has priority--there will likely be more of this kind than the others
06 Min/Max ID 2: yX
07 Min/Max ID 3: yX
08 Min/Max ID 4: yX ; this enemy will be more rare
09 Palette 1: ##
0A Palette 2: ##
0B Palette 3: ##
0C Palette Assignment: 11 11 11 11 < 2 bits per enemy
0D Run Flag/Surprise Factor: 1 < run flag ; 111 1111 < surprise factor

MIX 8: (most like vanilla FF1)
00 Formation Strengths/Battle Type: 1111 1 < Formation Strengths; 111 < Battle Type
01 Large ID 1: ##
02 Large ID 2: ##
03 Small ID 3: ##
04 Small ID 4: ##
05 Min/Max ID 1: yX ; this enemy has priority--there will likely be more of this kind than the others
06 Min/Max ID 2: yX
07 Min/Max ID 3: yX
08 Min/Max ID 4: yX ; this enemy will be more rare
09 Palette 1: ##
0A Palette 2: ##
0B Palette 3: ##
0C Palette Assignment: 11 11 11 11 < 2 bits per enemy
0D Run Flag/Surprise Factor: 1 < run flag ; 111 1111 < surprise factor

Formation Strengths:
1 Double HP
2 Double Defense/Evade
3 Double Attack/Hit%
4 Double Gold
5 Double EXP

I'm most excited about the Strengths idea--which was very last minute and sort of "what could I do to fill up those last bits not being used?". Giving strength bits to a battle, you could use a different palette to indicate "this is not the enemy you remember". The game sort of does this with the "grey" enemies, like imps and wolves. They're not that different, they don't have fancy AI, they're just slightly tougher. So with this system, you could pare down the enemy list and make more unique types!
« Last Edit: October 20, 2020, 08:05:47 pm by Jiggers »
I know exactly what I'm doing. I just don't know what effect it's going to have.

I wrote some NES music! Its a legal ROM file. - I got a Ko-Fi page too.

Vanya

  • Hero Member
  • *****
  • Posts: 1827
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #708 on: October 20, 2020, 09:13:06 pm »
1) Loved, "numberfications"! Will steal for later use! :3

2) No way to squeeze in 1 more character? There really isn't a good alternative to Counter.
I'd even take squish tiles at this point!

3) Love the dot!! Having different controls in different places for the same thing could be confusing to player. Maybe drop using select and stick to start, or use select for all of them. Actually, yeah, I think select should be the thing that switches leader. It jives more with the original controls, I think.

4) Much better! People will understand an evasion penalty better than a weight stat that no other FF game has off the top of my head.

5) Great minds...! 24 more armor slots to fill? If you want, I can fill those for you if you haven't already. I have done like 3 iterations of a design document for a remake of FF1 over the years, so I pretty much already have a ton of stuff readily available for use.

6) Well, the individual auto-skills are simplistic. My idea is anything but. As for the battle effects, it would literally use a copy of the existing spell and the pop-up could say something as simple as, "Used ABC: XYZ!", where 'ABC' is the name you choose for the ability and 'XYZ' is the name of the spell used.

7) Battle formation upgrade sounds great! I like the flexibility it provides in making simple iterations of monsters. It'll make setting up some of the bonus content from the later remakes much easier too. Groovy!

Jiggers

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
    • My Ko-Fi Page
Re: FF1 MMC5 Disassembly Updates
« Reply #709 on: October 20, 2020, 10:46:00 pm »
2) Oh I meant I only had 5 to work with to fit them on the menu before. Now they can be 8. Or 9? I forget the shop view limit. If skills aren't in shops they can be 12 or 11, or however long the enemy roster box is.

3) Hmm... Select is used to switch to party-arrange mode, so maybe just start?

4) This was my original idea, I think, but I couldn't figure out how to get the - to sit flush against the numbers. Now I can! Because I got smort.

5) Go for it! I'll upload the latest changes, and you can take a peak at things I added in for the armor data as well. Not sure they'll all work out, but there's some new options I'm excited to play with.

6) Hhmm! We'll see what can be done. I really actually enjoy putting all these little things in, more than the arranging big chunks of code. As it is, it may end up being 3 battle banks instead of 2. Need to get lots of data moved somewhere else to let B be a playground for random checks or magic effects.

I can be pretty darn silly... Jiggers 5 days ago: "I don't want to make relics!" Jiggers last night: *makes relics* "Huh that was easy."



I'd sell a kidney for a tool that could convert battle domain data to something I understand and can edit to put back in... I sooort of get it now, at least I know that each value is a battle ID. So... wow. All this time hunting Kyzokus to farm gold and I should have been sailing in a straight up/down line... :P

Now I'm plotting how I can make this better. If every domain is 8x8 tiles... 960 bytes of data. Double that, 1920. 4x4 domain size. Double that, 3840. 2x2. And still only $F00 bytes. Double that, for two overworlds, $1E00 bytes. Not even half a bank yet. Stick that in Bank 8. (Oops, misread the FAQ I was reading. Its 32x32 tiles... but I'd basically be swapping it around, to make 8x8 size areas!? In a 32x32 grid across the whole map!)

And Oceans. Oceans don't have to be 8 whole battles. Inner sea should be its own domain. Outside should have harder enemies.

Update: Right, figured it out. And made oceans bigger. And gave rivers a northwest/northeast/southwest/southeast square.

The only problem is now I have no idea how to shift the X and Y coordinates to read from this giant table and all that.  :D

Update 2: Took all last night and a bit of this afternoon, but I've got the math looking good. Unfortunately, I don't think I did 8x8 size domains, but 16x16 is still twice the fidelity of the original, so I'm happy with that.
« Last Edit: October 21, 2020, 07:33:35 pm by Jiggers »
I know exactly what I'm doing. I just don't know what effect it's going to have.

I wrote some NES music! Its a legal ROM file. - I got a Ko-Fi page too.

Vanya

  • Hero Member
  • *****
  • Posts: 1827
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #710 on: October 22, 2020, 07:18:47 am »
2) Oh! Well that's great then. I don't see why perks should be in any shop.

3) Yeah. Just start then.

4) I wish I had the time to really get smort about my lacking ASM skills.

5) Groovy! I'll dig up my documents and get the newest update. :D

6) Also groovy! If it works out can we call it Auto-Veil? "Used Auto-Veil: Protect!"

Yay for relics! Gut reaction is that they should really rare items, almost like quest items except you can have multiples in your inventory.



Nice! That should certainly be enough to correct the "peninsula of power" error. Assuming we even want to "fix" it. It IS sort of a classic feature now really. I'm, leaning towards keeping it.

Jiggers

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
    • My Ko-Fi Page
Re: FF1 MMC5 Disassembly Updates
« Reply #711 on: October 22, 2020, 03:38:55 pm »
2) Oh, I mean skills. Counter-Skill has to fit inside the shop inventory box. Support abilities... yeah, those only have to fit inside whatever menu screen we design for them. Or if there is like a support ability shop, I can name the ITEM something else, have the description explain what it does, then use a different name in menus and battle messages.

6) "Bzt! Auto-Veil Activation: Engage Re: Protect" ... its only 15 lines longer than the screen. Will I make horizontal-scrolling battle text just to joke around with Mecha Warriors of Light? Its possible.
 
Oh man, I want to keep the peninsula too!
I know exactly what I'm doing. I just don't know what effect it's going to have.

I wrote some NES music! Its a legal ROM file. - I got a Ko-Fi page too.

Vanya

  • Hero Member
  • *****
  • Posts: 1827
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #712 on: October 23, 2020, 12:39:39 am »
2) Ah! My bad, got them mixed up. Parry is the skill, Counter would be the support ability that.
And Parry needed the new name and had to fit in the shop limits, right? Thinking about it just now Parry reminds me more or less of the Retort ability Cyan has in FF6. So maybe we can call it that? And Counter can be Counter Stance or something since it won't appear in shops? Did I finally get that right in my head?

6) :3

Peninsula of power forever!!
ಠ_ರೃ Perhaps we could alter the map to give it a unique appearance?

Jiggers

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
    • My Ko-Fi Page
Re: FF1 MMC5 Disassembly Updates
« Reply #713 on: October 24, 2020, 04:54:48 pm »
Yeah, Parry needs the new name. Counter can just be Counter, since that's what it is in FF5I think. Something about the word "Retort" bothers me, but Riposte is after a parry... though I guess, maybe the Parry skill could be changed to halve enemy damage taken, then put the full amount of damage into the counter-attack...?

You can alter maps all you want! I'm done touching them. XD I still need to clean up the GitHub map folder to clear out any files that people can create themselves with the tools provided, without deleting whatever the game needs to build...

I haven't updated the GitHub with the stuff I said! Oops. Doing that soon I hope.

While working on the new battle formation data and re-doing the way enemy graphics are loaded (very close to complete!), I noticed something interesting.

Lich has 2-3 graphic tiles that aren't used, because the tile arrangement data pushes it 2 blank tiles to the right. The missing tiles are on the right of Lich, so they get cut off. The fix for this would be to shift Lich back 1 tile, put the 0s on the right side, and put the missing tile values in.

Code: [Select]
.byte $00,$00,$47,$48,$49,$4A,$4B,$00
.byte $00,$00,$4C,$4D,$4E,$4F,$50,$51
.byte $00,$00,$52,$53,$54,$55,$56,$57 ; 58
.byte $00,$00,$59,$5A,$5B,$5C,$5D,$5E ; 5F
.byte $00,$00,$60,$61,$62,$63,$64,$65 ;
.byte $00,$00,$66,$67,$68,$69,$6A,$6B ; 6C
.byte $00,$00,$6D,$6E,$6F,$70,$71,$72
.byte $00,$00,$73,$74,$75,$76,$77,$78

^ Original
v Fix

Code: [Select]
.byte $00,$47,$48,$49,$4A,$4B,$00,$00
.byte $00,$4C,$4D,$4E,$4F,$50,$51,$00
.byte $00,$52,$53,$54,$55,$56,$57,$58 ; 58
.byte $00,$59,$5A,$5B,$5C,$5D,$5E,$5F ; 5F
.byte $00,$60,$61,$62,$63,$64,$65,$00 ;
.byte $00,$66,$67,$68,$69,$6A,$6B,$6C ; 6C
.byte $00,$6D,$6E,$6F,$70,$71,$72,$00
.byte $00,$73,$74,$75,$76,$77,$78,$00

Although this might skew the attributes? I'm not gonna bother figuring it out right now...

Code: [Select]
.byte $30,$00,$00,$00 ; Lich attributes
.byte $33,$44,$56,$00
.byte $33,$44,$55,$00
.byte $F3,$F0,$F0,$F0

Since I'm doing away with this code anyway, having each fiend load up the same way, in the same spot, I'll need to go over the attribute data later. See if my ideas even work.

The second thing I found out is that Chaos is missing a tile on his foot/tail.

Code: [Select]
.byte $00,$00,$00,$12,$13,$00,$14,$15,$16,$17,$00,$00,$00,$00
.byte $00,$00,$18,$19,$1A,$1B,$1C,$1D,$1E,$1F,$20,$00,$00,$00
.byte $00,$21,$22,$23,$24,$25,$26,$27,$28,$29,$2A,$2B,$00,$00
.byte $00,$2C,$2D,$2E,$2F,$30,$31,$32,$33,$34,$35,$36,$37,$00
.byte $38,$39,$3A,$3B,$3C,$3D,$3E,$3F,$40,$41,$42,$43,$44,$00
.byte $45,$46,$00,$47,$48,$49,$4A,$4B,$4C,$4D,$4E,$4F,$50,$51
.byte $52,$00,$00,$00,$53,$54,$55,$56,$57,$58,$00,$00,$00,$59
.byte $00,$00,$00,$00,$5A,$5B,$5C,$5D,$5E,$5F,$60,$00,$00,$00
.byte $00,$00,$00,$00,$61,$62,$63,$00,$64,$65,$66,$00,$00,$00
.byte $00,$00,$00,$67,$68,$69,$6A,$6B,$6C,$6D,$6E,$00,$00,$00
.byte $00,$00,$00,$6F,$70,$71,$00,$00,$00,$72,$73,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$75,$00,$00,$00

Right before the $72, there should be a $74. Looks like a tail spike/foot claw sort of thing when pieced in.



But, while discussing where it might supposed to be put...


IS it a mistake, or is it something for the Cutting Room Floor?





I realized I have space in background tiles for each enemy to have their own graphics, the way FF3 does. If someone were so inclined, they could write a little routine that dissolves each tile of a specific enemy upon their death.

A "Transmogrify" spell could also be applied...? Have wizards change baby enemies into scarier ones. I'd need to cut up the enemy loading routines into smaller chunks to be used situationally, but that should be no problem.

I also learned of a way to set enemies to the grey palette, so they can actually be stoned.

If I remove Level from an enemy's data table--which is really only used for Stealing (which could use Morale instead, as that's compared against level for fleeing purposes isn't it?)--I could add in a preset ailment, so we could have an enemy start out as stone, in a mixed battle with smaller guys, who could cast a form of SOFT. Kind of a DPS race--FF14 does this in some of the dungeons, where you have to kill mobs before they trigger bigger enemies into play.

« Last Edit: October 25, 2020, 01:23:29 am by Jiggers »
I know exactly what I'm doing. I just don't know what effect it's going to have.

I wrote some NES music! Its a legal ROM file. - I got a Ko-Fi page too.

Vanya

  • Hero Member
  • *****
  • Posts: 1827
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #714 on: October 25, 2020, 01:15:08 am »
Riposte works great and you see it used often enough in pen-and-paper RPGs.

I noticed those "missing" tiles years ago when I first started messing with hacking graphics.

I'm pretty sure the Chaos tile is an error because otherwise the foot looks like it's missing a chunk. The question is if the unused tile has the correct graphics in the first place since they look a little wierd when placed.
It could be an unfinished tile from when Amano's artwork was being converted to pixels.
It could have been left out by mistake. I think we should put it back in place, but not edit it at all and leave it up to users what they want to do with it.



Telegram:
Quick test report. Stop.
Inventory and actually equipping things are borked. Stop.
Learning spells is borked. Stop.
Battles are borked. stop.
Added negative symbol for armor evasion is glorious. Stop.
That is all. Stop.
« Last Edit: October 26, 2020, 09:51:28 pm by Vanya »

Jiggers

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
    • My Ko-Fi Page
Re: FF1 MMC5 Disassembly Updates
« Reply #715 on: October 28, 2020, 06:10:29 pm »
Aw, I was hoping I was the first. Of course, why would I be...?

It does look like there's a chunk missing from his foot. Its hard to tell if the graphics are faulty, or the tile arrangement. Of the 5 enemies that use custom tile arrangement, all the graphics are fine, and only Lich is missing tiles in the arrangement part. So its possible that the graphics part came in bad, the person doing the arrangement went "WTF" and just ditched the tile in the arrangement due to maybe time constraints...? But then they did update things while releasing it to America, so why not fix it then, unless the people doing the fixing didn't notice it as a problem and weren't told?

I'd be more inclined to make his foot look normal...

Hm, are you using the latest? Lemme update again real quick.

The only inventory error I can find is that equipping when buying in shops doesn't work. It takes your money and leaves the old gear on without putting the new gear anywhere. I'm thinking of taking that option out anyway. It adds extra steps to buying single items, requires extra finicking with the cheer pose system, and with the speed of menus + the inventory screen allowing for better comparisons, I'd rather buy something than go equip it in the menu and get a better sense of upgradity anyway.

I can't find anything wrong with learning magic. What spells did you try?

Battles are absolutely borked though. XD
I know exactly what I'm doing. I just don't know what effect it's going to have.

I wrote some NES music! Its a legal ROM file. - I got a Ko-Fi page too.

Vanya

  • Hero Member
  • *****
  • Posts: 1827
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #716 on: October 29, 2020, 02:33:23 am »
Aw, I was hoping I was the first. Of course, why would I be...?

It does look like there's a chunk missing from his foot. Its hard to tell if the graphics are faulty, or the tile arrangement. Of the 5 enemies that use custom tile arrangement, all the graphics are fine, and only Lich is missing tiles in the arrangement part. So its possible that the graphics part came in bad, the person doing the arrangement went "WTF" and just ditched the tile in the arrangement due to maybe time constraints...? But then they did update things while releasing it to America, so why not fix it then, unless the people doing the fixing didn't notice it as a problem and weren't told?

I'd be more inclined to make his foot look normal...

Re-discovery is just as important, and you're getting the 1up by actually doing something about it! :3

Have you tried comparing the graphics to the original illustration?
Here's a link:
https://static.wikia.nocookie.net/finalfantasy/images/f/fd/Chaosamano.png/revision/latest?cb=20120625081217

It's reversed compared to the in game graphic, but you see the little lines coming off the bottom of the tail? Almost like his tail is sprouting another mini-tail. Could that be it?



The only inventory error I can find is that equipping when buying in shops doesn't work. It takes your money and leaves the old gear on without putting the new gear anywhere. I'm thinking of taking that option out anyway. It adds extra steps to buying single items, requires extra finicking with the cheer pose system, and with the speed of menus + the inventory screen allowing for better comparisons, I'd rather buy something than go equip it in the menu and get a better sense of upgradity anyway.

Yeah, I agree. It's kind of a pain in the ass to say no every time it asks and most of the other games ditch this feature anyway.



Hm, are you using the latest? Lemme update again real quick.

Dunno, I'll try again...

EDIT: Gave me an error while trying to build the ROM. Seems that it's looking for Kary_Fix.chr but not finding it. And the reason is that the file is named KaryFix.chr instead. I fixed the file name and it built with no issues. Now to give it a try...

EDIT2: OK. Now we're cooking with gas. Most things seem to be fine now so I probably got an earlier build before.

- Selling in the armor shop is borked. It seems to be referencing the wrong offset when reading the armor inventory. Say, is there any way to consolidate the sell list into a single list? Or at least let me switch between the inventories while in the shop? It's not realistic, but most later games let you sell off your junk in any store, right?

- Black Magic Shop is selling white spells instead. Learning spells seems to be fine.

- In the inventory screens it includes the item the character is wearing. This could lead to some confusion for players, so maybe exclude the one your character is wearing from the inventory list?

- Secret treasure in Cornelia says I got a Masamune, but I received a chicken knife as normal.
BTW, did the secret treasure chest in Cornelia eat the dude from Pravoka?

- Suggestion: when selecting quantities in shops, add in the ability to increment the amount by +10 when pressing up, and -10 when pressing down. It'll make it even easier to buy and sell items.

- The spell icon looks like a shuriken. Is that intentional?
« Last Edit: October 29, 2020, 03:26:21 am by Vanya »

Jiggers

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
    • My Ko-Fi Page
Re: FF1 MMC5 Disassembly Updates
« Reply #717 on: October 29, 2020, 04:12:31 pm »
Woah, I have never seen this. That's neat! But I think... the missing tile isn't in this picture. That extra thing looks like the tip of his wing. The one on our right looks like it didn't get inked in... Hm. Well I changed the tile to one pixel of flesh and an extra pixel of claw so that it looks more curved; I like it. I named that version after myself so people can use the old one still if they want. Two pixels, but I'm sure someone will notice and care!

Yay, deleting code is another favourite of mine. (It means I can make more.)

* Whoops, I didn't build the rom to check after replacing the fiend graphics incbin names...

* Hrm. A lot of shop/inventory stuff is depending on "shop_type" being set... I suppose I can back that up, or use a tmp byte. Use left/right to switch inventory modes while selling? I'll put it on The List.

* Black Magic Shop is selling white spells instead. Weird. Its not for me..

* In the inventory screens it includes the item the character is wearing. This could lead to some confusion for players, so maybe exclude the one your character is wearing from the inventory list? Hhmmm. We'll see, but I'm not sure about tampering with it anymore. Its finicky and it might be that way for a reason I don't remember. What happens is when you enter that screen, it removes what you were wearing. Then when you hover over a blank spot, it shows your stats without anything equipped. When you hover over a different item, it equips it, then pressing A just exits. So maybe I can swap the "Add previous item to inventory" part when pressing A on something else... But should hovering over a blank spot show the stats with the item equipped, or nothing equipped in that slot? (I may also be able to add the lead party dot to the item equipped to show "this is what you have now"?)

Update: The armor shop is checking the right offset, but its not converting the item ID properly... So a cloth armor turns it into a nunchuck, which then DOES try to sell the non-existant nunchuck. Weird.
Update 2: Fixed it!
Update 3: While I've gotten most of the legwork for swapping inventories during selling, the logic with re-drawing the inventory and the behavior of swapping to an empty inventory started to annoy me too much. Not in a good enough mood to deal with it, so I'm scrapping it, but I'm leaving my work in there so you can fiddle with it. Maybe in a few days I'll go back to it...

* Yeah, treasure chests are borked too still!! But where did that Pravoka guy go??? I'll try to track him down.
Update 5: Found him, my NPC count for Coneria was off by 1, so he wasn't being loaded at all. Double-checked the other maps, no more people should be missing... or added.

* Suggestion: when selecting quantities in shops, add in the ability to increment the amount by +10 when pressing up, and -10 when pressing down. It'll make it even easier to buy and sell items. This is one of those "give an inch" things... XD I'll see if the direction movement code can handle that.
Update 4: That wasn't so bad.

* The spell icon looks like a shuriken. Is that intentional? Sorta! I wasn't happy with the orb icon for the different colors. I tried to make an icon that was clearly "magic", looked nice with the 4 color schemes, and didn't look like the "ice" element icon.
« Last Edit: October 29, 2020, 10:38:14 pm by Jiggers »
I know exactly what I'm doing. I just don't know what effect it's going to have.

I wrote some NES music! Its a legal ROM file. - I got a Ko-Fi page too.

Vanya

  • Hero Member
  • *****
  • Posts: 1827
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #718 on: October 30, 2020, 12:31:59 am »
Just tried the latest update.
Black Magic Shop is fine now so I dunno what happened there.
Didn't check anything else yet.

About the inventory thing... That's what I figured it was doing. The thing is that as clever as that is it could throw people off because pretty much no other RPG that I know of does that. The majority of people will be used to your gear staying equipped. Really it just comes down to how the data is displayed.

So to make it more like other games would take a pretty substantial change in the code, I think.
Going into the menu would not remove your gear.
Hovering over an empty slot would display your current stats minus the equipped gear's stats.
Hovering over another piece of gear would display your current stats minus your your equipped gear's stats plus the stats of the gear you're hovering over.
Then pressing A would remove your equipped gear, equip the new gear, and exit the inventory.
(Doing so on an empty slot would just remove your equipped gear before exiting the inventory.)
And finally, pressing B would exit out of inventory without changing your equipment at all.
That would be a pretty big change since you'd need to overhaul the stat display and exit routines.
-OR-
You could have it so that the equipped gear is removed, but instead of adding it to your inventory, it is added to a special temp inventory that only holds a single equipment ID. That way your equipped gear isn't counted as being in the inventory but can still be recovered if you exit with B.

What do you think?
« Last Edit: October 30, 2020, 06:12:08 am by Vanya »

Jiggers

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
    • My Ko-Fi Page
Re: FF1 MMC5 Disassembly Updates
« Reply #719 on: October 30, 2020, 02:15:17 am »
Actually... what you just said is pretty much how it works?

When you go into the screen, the item you're wearing is saved as "item to be removed", and is added into inventory. When you press B, its removed from the inventory again and re-equipped. Pressing A uses "item to be equipped" instead. So the only change would be to simply not add the "item to be removed" to inventory until A is pressed.

BUT, I think the reason I had this in, was that if "item to be removed" is the only item of its kind, it would be visible in the equipment bag so that you could hover over it to see its stats. Otherwise, you have to keep the old stats in mind while browsing...

... *sigh* ...

You know the solution I like best? The one that's going to take me a whole day to do.

Your current stats should be displayed on the left side of the description box, while newer stats are displayed on the right. There's no reason for weapons to change defensive stats (and I don't want to code that!), and while it would be wicked cool for an accessory to boost those 3 weapon stats... don't think about it... don't think about it!

So while browsing weapons, it displays old Damage > New Damage, and so on. Armor: Old Defense > New Defense. And then we can leave the "item to be removed" out of the list.

(also update again before you try more, I murdered the menu briefly and fixed it just before writing that reply)
« Last Edit: October 30, 2020, 02:22:24 am by Jiggers »
I know exactly what I'm doing. I just don't know what effect it's going to have.

I wrote some NES music! Its a legal ROM file. - I got a Ko-Fi page too.