I've been studying Qgears, along with any info I could find on how FF8 works, and trying to plan out how the underlying code should be structured. I've taken inspiration from the data that Qgears gave us, though a lot of it has to be changed as that project is designed for FF7, not FF8.

However, I thought I'd put this up to get some feedback from any programmers looking to get in on this. It's definitely not much, but it's more just to see if people think this is heading in the right direction. If people have other ideas about how to do it then I'm all ears.

A lot of the files are Unity stuff, so the only ones that need looking at are ones with actual code in them. I've left some "to do's" in there as I just don't have the time to do as much at one time as I would like. I also made the character stats animation curves. I've spent a while researching the best way to go about character stats in RPGs for a long while now (well before this project) and it seems an effective way to do it is to use animation curves, where we can set points on a graph, such as level 1 strength = 2, level 100 strength = 150, and then just evaluating the graph based on current level. Saves a lot of time and allows good control as well (such as a character that grows slowly but then becomes really strong in their last 20-30 levels, sort of a pay off for sticking at it).

If anyone has any questions or like I said earlier, any better ways of doing things, let me know!

Monster stat|level calculation is 100% identical to original game to my knowledge.

the Player tables, is because leveling in FF8 levels grants stats to players as well, the values that I've filled in on players is just what I managed to get approximated as close to as possible, leaving 95% of the levels stats close to the original game. the few levels that are not 100% correct inbetween is only offset by +- 1 stat but last levels is identical stat wise.

btw creating the database was a pain in the butt filling each value by hand. ;P

Monster stat|level calculation is 100% identical to original game to my knowledge.

the Player tables, is because leveling in FF8 levels grants stats to players as well, the values that I've filled in on players is just what I managed to get approximated as close to as possible, leaving 95% of the levels stats close to the original game. the few levels that are not 100% correct inbetween is only offset by +- 1 stat but last levels is identical stat wise.

btw creating the database was a pain in the butt filling each value by hand. ;P

Personally this seems overly complicated to me. The pull request I put up has a single variable per stat and a getter that is one line, where as your implementation requires 5 parameters and quite a bit of math to return the same value. Not to mention, you said how much of a pain it was filling in each value by hand. That was the purpose of the animation curve that I mentioned in my last post. We don't need to calculate values like that when we already have the values that each character will be at each level. With the animation curve, we can set level 1, level 100, and for extra precision, each 10 levels (could go every 5 if you wanted to be super precise) and we'll have the same results only much cleaner and with a lot less work involved by us and the hardware when trying to calculate.

Of course, this is just my opinion. I just feel that calculating values is a waste of processing when we have the calculated values that we could just look up based on the character level.

as I said, it is to copy the original game's values without having to recreate the data nor it's behaviour. the amount of processing power used to calculate the stats are neglible, you can't even reliably measure the time spent due to how little time is spent in that part of the code.(yes, even if in my work I created 10000 enemies, all their stats would'be calculated according to their inputed level in sub milisecond time)

about the time spent with the DB, I would've saved considerable amount of time just modifiying the Ifirit tool to export all the values.but yeah, either way works. didn't say you had to use the code, just made it available.

No one really seemed that bothered by the implementation so I've gone ahead and merged that into master. I'll be looking to get back to this soon. What would people prefer worked on first? I'm torn between battle system or the character controller for when the player is in the field. If anyone has any preferences, speak up, else I'll pick one when I next get around to it

I would start with the battle module. It offers many possibilities to present the game on YouTube or Twitch. It's simply the best way to show the new engine in action. The field is very important but with its static camera rather boring to look at.

I wish it succeeded, but that's too giant project and I'm bad at texturing (>implying that I'm good at modelling too...) so artists currently are our Phoenix Down's, and we at the moment have 0 HP. I still have all the source files and everything by the way!