• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
October 28, 2020, 01:07:05 am

News:

Use of ePSXe before 2.0 is highly discouraged. Mednafen/RetroArch is recommended for playing/testing, pSX is recommended for debugging.


Things I wish I knew starting out (the newbies helping newbies thread)

Started by Shrikesnest, May 06, 2013, 01:25:48 pm

Shrikesnest

So my first patch is entering pre-Alpha bug testing.  It's nothing spectacular, but as I look back on the past six months I find myself wishing I had known a few things when I started.  Well, there's no good reason everybody has to muddle through the same mistakes I made, I say.  I'm going to list everything I can think of that I wish I'd known then that I know now, adding more as I think of them.

What I'd really like is for this thread to turn into a collaborative effort between the less experienced members of the site to help lift each other up and improve our skills.  Are you a greenhorn and you just figured out something that's been vexing you for a couple of days?  Throw it on the list.  Sometimes what seems obvious to a skilled, experienced member of the community is exactly the trick that a newbie is struggling to find.

Without further ado, and in no particular order...

THE FORUMS

1. Always check the date on any forum post.  This is important to avoid necrobumping, but it's important for another very important reason:  the tools have changed a lot over the years.  Things that were once completely impossible are now trivially easy.  If you find yourself reading about how, say, it's impossible to change the skills in the Dragoon's skillset, that just means you haven't read about Raven's Workbooks yet (http://ffhacktics.com/smf/index.php?topic=7271.0).

2. You'll get answers for your questions a lot faster if the title of your thread is extremely detailed and descriptive.  The people that genuinely want to help you still have their eyes roll into the back of their head when your thread is titled "HELP!!!!" or "Patching question."  Likewise, when you're describing your issue give all of the information that you reasonably can.  It's not enough to say that you're having a crash bug.  What emulator are you using?  Does the crash happen at the same time every time, or is it random?  What ASM hacks are you using?  People love to help, but they don't love to drag information out of you bit by bit to solve your problem.

FFT PATCHER

1. Here's something I would have loved to know when I started out:  some abilities and formulas are hard-coded.  What this means is that you can't alter some of the things they do just by picking it from a dropdown menu.  Weapon formulas, for example, can only be altered by ASM hacking.  The knight's breaks and Zalbag's Destroy Sword skills are the same way; you can't control what stat or equipment they break just by changing a formula.  If you want a melee skill that breaks the target's shield, you need to re-use the Break Shield slot.  If you want two melee skills that do it, you're kind of out of luck as far as I know.

