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 - kerihobo

Pages: [1]
1
Fascinating. Thank you for sharing this. I am trying to replicate it myself but there are some really strange things when I sort in the actual game.

Firstly, I noticed "Field" and "Battle" don't also organize by Type, and I always assumed they did. They actually just grab all the items that match criteria and pull them to the front, in the same order they were in before the sort. You can observe this when you first sort by Type, then Field, then Name, then Field again. You'll see the results of Field were different both times. Cos they just grab the items that qualify, but leave those qualifying items in the order they were already in.

Wondering if their sorting is actually broken though, because if you sort by Name, "All Creation" ends up in the 'A' section, but if you sort by Field, I expect knowing that it just grabs all qualifying items in current order and pulls them to the front, that the result would be alphabetized, and it is, except "All Creation" ends up in the 'P' section instead of 'A'. FF7 truly is full of mysteries.

2
I ended up returning to FF7PC this weekend to do some testing, and I have a better understanding of how the lighting system works.

Wow so much amazing info there. I am actually trying to make my own shader in Unity that will behave exactly like this for a hobby FF7 classic remake that I'm working on in my spare time. I have it working but a few functions I'm not 100% certain about as I don't get identical results.

I'm unsure about a few things:
  • the size of the lightbox
  • How all 3 channels and their axes combine (add, max?)
  • Whether Global light adds to the overall result like how typical ambient light works, or if it multiplies with vertexColor etc.
  • If min/max values are -32768/32767, then I expect values seen in MakouReactor are actually so small they should barely equate to the lightbox gradient encompassing the player at all. 3000 for example is less than 10%, that's a very un-moved lightbox, quite close to zero. Even with 3 axes on 3 separate lights (a total of 9 lights seeing as each axis is pretty much a light?). I only seem able to get a similar result by really pushing that box across, like in your Tifa GIF?

Also if the shader itself has any additional magic going on, like some classic diffuse-wrapping.



Actually I have many more questions, too many, but they could all be answered if there was some nice realtime way I could adjust those light values in the scene, alas MR doesn't preview lighting.

So I was wondering... what was your approach was for adjusting the light for the Tifa GIF? Is there some tool or other way I can use MR?

Lastly, did you come to a conclusion on this one?
Edit: It's been brought to my attention, it's possible that light direction is determined via a vector dot product, and then light intensity is calculated via vector length. I'll have to do more testing later to confirm this. (end edit)

3
General Discussion / Re: Level-up stat increases
« on: 2019-05-30 14:22:49 »
Weird, my HP seems to work fine but my MP not so much... I swear I'm following the GameFAQs guide perfectly...

According to the stat brackets on the wiki, my logged results are not correct:


I'll post an image of my code instead of text for syntax highlighting:


My logs are... correct... most of the time????? 0_o

4
General Discussion / Re: Level-up stat increases
« on: 2019-05-29 22:55:55 »
Thank you so much for your reply. I trial/errored 0-11 instead of 0-11% (AKA val*.11) and it seems to be in range of the numbers I expect. The guide DOES describe expected outcomes for primary stats but not for HP/MP so I guess I've had trouble being sure of the results. 

The reason I multiplied by .11 is because the guide specifically says:

Quote
The Difference is then capped between 0 and 11%, and the Stat Gain is looked
up on the following tables:

                      HP                                MP
            Difference   Stat Gain            Difference   Stat Gain
                 0%         40%                    0%         20%
                 1%         50%                    1%         30%
                 2%         50%                    2%         30%
                 3%         60%                    3%         50%
                 4%         70%                    4%         70%
                 5%         80%                    5%         80%
                 6%         90%                    6%         90%
                 7%        100%                    7%        100%
                 8%        110%                    8%        110%
                 9%        120%                    9%        120%
                10%        130%                   10%       140%
                11%        150%                   11%       160%

So I see it is not 0%-11%, but rather 0-11 eh? Perhaps an error in the way the guide was written. C# rounds down after converting floats to ints, basically truncation, I can floor it but no need. That's great, though. It answers another question I had about how frequently I should be turning to floats, so it seems the answer is somewhere along the lines of 'never'?

As for why I'm using Unity, it's just my weapon of choice I guess. I've never developed in any other environments, to my detriment. I'm not making a calculator so much as attempting to faithfully rebuild the opening bombing mission for funzies and also to learn and gain insights from the process overall. I love the game so much, I'd consider my life lived by doing this lol.

5
General Discussion / Level-up stat increases
« on: 2019-05-29 13:08:03 »
Hi, I'm hoping someone can shed some light on how I'm misunderstanding the formulae described in Section 1.4 of the following guide:
https://gamefaqs.gamespot.com/pc/130791-final-fantasy-vii/faqs/36775
I think I have the primary and luck stat growth working just fine, however I am very confused about how HP/MP is calculated.

I am not getting very predictable results, which is a problem because according to the following wiki article:
https://finalfantasy.fandom.com/wiki/Final_Fantasy_VII_stats
The stats should be completely predictable (give or take).

Here is my specific C# code as I try to replicate it, my problem is I have no idea how to check where my steps are wrong because in the above guide, it doesn't really say what numbers to expect from different parts of the function...

Code: [Select]
int lv = 7;     // The level we JUST achieved.
int hp = 314;   // Our unchanged HP from level 6.
int b = 200;    // Base from the current rank curve.
int g = 19;     // Gradient from the current rank curve.

void IncrementPointsBase() {
    // This seems to get my FROMLevel's HP just fine...
    int baseline = b + ((lv - 1) * g);
   
    // I don't know what sort of number I'm hoping to get from this...
    int difference = Random.Range(1, 8) + (100 * baseline / hp) - 100;

    // The guide says to cap the difference between 0% & 11%... of what? The difference? The current HP?
    // I really don't understand this particular step.
    int cappedDifference = (int)Mathf.Clamp(difference, 0, hp * 0.11f);

6
I see the OP mentions he struggled with Primary stats, but that he had HP/MP working fine... I have the opposite problem. Anyone able to elaborate on a successful HP/MP algorithm? Section 1.4 here is really confusing me... I'd even appreciate some help understanding it...

https://gamefaqs.gamespot.com/pc/130791-final-fantasy-vii/faqs/36775

Here is my specific C# code as I try to replicate it, the main part I am stuck on is the last line I show where I replicate how the guide says to cap the difference to 0-11%... I'm like... 11% of what?

Code: [Select]
int lv = 7;     // The level we JUST achieved.
int hp = 314;   // Our unchanged HP from level 6.
int b = 200;    // Base from the current rank curve.
int g = 19;     // Gradient from the current rank curve.

void IncrementPointsBase() {
    int baseline = b + ((lv - 1) * g);
    int difference = Random.Range(1, 8) + (100 * baseline / hp) - 100;

    // The guide says to cap the difference between 0% & 11%... of what? The difference? The current HP?
    // I really don't understand this particular step.
    int cappedDifference = (int)Mathf.Clamp(difference, 0, hp * 0.11f);

Pages: [1]