• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
September 20, 2021, 06:32:37 pm

News:

Please use .png instead of .bmp when uploading unfinished sprites to the forum!


Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - nitwit

21
Quote from: Tyler_Durden64 on May 15, 2021, 08:25:04 pmHey man, if you're offended by a simple question or request, thats your problem. Im not apologizing for it and Im not gonna sit here and pretend like some and say "take all the time you need, i dont want this sooner, id prefer later". I asked if the mod was dead and if it'd be possible to release in smaller chunks, simple questions that require simple yes or no anwsers that would of sufficed. Yes, obviously if i could do it myself i wouldn't be here asking. I guess I'll check back on this next year then, sense as you said, you'll  work on this when you're damn good and ready 🤷‍♂️.
Pick at least one:
  • Git gud
  • Drop the entitlement
22
I may be mistaken, but I believe there are features in FFTOrgASM which allow a degree of customization for asm hacks. You could use that to make your formula 19 hacks check for any debuff, by altering the byte loaded and bit checked for.

Should be pretty obvious how it works (and how to customize it without such niceties) for anyone with freshman level coding experience who wants to change the status effect used, but it's something to consider if you're so inclined and want to make it easier on other people.
23
Help! / Re: Patching w OpenEmu (Mac)
April 04, 2021, 01:11:45 am
Try duckstation.
https://github.com/stenzek/duckstation/releases/download/latest/duckstation-mac-release.zip
https://github.com/stenzek/duckstation

The chapel thing occurs on a PSP, happened to me too (though not that bad) but seems purely aesthetic.
24
New Project Ideas / Re: Grindless Balance Patch
March 23, 2021, 04:11:59 am
I think there's an ASM hack somewhere that negates in-battle JP/EXP changes, and grants a certain amount after each battle. I can't remember where it is though, you'll have to look around for it.
25
Help! / Re: [Solved] Weapon affect range
March 23, 2021, 04:06:22 am
Unless someone has positively verified such a thing and posted it, I wouldn't take it for fact.

I made a Gameshark code (using the Gameshark tab in FFTPatcher) that changes Dagger to 2 range and lunging type, and Broadsword to 5 range, arcing type.

80063AC0 4A02
80063B50 1E05

I tested it on pSXfin by editing memory addresses directly, though it took me a minute to remember the correct byte order.

It works fine, exactly as intended.

Yes, you can change weapon ranges. You should test it before you take anyone's word for it. I vaguely remember there being some hardcoding, and it being tied to attack type: striking, lunging, direct, or arcing.

Striking: everything not listed below - maybe hardcoded to 1 range.
Lunging: spears, sticks, and cloths - unknown if there's any hardcoding of range to exactly 2 tiles, try 1 and 3+ ranges.
Direct: crossbows, guns, harps, books - hardcoded so you can't attack less than 3 tiles from you. You can change the max range to be greater than 3 range IIRC.
Arcing: bows - same as direct hardcoding. I'm not sure if the range-to-height ratio bonus/penalty hardcoding is just for arcing or both arcing and direct, and if it's only a bonus.

There may be other hardcoded things that are too subtle for me to notice, like animation or sound effects.

If you're beyond 1 tile it looks like you're pointing/swinging a sword at someone and then they react to being hit, as if the characters were elementary school kids with much more solid rules of what constitutes a real hit than is normal for that demographic. Then again, my second test strike didn't hit, so maybe the "nuh-huh, you didn't really hit me" rule is in effect. Changing this requires editing weapon strike graphics, or what graphics each weapon references in FFTPatcher.

Anyways, range being tied to attack type seems obvious to me given that all the weapons with varying attack ranges have different attack types.
26
Quote from: Ramza Stan on March 13, 2021, 03:57:30 pmI would change their type to one of the accessory types, then change any actual accessories of that type to a different type (So say I did rings, any shield slots I use will be set as rings and any existing rings will be changed) then set it so only the classes meant to use them can equip rings.  So it would be a separate category from shields while still using the shield slot. (My cursory testing seems to indicate this will work as I think it will)
Making the hardcoding work for you. Clever. I'd never think of that.

Quote from: Ramza Stan on March 13, 2021, 03:57:30 pmAnd here's the Notepad doc:
Downloaded. I uploaded mine in the previous post. Enjoy!

edit

Looking at your weapon setup, you intend to give each weapon group a specific W-Ev, crit proc, damage formula, and in some cases handedness, while only varying weapons within each group by element, status/skill procs, WP, and healing instead of damage. If you also intend to give each class a very limited selection of weapons (most classes get 1, maybe 2 or 3 at most) then your system is IMO too simple and not very flexible.

If each class has multiple weapon options - all of whose damage formulas suit their stats - then it's less of an issue.

I suppose it makes it easier to categorize weapon groups - if i want to do turtle up then I should use a weapon group with high W-Ev - but unless all classes have access to several groups of suitable weapon groups then you're forcing a meta-class system on them.

Axes. Much easier way to read the formula is:
PA * WP * random( 3 ... 5)  / 4
Though that doesn't leave much room for randomness (it will usually be 75%, 100%, or 125% of base damage). If you double or triple the last 3 numbers, you get greater variation but the same ratios.
PA * WP * random( 9 ... 15)  / 12
Now the damage can be 75%, 83%, 91%, 100%, 108%, 116%, or 125%. Not counting crits, of course, which add more variance with a different formula.

Rods. Unless you're using one of the spreadsheet hacks, you won't have enough item attributes to do this and everything else for weapons. IIRC the spreadsheet hack in question doesn't allow previews in the formation menu. Unless that's changed, you'll want to update their item descriptions to tell players what they do, as concisely as possible.

Also when considering mage weapons - especially when lots of skills have elements - you should consider which classes most need weapons that enhance elements, and what elements they need. A weapon group for Priests and Oracles won't need any elements besides Holy and maybe Dark if you make Drain/Osmose Dark element, but those two classes definitely need utility weapons that synergize with their skills and stats. Something SP+MA based and with good W-Ev; which offers options to heal, remove debuffs, add debuffs, add buffs, and cast useful low level spells suitable for them (like Osmose).

