Author Topic: FF II: A Threat from Within - Expanded ROM = New Features!  (Read 35791 times)

Bahamut ZERO

  • Cagnazzo
  • *
  • Posts: 347
  • Gender: Male
  • If ye're takin a beatin, hop in de back row!
    • View Profile
Re: Final Fantasy II: A Threat from Within (Moon Flies Off FIXED!)
« Reply #90 on: June 22, 2015, 11:33:07 AM »
That definitly interests me! It would give my intro the epic/funny mixture I'm looking for, and make for a fun afternoon messing around with it. XD

I update my graphics thread on almost a daily basis, so keep an eye out for new stuff!

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,281
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Final Fantasy II: A Threat from Within (Moon Flies Off FIXED!)
« Reply #91 on: June 23, 2015, 01:18:43 PM »
ok, the commands to mess with are:
Code: [Select]
$13/E56D BD 00 20    LDA $2000,x
Code: [Select]
$13/E110 7D 00 20    ADC $2000,x
Code: [Select]
$13/E580 BD 40 20    LDA $2040,x
and
Code: [Select]
$13/E118 7D 40 20    ADC $2040,x
Basically, these commands determine the position of each planet (and moon) depending on some constantly-rotating data in the 7E:2000 area of RAM.
Each planet's data has a relative location in this bank, separated by an increment (x).
So, for the first planet, x=00, and the game looks at 7E:2000. For the second planet, x=2, and the same command makes the game look at 7E:2002. Then x=4 and the game looks at 7E:2004, and so on in that fashion.

The trick is to take away the indexing...
That is, instead of
Code: [Select]
LDA $2000,xit'll just say
Code: [Select]
LDA $2000
or, instead of
Code: [Select]
ADC $2000,xit'll say
Code: [Select]
ADC $2000
So for every planet, the game just looks at the data that is supposed to be used for the first planet.
I'm not sure why, but the result is wobbly orbits.

In order to change the indexed LDA into a normal (non-indexed) LDA, just change the BD to AD.
so, for example
Code: [Select]
$13/E56D AD 00 20    LDA $2000
And to change an indexed ADC into a normal ADC, change the 7D into 6D.
so, for example
Code: [Select]
$13/E110 6D 00 20    ADC $2000
Try playing around with these commands and see what kind of fun you can have.
you can also change the "2000's" into "2002," "2004," "2040," "2042," etc.
2000, 2002, 2004, 2006, 2008, 2040, 2042, 2044, 2046 and 2048 are all accessed by these routines so changing any instance of 2000 or 2040 to any of these values will produce different orbiting results.

These offsets are all in LoROM, by the way. You can play with a live ROM by opening it in Geiger's SNES 9X Debugger, viewing the IN SPACE visual effect, then use the emulator's hex viewer to view/change the assembly at those offsets.

Does that make sense?

Bahamut ZERO

  • Cagnazzo
  • *
  • Posts: 347
  • Gender: Male
  • If ye're takin a beatin, hop in de back row!
    • View Profile
Re: Final Fantasy II: A Threat from Within (Moon Flies Off FIXED!)
« Reply #92 on: June 26, 2015, 12:36:59 PM »
Quote
These offsets are all in LoROM, by the way. You can play with a live ROM by opening it in Geiger's SNES 9X Debugger, viewing the IN SPACE visual effect, then use the emulator's hex viewer to view/change the assembly at those offsets.

Does that make sense?

Wow, I should have replied to this post first. Yes, that makes total sense! I'll start having some fun with this here in a bit. Thank you!
I update my graphics thread on almost a daily basis, so keep an eye out for new stuff!

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,281
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Final Fantasy II: A Threat from Within (Moon Flies Off FIXED!)
« Reply #93 on: June 26, 2015, 02:27:48 PM »
*sigh*

so I finally get somebody showing interest for TfW on RHDN, and it ends up being this:
http://www.romhacking.net/forum/index.php/topic,19749.0.html

These comments on the board in addition to four PMs saying basically the same thing... Like s/he is mortally offended by the notion that I would implement a system that discourages cheating. And I'm trying to explain this is not supposed to be a difficulty mod! Part of why I want play testers is to ensure that the game isn't too difficult for people who don't cheat!

