Available FF4 Tools Sufficient for This?

Started by magictrufflez, March 28, 2022, 11:14:03 PM

Previous topic - Next topic

magictrufflez

Hello everyone! I've recently been thinking about possibly trying my hand at an FF4 hack, but I'm (very generously) an absolute novice at romhacking. I think ff4kster can do 90% of what I want to try, but I'd love to hear takes on whether there are better ways to attempt these changes or if these ideas are even feasible in the first place. Namely:

1. FF1-ify the gameplay in a few ways:
     -Choose party at the start of game, with FF4 characters standing in for the (overhauled ala Unprecedented Crisis) classes.
     -Spell shops in towns (or tomes/scrolls found in the wild) to get characters skills/spells.
     -Edit the plot and flow to be more character agnostic (and fix the shark jumping at the end).
2. Edit the overworld map(s) to both make things a bit more open-world as well as insert additional areas.
     -Also overhaul the NPC dialogue to be less pointless across all areas.
     -Adjust run rates and healing dynamics to make it more difficult to cheese way through tough areas.
3. Overhaul the enemy drop system to be less absurd and maybe actually useful.
4. Chocobos are more rare, and the hovercraft/airship are more difficult to access.
     -Maybe remove Serpent's Trench (which I always thought was dumb) and implement some ship travel.

... among more boring equipment/spell/skill stat and access overhauling to fit this setup.

Like I mentioned above, I know ff4kster can do an awful lot, it just requires me to get used to using the utility. But are any of these things undoable? Or require non-ff4kster programs to edit? Any feedback is appreciated!

Aexoden

I think, unfortunately, quite a bit of what you want to do may require some level of assembly hacking. There's really no fully featured FF4 editor that can do everything. (ff4kster is probably the closest, but it has notable things missing like overworld map editing. I haven't used it in a long time, so I may be forgetting some things it can do in my comments, too.) ff6tools (despite the name) is capable of a lot as well, but I don't see overworld map editing there, either. There is an overworld map editor but it's quite old and doesn't directly support every version of the game. There are probably other tools out there that I don't even know exist or have forgotten about, however.

But to respond more specifically:

Quote from: magictrufflez on March 28, 2022, 11:14:03 PM
1. FF1-ify the gameplay in a few ways:
     -Choose party at the start of game, with FF4 characters standing in for the (overhauled ala Unprecedented Crisis) classes.
     -Spell shops in towns (or tomes/scrolls found in the wild) to get characters skills/spells.
     -Edit the plot and flow to be more character agnostic (and fix the shark jumping at the end).
A party selection screen will require some level of assembly, as will enabling the purchase of spells in some fashion, unless the system already used for the rare summons (Goblin, etc.) can be repurposed, but I think it would need extension in any case. ff4kster is quite capable as far as editing events goes.

Quote-Also overhaul the NPC dialogue to be less pointless across all areas.
ff4kster or maybe ff6tools can probably handle this just fine.

Quote-Adjust run rates and healing dynamics to make it more difficult to cheese way through tough areas.
Not sure entirely what you're going for here, but assembly hacking is likely. As it is, there's no such thing as run rates. Just a small fudge to make it take longer to run from level 97+ monsters.

Quote3. Overhaul the enemy drop system to be less absurd and maybe actually useful.
Drops can be modified with ff4kster, I believe. Not sure how well it can modify the overall drop rates.

Quote4. Chocobos are more rare, and the hovercraft/airship are more difficult to access.
     -Maybe remove Serpent's Trench (which I always thought was dumb) and implement some ship travel.
If you want a user controlled ship, it does require some small amount of additional code to be useful as a vehicle. (It currently has nothing restricting where it can go. If you gave the player control, they could sail right across the land.) If you just want to make do with NPCs and events, it might be doable with ff4kster in some fashion.

To summarize, a lot is doable with ff4kster. ff6tools may help in some fashion. Some things will need minor code changes. Depending on exactly what you're going for, some things may require moderate code changes. But with enough persistence, I'd say very little is ultimate undoable. Hopefully someone who has more experience actually using any of these tools on a project can chime in on how much they can do.

DragonAtma

Party selection should be doable with add character/remove character tools:

* All characters are in a row (think preparations for FF3's three-party battle above Narshe), with only the first one standing; the rest are lying down. A special NPC is also there (not in the line). The player's starting party is a copy of that first class, and not in the line.
* A message pops up, telling you people standing are in the party and people lying down aren't. It also says you can toggle people by talking to them, and talking to the special character finalizes the party.
* Talking to someone lying down adds them to the party and has them stand up.... if there's room. Otherwise a message says "No more room!".
* Talking to someone standing removes them to the party and ahs them lie down.... unless they're the only member, when a message says "You can't remove everyone!".
* Talking to the special character gives you a yes/no to finalizing the party. Say yes, and the game begins with the party you have. Say no, and you can change the team more.

You may wish to have the special character only let you finalize your party if you have five people in the party, as otherwise you may have to run around checking for a limited party every time character 2, 3, 4, or 5 talks.
In memory of my beloved cats: Anastasia (9/30/06-9/18/17, illness), Josephine (1/19/06-9/23/17, cancer), and Polgar (4/8/07-3/22/23, illness).
My mods: Romance of the Three Kingdoms II, Gemfire, 7th Saga, and more

magictrufflez

Both of these posts are very helpful--thank you! I'm at the very very outset of thinking about this, so it's clear I have a lot more to do when considering what I want to include/omit based on current tool limitations.

Additional feedback/thoughts are welcome!

Grimoire LD

Funny you mention this. Long ago I made a whole spellbook of FFI spells in FFIV's engine. It... worked, but I can't say I refined it very well. I still have the code, it's just a matter of putting it in the right spots. Unfortunately I lost the rom I was working with years ago.


Here is the code in any event (too long to put in this post, so I'll leave a pastebin link)

https://pastebin.com/T7FRDn3f

Wow, my ancient notation is so bad, eh heh...

Making FFIV into FFI is a worthy venture, certainly.

As DragonAtma mentions you can create an event room that allows you to choose a party ala FFVI's party.

Basically, you choose a character, have them join you if you want, force the Namingway Screen and that's that, just make sure to deactivate the NPC, but after your party has been chosen also assure that your "Is this the party you want? No" option will reactivate those NPC's. That's the easy part...

Of course new text can be written.
Run rates, right... as noted by Aexodon, there is no "run rate" in FFIV, just a forced delay when fighting Level 97+ foes, (which could be modified to have the level set as the run delay. Personally, I feel they intended to use that for enemies that were higher level, but felt that the loss of money was enough of a detriment so they just set it to Level 97.)

The drop system is indeed, silly. I don't think FF4kster has anyway to change the odds of items, though we have known the information for years, which is only some simple byte changes. So if you are interested in that, let us know. But of course you can set whatever items you please.


Spell Shops... I've had the... theory in my head how this can be done for a long time, but I've never set about doing so, it would require an entirely new routine on how the shop is handled. I'm not sure I have the skill for it as there is nothing similar in FFIV to draw from.

Everything dealing with traversal and where to place vehicles is entirely up to the modder. Though FF6Tools should be your main map editing tool. FF4kster may have been one of the first easily usable map editor, but FF6Tools undoes it in most aspects.



magictrufflez

Thanks again for all the feedback! I've piddled around with the tools a bit and thought some more about this idea, and I have 2 burning questions and a few thoughts on you all's suggestions.

Burning Question 1: Will changes made with FF6Tools register in ff4kster and vice versa without totally bricking the ROM I'm working on? Especially map changes because I really like the FF6Tools interface for those (and it can edit the world map).

Burning Question 2: More generally (and possibly a real n00b question), when you use these editors to change the data, does resulting free space sort of reorganize itself automatically? I may have badly worded this question, but an example of what I mean: If I delete some game maps to make room for more spell items in the memory, will these editors seamlessly add the new spell items into that new space in the map portion of the memory? Or will there be extra necessary steps in order to avoid Big Problems?

[I ask this question in particular because the way that I'm imagining restructuring the gameflow involves totally cutting out some game elements like the Big Whale, the moon travel "cutscene," and more. What I want to make sure is that cutting that stuff to make way for new stuff that may not be the same type of data in the memory can be inserted safely in a way that won't wreck everything else.]


As to some of the suggestions you all made:

1. I like the idea of a "demo room" to choose your party and then talk to the King to receive your quest (which wouldn't need to vary a ton in substance much from the original game). I was also thinking that it might be interesting (and easier?) to pull a SaGa and start the player out with one character of their choice, but let them explore a mostly open world to put together the other 4 parts of their party.

2. Using the unique summon system (use item -> get spell) was definitely how I envisioned doing spell/skill acquisition for all the characters. Cribbing some of the class skills from other mods could be fun too, but I'm a big fan of hacks that give previously non-spellcasters some kind of spell-like skills (ala UC's songs for Edward). Buying/Finding scrolls for this purpose appeals to me a lot, and I imagine would be a lot easier to implement than attempting to faithfully replicate FF1's magic shops.

3. Run Rates ... I mostly want to edit these somehow to keep the player from cheesing a more open world too much and getting to more advanced gear without too much effort. I get that the developers probably felt the cash penalty was a deterrent to this kind of thing, but I can't ever recall that being the case in any of my FF4 playthroughs in 25+ years of playing it! I was fine with running from any/everything I felt like

Maybe lowering that long run time to level 1 (which ensures the party will always take some hits) plus increasing the cash penalty (like, 10% of your total or something) might help?

4. On drop rates I was thinking it might be possible to mess with the percentages indirectly by way of removing most of the drops each of the monsters, leaving them with just 1-2 each. I know there's also an absurdly low chance to drop items in the first place, which I'd also like to change, but maybe limiting the number of things that drop will automatically increase the chance of those things dropping?

5. I definitely do not want to add a controllable ship, but I was thinking automatic ship transport between multiple towns in the overworld would be a good way to give players a chance to get around without straight up giving them an airship/hovercraft to start.


The other "easy stuff" (ie the long slog of editing text and events, among other stuff, to my liking) seems straightforward and will just take a bunch of long hours on my part!

DragonAtma

(1) FF6tools and FF4kster are made for one and only one game (and its mods). if you use them on a different game, it'll be bricked.

(2) Game code doesn't say "After this, jump to the kitten petting routine" but "after this, jump to location x123456". The only way an editor could reorganize code would be to find every single jump and change it, so editors don't do it.
In memory of my beloved cats: Anastasia (9/30/06-9/18/17, illness), Josephine (1/19/06-9/23/17, cancer), and Polgar (4/8/07-3/22/23, illness).
My mods: Romance of the Three Kingdoms II, Gemfire, 7th Saga, and more

KingMike

Using items to learn spells is exactly how that worked in FF3.
(with the main change being that FF3 allowed the process to be reversed)

Though it would probably take additional coding to prevent too many spells from being learned (the fact that mages could have up to 4 possible spells for each level to choose from, but at least one spell from each level must be left behind.)

A side note, I think the Japanese version of SaGa 3 had spell levels, or at least it had level numbers on the magic screen, completely removed when the UI was redone for the English version.
"My watch says 30 chickens" Google, 2018

Grimoire LD

Quote from: DragonAtma on April 05, 2022, 06:48:42 PM
(1) FF6tools and FF4kster are made for one and only one game (and its mods). if you use them on a different game, it'll be bricked.

(2) Game code doesn't say "After this, jump to the kitten petting routine" but "after this, jump to location x123456". The only way an editor could reorganize code would be to find every single jump and change it, so editors don't do it.

Eh? Despite the name FF6Tools is made for FF1-FF6 and pretty much every single version of them on classic consoles. (Everything8215 is really a prolific programmer!) So there should be no issues with using both FF4kster and FF6Tools.

Quote2. Using the unique summon system (use item -> get spell) was definitely how I envisioned doing spell/skill acquisition for all the characters. Cribbing some of the class skills from other mods could be fun too, but I'm a big fan of hacks that give previously non-spellcasters some kind of spell-like skills (ala UC's songs for Edward). Buying/Finding scrolls for this purpose appeals to me a lot, and I imagine would be a lot easier to implement than attempting to faithfully replicate FF1's magic shops.


Ah, so you planned on spells being acquired through the menu...? Well... that might work for, at most a spellbook's worth of spells (24) IF you got rid of most of the key items. (Most of them are simple event triggers and aren't used from the menu. Some are, however). You would also need to do a slight rewrite of the routine. As it stands it checks the item value, checks if it is in Summon Item range and calls the value to give the Summoner, in particular, these spells. Having a class that has to find their spells (or techniques) instead of learning them by level up is pretty neat. I've always mused on the idea of creating an FF Dissidia like mod where each character would be close to their own system of growth, so for Firion, for instance, he would find spells much the same as FFII (and I suppose it would be possible to create a system to build a progressive use system). You would have to get rid of some niche items, but it's not a big loss. You can then relocate the necessary key items (SandRuby, MagmaKey, TowerKey, RatTail, Adamant, Pan, PinkTail)to the end to maximize the ranges given for your spellbook.