Don't forget to consider the classes that come after them, as they'll likely have their skillsets on a random secondary selection.

Compare to a Wizard, Time Mage (who is likely to use Black Magic as a secondary), or Summoner, for whom the utilities are useful, but who can make better use of elemental strengthens. While a Wizard might get weaker versions of the same utilities, they could use the elements too.

You should really use a spreadsheet for your weapon balancing instead of a text file, it's so much easier to think when you don't have to hold everything about weapons in your mind. Especially if you're doing point-buy. Plus you can make tables for your points and chat or make threads to get feedback on what people think every possible variation (buffs, debuffs, neutral statuses, stat boosts, W-Ev, WP, procs, etc) is worth. Until I have some measurement - even just the average of what everyone thinks, which is usually good enough - I can't really think of how to balance something.

Plus if you're the sort of person who thinks best via analysis of inputs, getting input from other people helps you understand what you think, feel, and believe. As you analyze, react to, and criticize inputs, you determine what you are/want and why.

Lessons in abstraction aside, you could make flails the optional dual wield, random damage, 1 range weapons - and axes the optional 2-handed, random damage, range 1 weapons.

Or you could mix and match these things within axes, flails, and other non-ranged weapon categories. There's no reason all weapons of a category must have the same handedness, it's not hardcoded IIRC. You could call one axe "Great Axe", make it twice as powerful as the others, and make it forced 2-handed; then make another "Hatchet", disallow 2-handed, allow dual wield, and make it less powerful than the others.

There's a bug with dual wielding ranged weapons, where I think the first weapon determines the range of the others. I think someone wrote a fix for it too, not sure where it is.

Consider how skillsets like Charge and Jump will interact with weapons. Are you sure you want all spears to be basically the same, given that Lancer's weapons are pretty much the only way they differ between one another? What qualities would be useful for an Archer or Lancer to have in a weapon, both to enhance their skillsets and to do something useful when they can't use them?

Given that SP is a big factor for Jump effectiveness, should it determine the Jump damage formula, and/or the spear weapon formula?

Archers are kinda screwed because their stats seem to indicate that they're meant to get lots of turns, but their skillset sometimes requires you to skip turns. A hack to make the Charge skillset use SP somehow seems to be in order.

Cloths being WP*SP seems like it doesn't work well with the Dance skillset. With Dance, turns don't matter much, so they want to optimize for PA instead of SP. Yet your idea of Cloths does the opposite. Plus anything WP*SP will always be very OP especially at higher WPs, because SP is already used to determine how quickly you get a turn. This risks becoming a god weapon group.

Arcing is useful in more circumstances than direct, though I'd check to see if it's hardcoded to the arrow animation before I use it for books or harps.
27
Quote from: Ramza Stan on March 13, 2021, 03:59:23 amMy plan for now unless I find a good way to do that is to simply take any shield slots I don't use (14 Shields is a lot when they're all sidegrades) and change the item type to ring or glove and change the graphics.  That way it will have the graphics of a ring or glove and be equippable by anyone who can equip a ring or glove, but it goes in the hands because it used a shield slot.
Issue here is that you can't limit your ring/perfume palette-swapped shields to specific classes. If you make them suitable for mages or non-warriors, then you're in a pickle because the AI will equip them. You need a separate category of items that you goes in the shield slot but can be set usable for classes separately from shields.

Quote from: Ramza Stan on March 13, 2021, 03:59:23 am"Our plans are similar enough that you might benefit from my mod planning document. Do you want it? It's just a few text files with all my ideas and analysis, and a spreadsheet or two."

