Forums  /  Gran Turismo 2  /  GT2 100% rule discussion
  thebook92

This weekend I (nearly) completed a 100% run of GT2.These were the rules I ran under, but I would like to submit them to the community for debate so we can all agree on one set.

-Emulators: Emulator use is allowed, provided the game is run at its native framerate (ePSXe video plugins can auto-detect this) and the runner keeps the frame rate display up the entire time. No emulator features (save states, frame advancing, etc.) are allowed.

-Game discs: All versions of the game (NTSC 1.0, 1.1, 1.2, and PAL) are allowed. For versions of the game that contain the 98.2% glitch, 98.2% completion is sufficient.

-Completion: All races, including the event generator, must be completed. Obtaining every license is required, but as licenses do not count toward game completion, it is not required to obtain all golds. Either Vauxhall or Opel manufacturer events need be completed in PAL versions, not both.

-Timing: The run begins when Simulation Mode starts and ends when the runner opens the game completion screen to show 98.2%/100.0%.

-Timer pausing: The timer can be paused, but only after the runner exits Simulation Mode, enters the Save Game screen, and saves the game (once Save Complete is displayed, the timer can be paused). The timer cannot be restarted until the runner enters the load game screen from the main menu and begins reloading the game (once the Choose Memory Card screen is displayed, the timer must be restarted). The runner is not allowed to enter any other menu except for the settings menu while the timer is paused. Furthermore, runs must be completed within a seven-day period starting from the minute the run begins.

 
  thebook92

I've received feedback, and two modifications were suggested:

1. 1 second time penalty is too short. This I agree with, but I'm not sure exactly what to make it. Maybe thirty seconds?

2. Using any version of the game, not just 1.2. The only issue I have is the possibility of intentionally missing a couple events on a 1.2 disc to show 98.2% completion. Maybe judge this using both completion percentage and number of wins? They both show up on the completion screen. If this happens, I'd be happy to modify that rule.

 
  adeyblue

I'd probably suggest doing it how proper segmented speedruns usually work - i.e. going to the main menu and saving, then stopping the timer when it's done. Then when you come back, start the timer when you start loading. Saving/loading takes long enough in this game that that's about a minute penalty for each segment.

As for versions, let's just all use the PAL version. There's only one of them (I think) 😛 You can distinguish US 1.2 from other versions by the Muscle Car cup, the required licenses are all I-A (what they should be) whereas on the others they're shown as A, I-C & I-B. So unless someone is saving everytime they go through the Special Races 2 screen and swapping discs, you can tell if they've only got 98.2 on 1.2.

I know you've put a 100% route up, but if you or anyone else wants to know which days an AZ-1 or any other used car will turn up, I dumped all the cycles for each region - http://blog.airesoft.co.uk/2015/09/gran-turismo-2s-used-car-cycles/

I also managed to dump which cars are eligible for each Manufacturer Race (http://pastebin.com/ZT60HM0F), but there aren't any that allow the Escudo or anything or have version differences. I was a bit surprised that the Elise GT1 can be used in the normal Elise race, and the Tommy Kaira R can be used in the Nissan GT-R normal race but that's just me not knowing and/or forgetting.

 
  thebook92

I'd be okay with saving/pausing/reloading as a "time penalty". Next run I do will use this method, and (unless someone beats me to it) I'll claim it as a WR for the purposes of having a baseline.

Another way to distinguish 1.2 from the other versions is in the championship entry screen for the GT300 cup, Grand Valley East is spelled correctly. 10/1.1 versions have it spelled "Bast".

Going PAL-only, I'm not so sure about. I know it's possible to find ROMs of the NTSC version online, but I'm not so sure about finding PAL discs (and I'm sure importing one is going to be stupid expensive). I'll do some research.

EDIT: PAL ROMs are easier to find than I thought. Seeing as how we're allowing emulators, should we just allow all versions?

Edit edit: I've revised the rule set in the OP.

Speaking of research, after looking at your method of dumping the UCD lineups, I had a thought: is it possible to dig through the disk and find out how the game picks tracks for the manufacturer races? If it's possible to RNG-manip the game to give something like Super Speedway or Rome Short every time, that would be a massive time save right there (on the order of an hour plus, probably).

 
  adeyblue

The PAL only thing was a joke 🙂 100% on it would take a lot longer just due to the lower frame rate alone.

I saw some of your 100% stream where you mentioned the RNG thing so I checked it then and didn't turn up anything obvious (it doesn't use the standard PSX RNG). I looked into it a bit more now and I did find how it decides on the random track, though it's not really manipulatable in any useful sense.

Basically, the game keeps track of how many frames it's rendered and it does some maths on that number. The result is then divided by the number of tracks and the remainder of the division is the index into a list of track names. So it's only really useful in a TAS situation with frame advance and somebody would have to be insane to do a 100% TAS.

I didn't look at Event Generator or other versions than PAL but I guess they work on the same principle.

