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

Author Topic: FF1 Archer Class - Possible?  (Read 393 times)

Manall

  • Newbie
  • *
  • Posts: 2
  • INFP Musician & Tinkerer
    • View Profile
    • The Shyster Cave
FF1 Archer Class - Possible?
« on: September 12, 2019, 03:49:20 pm »
Title. Has anyone ever tried it?

The main game change here is an implementation of an arrow animation for only one weapon type only. Since there aren't nearly enough item types and it's just a pain in general, I would guess arrows would not count as actual items and would be assumed to be had in battle at all times.

I thought of this idea a while back as an idea for replacing black belts because their class change is the least significant as it is, and there's not much you the player can do to improve them. They're kind of like automatic win buttons.

Jiggers

  • Sr. Member
  • ****
  • Posts: 254
    • View Profile
Re: FF1 Archer Class - Possible?
« Reply #1 on: September 14, 2019, 05:10:06 pm »
Something like this would require a lot more room in the battle code bank than most hacks allow... Unless you expanded the rom and re-organized everything so you have over 800 free bytes, like I do in my MMC5 project! Without looking at my own project files, here's my best guess on how I'd do it:

Replace the fist sprite with an arrow.

Replace the BB/Master attack sprite to maybe have a bow. This would mean they can't equip any other weapon type, and would attack with the bow when "unarmed" as well. Therefore the weapons sold in shops and in chests would be different arrow types.

Remove the check for BB/Master fist sprites. Not sure how many bytes this would free up. (Edit: I initially thought this would require a big check through weapon types, but then I realized all the game needs is to see what the sprite is. So I said you'd need a lot of space but you need less than I pictured!)

When doing a physical attack, check if the weapon sprite = arrow. If it is, toggle the magic animation on and weapon swing animation off.

Now in my project's magic animation routine, I've got it set so that the spells move forward a few pixels each (or every other) frame. Do another check to see if its using the arrow sprite, and if so, turn off the background flashing effect, and increase the speed of the animation so it moves faster!

With the standard battle screen, the arrow would move through the border between the players and the enemy, and the BB/Master might victory dance with their bow weirdly.

Some of the space issues could be solved, MAYBE, depending on how much free space is in the fixed bank for a small routine that swaps from the battle bank to the weapon equip bank and back--and how much free space is made by deleting the unique BB/Master weapon/armor equip code which I assume you wouldn't need anymore...

~~~~~~

Edit 2: Actually went to try and do it. Removing the BB/Master special code for setting up weapons makes enough free space. You only need a few checks here and there for the right weapon sprite. One for where it draws magic--I set up an off/on variable to cancel the background flashing, and this variable also works to stop the "spell" animation from using the second sprite, thereby keeping the arrow sprite the same throughout.

A simple check in DoPhysicalAttack sets up the "do magic animation", and the rest is in the WalkForwardAndStrike and PrepAttackSprite_AFrame animation code.

This is all, of course, using the disassembly to shift code around willy-nilly, and would need much further tweaking to set up a hack that's compatible with other hacks.

https://youtu.be/sJCEjRiO9p0

Of course they just go straight ahead. I vaguely remember FF3 arrows going up/down toward the targeted enemy... not sure how to do that. Got 63 bytes left though if anyone wants to try that.
« Last Edit: September 14, 2019, 06:53:12 pm by Jiggers »
I know exactly what I'm doing. I just don't know what effect it's going to have.

Jeville

  • Sr. Member
  • ****
  • Posts: 362
    • View Profile
Re: FF1 Archer Class - Possible?
« Reply #2 on: September 15, 2019, 04:20:03 pm »
Can't any archer code be borrowed from FF2?

redmagejoe

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: FF1 Archer Class - Possible?
« Reply #3 on: September 15, 2019, 07:13:36 pm »
Can't any archer code be borrowed from FF2?

It's unfortunately not that simple since each game is built essentially from the ground up in ASM, and there's not really "interchangeable" or "compatible" code between two different games. A rudimentary set of instructions is used to achieve each and every aspect of the game and you would have to either tweak existing code in a way that still works within the parameters defined by the rest of the "engine", or make a lot of free space in the ROM and build it from the ground up.

Best bet would be Jiggers's suggestions.