Author Topic: [FF7PC-98/Steam] FF7 Randomiser - Godo  (Read 1367 times)

Sega Chief

  • Moderator
  • No life
  • *
  • Posts: 3325
  • Karma: 193
  • These guys is sick
    • View Profile
[FF7PC-98/Steam] FF7 Randomiser - Godo
« on: 2020-01-17 20:12:19 »
[FF7 Randomiser & Game Tuner: Godo]

[v0.2.1]
Download

[Feature List]
Spoiler: show

~~Features Overview~~
Below is an overview of each feature offered by the mod, broken down into section.
More detail of the changes can be found on the respective feature's page.

Randomisation Options
   + Attack Data (Spells)
   + Item Data
   + Weapon/Armour/Accessory Data
        + Materia Data

        + Character Stat Growths
        + Limit IDs/Unlock/Gauge Divisor (Damage taken to fill)

        + Character IDs
        + Starting Stats
        + Character HP/MP
        + Equipped Weapon/Armour/Accessory
        + Equipped Materia
        + RNG Table

        + Battle Background
        + Camera

        + Enemy Models
        + Enemy Names/Attack Names
        + Enemy Stats/HP/MP/EXP/Gil/AP
        + Enemy Attack Data
        + Add Random Element to Attacks
        + Add Random Status to Attacks (Safe & Unsafe)
        + Elemental Affinity/Status Immunities
        + Held Items

-) Special Hacks:
   + Enemy Swarm: Fills each formation to 6 enemies (some exceptions).
   + Disable Escapes
   + Poverty Mode: All fight rewards limited, enemy items removed
        + Spellspring: All MP costs set to 0 for player/enemies


-) Balance Tuning:
   + Stronger Enemies
   + Weaker Enemies
   + Max Drop/Steal Rates

   
-) Restriction Rules:
   + No Physical Attacks
   + No Limit Breaks
   + No Spells
        + No Summons
        + No Items
        + No Materia
        + No Exp
        + No Gil
        + No AP
        + Initial Equipment Only
   

-) Random Seed:
   + Seed is generated when applying changes (always unique)
   + Seeds are collected in a time-stamped catalogue to be reused later


[Installation]
Spoiler: show

~~Installation Guide~~
For PC:
1) Contained within the download is the application and two output folders; battle and kernel.

Acquire a scene.bin and kernel.bin (default preferred, but feel free to try modded ones) from your FF7 Installation:

   FF7/data/battle/scene.bin (1998/7th Heaven)
   FF7/data/battle/lang-en/battle/scene.bin (2012/Steam)
   
   FF7/data/kernel/kernel.bin (1998/7th Heaven)
   FF7/data/lang-en/kernel/kernel.bin (2012/Steam)

   Place the scene.bin into the battle folder, and the kernel.bin into the kernel folder.
   
2) Run the application and select the desired options (optionally input a seed).
Click 'Apply Changes'; if successful, a confirmation method with generated seed will be shown. If errors are encountered; the application will continue (if possible) and patch remaining data. Points of failure (sections or 'scenes') will be specified in most cases for troubleshooting.
   
3) After patching, close the application and move the scene + kernel back into the directories you got them from. Remember to retain backups of your original files in case you want to re-randomise or revert to default game.
   
   FF7/data/battle/scene.bin (1998/7th Heaven)
   FF7/data/battle/lang-en/battle/scene.bin (2012/Steam)
   
   FF7/data/kernel/kernel.bin (1998/7th Heaven)
   FF7/data/lang-en/kernel/kernel.bin (2012/Steam)

One thing to note; for Initialisation randomisation to take effect, a New Game is needed. All other options however will be in effect even if you start from a previously made Save Game. You can also start a Save using randomised data, revert the files back to default, and the Save File will still function.

NOTE: If the game crashes on start, try a different seed (or no seed and the tool will generate one using system.time). An unknown issue has certain seeds cause the game to reject the Kernel.bin.

For PSX:
1) Run the application as above, until Step 3; bear in mind certain options will likely cause issues on PSX such as Enemy Swarm.
   
2) Open the ISO/BIN/IMG using a tool such as CDMage and navigate to the BATTLE and KERNEL folder inside.
   