Tech Notes for Track RNG since it might be useful to somebody at some point (PAL version):
The function which calls the RNG and picks out the track is at 800190C4.
The RNG function is at 80083B34 (a0 = seed location, the game uses different seed values for different things)
The seed for the track RNG is at 801FF600, though this is really just a copy of the value at 801F06B0 from after you click Go (copied to v0 in the function at 8007D284, then stored in that functions caller).

The function that takes the track name and returns the relevant info from the .crsinfo file (loaded at 801E1910) is at 8005E630 (a0 = the race name, a1 = track code name (both from the string section at the end of gtmode_race.dat)).
If the hash of the track code name doesn't match any of the tracks in .crsinfo (it doesn't for manufacturer races since their track is set to "none") it goes through the random function mentioned above to get one that is and calls it again.

Some of the code is loaded/decoded during runtime so to dump it, it's easiest to set a breakpoint on the addresses and then dump the PlayStation ram (the version of PCSX that has the non-F11 debugger has a button to do it) -> then load the ram dump as an additional binary file after loading the SCES file in IDA.

 
  thebook92

I had a bad feeling that RNG was based off processor cycles, but number of frames isn't really any better. I'm assuming prize cars are given the same way where applicable, although it could be as simple as odd frame = car A and even frame = car B.

 
  thebook92

We have a run. It's gonna be a bit, but I'll get a verification and highlights video together. Watch this space. But for now: http://i.imgur.com/Nif2JGc.jpg

My computer crashed (thankfully the run was paused), hence the timer not looking right. The video will show what I did, and the final time is correct to the hundredtg of a second.

 
  adeyblue

Did you do a race twice? This is my 100% screen, 1 fewer win and 53,000 less prize money.
http://i.imgur.com/JOHry6w.png

Anyway, I got 26:44:11 on the PAL version. The Supra you start with is more expensive so I found a different car (RX-7 Infini) and just pretty much went on my own route from there.

It's not the fastest since I failed the Rome Night S License test once, lost to the Escudo on the hill climb twice, took the midgets and about 80% of the other one makes around SS R5 and the Expert Event Generator gave me the full Grand Valley twice.

https://www.youtube.com/playlist?list=PLPltnVf77OZ_cmYpb6c4cCCNl_h261W44

 
  n1nj4ofshr3d

I'm a little late here, obviously.
1st off, please no emulators, because of loading time discrepancies (yes it is by a lot, had to reject runs because of it).
Every version can be done to 100%. Just do the event generators once for each difficulty so it's fair to everyone.
I really don't want to bring pausing the timer into this, because otherwise the run becomes segmented. Which I don't know if I want to allow, but that can be discussed later.

 
  thebook92

adeyblue - Yes, I did have to go back and run GT All-Stars 1 again to farm some credits. My run went to hell somewhere around the lotus one-makes and I had to spend a bunch more credits than I would have liked to make myself competitive. Very nice run 🙂

n1nj4ofshr3d - The only reason why I even considered allowing timer pausing was to make this category more accessible for people with limited time to run; it's still a single-segment run in the spirit of the rules, though not in the letter. That said, either allowing or disallowing it is fine by me.

 
  adeyblue

So I redid this because I wasn't happy with the number of spins and general screwed-by-RNGness of the first one (also because you really shouldn't be relying on the Weds Celica and Mugen Integra for more than the FF races, which I did).

http://i.imgur.com/pBG8juE.png

And yeah, I barely missed sub 26 with a 26:03:14. There's definitely 10 minutes to save since I didn't wallride in the 2 hour endurance, like at all. Some RNG time (41 race resets), and a theoretical 10 minutes since I actually timed saving and loading and it takes about 53 seconds from map screen to map screen. I do that 11 times so that's just under 10 mins everything else being equal.

The fun of this for me is mostly in the planning and I've done that twice now so even though sub 26 would be nice and is kinda guaranteed, I'm gonna leave it for a long while. I'll put up my route in the resources, not so much for the route but because it's a massive spreadsheet with all the events, prize money, prize cars, how much they sell for, min/max credits you can have if you get best/worst prize RNG, cars & tuning fully costed etc

thebook92 likes this. 
  thebook92

Scored a new PB tonight.

http://i.imgur.com/ecs35I4.jpg

Tantalizingly close to WR. A couple minutes saved in an enduro, a couple minutes saved by not spinning out, a couple minutes saved by not making as many horrible menuing mistakes, RNG not screwing me over in East City (which is where over 30 of my resets came from, and where I lost 30 seconds even though I had done three races in earlier splits)... So many places to take back a little bit at a time; someone should be able to pull off a 25:30, honestly.

 
  adeyblue

Bad luck dude, looked to be on good pace last I saw. Glad your PS2 survived it at least, and that 59.xx around Rome so it wasn't a complete bust.

I'm still not planning on doing it again (I need to get back to smashing sub 20 on Intelligent Qube), but there's some good stuff I can adapt into my route.

 
  TumeK5

So, 100% is a thing now. I wish I could try, but oh well.

 
  adeyblue

Ninja did the full 26 hours all at once but Book and I have done runs splitting it into parts. There's no rule on the length of the parts, though obviously the shorter they are, the more time you lose to the mandatory saving and loading between them.