ロードスの描画処理

ロードスを60FPSで録画し、コマ送りで見てみて分かったことをまとめてみる。

全体の更新とキャラの更新

画面全体、特に魔法を使った時のキラキラのエフェクトや、与ダメ表示等は毎コマ更新されていた。なので、ロードスの蔵は1秒間に60回以上のペースで画面を更新している事が分かる。
ところがキャラクタは毎コマ更新されている訳ではなかった。更新のペースは大体動画の2,3コマに一回だった。そして、どうやらその更新ペースはキャラの攻撃速度に依存するらしい。

詠唱後の15コマ

試しに、攻撃速度0%と125%とで、トランスをする様子を動画に撮り、詠唱終了後に手を下す動きを抜き出してみる。

すると、0%のときも125%のときも、この同じ15コマが使われていた。

f:id:ochanikki:20171021221438p:plain

コマとコマの間では、足元のキラキラは変化しているけれど、キャラの絵は全く動いていなかった。
そして、キャラの絵を一コマ進めるペースが攻撃速度に応じて変わっていた。攻撃速度0%では0.06秒に1回。125%では0.038秒に1回。

紙芝居に例えるなら、トランスの詠唱終了後に手を下す動作には15枚の紙が用意されていて紙をめくるペースを攻撃速度に応じて変えているという感じ。

実は、このやり方は、昔のゲームの主流とは全く違う考え方。

レッドストーン

例えば、RS(レッドストーン)のことはよく分からないけれど、こんな表を見たことがある。

フレーム→  3   4   5   6   7   8   9  10  11  12  13  14  15 16  

?       176 121  84  58  38  23  11   1                       
0.75    201 141 101  72  51  34  21  10   1                   
0.8     226 161 117  86  63  45  31  19   9   1               
0.9     251 181 134 101  76  56  41  28  17   8   1           
1.0     301 221 167 129 101  78  61  46  34  24  15   7   1   
1.1     326 241 184 143 113  89  71  50  42  31  22  14   7  1
1.2     376 281 217 172 138 112  91  73  59  47  36  27  19 12 
1.3     401 301 234 186 151 123 101  82  67  54  43  34  26 18 
1.4     451 341 267 215 176 145 121 101  84  70  58  47  38 30 
1.5     501 381 301 243 201 167 141 119 101  85  72  61  51 42 
1.6     526 401 317 258 213 178 151 128 109  93  79  67  57 48
1.7     576 441 351 286 238 201 171 146 126 108  93  81  69 59 
1.8     601 461 367 301 251 212 181 155 134 116 101  87  76 65

これは、ロードスのwikiに貼られていたもので、もともとはRSのものらしい。この表が正しいとすれば、RSでは1秒間は16フレーム固定で、キャラの攻撃速度を上げると一つの動作に使うフレーム数が減っていたという事が分かる。紙芝居で言えば、めくるペースは一定で、速い動きでは使う紙の枚数を減らしていることになる。

RS方式の方がパソコンの負担は少ないけれど、ロードス方式の方が動きがなめらかになる。

結論

RSでは、フレーム数を数えることで攻撃速度の効果を知ることができたけれど、ロードスではそれができないという事が分かった。

ロードスではフレーム数ではなくフレーム更新間隔を見なければいけない。