TETRIS - Column [『エタハー』タイム末尾に関する考察]
初版:2001.7.20. 最終更新日:2001.7.24.


◆『エタハー』タイム末尾に関する考察◆
 ※このページの記事は個人で調べたものです。実際のものとは違うかも しれません。ご了承下さい。

 『テトリスwithカードキャプターさくら エターナルハート』のタイムの末尾(1/100秒の位)は、実は 変わった法則によって変化しています。その点について調べてみました。

 このゲームを始め、現在のゲームの大半が1/60秒(=1フレーム(以下f))単位、またはその倍数単位で 処理されている訳ですが、1/60秒単位ということで10進数のタイムにきれいに直すことが出来ません。
 同じアリカ社の『TGM』シリーズでは、タイムの末尾を「0-1=3=5-6=8=0」と統一することに よって厳正なタイムが分かるようになっています。これはタイム同士で引き算をすると末尾が狂うはずの 区間タイムについても同様で、タイムを見ればフレーム数に換算することが可能です。
 しかし、『エタハー』ではタイムの末尾の変化が『TGM』シリーズと異なる為、タイムを見て フレーム数に換算することが容易ではありません。

 『エタハー』の末尾タイムは、基本的に「残りタイム」を基準にして推移していきます。 その推移は以下の通りです。
残りタイム末尾の動き
残りタイムの
「秒」が奇数
99 98 96 94 92 90
89 87 85 83 81 80
78 76 74 72 71 70
69 67 65 63 61 60
58 56 54 52 51 50
49 47 45 43 41 40
38 36 34 32 31 30
29 27 25 23 21 20
18 16 14 12 11 10
09 07 05 03 01 00
残りタイムの
「秒」が偶数
99 97 95 93 91 90
88 86 84 82 81 80
79 77 75 73 71 70
68 66 64 62 61 60
59 57 55 53 51 50
48 46 44 42 41 40
39 37 35 33 31 30
28 26 24 22 21 20
19 17 15 13 11 10
08 06 04 02 01 00
 タイム末尾の減り方が、 「0-9-8=6=4=2=0」 「0-9=7=5=3=1-0」 「0=8=6=4=2-1-0」 の3種類(実質ほぼ2種類)あるのが分かると思いますが、いずれにしても、1fで0.01秒間隔の所と0.02秒 間隔の所が偏っています。例えば、[**:*9:78]→[**:*9:72]では3fで0.06秒経過するのですが、 その続きの3f…[**:*9:72]→[**:*9:69]では0.03秒しか経過しないことになってしまうのです。 偶数秒フラットまたぎ([**:*8:02]→[**:*7:98])に至っては4fで0.04秒です。 このことによって、スタート時の残りタイムが違うと、同じフレーム数で クリアしてもタイム誤差が出るという現象が起こってしまいます。
 逆に、スタート時の残りタイムが同じである間は、必ず同じように末尾が 推移するので、同じ面をひたすらやり込む場合に同フレームで誤差が出ることはありません。 ということは、残りタイムが必ず20:00:00から始まる1面(ファイアリーステージ)は純粋にフレーム数 勝負になるというわけです。

このシステムでは、実はもうひとつ困ったことが起きます。例えば、
  1面 20:00:00→19:50:00 クリアタイム00:10:00
  2面 19:50:00→19:40:02 クリアタイム00:09:98
  3面 19:40:02
というふうに2面までクリアしたとしましょう。そして、1面をやり直して1f(0.01秒)だけ更新したと すると、
  1面 20:00:00→19:50:01 クリアタイム00:09:99
  2面 19:50:01→**:**:** クリアタイム00:09:98
  3面 19:40:03
おや? 3面スタート時の残りタイムの末尾が、上の表に無い数字になってしまいました。
 このように、既にクリアした面のタイムを更新すると、その2つ先以降の 面のスタート時のタイムが「規定の末尾」から「ずれる」ことがあるのです。この場合どう なるかというと、最初の1fで規定の末尾に戻されることになります。上の例の3面の場合は、末尾が
 [19:40:03→02→01→00→99→98→96……]
となります。これがもう0.01秒短くて、3面のタイムが[19:40:04]で始まったとしても、
 [19:40:04→02→01→00→99→98→96……]
となり、前者の方が0.01秒カットされてお得になってしまう 訳です。

 これらのことから、クリアタイムのみからフレーム数を計算することは不可能ということになります。 フレーム数を計算する為には、クリアタイムの他にその記録を出した時の 「残りタイム」が必要です。
 また、これらの現象によって、例え同じフレーム数でクリアしたとしても、スタートタイムが違うと 最大で0.04秒(?)の誤差が生じてしまいます。0.04秒というと約2f分ですから、この差は大きいです。 まぁ普通はせいぜい±0.01秒だと思いますが、0.01秒を争うタイムアタックには少し不向きですね。

参考[1]:コーリャン・pewZさん・関西人さんのタイム・フレーム数比較
理論値*コーリャンの記録pewZさんの記録関西人さんの記録
3面215f 19:47:41→19:43:78
3:63/218f
青-水-緑-赤
19:52:93→19:49:29
3:64/219f
青-水-緑-赤
19:52:47→19:48:81
3:66/220f
橙-緑-水-紫-赤(+2f)
14面218f 16:37:12→16:33:49
3:63/219f
緑-紫-橙-青
18:05:57→18:01:90
3:67/221f
緑-紫-橙-青
17:52:36→17:48:66
3:70/222f
緑-水-橙-青

参考[2]:フレーム数とTGMタイム(端数切り捨て)の対応表
フレーム数215 216 217 218 219 220 221 222
TGMタイム 3:583:603:613:633:653:663:683:70

*理論値を適用したパターン (IRS)はIRS使用(1f必要)
[3面] 青(IRS)1段消し→水色1段消し→緑1段消し→赤(IRS)4段消し。
 又は、橙(IRS)→緑→水色2段消し→青1段消し→赤(IRS)4段消し でも全く同等の理論値が得られます。
[14面] 緑or水色1段消し→紫or水色1段消し→橙1段消し→青1段消し。IRSは使いません。
 2手目も青の場合は理論値は217fとなりますが、まずツモれないのでは……?