QuoteMore generally (and possibly a real n00b question), when you use these editors to change the data, does resulting free space sort of reorganize itself automatically? I may have badly worded this question, but an example of what I mean: If I delete some game maps to make room for more spell items in the memory, will these editors seamlessly add the new spell items into that new space in the map portion of the memory? Or will there be extra necessary steps in order to avoid Big Problems?

A somewhat odd question. FF4kster will reorganize the space for its areas. So if you delete maps there will be more room for... maps, the same goes for text and so on. The items are already glutted to the max 255 and without some extensive hacks that is unlikely to be broken. However as noted above you can delete niche item events (Sight, Exit, Magazine...) along with superfluous key items and with a some minor hacking extend the range of the Summons, but as it stands it adds these values to One spell book from a range of 4 spells. Of course that can be rewritten with some use of bank free space, but as it stands the easiest method is to choose a range of spells from This to That (determined by Item Number -value) to be acquired by One character.

Quote3. Run Rates ... I mostly want to edit these somehow to keep the player from cheesing a more open world too much and getting to more advanced gear without too much effort. I get that the developers probably felt the cash penalty was a deterrent to this kind of thing, but I can't ever recall that being the case in any of my FF4 playthroughs in 25+ years of playing it! I was fine with running from any/everything I felt like

Maybe lowering that long run time to level 1 (which ensures the party will always take some hits) plus increasing the cash penalty (like, 10% of your total or something) might help?