2. This is more of a visual concern, but some attack animations are single-target only.  This means that if you set, say, the Preach skill to target an area instead of one person, it will only animate and show the Faith increase on one target (although it will actually function on all targets in the range).
( http://ffhacktics.com/smf/index.php?topic=4830.0  Here is a good collection of the spell animations for reference. If you watch through them you can see which ones will display on multiple units and which won't. -Celdia )

BALANCE NOTES

1. There are a couple of ways to make the AI tougher without any ASM hackery.  Primarily, I'm going to talk about three.  The first is, if you're designing custom skillsets, to make the skillsets varied.  Think about how many more options, say, a Monk has than an Archer in vanilla FFT.  The more abilities the AI has to work with, the broader their threat.  The second is, when adjusting JP costs, consider that the AI gets JP to spend based on its job level.  Players can grind and grind all day for a 5000 JP Bahamut summon that obliterates the entire screen, but the AI never will.  My personal rule of thumb is to make the sum total of every class's abilities cost less JP than it takes to reach level 8 in that class, so that you can set the AI to master a class at will.  The third is that you can only set one job for the AI to have learned, but it will gain abilities from every sub-class that you set.  For example, let's say that you need to be a level X Wizard to unlock Summoner, and you're putting an enemy Summoner on the field.  If the job requirement for Summoner is level 4 Wizard, the enemy Summoner will have many more JP to spend on Wizard abilities than if the job requirement for Summoner is level 2 Wizard.  Boiled down:  The harsher your job requirements, the more powerful the AI becomes.  The laxer your job requirements, the more powerful your players become.

2. You should know going into your patch what kind of difficulty level you're shooting for.  Keep this in mind with every change you make.  Even something as simple as giving each enemy in the game up-to-date equipment makes the whole experience much tougher.  The balance question is deceptively difficult due to all of the things that factor into it, such as:  when updated equipment for each job becomes available, how much new equipment costs, how potent new equipment is, how hard new jobs are to unlock, what kind of equipment a job can use, how much JP new abilities cost, the MP cost of spells and abilities, whether abilities have a charge time and how long, how much guidance your help messages give to the player, how powerful different jobs are in relation to each other, how high a job's growths are, how powerful monsters are and how powerful special characters are.

  • It's easy to get carried away crafting fun new equipment, but unless you carefully consider how all of your gear stacks together you can easily annihilate your patch's balance.  Try to think about gear in terms of whole sets instead of individual pieces.

  • In addition, you must consider a job's equipment restrictions and its stat multipliers together when determining how powerful you want to make the class at any one thing.  If a Knight can only equip heavy armor, that fact alone is increasing their Hit Points.  Consider carefully how much of a Hit Point multiplier is necessary in addition to the armor bonus.

  • Likewise, think about what behavior your choices are incentivizing on the part of the player.  Giving jobs good stat growths, making monsters easy to fight and giving your abilities high JP costs are all choices that incentivize level grinding.  Conversely, causing enemy levels and equipment to scale in story battles disincentivizes level grinding, as it makes it hard for the party to keep up.

  • Something to always keep in mind is that you must be wary of exclusivity.  By this, I mean be very careful with things that players can have that the computer can't and vice versa.  Special characters, unique jobs, Zodiac monsters and rare items that can't be bought in stores can all cause problems if they are not handled with care.

  • When it comes to testing your game's balance, all the math in the world is no substitute for sitting down and playing through the game or, better yet, having several people do so.

  • The most important bit of advice I can give:  Any monkey can crank things way up or way down.  The best game balance works in moderation.




BUGS AND CRASHES

1. Always, always, always back up your materials.  Make a backup before you do anything.  It's simple, it's easy to forget, and not doing it can and will cost you months of work.  There is no "undo" button short of going back and fixing what you changed manually.

2. Always patch to a fresh disc image with a fresh patch.  Failing to do so will result in a bunch of weird bugs, like being able to attack in two directions at once with a 4-direction attack.

3. This is a classic. Is one or more of your sprites in a battle or event a glitchy mess?  There's two major reasons for this.  First, you may be running up against the sprite limit.  If I remember properly, the limit is 16 sprites on screen at once and 9 unique sprites on screen at once.  That includes guests.  This means that, in a battle with no guests or NPCs, you can have up to four different kinds of enemy; in a battle with one guest or NPC, you can have up to three different kinds of enemy, etc.  While editing the ENTD, pay attention; they always run right up against the sprite limit, so adding more class variety than already exists will cause glitches.  The second thing that can cause sprite glitches is altering a sprite that takes a special action in a cutscene.  My favorite example is the thief in Dorter Trade City who throws his hat on the ground.  If you alter the Thief sprites, that guy is gonna look messed up.  For the most part, fixing this is a huge pain in the ass if you're not a skilled pixel artist.  Either learn to live with it or simply don't alter any sprites with special animations.  (Note:  Changing Ramza's sprite is a good way to trigger this stuff.  So learn to love the buttpants.)

4. Something I had to learn the hard way.  If your game is crashing mid-battle, it's most likely a conflict with your ASM hacks.  The best way to troubleshoot it is to patch the game with no ASM hacks, then add them back on one at a time until the crash occurs.  Then test with just that ASM hack and each other hack individually until you find out what is causing the crash.  Yeah, it's a lot of work.  Welcome to bug testing.

More to come...
"Pale Ebenezer thought it wrong to fight,
But Roaring Bill (who killed him) thought it right."
- Hillaire Belloc, The Pacifist

Elric

Thank you Shrikesnest, this will be quite useful to new people. Once I get off work I'll add this to the important links thread
  • Modding version: PSX
<@Angel> Teach a man to fish and he'll open up a fishery to compete against yours.


Journey of the Five Youtube ChannelThe Lion War Current Status
  
Jot5 Leader :: Eventer :: OtherTLW Leader :: Eventer :: Other

Jumza

Maybe sticky it? This is a very useful list of things people should know when they start hacking, wish I had thought of something like this. Thank you Shrikesnest!
  • Modding version: PSX
Check out my project ~ FFT: A Stone's Ripple : http://ffhacktics.com/smf/index.php?topic=10857.0
The demo was just released! Come check it out!
Nyzer: Alma teleports out of her own possessed body.


Celdia

Very good post. Certainly something that has been needed for a while and we've all neglected to do anything about it. I added a link to the special effects collection thread for people looking for single or multi-hit animation examples.

Shrikesnest

"Pale Ebenezer thought it wrong to fight,
But Roaring Bill (who killed him) thought it right."
- Hillaire Belloc, The Pacifist

behumble

thankyou for info, u guys are awsome! i need to learn the most most basic more :3 , this is so exciting.

Ronin1984

I know its been a while since anyone has posted in this thread but I just wanted to share a 'thank you' for this! It has helped very  much in my learning process so far.
"History does not repeat itself but it often does rhyme." -Mark Twain

TheMexicanSpider

I as well would like to thank you for this! I'm new to hacking and this helped me a lot!
"Behind this mask there is more than just flesh. Beneath this mask there is an idea... and ideas are bulletproof."