GrayShadows

Member
  • Content count

    19
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by GrayShadows


  1. There's no public .ips available yet, although I do plan to get around that, uh, eventually. I actually built it using Novalia Spirit's optimised C3, and then backconverted to make it work on vanilla, and then figured out how to make it work in BNW. I'd have to double-check, but I think I even got it all in-line, since I was able to use a lot of the Relic space. 

    It both was and wasn't a lot of work; getting access to all six equipment slots was actually relatively easy. The biggest thing was getting the description to work properly, and getting things to redraw in the proper order -- it was a little obscure, and the relic screen and the equip screen do a few things in slightly different orders that was messing things up when I tried to cannibalise the one for the other.

    Thank you for the compliment! There should be a patch out... sometime... for use on vanilla/other patches, and if you come across any that aren't compatible, I'm usually pretty happy to update my patches to work with others. (As long as some variety of code is available to work with.)


  2. 11 hours ago, mewannabetatest said:

    Another from RC-12:

    When using select to swap between the gauge and Max HP during battle, it's slow to react or doesn't switch sometimes.  I'm not sure if I'm supposed to hold select to see the non-config view, or if select is supposed to toggle them (for what it's worth, I'd prefer holding to a toggle).

    Also (Nowea caught this, not me), if you hit select while you're selecting the target for a spell, it'll act as if you tapped R and go from single-target to multi-target.  This apparently won't allow for anything game-breaking (e.i. it won't let you cast a ST spell as MT).

    It *is* a hold -- I expect that cases where it's slow to react/not reacting are related to a delay in the screen-redraw, because I hooked the swap directly into the existing window refresh rather than forcing a refresh itself. I'll take a look at this when I can -- I probably won't have any coding time until Sunday, between work and life -- but I suspect this will be less of an easy fix than getting it to swap in the first place.

    Per Nowea on Discord, select also MTs in vanilla, so that's not new behaviour, but it's an easy fix once I have time to sit down and see where it does that.


  3. Yeah, that's a known bug related to certain MP-costing things not flagging a character to have their menu redrawn/recalculated -- the function that updates which spells are available called every turn, but only if a character is flagged to have it updated based on recovering MP, casting sells, etc. MP-crit weapons are bugged and don't flag it to update.. I think I've actually got a fix for it that's part of another patch, and I am 95% certain that I've seen someone else fix it from a different angle.

    • Upvote 1

  4.  

    20 hours ago, F-Bomb said:

    Is there any chance of reintroducing the hand equips during battle. I know they dissappeared with the optimize euip option, i was just wondering if a solution had been found for this? It is literally the only complaint I have about this hack.

    There is a chance -- a CHANCE -- that I can get this working in a way that'll work for BNW. It's a question not only of whether I can get it to work at all, and then whether or not I can make it play nice with some of the existing patches. At least one of them already messes with a subroutine I'll be relying on. 

    So. I make no promises, but there is an attempt being made.

    • Upvote 3

  5. Going to try to cover all the questions, let me know if I miss anything. :) 

    Finding the starting stats isn't an issue for FF6, the entire game is really well documented -- we've even got editors for that shit! ;) Some of the codebanks are still something of a work in progress -- C1, which governs graphics in battle, is still something of a mystery -- but data and data structures are pretty well all decoded. 

    The defined character roles comes into play primarily with a) skill and equipment sets and b) starting stats, which is partly why I'm weighting a character's primary stat(s) more heavily in the algorithm -- physical fighters start with higher strength than magical nukers, nukers start with higher magic than fighters. The idea is that some characters start out doing one thing really well, probably get to do it even better, and maybe end up being able to do something else really well, as well.

    Defining the character roles also comes through limiting magic to three characters, and those characters having defined lists, as opposed to all characters having access to all the spells all at the same time, like in vanilla FF6. It's also not a small cast -- there are fourteen playable characters (12 story PCs, 2 side PCs) in vanilla FF6, and twelve playable (9 story PCs, 3 side PCs) in Tensei. I believe the Final Fantasy game with the next-highest number of characters is IV, with twelve, and they're not all available at the same time even in the FF4Advance-derived games, since neither Tellah nor FuSoYa can be switched into your party at endgame.

    Which leads to the question about the spell lists: massive changes to the spell lists. Rather than 24 attack, 9 healing, and 21 effect, it's 18 each of Black, White, and Time, with Terra getting Black, Celes getting White, and Relm getting Time (which is going to be primarily buffs/debuffs, includes DoTs and HoTs, and has a few other reality-warping aspects to it). This is part of the ability system overhaul, which is extensive.

    Also, no one character is going to end up useless, even if they get a lot of shitty rolls at level up -- players are just going to have to get creative about how they use them. That's not a problem with the feature, that's the feature working as intended. (And, as I said, I don't know that I'm going to be able to pull that off, and you have brought up some valid concerns, but this is the kind of thing that we're not going to see succeed or fail until I'm actually testing it.)

     


  6. I mean, I'm defining the level one stats, so I guess that means I have access to them?

    There's no real intended average stat, because stats are weighted differently for different characters -- each character is supposed to be better at certain things. The intention is the reduction of homogeneity, in comparison to vanilla FF6. So the idea is more, like, characters who are good at a thing have a stronger chance of getting even better at it, and a weaker chance of getting better at other things -- that latter comes into play with the Third Slot/Command Relic abilities, where if you're lucky on rolls on a character's secondary stats, they can become more effective with selectable commands/ability sets that their primary stats aren't any use for, in contrast with a character's individual, primary command, which is tuned around their primary stats.

    One thing I'm hoping the random stat increases will do is actually improve replayability, because you may need to change strategies if a character's stats grow in a different way than you expect. The Stat Bits are intended to help make up for shortcomings if you get a bunch of shitty rolls, and I'm planning on tuning late-game gear around either covering for shitty rolls on a character, or for boosting secondary stats even further if you want to build a hybrid character, or even turn, say, a physical character into a caster.

    And I want to reiterate, I don't know that this is going to work out the way I intend it to, and I understand the concerns that are being brought up, but I'm not just throwing this system into an otherwise vanilla FF6 -- there are enough balance changes being made overall that we're not going to know how well it actually works out until I hit playtesting, and that's a long way off. I have backup plans that offer more flexibility and less randomness to the player, I just want to try this first.


  7. So, this is the current stat-at-level-up code (It's... something of an outline and not currently tested, for the record, but unless I've missed something it should work as intended):

    Spoiler

    fka_60C2: PHP  
    fka_60C3: INC $1608,X   ; (increment current level)
    fka_60C6: STZ $FD
    fka_60C8: STZ $FF
    fka_60CA: PHX  
    fka_60CB: TDC           ; (Clear 16-bit A)
     
    NewStatsUpFunction:
    LDA $161C,X        ; get character's current Stamina
    JSR $4B53        ; random number generator, 0-1 (carry clear or set)
    BCC .noDoubleHP        ; if the carry is clear, don't double our Stamina, otherwise...
    ASL            ; double our stamina for a bonus HP increase this level
    .noDoubleHP
    STA $FC            ; and save it to be added to our max HP
    LDA $161D,X        ; now get character's current magic power
    JSR $4B53        ; again, carry clear or set (50% chance)
    BCC .doubleMP
    LSR            ; halve our magic power
    .doubleMP
    LSR            ; and halve it again (1/4) -- 1/2 magic power if 50% bonus chance
    STA $FE            ; and save it to be added to our max MP
     
    REP #$21        ; set 16-bit A and clear the carry
    LDA $160B,X        ; get character's max HP
    PHA
    AND #$C000        ; isolate the top bits, which govern equipment boosts to HP/MP
    STA $EE         ; and set the aside for the moment
    PLA            ; get our max HP again
    AND #$3FFF        ; isolate the bottom 14 bits, i.e. max HP without equip boost
    ADC $FC         ; and add our stamina (or stam*2)
    CMP #$2710        
    BCC .under10k        ; if we haven't exceeded 10000, branch, otherwise
    LDA #$270F        ; set HP to 9999
    .under10k
    ORA $EE         ; combine with equipment bonus bytes
    STA $160B,X        ; and save it  
     
    LDA $160F,X        ; now get our max MP
    PHA
    AND #$C000        ; and isolate our bonus bits
    STA $EE            ; and set them aside
    PLA
    AND #$3FFF        ; get our actual max MP
    ADC $FE         ; add 1/4 magic power (or 1/2)
    CMP #$03E8        ; is it over 999?
    BCC .under999
    LDA #$03E7        ; if so, make it 999
    .under999
    ORA $EE         ; add back our equip boost bits
    STA $160F,X        ; and save new max MP
    SEP #$20
     
    PHY
    LDY #$0003        ; this is our loop index for boosting stats
    .getStatsUp
    JSR $4B5A        ; get a random number for this level
    STA $FC
    LDA $161A,X        ; $161A is Vigor, and we'll increment X through Speed, Stamina, and Magic Power
    CMP $FC            ;  
    BCC .noStatUp        ; if our stat is lower than our random number, don't increase
    INC            ; otherwise, increase our stat by 1
    STA $161A,X        ; and save it
    .noStatUp
    INX            ; increase X to get our next stat
    DEY            ; and decrement our Y index
    BPL .getStatsUp        ; loop back if we haven't done all four stats
     
    PLY : PLX : PLP
    RTS

     

    For those who don't read SNES assembly, what this does is a) increase HP by a character's Stamina stat and MP by 1/4 a character's Magic stat, with a 50% chance of a double increase (2xStamina, 1/2xMagic) per level. It then b) runs a loop where it grabs a random number 1-255, checks it against a character's stat, and increases that stat if the random number is lower than the stat in question (favouring a character's primary stat(s) over secondary stats). I may halve the random number (making it 0-127), which essentially doubles a character's chance of an increase, and I am probably going to cap stats at 128 rather than 255, because if you hit 128 you're ALREADY going to be pretty damn close to OP. I am also lowering the level cap (proooobably to 50?), which will decrease the total number of potential increases, although I intend to code it to run at level averaging as well so that you don't lose out on stat gains if joining later, etc.

    I need to check the base code, because my intention is that it does all this against base stats for Vigor, Stamina, Speed, and Magic, and I honestly can't remember offhand if the stats in the $1600 block take increases from equipment into account or not. I'm also planning to poke BTB and Synchisi about how they handled speed in BNW, because I know they did some coding to help mitigate the effects of excessive speed without making it a useless stat.


  8. Hee, thanks. I'm hoping to get something playable released by the New Year, to start testing things out -- something up to, say, the 3 scenarios divide, or possibly up to the battle at Narshe right after them -- and then I'd like to get a 1.0 RC out sometime next year, although I'm realistically a long way off from that still. (I need to stop coding shit for other people and start focusing on my own project. ;) )

    I fully suspect that some of the things I have planned are going to turn out to be enormously stupid ideas from a gameplay/balance standpoint, but I'm hoping that some of the ones that look stupid will turn out to be genius instead. 


  9. There's definitely been some concerns raised about the stat system over at FF6Hacking as well. At the moment, I intend to go forward with the system I have planned until I start getting into playable betas (or at least alphas) -- I want to see it in action before I make some final decisions on it. Although I do like the idea of lowering the chance of a bad roll -- maybe halving the random number. (The current system pulls a random number and compares it to the stat in question; if it's lower than the stat, the stat increases, and then there's a 50/50 chance of a bonus increase. With the right amount of luck, you could get +2 to all four stats on a level up.)

    I do have some another system I'm considering that would be less random, with some customisability, but I'm not sure yet if I'll be able to code it, because it'll involve some pretty heavy work in the field menu (and also an additional... 52? bytes of SRAM, although I can probably shuffle some things around to make that fit...).


  10. Introducing: Final Fantasy 6: Tensei
    Latest Update: 27 November 2017

    A large-scale hack, FF6: Tensei is an attempt to rebalance both the game and the world. With a smaller cast of characters -- nine playable main characters, with three hidden secondary (non-plot) characters, compared to the original games twelve-and-two -- a revisited and revised equipment list, and a massively overhauled ability system, FF6: Tensei is be a brand new experience to fans of the original game, while still maintaining a familiar, nostalgic framework. It's built around the basic story structure of the original game, with the same major story beats, but with a number of updates to individual characters that help the story take on a new form -- with a few additional surprises along the way.

    New features!

    • Random Stat Increases at Level Up: Instead of using the Esper system, characters have a chance at a stat increase at each level -- the higher the stat, the greater the chance it'll increase, favouring a character's primary stats over their secondary ones. Of course, if you're unlucky, the wrong stats will increase -- or no stats at all.
    • Stat Bits, Golden Apples, and Soma Drops: On the other hand, you can permanently increase your characters' stats through items! But be careful, there are only a few in the game... Unless you know where to look.
    • Costumes: An entire set of battle sprite-changing gear! Will your characters go around dressed as a Soldier or a Merchant? Will they dress up as an Imp or a Moogle for Hallowe'en? Or will they be perfectly lazy and be a white sheet Ghost?
    • New Town and Dungeon Maps: Some will be altered only a little, some will be redrawn completely... And some that are otherwise unchanged may have a few new surprises.
    • New Spell List: With the rebalanced ability system, the spell list will be divided evenly between Black, White, and Time magic -- but only certain characters can learn given spells, and most won't have access to the spell list at all.
    • New Abilities: Sabin now uses the Mantra ability to protect his allies; Leo wields Breaks to debilitate enemy spell-casters. There's an entire new set of ways to heal and to harm.
    • Third Slot Abilities: With magic restricted to certain characters as their primary ability, the third ability slot remains empty -- that is, until you start finding relics to expand your skill-set. Will you use the Gear Brace and grant your characters the Magitek ability? Or will they use the Blaster Gem to Ravage their foes with elemental physical strikes?
    • New Characters/Revised Character List: The cast is smaller, some familiar faces are nowhere to be found, and some new people are joining your team -- General Leo will be a permanent playable character, and newcomer Amelia -- Relm's mother -- is the resident dancing geomancer.
    • Defined Character Roles: By limiting characters' access to certain skills, there's a certain level of strategy involved in planning your team, as each character's ability is useful in different circumstances.
    • Hidden Characters: Say goodbye to Gogo and Umaro, and say hello to a few old friends... But just who is it who wandered through the Dimensional Rift? Spoilers, love. Spoilers.
    • Brand New Script: A necessity with the other changes, much of the dialogue will be either heavily revised or completely new.

    I'm attaching an old 'preview' image that has a little bit of my in-progress Walkthrough (which I'm writing as much as an outline of the game, as a planning tool, as it is an actual walkthrough) over top of my Items spreadsheet, as well as a screenshot showing off one of the basic new features -- an expanded Skills field menu, with an additional working entry. (... And possible even more entries in the final game, depending on how I develop a couple of characters' skills.)

    1st Preview Image.png

    FF6Skills-20161215-000538.png

    • Upvote 5

  11. Looking at the Alphabetical Rage patch, it looks like the conflict stems from overwriting the first 32 bytes of the alphabetised Rages data table at the end of C2. (calculateMPDeduction starts at C2/FAB0  and runs through C2/FAEF, the data table from Alphabetical Rage starts at C2/FAD0.) That could/would easily cause duplicate and mis-ordered entries in the Rage list in both battle and the field menu, because they both draw from that same table. 

    Did you leave the print commands in the .asm file when you patched it on? If so, did you happen to notice what address it said it ended on?

    • Upvote 2