3) Import the scene.bin and kernel.bin to these folders inside the disc; if the files are smaller than the originals, confirm to pad the file with 00s when prompted. If the files are larger than the originals then extra steps will need to be taken.
   
*) If the file size is larger than the originals, then expansion is required. Certain utilities are capable of handling this but I'm unsure of the steps presently: http://forums.qhimm.com/index.php?topic=11541.0
         
~~Troubleshooting~~

This application was built on .NET Framework 4.7.2 and uses DotNetZip as a dependency. It will not work on Windows XP or older. If the application fails as a result of the DotNetZip dependency being missing, then the latest version of .NET Framework should be installed.
The program should be run on non-protected drives/folders and cleared through anti-virus for best results; the .EXE for Godo should also be unblocked via Properties if this option appears.
   
Godo targets files within its folder structure. For stability, do not rename/delete either the folders or the files inside them as the application explicitly references them by name for directory paths. Folder/File structure is as follows (casing is ignored):
   
   Godo/battle/scene.bin
   Godo/kernel/kernel.bin
   
Both files are from the PC version of the game. While the scene.bin is identical between the PC and PSX versions, the Kernel is not.
   
Internal Error Messages
*) "Error: Valid directory required" - The directory that Godo resides in could not be found.
   
This is an unusual error as the application references its own location to find it.
Keep Godo and its other files/folders within the Godo folder when running the application.
      
*) "Error: Randomisation Failed - Check that valid files are in correct locations; if so, report the bug along with selected parameters."
      
This will appear if the scene or kernel weren't found in their folders, those folders themselves were not found, or if the randomiser hits an error outside of its section/scene error handlers. If the files/folders are confirmed to be in the correct places with the correct names, then report this as a bug along with your selected randomisation parameters and if unusual files were used (for instance, were the files randomised multiple times or are they from another mod, different language, etc.)
      
*) "Scene ID: # has failed to randomise; point of error: $"
      
There are 255 'scenes' in a scene.bin that contain all enemy data; these are iterated through sequentially by the application when applying changes. If it encounters an error during this, it reports the Scene's ID and the section it was randomising at the time of error. Make sure to include these two pieces of information in a bug report along with the files being used (if no information is given for either scene ID or section ID, then report this as well).
      
*) "Kernel Section: # has failed to randomise"
   
As above, the Kernel is organised into sections and if one of these sections fails during randomisation it will be reported by the tool. Include this in your bug report.

*) External/Windows Error Messages
This means that something has gone wrong with running the application itself, which could be due to a permissions issue, a .NET issue, or a missing dependency. Post the error text and its error number if shown.

In-Game Errors
*) Softlock - Game continues to run, but player input is disabled.
The most common cause of this will likely be an unreferenced animation index was used, or an animation was used that does not terminate properly. This will likely occur from Model Swap, as it changes the Models and therefore the animations being set for          attacks. Filters have been added to catch as many cases as possible where unreferenced animations may occur through the AI, but if you encounter one then you can help improve the randomiser by providing either the name or description of the enemy model that caused the lock, along with the scene.bin you were using.   


[Changelog]
Spoiler: show

v0.2.1
Fixes
*) Materia Section was failing to randomise.
*) Issue in which non-changed models were having their animations re-assigned as if a model swap had occurred, causing soft-locks.
*) Improvement made to animation allocation for greater stability.

v0.2.0
Bugs & Issues
Major
*) Model Filters issue where risky models with multiple idles and hurt animations were being swapped out.
*) Model filters refined and a new option (Risky Swap) added to handle enemies with special requirements.
*) Issue where enemies could have FF assigned as their animation IDs in excluded scenes.
*) Issue where Limit Break ID wasn't skipping Tifa, Cait Sith, and Vincent for assignment.
*) Added some spell animation IDs which could cause softlocks without their special flags to the exception list.
*) No Spells/Summons/Items implementation changed; Menu Commands will now not open their respective Menus.
*) Some Kernel options were improved to reduce likelihood of hard-crash on game launch.

Minor
*) Fixed wrong placement for an enemy in one of the Swarm formations.

