Posts for Zanoab

1 2
6 7
Experienced Forum User
Joined: 12/31/2009
Posts: 174
FreezerBurns wrote:
Zanoab wrote:
I have a bunch of other addresses including the location of the bits that control the current difficulty. If it is allowed (but I doubt it), I could write a lua script that would modify the bits to change the difficulty to Ultimate as soon as the game begins (Gameplay Clock turns 0 for new game).
This part confuses me a bit. Ultimate difficulty isn't unlocked until after the game, and SRAM won't help you, as saved data is deleted when starting a new game.
I am completely aware of that. I decided to do a quick a experiment and the game starts up with the ram already initialized for a new game. On the first non-lag frame (35), the data is initialized and the starting difficulty set. Changing 0x02071D29 from 9 to 11 will switch the difficulty from the default Normal to Ultimate. The first 2 bits are used for the current difficulty and the next 2 bits (already set and remain unchanged) are used for the current partner auto speed (on Auto: Mid by default). The next 2 bits control which is the active deck (1-4). The 7th bit is currently unknown and the 8th bit is used to store if quick sell is active in the pin menu (off by default). This would leave 2 options. Start a movie from reset and have a lua script change the bits automatically at the beginning or have the author provide all the firmware settings (may have an affect on initialization of rng and other data) that was used to create the starting save state and have a judge verify that the RAM matches up perfectly to the save state (after the byte is modified of course). Either way, it can be verified to have nothing else modified. The only problem with this is that it can only be used for any% runs as any other goal would require grinding and the early Ultimate would decrease the amount of tasks that need to be completed on the second playthrough (in which case this cheat would become an advantage). I'm not going to do "Uses Hardest Difficulty" but if somebody does want to, I gave what you need to know to start a New Game on Ultimate so good luck getting this method approved.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
I haven't found the RNG yet but I'm getting very close to (or at least the RNG that controls pin drops). Here is what I have so far in case I mysteriously disappear and somebody wants to give it a try. Puck
  • Travel Time Left
    • 02372860 (1-4 bytes?)
    • Base Value: 89
    • Reduced by 1 every frame
    • Turns to 1 and back to 0 after reaching 0
  • "In Play" Time Left
    • 02372878 (2-4 bytes?)
    • Base Value: 900 - (Amount of Passes * 30)
    • Reduced by 1 every frame
    • Resets on pass and counts down once received
  • Damage Multiplier
    • 02372874 (2 bytes)
    • Multiplier = Value / 100
  • "Bonus" Gauge
    • 02372870 (2-4 bytes?)
    • Base: Unknown (Relation to Sync % and other possible variables have not be studied yet)
    • Reduced based on "In Play" time left (hits 0 when "In Play" time left hits 0)
    • This value determines how much the multiplier will increase (or decrease) but I have not produced a table yet
Drop Rate Multiplier
  • Current
    • 02071D24 (2 bytes)
    • Max: 999
    • This value is moved when the menu is entered and moved back when closed
  • Final (For Battles)
    • 02391872 (2 bytes)
    • This is the final drop rate multiplier from chaining battles
    • This address is called the frame after the enemy hp reaches 0 for each difficulty until success or no drops remains to be tested
    • This will be the greatest asset in finding the RNG (or at least the one involved in pin drops if there are multiple RNGs)
Overworld
  • Neku's Position
    • X Coordinate 0207415C (4 bytes)
    • Y Coordinate 02074160 (4 bytes)
  • Movement Target
    • X Coordinate 0239DE9C (4 bytes)
    • Y Coordinate 0239DEA0 (4 bytes)
    • Neku will move towards these coordinates
    • Sets to Neku's Coordinates once close enough
    • Also used if ABXY/<>^V is used for movement
    • This is one of my favorite finds because it makes optimizing movement in the overworld a lot easier
