ABCDEFG
1
SMS Any% Timing Model (2023) (PAL, New File, BSNR Route)
2
3
The goal of the timing model is to reconstruct an RTA-timed Any% run from ILs (of Delfino movement and
level segments). The fungible parts of the run are estimated using fixed quantities (e.g. an event cutscene
= 91f) or averages, after being bucketed into alike groups (e.g. a Ricco world load ≈ 2.779s).
4
5
The model is specified in 4 parts:
6
ILsThe gameplay segments, which can be estimated for a player
7
LoadsThe loads, which are estimated with console-dependent averages
8
ParamsConstants that are universal or depend on the game version
9
DeltasSmall adjustments to fixed segments, marked ∆ (e.g. menuing timeloss)
10
11
This spreadsheet has the main model, derived from a 1:19:48 sample Any% run and supplementary data.
12
The following user-facing sheets are derived from this sheet:
13
ConverterA calculator that estimates ILs from RTA segments and vice versa
14
Load SheetsFor recording load retimes from an Any% run
15
IL SheetsFor recording IL retimes from an Any% run
16
17
This spreadsheet is comprised of the following sheets: (in loosely reverse order, bottom to top)
18
Analysis
19
RetimeThe raw measurements for each segment of the sample run (the 1:19:48)
20
RetimeExtraSupplementary raw measurements
21
text ModelAn independent timing of optimal text (version-dependent), done via TAS
22
fmv ModelAnalysing FMV timings using the sample run and FFMPEG frame dumps of the FMVs
23
d ModelAnalysing Delfino segment outro timings from the sample run
24
li ModelAnalysing Level-Intermediate segments and combined IL retiming with a QFT/SGT TAS
25
lt ModelAnalysing Level(-Terminal) outro timings from the sample run
26
LoadsA Load Sheet for the sample run, and derived load distribution
27
ILsAn IL Sheet for the sample run
28
ParamsA datasheet of constants derived from the preceding models
29
Synthesis
30
MapSegPReconstructed segment IL→RTA adjustments from the preceding models' estimates
31
MapSegASegment IL→RTA adjustments direct from the original data, and comparison to the model
32
MapLevelPReconstructed level IL→RTA adjustments from the model segment estimates + adjustments
33
MapLevelALevel IL→RTA conversions direct from the original data, and comparison to the model
34
ConverterA Converter comparing the model predictions with the actual RTA splits for the sample run
35
36
Time formatting usage notes:
37
Times are formatted "s.000" (for small values) or "[<0.00069444]s.000;[>=0.00069444]m:ss.000" (large)
38
In both of these formats, small negative values appear as differences from 1 minute, e.g. 59.800 for -0.200
39
To type times, you must include leading zeros for hrs and mins; e.g. 0:1:2 gives 1:02.000; 0:0:1.23 gives 1.23
40
To convert decimal times in secs into time formats (as above), divide by (24*60*60) and apply the format
41
Arithmetic between time durations will work normally since times are stored as floats (1 = 1 day)
42
43
Retiming notes:
44
The video retiming practice used on the sample run and recommended for the IL and Load Sheets is to open
a local video file with Avidemux (v2.8.1 here) and copy timestamps from matched frames into the sheets.
Avidemux is used because it natively handles timestamp-based video and so should give consistent readings
for collaborative retiming for theoretical reasons, though it hasn't been tested much in practice.