Gotta love it...

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Final Fantasy II: A Threat from Within (Moon Flies Off FIXED!)
« Reply #94 on: June 27, 2015, 07:58:53 AM »
Bah! What idiocy... at least the other people there are clearly defending your choices, and I fully agree with your decisions as well.

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,281
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Final Fantasy II: A Threat from Within (Moon Flies Off FIXED!)
« Reply #95 on: June 27, 2015, 08:49:21 AM »
That's true, and it looks like s/he finally gave in and played "the right way."

And, as they say, there's no such thing as bad publicity.
The thread has over 100 more hits since s/he started posting.

Madsiur

  • Magissa & Forza
  • *
  • Posts: 138
  • Gender: Male
  • FF6AE coder
    • View Profile
    • Madsiur's Lair
Re: Final Fantasy II: A Threat from Within (Moon Flies Off FIXED!)
« Reply #96 on: June 27, 2015, 09:22:59 AM »
I have just read the thread on RHDN, this look like really promising.  :happy:

I'll sure give the demo a try once I complete my final exams (in about a week). Out of curiosity, how did you managed the monster leveling up? I'm trying to implement this in my FF3us hack along with 3 games difficulties. I have already figured out how I'll do the game difficulty system. But for monster leveling up, does their stats are multiplied (or an addition made on them) when the battle start depending on the average level of all your characters (or party)?

nice work again!

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,281
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Final Fantasy II: A Threat from Within (Moon Flies Off FIXED!)
« Reply #97 on: June 27, 2015, 11:19:03 AM »
It's a bunch of calculations that all happen at the time the monster stats are loaded from ROM into RAM. First, it determines the average level of your party, pretty straightforward (though as you may know, calculating an average using SNES's math capabilities is anything but straightforward). Then, it compares the average party level against the individual monster's level, and determines a difference ratio. Then it multiplies all stats except magic power and speed by the difference ratio. Then it multiplies speed by the difference ratio and takes the average of the original speed stat and the adjusted speed stat and makes that the final speed stat. Magic power is not adjusted at all (don't remember exactly why).
The difference ratio is saved until the end of the battle to adjust exp award, too.

Some (but maybe not all) of the assembly can be found on this thread:
http://slickproductions.org/forum/index.php?topic=1940.msg20858#msg20858
It went through several prototype phases before Grimoire LD and I settled on something we agreed was appropriate.
I'm sure the system wouldn't work exactly the same for FFIIIUS, but some of that might be at least useful to you...

Bahamut ZERO

  • Cagnazzo
  • *
  • Posts: 347
  • Gender: Male
  • If ye're takin a beatin, hop in de back row!
    • View Profile
Re: Final Fantasy II: A Threat from Within (Moon Flies Off FIXED!)
« Reply #98 on: June 27, 2015, 01:21:19 PM »
I personally enjoy the direction you're going with this. It's a very kickass experience of what I've played so far (which I'm sure is just a tiny niblet of the full package) so keep doing you're doing.



But since you're on the subject of monster leveling, I have a few questions about how you have monsters level with the party:

1:Do the routines go off of the current party's LVs, or do they also take characters in the shadow in account as well?

2:Does it play well with Shadow Mod?

3:Say I fight a LV 6 Imp with a level 60 party that gave max experience (65535 I believe). Would your routine skip the experince adjustment in this case, or break all of reality and adjust it past that limit? I'm sure it's the first, but hey, I'm curious haha.

4:Why is the sky blue?


I've been thinking of implementing this (with your permission, of course) to better set up how I'm doing battles.
I update my graphics thread on almost a daily basis, so keep an eye out for new stuff!

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,281
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Final Fantasy II: A Threat from Within (Moon Flies Off FIXED!)
« Reply #99 on: June 27, 2015, 02:42:03 PM »
At one point, Grimoire and I were kicking around an idea for a mod that combined a bunch of our stuff, which included using both the level-up and shadow mods.
I don't think they are inherently compatible, but I do think that I concocted a fix...
Now, whether I still have the fix... That's another question.
The max exp gained remains 65535. I've never delved into the (I'm sure, very) exciting world of breaking the two-byte limit on numbers... And I don't think I really ever want to try. Thinking about that kind of makes me nauseous...

Anyway, my mods are free to use as you like... But I can't guarantee compatability.