I would be very grateful, thank you.  Do you mind if I also post my notepad document with the current draft of my weapons rework?
(Pardon the short reply, it's why am I up this late hours once again, lol)
Go ahead, I'll do a once over cleanup on mine then edit this post and upload it.
28
Quote from: Ramza Stan on March 12, 2021, 05:11:30 amHoly cow, I was definitely not expecting such an... expansive reply.  I immensely appreciate it.  To try and reply to some of the main points, I am indeed trying to balance out skills and that does indeed include some skills that did not previously have an MP cost now having one.  This was actually part of the spark for the idea of nixing growths, wanting to avoid making MP costs essentially irrelevant, which would double up with presumably better access to MP healing.  Your reply did make me realize though that notably reigning in growth rates is a definitely viable option.  You can have growth without it shaking up the meta too much, as it were.  Which of course if I do that I might need to alter my weapon progressions, as I have the numbers tuned to vanilla-ish growths...  I'll definitely have to look at some specific numbers.  And honestly, unless I can very much boost EXP gain such that hitting level 99 by the end of the game isn't that hard then I honestly don't intend to tool the growths with too much mind towards the very top levels.  Rather a reasonable range you're likely to hit in a playthrough.
Unarmed damage is a good model for all weapon damage, just replace PA with WP values in your point-buy system when making weapons.

You can implement the 1.5x or 2x ratio in HP and MP. I intend to raise the floor on class HP and MP, and leave the ceiling mostly intact (except for Monk, who gets hats/clothes and slightly high but not godlike HP). Everyone starts with between 90 and 180 HP/MP, and gains the same between level min and level max. Head and body gear slots are each worth IIRC 240 total H/MPs (divided between HP and MP depending on if it's warrior/light/mage gear), but which can be reduced for point-buys in other things.

So starting HP/MP fully geared is (90 to 180) + (90 to 180) + (90 to 180). 240 for mages, 540 for warriors, most classes being somewhere between that. And then they gain another 90 to 180 when they reach level max.

I don't think it's perfect, or even good, but it's the best I've come up with so far. I've neither put a ton of thought into it or been struck by inspiration as I was elsewhere. The synergy with Break/Steal is very nice, especially with staggered/distributed elemental affinities and debuff immunities - Break/Steal is crippling.

Still, that's a massive MP pool. 540 for fully geared up mages, 240 for warriors. The issue I suppose is the HP to MP ratio for the 3 gear types (warrior, light, mage), the HP/MP floors/ceilings for classes, and the HP/MP pool for gear.

I should make a spreadsheet to plot the math with various inputs for floors, ceilings, and ratios.

Things to consider:
  • Mage squishiness.
  • Mage MP pools (and costs).
  • Non-mage MP pools/costs.
  • How many hits it takes to kill someone.
  • How many characters you need to put on someone to get the best odds of killing them without wasting characters on overkill. Most IRL self-defense training says 3x1 is optimal, but the early FFTA route (your entire party is needed to quickly kill 1 guy at a time) is excessive. If the number is too low, then it's battle of the glass cannons; too high and every skirmish is a slugfest.
  • How many points HP/MP is worth in a points-buy gear creation system, especially when you intend to trade them for various debuff immunities. Gear that protects against Vampire should have a smaller HP/MP pool than gear which protects against Blind.

As you can see, it's a lot easier to do upgrades than sidegrades. Not easy to make everything viable when combining pure sidegrades in one area with mixed side/upgrades in another.

Quote from: Ramza Stan on March 12, 2021, 05:11:30 amAll that said I think a growth retool might just be beyond my ambition.  I will have to see.  I don't want to make drastic changes too often to this project lest I end up spinning my wheels and losing motivation. (I know my initial proposal of removing growth is a drastic change as well but it's one that would require less redoing by me to make happen)  What you seem to have with your equipment there isn't entirely unlike what I might have done with weapons, basically having a large variety of permutations covered with an eye towards more or less everything being represented close enough to equally.  With growth being a thing though it definitely limits what I have available at any given point in the game (And I have very limited item slots)
Removing growth cuts the Gordian Knot fastest. If you want to ship a mod ASAP, do so. I've been dealing with one conceptual problem after another for years, don't do what I do lol.

The gear system is easy when you think about it (and you have a good visual metaphor like a spreadsheet. You want to have X total debuff immunities, spread across Y slots. There will inevitably be collisions in your debuff immunities, so design them so that:
  • Everything is roughly equal in utility.
  • No two items of any slot share the exact same debuff immunities.

So rate the debuffs, categorize them based on their ratings, decide on the total number of points in the debuff pool, and give every item however many debuff immunities you want each item to have while keeping their total points spent per item roughly equal and avoiding more than 1 collision between head/body slots (and any other slots you dedicate to multiple debuff immunities).

Excesses and deficits in total points per item can be fixed later in HP/MP, or stat boosts and starting buffs if it's especially bad.

If you have a visual metaphor (spreadsheets) with easy to see symbols (color coded cells), then detecting excess collisions is easy - just look for patterns, and (assuming you use 1 to indicate immunity in a cell) sum columns/rows to easily see if you screwed up something somewhere.

Elemental affinities is even easier, as the screencap in my previous post indicates. Keep the elemental pools the same, and vary the pattern for each item type in each item slot.

No crazy permutation/combination math, just the adult equivalent of a coloring book and the pattern recognition skills of the average 9 year old.

Quote from: Ramza Stan on March 12, 2021, 05:11:30 amI am trying to at least keep relatively consistent themes with most weapon types though.  Swords are bereft of special qualities but have the best overall stats for a one handed weapon, daggers are weak but have a 100% proc rate for some status, ninjato are stronger than daggers and do status stuff but with far lower chance, katanas now use the PA and MA formula and focus on elements and spell procs, etc.  So while you may not have access to all elements and stats at each tier you do have access to a base weapon, a stat weapon, a semi stat weapon, an elemental weapon, and more.  Basically trying to make all weapon categories plenty viable so there's still a variety of good choices at any time (Also expanding class equipment options) And also as a space saver I sometimes combine fire and earth, ice and water, wind and lightning, so I can represent six elements with only three items.
Primary issue here is that the AI isn't smart enough to pick the best gear for it's class and skill, and you are.

I'm limiting classes to the weapon types that suit their stats, and trying to hit the essentials and wing it from there. The essentials being:
  • 1 Element, Elemental Strengthen
  • 1 HP Absorb
  • 1 Double Strike (proc Attack) - optional
  • 1 Healing - optional
  • 1 Utility (cancel debuffs, procs a useful spell like Osmose, whatever is good for the classes that use it)
  • 1 W-Ev Optimized

Remember, Attack is all you have when you're out of MP, you can't charge anything, and maybe when you're debuffed. It should be something that's good for this class or set of classes. Even something that's just equivalent to an orison/cantrip can be very valuable, like a very weak 2 range MP Absorb (currently doesn't exist) formula weapon for a mage.

If you're stacking elements you make weapons much less useful in combat, especially with the armor elements above.

Quote from: Ramza Stan on March 12, 2021, 05:11:30 amAs far as reducing grinding I am definitely focusing on the reduced JP angle.  I'm aiming to have all classes take no more than 2000 JP to master (1000 for Squire and Chemist) though I may tweak that number if it's too low.  Some classes had trouble fitting without feeling like I was making something too cheap, Time Mage being the prime example but that's due to having Meteor, Short Charge, and Teleport, all of which I believe warranted a significant price.  So maybe I'll move one of those off. (Thinking about it, Short Charge on Mediator would make sense cause they could talk faster!  And then Short Charge and Half MP are on opposite sides of the tree too.  Thanks, I might not have thought of that without all this!)
RSMs are a topic in themselves, the vanilla ones mostly suck even if you redistribute them so the more niche ones are available sooner.

Quote from: Ramza Stan on March 12, 2021, 05:11:30 amI'm also aiming to have the game keep up with the player, having storyline battles scale with level but giving them fixed equipment and skill sets so that you can't put yourself in an awful spot with enemy equipment being like two tiers ahead of you like in 1.3.  This makes grinding still useful for getting better skills but limits effectiveness by not having it push you above the enemies.  That reduces the ability to beef up for a tough fight, but I would aim to balance the mod well enough that you don't need to majorly grind (I'll be honest, I usually see notable necessary or near necessary grinding in an RPG as bad game design)  Random battle enemy equipment can grow ahead of the player still, but I'm removing stealing from the game so incentive to grind for that would be taken down as well.

Scaling all battles with average (?) party level will help out a ton with XP gain.

Challenge dungeons could be XP grinding spots, give them party level + 5 to start and increase with the difficulty.

