Hey folks! I’ve got another update with a few more fixes, plus some groundwork for new features that I’m looking to take advantage of.
– fixed screen being off-center when game starts up in fullscreen scaled mode.
– added in code to have the game’s various menus adjust position to remain mid-screen when the game is scaling up its graphics in fullscreen mode.
– fixed bug where an incorrect Silithis ending shows up if you end the game with Silithis dead and Sarn Kamina alive.
– buffed up the Mechanic Captain at the start of the Tarion battle, gave Tarion a wall of three Greater Red Spriggats to keep him from being KO’d on turn 1 via the adrenaline pill exploit (and to make the final approach to his location somewhat more challenging).
– added in a check to make sure the game doesn’t accept non-numbers when loading up a saved seed. (If something that’s not a number erroneously gets saved as the starting seed, the game will now just generate a new one.)
– fixed a bug in which the first character in the character data section of the saved game file would mistakenly be saved as the starting seed, causing the game to behave as if they’d been wiped from the saved game entirely.
Now, you might be wondering: what’s all that stuff about saving seeds? In short, I’ve just laid the groundwork for persistent, procedural dungeons (i.e. where the game remembers each floor and recreates it exactly when you traverse up and down levels). The following changes make this possible:
– procedural level generation now takes a seed parameter, meaning that it can now consistently reproduce a generated level! The new, tenth parameter is seed, a number. Feed it the exact same parameters 1-9 and then the same seed, and it’ll remake the level exactly. (Leave the seed parameter blank if you want the game to supply its own seed.)
– game now saves and loads the current seed at the start of a scene! This two immediate consequences: first, you can no longer juke the RNG, getting different results out of the same set of actions merely by reloading a battle; and second, reloading a procedurally generated battle will now produce the same exact battlefield no matter how many times you do it, as the seed will remain consistent between reloads.
– new dialogue action: SetSeed. This has one parameter: a number. When this action is run, the seed is set to your chosen number.
– new special character: -SEED-. The game will automatically replace this character with whatever the current seed value is. (Note that the seed value changes every time the game generates a random number, so you’ll need this to find out the current seed even if you’d set the seed to something specific at the start of the battle!)
– new special character: -STARTSEED-. The game will automatically replace this with whatever the seed value was when the scene first loaded.
– updated the manual with documentation on seeds.