| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
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 | ILs | The gameplay segments, which can be estimated for a player | |||||
7 | Loads | The loads, which are estimated with console-dependent averages | |||||
8 | Params | Constants that are universal or depend on the game version | |||||
9 | Deltas | Small 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 | Converter | A calculator that estimates ILs from RTA segments and vice versa | |||||
14 | Load Sheets | For recording load retimes from an Any% run | |||||
15 | IL Sheets | For 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 | Retime | The raw measurements for each segment of the sample run (the 1:19:48) | |||||
20 | RetimeExtra | Supplementary raw measurements | |||||
21 | text Model | An independent timing of optimal text (version-dependent), done via TAS | |||||
22 | fmv Model | Analysing FMV timings using the sample run and FFMPEG frame dumps of the FMVs | |||||
23 | d Model | Analysing Delfino segment outro timings from the sample run | |||||
24 | li Model | Analysing Level-Intermediate segments and combined IL retiming with a QFT/SGT TAS | |||||
25 | lt Model | Analysing Level(-Terminal) outro timings from the sample run | |||||
26 | Loads | A Load Sheet for the sample run, and derived load distribution | |||||
27 | ILs | An IL Sheet for the sample run | |||||
28 | Params | A datasheet of constants derived from the preceding models | |||||
29 | Synthesis | ||||||
30 | MapSegP | Reconstructed segment IL→RTA adjustments from the preceding models' estimates | |||||
31 | MapSegA | Segment IL→RTA adjustments direct from the original data, and comparison to the model | |||||
32 | MapLevelP | Reconstructed level IL→RTA adjustments from the model segment estimates + adjustments | |||||
33 | MapLevelA | Level IL→RTA conversions direct from the original data, and comparison to the model | |||||
34 | Converter | A 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. | ||||||