Balancing
*) Added rules for the first Reactor and the early battles to reduce risk of unwinnable battles.
*) Refined the randomisation rules for reassigning stats, weapon formulae, enemy attacks, & Exp/Gil/AP.

v0.1.0
Initial Release


[Credits]
Spoiler: show

Thanks to NFITC1 for helping me understand the compression format for both the scene.bin and the kernel.bin; the Wiki resource put together by the community was also enormously helpful.

Special thanks to Uprisen, Strife98, Death_Unites_Us, and iDerek759 for helping to test the mod prior to release; and to Tsuna for spreading the word. Also thanks to AntiqueChrono for running output files through his unit tests.


Donations
Patreon
« Last Edit: 2020-01-21 16:41:08 by Sega Chief »

solid_snake1982

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #1 on: 2020-01-17 21:50:32 »
Found a bug pretty early on when morphing fogger encountered an unexpected error and crashed the game.

Merilan

  • Newbie
  • *
  • Posts: 2
  • Karma: 0
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #2 on: 2020-01-17 22:25:28 »
I randomly encountered Carry Armor's arms which tried to lift one of my characters, causing a softlock in the battle.

Sega Chief

  • Moderator
  • No life
  • *
  • Posts: 3325
  • Karma: 193
  • These guys is sick
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #3 on: 2020-01-17 22:28:43 »
Found a bug pretty early on when morphing fogger encountered an unexpected error and crashed the game.

You mean Smogger? It might be that certain models can't be morphed, so if the enemy had one of those models that might be why. Do you remember what the model looked like/or what enemy it was? Either that or it had an invalid item ID set as its Morph.


I randomly encountered Carry Armor's arms which tried to lift one of my characters, causing a softlock in the battle.

I was hoping the arms would be OK; I ran a test where they seemed to operate properly. Maybe one of the arms is safe and the other isn't, I think they link to each other through animation data. If they aren't safe then I'll need to shuffle them out.

Merilan

  • Newbie
  • *
  • Posts: 2
  • Karma: 0
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #4 on: 2020-01-17 23:23:41 »
I was hoping the arms would be OK; I ran a test where they seemed to operate properly. Maybe one of the arms is safe and the other isn't, I think they link to each other through animation data. If they aren't safe then I'll need to shuffle them out.

If it helps I think there were two right arms, and the 'center' enemy was a Motorball-type enemy (don't know which one if there are multiple).  I wound up just slowing the battle speed enough so I could run away from them

ferriswheel31

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #5 on: 2020-01-17 23:29:23 »
Ran into a battle softlock when Tifa uses the Fury Brand limit break. Was running a clean install of FF7 on Steam.

Battle stays focused on this angle and seems to continue indefinitely, with music and party member idle animations continuing as normal. I waited several minutes to see if it would end itself.
https://i.imgur.com/FSilCbn.jpg
« Last Edit: 2020-01-17 23:32:21 by ferriswheel31 »

Raikaru

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #6 on: 2020-01-17 23:55:33 »
Encountered a bug really early on, used Haste and it played the `Escape` spell animation and then broke the battle. Can select one additional attack and then the battle is softlocked. seed info here https://i.imgur.com/qY1qIfy.png

Also would be nice if the randomiser remembered previous settings and potentially a spoiler log generated for things like this? would make some bug reporting easier.

Sega Chief

  • Moderator
  • No life
  • *
  • Posts: 3325
  • Karma: 193
  • These guys is sick
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #7 on: 2020-01-18 01:26:49 »
If it helps I think there were two right arms, and the 'center' enemy was a Motorball-type enemy (don't know which one if there are multiple).  I wound up just slowing the battle speed enough so I could run away from them

There's a bit of a problem with the filters, I'm going to re-do them and make it a bit stricter.

Ran into a battle softlock when Tifa uses the Fury Brand limit break. Was running a clean install of FF7 on Steam.

Battle stays focused on this angle and seems to continue indefinitely, with music and party member idle animations continuing as normal. I waited several minutes to see if it would end itself.
https://i.imgur.com/FSilCbn.jpg

Yeah, Tifa was supposed to be excluded from getting different Limit IDs because it'll react unpredictably when used. I'll have sorted in the update.

Encountered a bug really early on, used Haste and it played the `Escape` spell animation and then broke the battle. Can select one additional attack and then the battle is softlocked. seed info here https://i.imgur.com/qY1qIfy.png

Also would be nice if the randomiser remembered previous settings and potentially a spoiler log generated for things like this? would make some bug reporting easier.

Ah Exit, I think that spell has a special animation. I'll add that spell to an exclusion list so it doesn't get onto anything.

Can add some memory stuff and a log, but first I'll need to focus on stability.

KartSeven

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #8 on: 2020-01-18 18:29:34 »
Hello all, here are a few bugs I noticed since yesterday.

1) Already said on Twitter, but I fought 2 Razor Weeds (or any enemy similar to him) and when I used Ice2, the game softlocks.

2) I fought a part of Emerald Weapon (with head and body only), and game crashes each time the enemy attacks.

