久々のゲーム制作(タブレット端末向け)

毎年8月上旬に大学ローカルの学生向け制作合宿を企画・主催していて、そこで自分も何か作ってます。今年は、タブレット端末のマルチタッチ機能を使うちょっとしたゲーム作品”Pointing Circumference”を作りました。

これは「5本指で触れた点(5つ)が1つの円周上に乗るようにする」もので、実際には次のような画面でたくさんの青い円が表示されます。青い円が通っている白い点が画面上の各タッチ点です。
PointingCircumferenceScreenShot4

内容としては、3点で1つの円が求まるので、指で触れた5点から3点ずつの組み合わせ(10組)それぞれの円を求めて画面上に描いています。この10個の円が1つにまとまるよう、画面上で5本指を同時タッチするという遊びです。ほぼ同時に5点タッチした時だけスコア処理が行われて画面中央に大きく点数が表示されます。つまるところ、1つの見えない円周上に5本指先が乗るよう、画面を「えいっ」と同時5点タッチするゲームです。
PointingCircumferenceScreenShot2

3点、4点でタッチすると、それぞれ次のような画面が表示されます。
PointingCircumferenceScreenShot6 PointingCircumferenceScreenShot7

5点同時タッチでハイスコアが出ると、次のような画面と共に「ジャンッ」とハイスコアサウンドが鳴るようにしています。
PointingCircumferenceScreenShot5

スコア計算は、円の中心座標10個のばらつき度合い(標準偏差)を求め、それを元に0点から100点の間の点数を出してます。要は10個の円の中心座標(青枠白点)からその集約度を計算してるようなものです。各円の中心座標については、単純に三角形(3点)の2辺の中点を通る垂直な線の交点を計算しているだけです(ストレートに計算)。赤い円は、全ての青い円から求めた平均的な円なので、5本指がほぼ1つの円周上に乗ると、青い円がまとまって、赤い円とほぼ同じ位置・サイズになります。

高校生でも思いつくような計算手法と、適当なスコアリングをしただけのものですが、これが結構面白い。手の指を少し丸めながら5本指で「どりゃっ」と画面を突くような感じで同時にタッチして、できるだけ1つの円にまとまるようにするのです。手指の丸め方を微妙に変えながら、画面を何度も突く仕草がアホらしくて笑えます。

なお、タッチした後にぐりぐりと各指を動かすと、その都度各円の計算をして青い円や赤い円は変化します。それで指の形を揃えて(手の丸め方を固定して)から「えいっ」と画面を再度突くことも可能です。ほぼ同時に5点タッチしないとスコアチェックは行わないので、ともかく「5本指で突く」しかないゲームです。ほんと使ってる様はアホです。
pointing

実装については、手を抜きましたw。iOSアプリもAndroidアプリも作っていません(開発環境用意するのが邪魔くさかった)。
今回は、TUIOPadiOSアプリもしくはTUIOdroidAndroidアプリでマルチタッチデータを取得し、PC上のProcessingプログラムでTUIOデータ受信&画面表示しています。なので、上に載せている画面はすべてPCの画面キャプチャです。なお、Processing上では、TUIOライブラリとサウンドを鳴らすためのminimライブラリを使っています。構成を描くとこんな感じです。
overview

最後に、今回のアイデアは、Perfect Circleというタッチ画面にて指先で綺麗な円を描く「だけ」のiOSアプリに触発されて思いつきました。そのうち、このPointing CircumferenceもiPadやAndroidタブレットでちゃんと動くアプリにしてリリースするつもりです。


カテゴリー: computer, entertainment, interaction パーマリンク