I'm not too familiar with the ins and outs of the run system, but I do know how the money is deducted from battle. If you really want it to be that punishing of losing 10% of your total money...)


Quote4. On drop rates I was thinking it might be possible to mess with the percentages indirectly by way of removing most of the drops each of the monsters, leaving them with just 1-2 each. I know there's also an absurdly low chance to drop items in the first place, which I'd also like to change, but maybe limiting the number of things that drop will automatically increase the chance of those things dropping?


Well, as I noted we have the values that are checked. You can change the percentage chance of items to anything you please. The chance to receive items isn't that bad. It's a base 5% from every slain enemy, then a roll of 1-255 to decide what item you get from that table. We know where all that data is if you wanted to change the value checks to anything you please for both calculations.(Though I should note, Value 2 in FF4kster means 25% and 3 means 100% so if you want to make items more plentiful from enemies, mostly changing it from 1 to 2 will accomplish that.)

Quote5. I definitely do not want to add a controllable ship, but I was thinking automatic ship transport between multiple towns in the overworld would be a good way to give players a chance to get around without straight up giving them an airship/hovercraft to start.

Oh, you can create events to do that. Chillyfeez's excellent The Threat from Within mod uses this to a great extent to keep the world from feeling too open. (Or if that's difficult to set up, you can always make other world warps ala Serpent Road.)

DragonAtma

Then they should rename FF6Tools to FFTools.
In memory of my beloved cats: Anastasia (9/30/06-9/18/17, illness), Josephine (1/19/06-9/23/17, cancer), and Polgar (4/8/07-3/22/23, illness).
My mods: Romance of the Three Kingdoms II, Gemfire, 7th Saga, and more

magictrufflez

Quote from: Grimoire LD on April 07, 2022, 09:09:14 PM

snip


This is all very helpful (and mostly reassuring) information! I'm glad I waited for some answers to a few of these questions before I got serious about this because it sounds like I could've really gunked up some stuff ...

The map hacking was the first big hurdle I was worried about, but it sounds like I probably needed to worry about the item limit in the memory first lol