3) With one specific randomization option, first battle is against 2 Corneo's Lackey (or 2 Scotch, not sure), and even if I win XP, it's not shown after the battle (as if I didn't win XP at all).

Sega Chief

  • Moderator
  • No life
  • *
  • Posts: 3325
  • Karma: 193
  • These guys is sick
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #9 on: 2020-01-19 22:19:14 »
Updated the randomiser to 0.2.0; this should sort out the problems with enemies using AI references on animations along with a lot of other stability issues. Changelog section on the front has the details.

Grabsac

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #10 on: 2020-01-20 00:16:51 »
I got kernel section #8  (Materia data) has failed to randomise. It doesn't work with any seed. I can supply my kernel.bin file on demand. It should be vanilla. I'm using 0.2.0.
« Last Edit: 2020-01-20 00:20:04 by Grabsac »

Sega Chief

  • Moderator
  • No life
  • *
  • Posts: 3325
  • Karma: 193
  • These guys is sick
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #11 on: 2020-01-20 12:31:20 »
No worries, I identified the fault. I'll patch it tonight.

Zara9

  • Freak
  • *
  • Posts: 510
  • Karma: 10
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #12 on: 2020-01-20 12:34:09 »
hey sega chief

some streamer on twitch said the hellagunner boss fight on this randomizer softlocks the game when the second hellagunner tries to comes down but it does not so it softlocks fight, i think it has to do with the different backgrounds, thats how it is with the motorball fight as well

UpRisen

  • Crazy poster
  • *
  • Posts: 205
  • Karma: 9
  • Again... AVALANCHE is born again!
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #13 on: 2020-01-20 13:01:09 »
changing backgrounds wont have any affect on any fight except for Safer Sephiroth i believe. The problem was with one of the boss fight filters but the update from yesterday should fix it so if you are on twitch make sure the streamers are using the 0.2.0 patch

Sega Chief

  • Moderator
  • No life
  • *
  • Posts: 3325
  • Karma: 193
  • These guys is sick
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #14 on: 2020-01-20 19:05:52 »
hey sega chief

some streamer on twitch said the hellagunner boss fight on this randomizer softlocks the game when the second hellagunner tries to comes down but it does not so it softlocks fight, i think it has to do with the different backgrounds, thats how it is with the motorball fight as well

changing backgrounds wont have any affect on any fight except for Safer Sephiroth i believe. The problem was with one of the boss fight filters but the update from yesterday should fix it so if you are on twitch make sure the streamers are using the 0.2.0 patch

I was talking to someone about it, and I think I have a strong lead on what it is. The animation reallocation only checks if the model swap option is on, not if the current scene has models excluded from swapping. So I reckon Reno, Gunners, Motorball, etc. were having their animations shuffled around. If it is that, then I can get a fix for it tonight.

revenues

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #15 on: 2020-01-20 20:05:11 »
In my seed Tifa got Omnislash as her Limit Break.
And it broke the game once she used it, as per image: https://imgur.com/a/oiLvs4l

Sega Chief

  • Moderator
  • No life
  • *
  • Posts: 3325
  • Karma: 193
  • These guys is sick
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #16 on: 2020-01-20 22:02:38 »
Was that with the latest version, 0.2.0?

beefydoom

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #17 on: 2020-01-21 04:48:53 »
Godo V0.2.0

Doggy casting barrier on Rufus causes some kind of summon effect that softlocks. Might be sephi's supernova summon.


https://gfycat.com/cluelessharmfulharborporpoise

Sega Chief

  • Moderator
  • No life
  • *
  • Posts: 3325
  • Karma: 193
  • These guys is sick
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #18 on: 2020-01-21 12:05:16 »
Godo V0.2.0

Doggy casting barrier on Rufus causes some kind of summon effect that softlocks. Might be sephi's supernova summon.


https://gfycat.com/cluelessharmfulharborporpoise


That's the escape/exit animation, it was supposed to be locked off from assignment to attacks. I'll take another look at it.

Eswoogi

  • Newbie
  • *
  • Posts: 3
  • Karma: 0
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #19 on: 2020-01-21 14:47:26 »
SegaChief! Legend!

Managed a full run last night with only the 1 softlock we spoke of on twitter - So 0.2.0 is much more stable!

However, I did encounter cloud with a blank limit level 2 - Which wouldn't soft lock, but it wouldn't allow me to do anything until i cycled to another character:

( Image example: http://prntscr.com/qqtyhi )

Then I only encountered 1 other issue, whereas when I got a gameover, the gameover music played, but it was just a black screen that I couldn't close the game and had to restart my PC.

Otherwise, really solid play through last night - Will try the new release today and let you know if I encounter anything else.

Cheers dude.

Sega Chief

  • Moderator
  • No life
  • *
  • Posts: 3325
  • Karma: 193
  • These guys is sick
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #20 on: 2020-01-21 16:39:37 »
Cool, cheers; I'm working on a UI change at the moment which will allow for the parameters for things to be more user-specified.

Edit: Forgot to update on here, 0.2.1; fixes the Materia Data section and a bug with animation assignment for non-swapped models when Model Swap is on.
« Last Edit: 2020-01-21 16:41:54 by Sega Chief »

Eswoogi

  • Newbie
  • *
  • Posts: 3
  • Karma: 0
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #21 on: 2020-01-22 15:19:27 »
Hey SegaChief! Nice one, thanks for the response!

Couple of notes from yesterdays run on 0.2.1!

Had a softlock on the Sector 7 tower before it got blown up by Reno - What was weird is that it was a normal enemy, in the right area ( http://prntscr.com/qrckkw ) So it really threw me as to what might have softlocked going up the stairs on the tower? Looks like the enemy just dissapeared after stealing from it and it locked? ( https://clips.twitch.tv/ToughDifferentSheepTBTacoLeft )


Had a softlock on the Egg encounter again just after costa del sol on the world map too - Original Enemy: Grangalan ( https://clips.twitch.tv/BrainyAntediluvianFlyThisIsSparta )


Finally a new softlock which was abit weird - The icicles in Gaea cliffs - This was a weird one, as I could get past it, but only if I killed ALL enemies in 1 hit - If i couldn't kill the front row at the same time as the icicle, it softlocked - Example ( twitch.tv/eswoogi/clip/RelievedEnjoyableLocustCoolStoryBro )


However, if I managed to kill them all at the same time, ( https://www.twitch.tv/eswoogi/clip/ClumsyMoldyFiddleheadsSuperVinlin ) the fight progressed as normal, but if I kill ONLY the icicle, it softlocked.

Hope these examples help some! Will do another run today and let you know if I find anything else!

Cheers SegaChief! Legend!

Eswoogi

  • Newbie
  • *
  • Posts: 3
  • Karma: 0
    • View Profile
Re: [FF7PC-98/Steam] FF7 Randomiser - Godo
« Reply #22 on: 2020-01-22 15:56:40 »
Oh! And one final thing I forgot to add, it's not a softlock, but maybe a broken animation? Cids HP & MP Drained from 1 attack, but then auto fills back up? May cause locks with other enemies, maybe?

Final Fight on the train heading to corel in disk 2 against the metal Eagle Gun ( http://prntscr.com/qrdc1x )

( www.twitch.tv/eswoogi/clip/LazyFinePineapplePMSTwin )

Cheers! Sorry for the spam swoogDerp