Seasons.NET

ちょっとした技術ブログです

プレイ動画からAngryBirdsの大きさについて計算したファンの記録

元記事

AngryBirdをこよなく愛する人が、面白い記事を書いていたので、紹介します。

以下、翻訳もかねて要約となります。
AngryBirdとは、iPhone界では、モンスター級に売れてるソフトでかなり有名です。
ゲームシステムは、かなりシンプルでパチンコの要領で鳥を飛ばして、豚を倒すという内容です。


このアプリにはまっている熱狂的なファンが、この鳥を飛ばしたときの軌跡は、
どのような計算が行われているか知りたくなったらしく、
なんとプレイ動画からその計算式を導き出すということをやってみたそうです。


AngryBirdは、プログラムコードが公開されているわけではなく、
当然アプリのみですから、目コピで頑張るぐらいしか、基本的に選択肢はありません。


とはいえ、プレイ動画がありますからこれをなんとか解析に使えないかと考えたわけです。
鳥を飛ばした時のポイントをトラッキングして計算式を導き出そうという魂胆です。
根性ですね・・・。


そこで使ったツールは、以下のサイトにある
Tracker Video Analysisというツールだそうです。
WindowsやLinux、Macに対応しているようなので、ほとんどのユーザーは、試すことができると思います。


このツールは、ビデオ内の特定の2点を指定して、
その間の時間などから、グラフと計算式を表示してくれます。


この時、スケール情報も必要になります。
これは、物体の寸法を算出するために必要になる要素です。


さて、これで算出したグラフは、どうなっているかというと、
X軸方向に一定速度で移動していることがわかります。では、これで十分なのでしょうか?


実は、違います。


鳥は、空気抵抗や重力の影響を受けてるはずなので、それがグラフとして反映されるはずです。
ですが、このグラフが示しているのは、空気抵抗が存在しないということです。
AngryBirdsに出てくる鳥達は、なんと空気抵抗を受けないのです!!


では、Y軸でもグラフを調べてみることにしましょう。
鳥が画面外に消えてしまうポイントが存在しますね。
ということは一定の加速度で鳥は、落下していることになります。


導き出された式をみる限り、Y軸における加速度は、-2AB/s^2のようです。
前述の通りこの鳥には空気抵抗というものは、存在しませんから、
純粋に自由落下の法則しか力が働いてません。
では、自由落下の式をあたはめると、

  • 2AB/s^2 = -9.8m/s^2

ということになり、ABは、約五メートルということになります。
ということは、鳥のサイズほ、約70cmということになるのですね!!


さすがAngryBirds。こんな大きい鳥を怒らせたら、大変なことになりそうです。