Bahamut ZERO

  • Cagnazzo
  • *
  • Posts: 347
  • Gender: Male
  • If ye're takin a beatin, hop in de back row!
    • View Profile
Re: Final Fantasy II: A Threat from Within (Moon Flies Off FIXED!)
« Reply #100 on: June 27, 2015, 03:18:07 PM »
Ah, in that case I'll backup my project before I try it and see how it all goes. It'll be fun seeing how it reacts with the mixture of your's and Grimoire's mods that are already there lol.

And I don't blame you for not ever wanting to try breaking the EXP cap. 65535 is high enough.



I update my graphics thread on almost a daily basis, so keep an eye out for new stuff!

Madsiur

  • Magissa & Forza
  • *
  • Posts: 138
  • Gender: Male
  • FF6AE coder
    • View Profile
    • Madsiur's Lair
Re: Final Fantasy II: A Threat from Within (Moon Flies Off FIXED!)
« Reply #101 on: June 27, 2015, 04:19:27 PM »
I noticed in the demo that the ninja jumping event in the castle stops your character until the action queue is completed. Is that a limitation of the FF4 event code?

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,281
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Final Fantasy II: A Threat from Within (Moon Flies Off FIXED!)
« Reply #102 on: June 27, 2015, 05:25:31 PM »
Yeah, it is...
In FFIV, normal NPC movement is limited to walking in random directions. The only way to make the one ninja repeadly attack the other ninja was to put in a bunch of event triggers, and in FFIV the player gives up control during events (except control over text windows, of course. I tried to make that event quick enough that it didn't really interfere with gameplay. I know, it's still a little annoying. You start trying to memorize where the trigger spots are so you can make it not happen, and will even take four extra steps to avoid them.
But, it's only the training room, so I don't see it as a big deal.
Incidentally, if you opt not to steal the "epic choices" guy's treasure, those ninja jumping events will stop when he finally gets around to rewarding you for your patience.

Originally, I just had the jumping ninja running back and forth between the two spaces in front of the "limit break" guy, but that plan would invariably screw up his position when you ran the Limit Break tutorial event - he would either end up inside the wall or on top of the other guy. So I went with Plan B.

Madsiur

  • Magissa & Forza
  • *
  • Posts: 138
  • Gender: Male
  • FF6AE coder
    • View Profile
    • Madsiur's Lair
Re: Final Fantasy II: A Threat from Within (Moon Flies Off FIXED!)
« Reply #103 on: June 30, 2015, 11:39:51 AM »
It's a bunch of calculations that all happen at the time the monster stats are loaded from ROM into RAM. First, it determines the average level of your party, pretty straightforward (though as you may know, calculating an average using SNES's math capabilities is anything but straightforward). Then, it compares the average party level against the individual monster's level, and determines a difference ratio. Then it multiplies all stats except magic power and speed by the difference ratio. Then it multiplies speed by the difference ratio and takes the average of the original speed stat and the adjusted speed stat and makes that the final speed stat. Magic power is not adjusted at all (don't remember exactly why).

I was able to calculate the APL and modified APL in FF6. However I struggle with the last part of your method. I'm taking the same formulas as you right now but this is just for testing purpose.

Let's say my APL is 18, then modified APL is 12. My monster has a level of 8. If we do (12 * 100) / 8, it equals 160h. Now what does the multiplying function do exactly? If my monster has an attack of 32, does it do (20h * 160h) / 100h ? This would give a result of 44, which is a +12 increase for a 10 levels difference between the monster and the party.

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,281
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Final Fantasy II: A Threat from Within (Moon Flies Off FIXED!)
« Reply #104 on: June 30, 2015, 04:11:56 PM »
You're exactly right about how the multiplication works. It's probably important to note that this hack also involves a lot of base stat/level adjustments to work right. What's nice is that once you've found a good balance, if you want to make a monster generally easier or harder, all you have to do is adjust their base level up (for easier) or down (for harder). I don't know exactly how things work in FFVI, but in IV, the only thing that a monster's level impacts is how difficult it is to steal from it. With VI, at the very least, I imagine you'll have to deal with the unreliability of level-based lore magic...
Actually, now that I think about it, isn't there a monster ability in VI that lowers player level for the duration of the battle? Maybe I'm just making that up. It's been awhile since I played the whole thing through.