I have a bunch of other addresses including the location of the bits that control the current difficulty. If it is allowed (but I doubt it), I could write a lua script that would modify the bits to change the difficulty to Ultimate as soon as the game begins (Gameplay Clock turns 0 for new game). I also noticed that the Gameplay Timer acts strangely during battles. It would occasionally increment twice in 1 frame and skip incrementing it on the very next frame. It doesn't look weird at all at first (possibly a built-in lag system to keep battles running smoothly) but sometimes it would instead increment 3 times and skip once which means the TWEWY will screw people using the Gameplay Timer by seconds every battle (changes the rules a bit if you are aiming for lowest Gameplay Timer value). The only information I am currently missing before being able to do a fully optimized Day 1 is the RNG (for manipulating enemy movement/actions). I am also still working on the pin and enemy info lua scripts but finding the RNG takes priority at the moment.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
I'm not aware of a way to modify the date from within the movie so probably not. I could try to take advantage of the food reset but the problem is that there would probably be about 20 or less battles from the time I'm able to buy food. I suppose the clock could affect the RNG in some way but if it does, the run is no where near far enough to estimate when to hit midnight at. I currently have no real WIPs at the moment. The video I uploaded was reduced to a test run of day 1. My real movie that will be optimized fully is currently at Scramble Crossing day 1 until I find a way to tackle this scaling mess. I don't believe combat maps have any scaling.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Thanks for the support. My current thoughts on goals: If I can get most of the mechanics (such as the RNG) worked out, I will aim for beating Another Day. I would obviously take damage to save time. I'm planning on only changing difficulty if required for pins. It is debatable on what to consider hardest difficulty because I can literally avoid getting the hardest difficulty. I also can't play on easiest difficultly the whole time without missing out on better pins. Heavy luck manipulation can only be determined after I'm done. I already do some luck manipulation by deciding if Shiki's combo tree should be either 4 or 5 long. Only other areas for luck manipulation are enemy movements, the ends of Joshua and Beat's combo tree, and pin drops. There may be other places I could have forgotten. Any% because 100% would require too many hours of grinding and luck manipulation on top of this possibly 4-6 hour long movie (I think FMVs are omitted from the gameplay timer) not to mention evolving pins that require shutdown (if there is a way). I suppose I could do a Best Ending run after this. People were criticizing the length of FFVIII but this ~4 hour movie should do better because conversations are actually readable but everything after Another Day will be completely unreadable with the newly enabled fast-forward buttons (some best conversations in the game). I will see how people like this first assuming I do finish this run. I will add in any speed for entertainment trade-offs if I find any good moments.
Status report on my progress: I have done a lot of memory mapping and just about figured out how enemies are allocated (as well as obstacles and enemy attacks that require you to touch a specific area to receive damage). You can pm me if you would like a copy of the script (don't be shy) for whatever reason. I have some locations for pin allocation (seems to cycle through an allocated area to avoid cheaters) but didn't start on mapping yet. I will have a script ready once I decide to do so. I haven't done any research on pins other than Pyrokinesis types (some factors could apply to all "drag" types) but some playing around taught me that "slash" types can be activated in 3 frames (touch point A, touch point B, release). I have yet to test if enemy invulnerability times from taking damage is a constant 24 frames or depends on the pin type that caused the damage. Optimizing movement on the maps is currently my biggest concern. In my test run, I skipped this problem completely only using the cardinal directions. I found the memory for your location but made some horrifying for anybody seeking to optimize movement. Anybody who played with the internal debugger know that each map has a scale % at the top and a scale % at the bottom. Unfortunately this scaling also applies to your speed. The bigger your sprite is (higher the scale %), the faster you move compared to the smaller your sprite (lower the scale %), the slower you move. Let's use the Scramble Crossing (first map you see) as an example. If your Y coordinate is 1,310,720 (bottom of the map when your sprite is larger), then your horizontal speed would be 12,506 per frame. If your Y coordinate is 491,520 (near the top of the map when your sprite is smaller), then your horizontal speed would be 4,675 per frame. Just use some simple math and you can get your horizontal speed at any coordinate at any time. Unfortunately the speed you calculate like this have a chance of being off by 1 or 2. I will give more details on the issue once I write and run a script to dump the speed at each point so I have a more complete sample before I give out incomplete details. Don't forget that you can use the touch screen for more precise angles which would throw any hopes of solving this problem with some simple calculus out the window. I have a quick script for displaying coordinates and (not actual but calculated) X and Y speed (once again, don't be shy to ask). The only redeeming quality of this is that acceleration is non-existent. Some help would be nice but support is good enough for me.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Voting no because the run only gets 151 pokemon when there are 152. Clearly not 100% completion. (jk of course)
Experienced Forum User
Joined: 12/31/2009
Posts: 174
That was an awesome video. I would probably kill to have that kind of luck many years ago (I actually still have a working gbc and the game right now). Btw, what is the max for coin flipping? If it is unrestricted, there could be a possibility of doing some memory corruption depending on where/how the coin flips are stored (it would be a problem if it was compressed).
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Are any of you working on a movie? This was the first game I tried to TAS but I stopped at the first tutorial battle (Pyrokinesis) because I was getting different results for when Pyrokinesis activates (this was forever ago but I'm going to give it another shot and won't let this discourage me). I got half of the Week 1, Day 1 done and I am impressed by the final result of the first two battles. Here is what I have so far: http://www.youtube.com/watch?v=4t-0dxZRwAY A small piece of everything I know so far is in the video's description. EDIT: It was only a single frame lost because the input was 1 frame late. When I edited a blank frame right before it out, it desynced after the next FMV... EDIT2: I lost a frame during the next cutscene so it doesn't make a difference at that point. I'm going to edit back the remainder of the original movie to see if it syncs from here... Day 1 is finally done. http://www.youtube.com/watch?v=k3plYVg94pg
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Sorry for not posting in awhile (college work started piling up) but nice work. The desyncs mysteriously stopped and nothing strange seems to be happening. I think skipping the Moonstone might be a good thing. I only see it helpful against Black Waltz 2 and Black Waltz 3 (second fight) which could be manipulated. Lua can read/write to files. local SomeVariable = io.open(FileLocation,"a") SomeVariablewrite(StringToWrite) SomeVariable can of course be anything. You should use "a" for open type because you want to add to the end of the file (or create if it doesn't exist yet). Using "w" will clear the file everytime (which means you will have to move the log elsewhere before restarting the script) and "r" only reads data from the file (you can't write). If nobody has done it yet, I'm going to take a look at how the RNG affects initializing battle data (ATE, etc.). Maybe I can come up with something interesting.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
With a little bit of dedication (and a love for programming), I got most of the script done. http://pastebin.com/SCU8XgCR Lua is almost as strange as Unix but I got it working. If anybody knows how to convert the ints to hex/byte form, I'm ready to learn more. Feel free to add more to it. Also, I'm aware that I could remove the leading 0s in the addresses but I prefer full addresses so it is obviously an address. EDIT This is my first time touching Lua and it is 239 AM so I think I did pretty good
Experienced Forum User
Joined: 12/31/2009
Posts: 174
I quit the first time because I couldn't find the RNG. Now that I have them, lag is starting to become a random problem on PSXjin which has a bad effect on the RNG. I checked and 4 less lag frames than the original record doesn't mean I can do input 4 frames sooner (not even a single frame saved). I'm not sure what is going on but something is changing every time I replay my movie and the lag counter is the only thing that proved this besides the RNG. I'm learning LUA right now and planning on gathering some interesting information with it. My current goal is to display the last set of values that were sampled during a single frame. If I can get the script to dump the set to a file along with the frame number, I can keep a complete history of RNG advancement to reduce rewinding (and maybe find out how lag frames influence the RNG and when my desync occurs).
Experienced Forum User
Joined: 12/31/2009
Posts: 174
I've been meaning to post this sooner or later but PSXjin seems to have inconsistent lag frames and I have no idea why. At the first real ingame input, the lag frame counter could be anywhere between 564 to 575. When I recorded the first battle, the lag counter was in the upper portion but when I replay the movie, the RNG would be 2 samples slower which results in a different battle. After about 7 encoding attempts, I finally got the RNG where I wanted it. I have no idea why the lag frames are so random after only 3 minutes into the movie but this will cause problems later on where a few lag frames here could make the RNG that much more difficult to sync (and the first disc is supposed to be at most 3 hours of gameplay). I do have a little surprise thanks to a little help here for the location of the RNG http://www.gamefaqs.com/boards/197338-final-fantasy-ix/58796839 Here is what I have so far http://www.youtube.com/watch?v=fX-iVlipCZs Only a few seconds were lost to luck manipulation. Marcus had to wait a second or two for Cinna to complete his action. I needed Cinna to steal at that exact time (give or take about 30 frames) and Zidane was able to kill himself fast enough to allow Cinna to steal before the RNG advanced too far. I'm going to look into ways to advance the RNG without taking actions and reduce the time waited.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
I loved it (you had my complete attention at Piano Player). Yes vote! I have a suggestion for the next run. Use the SRAM from this to access sudoku. I haven't played in forever but I know there is enough space to draw thousands of drawings while completing all the sudoku puzzles. If you could think of that many unique drawings to complete all the sudoku puzzles, I would most certainly watch it all (even if it spans over several hours). Other than that, wonderful job.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Did you figure out for the image is compressed and fill it in accordingly and reduce compression time or is the time it takes to compress always the exact same time?
Experienced Forum User
Joined: 12/31/2009
Posts: 174
I remember playing this as a kid before the GBC came out. If anybody is interested, I could write a python script to search (or more like bruteforce) for the fastest moveset (I will have it make sure there is an unmarked cell in the direction to filter pointless moves). A script could also be used to read the solutions from gamefaqs and if you want, output the solutions into a cleaner format so reading for the search script would be easier. I would be more interested in making an ai to solve the puzzles but something short and sweet like this would be fine. I will also include the option of setting the maximum amount of moves to speed things up so the work already done doesn't go to waste. If you want a specific output format for the moves, feel free to tell.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
I couldn't put this game down when I took a look at it after hearing a friend was searching for it. If it wasn't for my friend, I would have never discovered this gem until this submission. This is definitely a yes vote. Hopefully this will start a new stream of frame wars (seems like people are getting tired of seeing Mario bounce a few times and reappear on the opposite end of the map).
Experienced Forum User
Joined: 12/31/2009
Posts: 174
I have watched all the Super Metroid runs for the last 3-4 years (including the Redesign run) and this was something different. The new route and lack of detours for upgrades kept me entertained and was the first time for awhile I watched an entire SM run uninterrupted. I really hope this gets published (and Redesign will be submitted) even if they (they as in this and future GT code runs) have to be quarantined for using a code. After rereading the argument on the last Super Mario 64 run, this might end up the same way but at a different angle. I vote yes. (This run also made me come out of lurker mode to post this.)
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Voting yes! Watching this gave me that same feeling the improvement to the Pokemon Yellow glitched run gave me. The improvement wasn't much but it is still amazing to see these glitches again and improved.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
I remember I would play this game for hours as well as manipulating luck with the limited auto save during battles. I wish they would make one more game for the NDS (online play would certainly make the game more competitive). Haven't voted yet since I'm still waiting for an encode but as a veteran of the game, I'm looking forward to it. *goes searching for spare AA batteries for GBC*
Experienced Forum User
Joined: 12/31/2009
Posts: 174
antd wrote:
Record with no sound plugin only
No can do. I recorded up to the first fight with no sound and ran it on a peops sound plugin but the RNG resulted in different ATB amounts. Peops and the TAS sound plugin is able to sync with each other only and only if I check that there are enough empty frames during screen transitions (between maps, battles, etc). I did some testing months ago and the loading resulted in a different amount of lag frames (+/- 2 frames every transition) which makes the entire movie after it need to shift which will then change the RNG which results in an even more troublesome desync. Hopefully the loss of a few seconds is worth allowing a working sound plugin be able to sync.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
There will still need to be restrictions placed on how far to take the perfect game. In disc 4, after getting the Excalibur II, I will have to decide between continuing on to the final boss (about 5 screens away and lose 100% completion) or going back and spend hours grinding away, completing Chocobo Hot and Cold (and connected sidequests), level up the cards, etc and then going back and beat the final boss (100% completion).
Post subject: Final Fantasy IX E2PG WIP
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Final Fantasy IX - Excalibur 2 Perfect Game More Information:
    * FF IX - 4 disc Final Fantasy game that returns to the roots of Final Fantasy. * Excalibur 2 - Legendary ultimate weapon in both the game and its players. Only obtainable in the second to last area in disc 4 IF the game clock is UNDER 12 hours. * Perfect Game - See below.
