News:

11 March 2016 - Forum Rules

Main Menu

Breath of Fire - Faster walking

Started by nintendo_nerd85, September 01, 2017, 04:03:10 PM

Previous topic - Next topic

nintendo_nerd85

I love this game, it has a special place in my heart and I love the story and far superior translation to the second game (barring the re-translation). But the only thing that absolutely kills it, is the lack of a faster walking speed. The GBA port has the dash feature, sure, but the GBA port has very weak audio and without the color hack, washed out colors. I tried looking for the offsets that control Ryu's walking speed, but to no avail. Where would I even look to change walk to dash? Is it even feasible for this to be achieved? Any help is appreciated. Please, and thank you  :D

FAST6191

First step is if there is a feature (some games include it as an equipable item or something). If so there is likely a flag or value to allow it and you can use that. I see there is a monster avoidance so you would do something like this if you wanted a no encounters cheat. That said it appears it was a feature added to the GBA and is not there on the SNES in any capacity.

After that yeah it is hacking time. A simple twice as fast thing should be well within the realm of possibility, the times it gets tricky are when you want to move hundreds of times faster on older games (a modern PC game will probably assign a floating variable or something and that allows that, multiply SNES 16 bit fixed length values by hundreds and you can come unstuck).

The actual speedup can be similar to speeding up games mods but the general idea is movement is animation, speed up the animations (or get it to reach its end points faster) and you speed up the game.
I will start by watching some gameplay, may my ears forgive me
https://www.youtube.com/watch?v=JoCM5QWVL2k
In this case it is a one square per press type thing as opposed to a move anywhere in micro steps affair which could be important. There also appear to be a whole bunch of animation frames that play during that.
Even though the SNES speed is paltry compared to the things of today it still operates at 60fps which is faster than humans can interpret quickly so there will be certain timers to say wait ? frames and then swap in the walk* sprite and move a couple of pixels in the relevant direction, repeat for all sprites until finished moving said square. The GBA version appears to have something like this.

This will be an assembly hack, however it should be an in place one for the most part if you can find the values it has to wait for (or convince it to add 2 to the counter for every period it waits rather than 1) without any radical retooling.

Doing that will have an always on effect, however it would not be the hardest to add a check for a button press and then make an if pressed then double speed type setup.

nintendo_nerd85

Quote from: FAST6191 on September 01, 2017, 05:13:14 PM
First step is if there is a feature (some games include it as an equipable item or something). If so there is likely a flag or value to allow it and you can use that. I see there is a monster avoidance so you would do something like this if you wanted a no encounters cheat. That said it appears it was a feature added to the GBA and is not there on the SNES in any capacity.

After that yeah it is hacking time. A simple twice as fast thing should be well within the realm of possibility, the times it gets tricky are when you want to move hundreds of times faster on older games (a modern PC game will probably assign a floating variable or something and that allows that, multiply SNES 16 bit fixed length values by hundreds and you can come unstuck).
The actual speedup can be similar to speeding up games mods but the general idea is movement is animation, speed up the animations (or get it to reach its end points faster) and you speed up the game.
I will start by watching some gameplay, may my ears forgive me
https://www.youtube.com/watch?v=JoCM5QWVL2k
In this case it is a one square per press type thing as opposed to a move anywhere in micro steps affair which could be important. There also appear to be a whole bunch of animation frames that play during that.
Even though the SNES speed is paltry compared to the things of today it still operates at 60fps which is faster than humans can interpret quickly so there will be certain timers to say wait ? frames and then swap in the walk* sprite and move a couple of pixels in the relevant direction, repeat for all sprites until finished moving said square. The GBA version appears to have something like this.

This will be an assembly hack, however it should be an in place one for the most part if you can find the values it has to wait for (or convince it to add 2 to the counter for every period it waits rather than 1) without any radical retooling.

Doing that will have an always on effect, however it would not be the hardest to add a check for a button press and then make an if pressed then double speed type setup.

Assembly hack? Damn, I was afraid of that. I mean, the GBA and Snes have a lot of similarities hardware-wise and implemented a dash feature. Breath of Fire 2 re-translated did the same thing by holding the B button, and I erroneously assumed the same could be done with this. But given that I have absolutely zero programming knowledge or skills under my belt, it will be literally years before I even begin to understand how to implement this dash feature. So yes, it would be prudent of me to either pay someone who would be willing to modify whatever values determine his walk speed, or I simply pack up and go home and give up on this. I don't know what I got myself into, but clearly, this is far beyond anything I am capable of doing, and even were I to learn ASM, by the time I learn how the Snes works, I will have moved on. I feel like such a fool for even asking about this.  :'(