In X and SNES, the NTSC/PAL versions run at different speeds. The timer is still more or less accurate to real time, but the races happen at different speeds, with PAL getting times roughly 1.2x slower due to the 50hz vs. 60hz difference.
On the PHP FZC site, X and SNES ranked NTSC/PAL together: players could enter times as either NTSC or PAL, and then one of those versions had a multiplication formula applied to the times to make them theoretically comparable to the other version.
There are points where it's not really a fair comparison, though:
- PAL can be played with more precision, gives more reaction time, and (in X) gives more time to mash side attacks, because the game runs slower.
- In X, there's an aspect of the racing engine which has the same speed cap (2000 km/h, IIRC) for both NTSC and PAL, despite the fact that 2000 is a 'higher' speed for PAL (if it had been correctly converted, it would be 2000 NTSC and 1667 PAL). I don't remember when exactly this speed cap comes up; need to check with people who know X. But it seems to be another advantage for PAL.
- I believe I've also heard that SNES has a different turning radius in NTSC vs. PAL, but need to check with people who know SNES.
WMJ, Yazzo, among others have supported tracking NTSC/PAL times (or at least WRs) separately. This discussion came up quite a while back too: https://fzerocentral.org/next/old-forum/view-topic?t=13618
So on this new site, I think we'd probably start out with the merged NTSC/PAL ladder like before, but there'd probably be plans to split them into separate ladders and demote the merged ladder to being a side ladder. Also, it should be possible for folks to submit both NTSC times and PAL times if they wish to compete in both. From a technical standpoint, this means:
- NTSC/PAL should be a filter group so that individual records can be marked appropriately. It would no longer be a player-level setting that's applied to all times for a particular player.
- It should be possible to implement the merged ladder. I'm thinking this can be done by giving Ladders a "handicap formula" field.
- A handicap formula is an array of handicap specifiers.
- A handicap specifier consists of a filter specification (e.g. region filter = PAL), and a conversion formula (e.g. divide by 1.2). The meaning would be: in this ladder, if a record matches this filter spec, then apply this formula to the record value.
- I'm not yet sure how the conversion formula would be stored. Simplest way would be a multiplication factor (or maybe numerator and denominator) which would at least work for X and SNES as we know it. Or maybe specify one multiplication, one rounding operation (nearest/up/down), and one addition. On the really general end of the spectrum, one could look into storing general math functions with numpy ufuncs or Python pickle (amounts to arbitrary code, so we'd want to be careful with security if people can create their own ladders).
The Mario Kart 64 site has the ability to view PAL times converted to NTSC, and NTSC times converted to PAL. I'm not sure if we have to support going both ways, since it seems like NTSC has been favored even by PAL-region players in both the X and F-Zero SNES communities (at least near top level play). Still, it'd be nice to support going both ways. In that case we could store sets of handicap formulas: we would have a set of two formulas where one formula converts from PAL to NTSC, and the other converts from NTSC to PAL.
There are some parallels to other situations in other games: comparing versions with different load times or text times (these might potentially have an addition/subtraction formula), or comparing systems with 'unintentionally' different framerates such as Super Game Boy (which runs at about 61.17 FPS). I don't think these comparisons are usually built into 'official' leaderboards though.
In X and SNES, the NTSC/PAL versions run at different speeds. The timer is still more or less accurate to real time, but the races happen at different speeds, with PAL getting times roughly 1.2x slower due to the 50hz vs. 60hz difference.
On the PHP FZC site, X and SNES ranked NTSC/PAL together: players could enter times as either NTSC or PAL, and then one of those versions had a multiplication formula applied to the times to make them theoretically comparable to the other version.
There are points where it's not really a fair comparison, though:
WMJ, Yazzo, among others have supported tracking NTSC/PAL times (or at least WRs) separately. This discussion came up quite a while back too: https://fzerocentral.org/next/old-forum/view-topic?t=13618
So on this new site, I think we'd probably start out with the merged NTSC/PAL ladder like before, but there'd probably be plans to split them into separate ladders and demote the merged ladder to being a side ladder. Also, it should be possible for folks to submit both NTSC times and PAL times if they wish to compete in both. From a technical standpoint, this means:
The Mario Kart 64 site has the ability to view PAL times converted to NTSC, and NTSC times converted to PAL. I'm not sure if we have to support going both ways, since it seems like NTSC has been favored even by PAL-region players in both the X and F-Zero SNES communities (at least near top level play). Still, it'd be nice to support going both ways. In that case we could store sets of handicap formulas: we would have a set of two formulas where one formula converts from PAL to NTSC, and the other converts from NTSC to PAL.
There are some parallels to other situations in other games: comparing versions with different load times or text times (these might potentially have an addition/subtraction formula), or comparing systems with 'unintentionally' different framerates such as Super Game Boy (which runs at about 61.17 FPS). I don't think these comparisons are usually built into 'official' leaderboards though.