I want to make at least one random battle on each spot a dedicated, guaranteed challenge battle. Like, every time you will get the maximum number of enemies, who are always at least your party level.

I also want to have one enemy in each spot be the a "boss". That is, one of the enemies in every battle may be replaced by one enemy that is slightly stronger than the others.

There are a ton of ENTDs, you'll eventually run out of ideas and have a solo party level +10 Tiamat and its party level -4 dragon cultist minions.

Quote from: Ramza Stan on March 12, 2021, 05:11:30 amThank you for the idea of making more statuses incompatible, that's actually a great idea!  As is giving more stats CTs, that was something I considered and it's probably a good idea.
I don't like Faith/Innocent statuses either, since they remove a combat role for whoever gets the talk skills. There are a few of useless statuses, and IIRC some of their hardcoding can be edited with a spreadsheet somewhere. At least the animation/sprite hardcoding.

Quote from: Ramza Stan on March 12, 2021, 05:11:30 amAlso I think I am going to make shields entirely sidegrade.  I don't think evasion is something that needs to scale like it does, namely because there's no accuracy stat to raise in tandem with evasion.  Evasion will vary, but it'll be in the balance of physical vs. magical evasion shifting as well as sacrificing evasion for other boons. (Mantles will receive similar treatment)  Also I may make some non-shield off-hand items for non shield users.  I'll definitely be overhauling accessories.  So yeah, I think shields and accessories will be where I do a lot of the sidegrade implementation while weapons and armor are an upgrade trend. (Also I'm giving non-mantle accessories evasion but to a lesser degree.  Mantles always felt nigh-necessary to me because of how good they get)
I hadn't thought of making non-shield items for the shield slot. Could be useful. I think you'd have to overcome some hardcoding to force perfumes into the shield slot, but once you do you could give them item attributes.

Along with making shields pure sidegrades, consider using whatever item attributes you have left on them in a point-buy system in exchange for evasions. Just remember that whoever has access to all shields also gets access to these enchanted shields, and give them appropriate buffs (no +1 MA for a warrior only item type).

It would be nice if we could remove all hardcoding for item slots and make it based on the flags in FFTPatcher and some new flags for gear slots. I'd love to have mage and light shields, or the option to use rings/gloves in the shield slot instead of shields or weapons. It would further reduce your defense and (in my handedness situation in my previous post) Attack abilities, but you'd get nice buffs out of it.

My accessory breakdown, gratefully stolen from someone else, is:
  • Mantles - Sidegraded evasion boosts. Not as many mantles as vanilla.
  • Rings - Mage only accessories. Always +1 MA, always +5 M-Ev, always immune Silence, and then 1 other thing (halve element, another minor debuff immunity, etc).
  • Gloves - Warrior only accessories. Always +1 PA, always +5 P-Ev, always immune Blind, and then 1 other thing (halve element, another minor debuff immunity, etc).
  • Shoes - +1 Move, +1 SP, then 1 other thing (halve element, +1 Jump, minor debuff immunity)
  • Perfumes and Bracers don't exist.

Quote from: Ramza Stan on March 12, 2021, 05:11:30 amI think that was everything I had to say, but it's 5 AM so heck if I know.  Also I'm going to make a topic for this mod soon explaining my plans and progress in more detail.  Thank you so much for all the input, it's definitely given me some points to refine my plans.
Our plans are similar enough that you might benefit from my mod planning document. Do you want it? It's just a few text files with all my ideas and analysis, and a spreadsheet or two.
29
RE Skill Sidegrades vs Upgrades: If you consider sidegrades to be more options, then it's easier to balance.

For example, I never use Attack with Agrias once I have Lightning Stab unlocked, because why would I? But if it costs MP, has a charge time, is weaker than Attack, more enemies resist Lighting element, or its debuff is in some cases helpful to the enemy, then I have a reason to use Attack sometime.

Design skills so that no skill completely obviates any other. Sure, there can, should, and will be overlap depending on a lot of things (a vanilla-but-upgraded Knight would probably still focus mostly on breaking things), but if you do it right then it means you have a tool for most situations.

With that in mind, someone who has a tool for every situation should have all their tools limited in some way.

I want to make the Summoner a generalist powermage. A spell for every situation, with a large AoE and decent power, but absurdly expensive. The metagame for Summoner is MP management.

I want to improve the Priest by slightly tweaking their buffs so they are a bit faster and don't miss as often, and give them a pair of holy elemental offensive spells roughly equivalent to Fire 2 and 3 in power. Their limit is Holy elemental resistance, which will based on my monster/gear systems be as common as other resistances (one or two in every battle).

Wizard becomes an elementalist blaster, which in conjunction with the system below means they can do limited healing.

With more classes having access to limited means of healing, buffing, debuffing, and of course damaging, you're no longer stuck lugging around Item, White Magic, or Calculate in every battle. Now you have freedom to  experiment, and design synergies into your teams. However, designing around a synergy (absorb Holy, for example) may create a weakness that a lot of your team shares if you're not smart about it.



Here's how I intend to organize the head and body slots of heavy armors.

heavyArmor.png

For the elements:
Absorb:  3
Negate:  2
Halve :  1
None  :  0
Weak  : -1

Monsters get something similar, but with 1 point to put towards another element halve, and I intend to spend points on weaknesses for anything more than that.

It has a synergy with skills, since I intend for all HP damaging spells (and maybe half of all HP damaging skills) except meteor to have an element, and for element to affect only damage and not hit rate. Since elements are much more common, and the spread between them more even, it works out. To make such a system and leave the vanilla element occurance and spread intact is a waste, as Nyzer says.

Note that the defining feature of my (extremely) WIP mod is that all gear slots are almost always randomized, though this randomization is less variable than vanilla in a way because I'm limiting the types of gear for each class. I'll probably randomize skills as much as possible too, and have enemy levels scale.

Weapons get a similar do-over with a point-buy system, through I doubt I'll have anything as OP as a sword that inflicts death. Points buy:
  • WP
  • W-Ev
  • Status Inflict Proc (cost varies on utility)
  • Skill Proc
  • Element (free)
  • Element Strengthen (not free)
  • And so on...

You could add range, two-handed (forced to earn points, optional to gain points), dual wield, and other stuff to the list, but I intend to give every class access to ranged weapons with various tradeoffs on handedness and shield-bearing for them. The support skills for handedness wouldn't exist.

Each class archetype (PA, PA*SP, MA, MA*SP, [PA+MA]/2) gets:
  • A weapon type that is 1 handed and allows free two-handed, free dual wield, and free sword+shield
  • A weapon type that is mandatory two-handed only and 2 range, but more powerful than the one above.
  • A weapon type that is mandatory two-handed only and 3-5 (and possibly farther) range.

I wasn't thinking so much about balance as you were when I came up with this; instead I was trying to route around how poorly the AI selects gear. There are hacks that fix most of that, so a pure gear upgrade system is very viable now if you want to go random gear choice on most enemies.

If everyone is immune to 4-7 debuffs max, then your goose will eventually be cooked if you don't either stagger them, have multiple redudant ways to remove them, or you don't think tactically while you play. No total immunity to debuffs buffs skills and classes that debuff, and those that remove debuffs.

Tying gear to debuff immunity buffs Break and Steal. Depending on your team, it may make more sense to break or steal than attack, at least for a while.

And if everything can be broken, nothing should be missible or irreplacable. Doesn't mean it should be easy or cheap to replace something; just that the metagame for an enemy breaking your stuff should IMO go from "automatic reset" to "severely harmful in battle, and very annoying afterwards".

You could have an item that provides total immunity to debuffs (or elements), but it would need a lot of drawbacks to compensate for this. Something that is univerally useful should have things that are drawbacks for everyone.

The limiting factor here is item attributes. I wouldn't have many left for weapons - probably just 8 that strengthen an element - but there are other ways to vary weapons so it's not an issue.

Analysis paralysis is prevented by making everything viable for people whose gameplay consists of "I see goblins, I slay them. Simple as." while also allowing for enough variation by ranking all possible single option in a point buy system, and creating things that lend themselves to certain synergies. Dual weilding low WP knives that proc Attack is perfect for something that is hard to hit but lacks HP, and not a terrible option for something that resists physical HP damage.

I guess what I'm saying is use point-buy to give every weapon at least one upside, and few or no downsides. Even something like "good ole reliable steel sword, can't be echanted" is perfectly valid and useful.

Such a system obviously requires most of the gear to be available from the start.



HP is the only defensive stat, though MP, Brave, and Faith can be defensive stats depending on your RSMs (Reaction, Support, and Movement skills).

PA, MA, and SP are directly offensive stats, and SP is indirectly one because it determines how often you act. Making it less direct - reducing it's impact on bows, knives, throw, and so on - is a good option if you want to minimally affect vanilla mechanics. It will be harder to code though.

(PA + SP) / 2 * WP
Becomes:
(PA + PA + SP) / 3 * WP
Or maybe:
(PA + PA + PA + SP) / 4 * WP

The commonly accepted fix for quadratic unarmed damge is to change it from:
current PA * current PA * Brave / 100
To:
base PA * current PA * Brave / 100

The best fix IMO for Brave and Faith is to set a floor and ceiling, and give them divisors.

Unarmed/Katana/Knight-Sword damage. Change from:
XA * Brave / 100
To:
((XA * (Brave / 3)) + 67) / 100

Reaction Rate. Change from:
Brave / 100
To:
((Brave / 3) + 34) / 100

Faith modifier. Change from:
XA * Faith / 100
To:
XA * ((Faith / 3) + 67) / 100

The simplest fix for SP/PA/MA modification in battle (besides removing them) is to set a floor and ceiling for the skills that modify them.

Stat Min/Max = Base Stat + Stat Gear Bonus +- n

The best value of n IMO is 2 for SP, and 3 for PA/MA.



What degree of upgrade is acceptable depends on the minimum and maximum differences in power you intend to have.

Do you want to have a Dragon Slaying (in the D&D sense) battle, where your team many vs one's something that is far beyond the abilities of even a maxed out PC? Are the differences innate to the class of the Dragon, or because it is much higher level then you?

Do you want to have fights where the enemy is 50 levels higher than you? Do you want a battle where you're the dragon, and your enemies are the pipsqueak wanna be draon slayers, trying to pinprick you to death as you fly around the battlefield?

If you want battles with major differences in power and they aren't grindfests or 1.3 tier Perfect Kaizo rage-quit inducers, then you should limit the difference between level min and level max power to 1.5x to 2x. That is, at level max, you are 1.5 to 2 times as strong as you were at level min.

For spell CTs, limiting SP from 6 to 9, with potentially +2 from Yell and +1 from gear largely fixes it. Glain's hack does the rest.

If you're doing a mod where everyone's numbers always go up, or everything is fixed and planned in advance, then IMO you have more freedom in power level differences.

As always, everyone has their preferred game, and their preferred metagame. These statements are rules of thumb, mostly, not set in stone.

"I like to watch the numbers go up because it feels good," is a valid argument.

You could mix and match upgrades and sidegrades, with several viable options on each upgrade.



JP costs, class levels, and especially class level requiremnts are how you set the skill options for your enemies. Level 8 (or 9 if it's a thing) is for me 9999 JP. If I want an enemy to master a job, I set it's unlocked job level to 8 (or 9) and call it a day.

This creates issues with Crystal learning scumming. Crystal is already annoying because its metagame is "win battles without losing your investments", so I intend to remove crystal and treasure chest. Units would still be removed from battle after their time is up, but they would just be unusable in battle for a number of days equal to their level. The metagame then becomes "Win battles, or reset if I don't have a backup character or the patience to walk back and forth for 3 months"; given that it's FFT, you probably have an entire roster of backups.

99% of my ideas are me fixing something in vanilla, and then needing to fix something else to fix the thing I fixed. It's less of a hassle to work within the framework the game designers made for you, or to avoid it altogether by removing/fixing stat growths.



The midway path between fixed/no growths and unique growths for each class is fixed growths for each class archetype.

The way I see it, these are the class archetypes. Note that these aren't actual stat values, just ratings based on your desired min/max for growths and multipliers.

SP: 4, 3, 2, 1. Or Very Fast, Fast, Normal, Slow
?A: 5, 4, 3, 2, 1. Or Excellent, Great, Good, Poor, and Terrible.

Then for PA and MA you have a point-buy system for your achetypes.

Bard and Dancer are fire-and-forget skillsets powered by their dominant stat, so they get the best for their dominant stats and the worst for their irrelevant stats. The number of turns they get is mostly irrelevant.

Let's give them Slow (1) SP, and for the other two Excellent (5) and Terrible (1).

Total: 7

Then you have the speedsters, where their speed is far more important than any stat, as their skillset capabilities are largely determined by how many turns they get. Calculator (I intend to nerf their spell lists), Chemist, Ninja.

Their SP is Very Fast (4), and their dominant/irrelevant stats are Poor (2) and Terrible (1).

Total: 7

Then you have the fast but decents, whose skillsets benefit from SP about as much as their dominant stat. Priest, Oracle, Thief, and Lancer. Mediator if you keep them around, since their skills suck so bad that turns are about as relevant as MA.

Their SP is Fast (3), and their dominant/irrelevant stats are Good (3) and Terrible (1).

Total: 7

After that, the regulars. Knight, Monk, Wizard, Time Mage (at least when Demi 1/2/3 is improved to use current HP * (MA * 1/2/3)% for damage), Summoner.

They're Great (4) at one thing, Terrible (1) at another, and Normal (2) speed.

Total: 7

Last but not least are the average joes. Geomancer, Samurai, arguably Squire since you don't want them to swing too much one way or the other. I intend to replace Mediator with a Scholar, whose skills/spells are all based on transfer or modification of current HP and MP as percentages (determined by (PA or MA * 1/2/3)% for amount), and put them here.

They're Good (3) at anything (3) and Slow (1).

Total: 7

With these, you can mix and math level gains to get the final stats you want. I would make a support skill that disables experience gain if possible though.



Ways to deal with grinding.

1. Make it almost impossible.

Ensure that you can't do anything indefinitely (except Attack, of course). Give everything at least a minor MP cost, and make at least minor CT costs more common. Granted, my elemental system means that you could give half your team elemental weapons and beat something with them to heal it, but that also seems like a great way to make half your team less useful against a real threat so it will eventually come back to bite you.

Make it hard to heal or do minor damage indefinitely. Give everything at least a minor MP cost. Make the few minor damage weapons proc something that is semi-random, so they can't easily be used to beat chocobos almost to death (the chocobos wouldn't be able to heal indefinitely in an ideal world). Only being able to grind for 1 and a half levels at a time in a perfectly won battle is a victory over grinding.

Make total incapacitation of an enemy without victory impossible. Floors on stat breaks, floors on Brave/Faith modification (either hard limits of some value, or soft limits as I outlined above). Every class has some skill it can use even when it has no gear. Give every class at least one thing it can do that's outside it's vanilla purview so they have a chance to recover from what you do to them.

Make total protection of yourself impossible to make battles harder, and attempts to grind risker.

Reduce the severity of debuffs. Make blind a subtractive penalty to hit rate rather than division by half.

Reduce the severity of buffs. Make transparent just add 20 to evasion and maybe hit rate, and remove all other hardcoding.

Give more debuffs CTs, so they can't be used to permanently weaken an enemy.

Make more debuffs cancel each other out or unable to stack. Charm, Confusion, Sleep, and Berserk are good candidates for debuffs that cancel one another out. This example is very nice for any class that can inflict Berserk or Sleep, as they have a way to do a limited debuff removal of Charm and Confusion. This is what I mean by giving classes a limited capability outside what they can do in vanilla.

Give some debuffs upsides, like increased accuracy, speed, evasion, or damage. Oil could halve water damage. Frog could be immune to water damage and have improved evasion due to size. Chicken could improve evasion.

Remove some downsides from debuffs - grant more of them the ability to trigger RSMs, let frog cast all spells and maybe continue to use some or all skills.

Stagger debuff immunities so you aren't guaranteed a way to totally incapaciate everything.

2. Increase the random variation in battles.

Optimizing a team for grinding may not always be the same as optimizing a team for winning. If you never know what you'll encounter, and you'll eventually bite off more than you can chew. If you're not always as prepared as possible to win, then grinding by fighting becomes a better metagame than grinding by abusing a Treats always:regen or whatever.

If someone eventually makes a hack that places traps randomly onto a legal tile and makes them always trigger (and I hope removes degenerator), then that helps too.

3. Make non-grinding activity more fun than grinding/powergaming.

4. Remove the necessity to grind.

Reduce JP costs to reasonable levels.

Allow classes a degree of viability with a few cheap skills anyone can buy at class unlock, and synergy with the previous classes' skillsets.

Remodel the game such that everything is obvious from the start, and there are many viable playstyles. Tooltips, informative naming schemes, sprite/palette clues. Good balance, slap on whatever you find and fight, or plan for a while to win with slightly fewer game overs.

The reasons for failures should be obvious and easy to parse. Solutions to simple problems should be simple.

Remove soft-locks, and warn of the ones you can't.

5. Don't obligate completionism, and make rewards for it not too major.

Getting access to a wide range of a large items should be useful, but not necessary unless you're doing a certain playstyle - like a team of Samurai, Chemists, and Ninjas.

Don't make anything permanetly missible, though it makes sense to not make it too easy to get everything.
30
When you stream, let us know your thoughts on best practices for things such as how to shape terrain to make the most of what limited resources you have. It's hard to know the best way to do something until you're elbow deep in it; theory only goes so far.

Off the top of my head, you might free up more polygons if you have inclines rather than steps.
31
https://www.deepl.com
Este site de tradução acima é melhor do que o site de tradução do Google.

Alguns conselhos:
* Tente usar apenas uma quebra de linha entre as sentenças, em vez de 2 ou mais.
* Use as etiquetas do spoiler (use o botão de cotação em meu post para vê-las em sua resposta) para organizar listas e tornar seu post mais fácil de ler.

https://www.deepl.com
This translation website above is better than the Google translation website.

Some advice:
* Try to only use one line break between sentences, instead of 2 or more.
* Use the spoiler tags (use the quote button on my post to see them in your reply) to organize lists and make your post easier to read.
32
Ganesha seems like it needs a 3 dimension selection tool, so you can grab something and move it to the side for later.

RE sectors, see if you can use Cebix's psx tools to rebuild the disc image with a larger file and get the game to work. If you can do it freely, then why not increase more maps to the maximum x/y/z size?

For Sweegy, maybe go the Araguay Woods route? Make hills, put giant stumps that fade away to nothingness on top. Maybe a few stumps here and there to jump on as well, and a stump with a hole in it that you can hide in. I don't know about lighting, but it seems like Araguay is slightly darker, like the understory in a forest. More of a suggestion of a forest than an actual forest. Also consider making a winding road/bridge through the forest, and adding a flowing stream maybe down the incline.

https://www.cavesofnarshe.com/fft/maps/mapsingle.php?mapid=080

Speaking of Araguay, two of the trees there serve no tactical purpose and just take up space, while a third does very little tactically. Move them away from the edges of the map and they can do a whole lot more.

Here are some ideas from a mod I'm planning, do as you like with them (or not). I want random battles everywhere, and all terrains to be present at roughly the same rate (not necessarily on every battlefield), hence the oddities. Your efforts are going a long way towards me eventually doing all this.

Used maps:
  • Change thieves den to a swampy area with a rock formation and carved columns shaped like vanilla map, swamp in between us and them, and some narrow (1 or 2 tiles in width) 1 and 2 depth channels.
  • Fort Zeakden to a smaller building on a snowy hill, to explain why it still exists despite being blown up. Otherwise keep it the same, but add some paths up to the top and more bridges.
  • Golgorand to a forested area in ruins, with a small stream running through it.
  • Nelveska Mount Bervenia is fine, I guess. Maybe a bridge between the small hill and the volcano, and something around the edges so you have a reason to go those ways. Maybe you can play keep-away there. I haven't seen Nelveska used in random battles so I have no idea what I'd do with it (the temple seems like a waste IMO).
  • Deep dungeon battles all 100% lit, with greater variations in terrain (volcanos, water, maybe some moss, swamp, salt water). The empty areas where you never move around 1/3 of the battlefield could just become water instead.
  • Add more terrain and height variation to existing maps, and make the less used areas of the maps more viable. I also want to have fewer perfect bottlenecks (Mandalia has like 4 for a single person, more if you have a team), and more imperfect and 1-way bottlenecks. Oh, and indirect fire hidey-holes with raised edges to protect from direct fire (but you're screwed if you get in melee range)

Unused maps:
  • Unused gate of Limberry Castle - becomes a hot springs in a lake. Lava, water, ice, snow, running water.
  • Hospital in slums - becomes an ancient machine room.
  • Inside castle gate at lesalia - to Zeltenia slums.
  • Outside castle gate at lesalia - not sure?
  • Main street of lesalia - fix it for random battles. Think it's just missing black polygons from some views, should be a low effort fix.
33
Help! / Re: formula 58 / Moldball virus help
February 25, 2021, 01:15:52 pm
Here's the Moldball Virus formula:
https://ffhacktics.com/wiki/58_Generic:_Set_Morbol:_Hit(MA%2BX)%25

A jal is a subroutine (aka method or function) call, find the called subroutine by Ctrl f the address it references in Routine Locations:
https://ffhacktics.com/wiki/Routine_Locations

Don't use spaces, the 0x prefix, or leading zeros.

For instance, here's Elemental Strengthen:
https://ffhacktics.com/wiki/Elemental_Strengthen

See the starting address is the same as the address referenced in this line of code in the Moldball Virus formula?
0018a834: 0c0617ff jal 0x00185ffc      Elemental Boost

You'll also need to look at Battle Stats to find out what's being loaded in many cases.
https://ffhacktics.com/wiki/Battle_Stats

I can't tell by glancing at it how exactly it does it's thing. I'd try fiddling with these lines in a save state or the memory editor for pSXfin or duckstation.
0018a8cc: 2442007e addiu r2,r2,0x007e
0018a8d0: 304200ff andi r2,r2,0x00ff      r2 = Job Class + 0x7e
0018a8d4: 2c420003 sltiu r2,r2,0x0003     
0018a8d8: 14400005 bne r2,r0,0x0018a8f0      Check if already murbol
0018a8dc: 34020002 ori r2,r0,0x0002
0018a8e0: a4820010 sh r2,0x0010(r4)      Turn unit into murbol
0018a8e4: 34020001 ori r2,r0,0x0001
34
Help! / Re: Extract 3d Maps
February 25, 2021, 01:05:53 pm
It requires sophomore level coding experience and a brain that can grasp 3D graphics math (not mine), but here's what exists thus far.

Extracting maps and converting them to 3D printer code (?):
https://ffhacktics.com/smf/index.php?topic=11942

Everything that may be useful in 3D map extraction:
https://ffhacktics.com/smf/index.php?topic=12658
https://www.romhacking.net/forum/index.php?topic=32298.0
https://forum.xentax.com/viewtopic.php?f=16&t=23450
35
There are a few ASM hacks and spreadsheets related to that, but nothing that does that specific thing.

Start here:
https://ffhacktics.com/wiki/Base_XA_Calculation

Ctrl f XA here:
https://ffhacktics.com/wiki/Routine_Locations

You'll reference this in whatever formulas you use:
https://ffhacktics.com/wiki/Battle_Stats

The simplest way to make unarmed linear is to make it use base PA instead of current PA for one of the operands in the unarmed formula.

Back to the Base XA calculation, look at this part:
00185ae0: 14600014 bne r3,r0,0x00185b34        Branch if a weapon is equipped //if no weapon, execute following code
00185ae4: 00b00018 mult r5,r16                 Brave * PA
00185ae8: 00001812 mflo r3                     r3 = Brave * PA
00185aec: 3c0251eb lui r2,0x51eb
00185af0: 3442851f ori r2,r2,0x851f
00185af4: 00620018 mult r3,r2                  Brave * PA * 0.32
00185af8: 3c018019 lui r1,0x8019
00185afc: a43038ce sh r16,0x38ce(r1)           Store XA = PA
00185b00: 00031fc3 sra r3,r3,0x1f
00185b04: 00001010 mfhi r2                     r2 = Brave * PA * 0.32
00185b08: 00021143 sra r2,r2,0x05              Brave * PA * 0.32 / 32 (or Brave *  PA / 100)
00185b0c: 00431823 subu r3,r2,r3
00185b10: 00031400 sll r2,r3,0x10              Brave * PA / 100 * 65536
00185b14: 3c018019 lui r1,0x8019
00185b18: a42338d0 sh r3,0x38d0(r1)            Store YA = Brave * PA / 100
00185b1c: 14400058 bne r2,r0,0x00185c80        Branch if YA > 0
00185b20: 24620001 addiu r2,r3,0x0001          r2 = YA + 1 (minimum of 1 YA)
00185b24: 3c018019 lui r1,0x8019
00185b28: a42238d0 sh r2,0x38d0(r1)            Store YA = 1
00185b2c: 08061720 j 0x00185c80                Jump to end
00185b30: 00000000 nop

You'll need to make room for another load like this, but for base PA:
00185ad4: 90500036 lbu r16,0x0036(r2)          Load Attacker's PA
I don't know what you could condense/remove to accomplish that, but there's probably something in there that bears removing or could be simplified.
36
I got logged out while editing the post above, but I copied it before I attempted to post. Here's what I was going to add.

I did a search for "akao romhacking" and hit the jackpot. Only issue is it seems to be music, not sound effects. Finding out what "smds/dwds" means may help.
https://github.com/vgmtrans/vgmtrans
QuoteSquaresoft's PS1 format used in certain PS1 games like Final Fantasy Tactics (smds/dwds)

These also seem relevant, but may be dated.
https://github.com/loveemu/seq2mid

This thread has some info, and Bregalad of RHDN is another person you could bounce ideas off of as you work on this.
https://www.romhacking.net/forum/index.php?topic=23229.0

Quote from: CONMAN on February 15, 2021, 10:03:56 pmAt the moment I've just been paste/writing behind the header of a single short song and making duplicates for each entry.  I keep a copy of tactics with the music test patch applied so that I can screw it up all I want.  I jam it up with cd-mage.  It would probably help out if I ran a memory viewer at the same time.  I haven't been testing out different parameters but using short sound effects might be a lot easier to help decipher than the full on songs. Actually, as I type this, it occurs to me that I might be skewing some of the sounds that I have been listening to because some would appear to require multiple "channels" to sound correct.  I had been using the head from the "instrument test and I'm pretty sure it is set to play just one channel at a time.
Do you know what files you need to edit, where they loaded into RAM, and if they are loaded whole or in part? I don't, but if I know what you're missing then I know what to start looking for.

Editing with the pSXfin (or duckstation) ram viewer would be a lot faster, and allow you your work to progress with fewer steps and more time spent hacking.
37
Quote from: CONMAN on February 15, 2021, 08:03:57 pmI might try to send an email over at some point.  We have a lot of missing/unknown commands that I see pop up quite a bit in the music/effect files.

I'd like to correct in my previous comment that "AC" isn't "play note" it's select "instrument."  The system.sed file has a table for ~300 sounds and when I tried to jump up and test file 66 (hex) the sound I heard was clearly one of the "sparkle" sounds (32-37.) (Yes, I converted to decimal and counted down... roughly correctly.)  There is more going on there or rather it's not as simple as I would like.

Just for the heck of it, today I checked env.sed and easily found another offset table linked to some sound chunks.  My gut feeling listening to the first 4 sounds is that this file contains sounds for the weather/background sound effects.  The first 3 might be water/rain/river- a little rough on the ears. But the fourth sound seems like it's the thunderstorm background sound. Give it a listen.

Sounds distorted somehow, but it does resemble the rain and thunderstorm sound effects. Reminds me of an antique rototiller I saw at a tractor show.

Are there parameters you can play with? What is your workflow for testing this - savestates? Memory viewer? The more easily you can fiddle with things, the faster it will go.
38
Hacking/Patching Tools / Re: FFT Patcher .478 Source Code
February 15, 2021, 09:08:47 pm
Quote from: Glain on February 15, 2021, 02:04:02 pmGood catch.  It was writing to the correct location when patching the ISO (0xAD844 in WORLD.BIN) but to the wrong corresponding RAM location for Gameshark codes.  I've checked in a fix to the source control to correct the offset.
I saw your revision and can now more easily grab gameshark/RAM addresses for everything FFTPatcher edits, but where can I find the disc files/addresses for the same? A search of 0xAD844 and it's base 10 equivalent in the FFTPatcher suite repo returns nothing.
39
Hacking/Patching Tools / Re: FFT Patcher .478 Source Code
February 15, 2021, 07:09:05 am
Bug report for FFTPatcher v0.493.

In Gameshark tab of same, checkmarking all of item 0x00's shop availability flags displays the following code:
"Store Inventories
D0067000 8A44
8018D840 FFFF

While gathering addresses of FFTPatcher's data tables, I attempted to verify the shop inventory by editing it in the pSXfin memory viewer. On testing the shop inventory data does not start at 0x8018d840. Instead it starts at 0x8018d844. You can verify this in anywhere (I tested it in Igros) with the following code, which unchecks all the shop availability checkboxes for "0x01 Dagger", making it unavailable.
D0067000 8A44
8018d846 0000

Or you can go into a shop, verify a dagger appears, go to addresses 8018d846 and 8018d847, set their values to zero, and then press left or right until you return the weapon purchase submenu to find that daggers aren't available for purchase.
40
That wayback machine link referencing sdamo.io is from Stéphane Damo. Didn't sdamo do something with FF7 or FF8 a few years ago? Something like a sound or music editor?

https://github.com/stephanedamo

It's very familiar, I know I've seen that handle somewhere.

edit

There we go!

http://forums.qhimm.com/index.php?topic=18201.0

There's an email in there (stephane.damo@gmail.com) at which you can contact sdamo/Phanoo to get any information that isn't covered by wayback machine.