Goals:
    Takes Damage to Save Time Uses Death to Save Time Heavy Luck Manipulation Best Ending Uses Suboptimal Character Contains Speed/Entertainment Tradeoff (Possibly)
Perfect Game Goals (Does not apply if available in Disc 4):
    * Perfect quantities of all items
      * Limited Amount - Collects all * Buyable Equips - Number of characters that can equip the item + Amount required to synthesis perfect quantities of missable items + 1
    * Opens all treasure chests * Searches all field icons (hidden items) * Collects all key items * Level 1 Game
      * Required for maximum stats
    * Delivers all Mognet Letters * Sidequests (Unavailable for completion in Disc 4)
      * Buy All of Stiltzkin's Deals * Complete Dr. Morrid's Coffee Sidequest * Defeat All Treno Weapon Shop Monsters
Small sample of what can be done (TAS Sound Plugin 0.2 is used for the sample and will be redone with a different sound plugin) here. Feel free to recommend me better Sound Plugins to use before I get too far ahead.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
[quote="Mukki"]I can't imagine that it ever would unless the sound makes the run unwatchable, but most of the errors seem to be missing sounds rather than annoying ones added in so you should be fine. One thing to do is post a WIP in the PSX forum to get feedback on whether or not the sound is bearable.[/quote] Thanks for the advice. Unfortunately it is that horrible... I played this game more than enough to know the music is slightly warped at times but no sound during FMVs (changing discs is required to skip them) and specific sound effects continuously looping until another specific sound effect (could be a different one that ends up looping endlessly or something else that is special) is too unbearable for me and probably kills the entertainment value for others. It might even scare away people if they have to watch 4 2-3 hour parts with mute segments or looping sound effects to see the entire game completed.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
This is my first time using pcsx... I'm trying to TAS Final Fantasy IX and started over because TAS Sound Plugin 0.2 wasn't all that great. Which SPU do you guys recommend because everything I tried is yielding COMPLETELY different results, even if two different SPUs match up (the input works without desyncing),I get different values from the RNG from each. So I'm basically stuck at the first battle until I choose which SPU to use for beating disc 1. What do you guys recommend I use?
Experienced Forum User
Joined: 12/31/2009
Posts: 174
I want to do it and in fact, sorta started months ago (I only wanted to see how awesome the swordfight would look). I'm uploading the test run right now. http://www.youtube.com/watch?v=n-thaM-UiKM I'm current debating if it should be a perfect game or not (either way, it will definitely be a level 1 game).
1 2
6 7