Gun Gale ◯nline作ってみた[ラボライフ!]
sukonbuです。
CPS Lab(ラボライフ!) Advent Calendar 2014 - Adventar
19日目ということで、記事を書かせていただきます。
(18日目:私物に唯一性を)
前回の「パルスセンサによる心拍の可視化」について、かなり乱暴に発展させ、某「Gun Gale ◯nline」のシステムである着弾予測◯をゲームとして実装しました。
☆概要
・題名「Gun Gale ◯nline風のゲームやってるPCがOnline」
・開発環境:VisualStudio、Arduino
・開発言語:C++、Arduino
・使用ライブラリ:DXライブラリ(C++)
・使用機材等
└Arduino
└Grove用イヤークリップ型心拍センサ
└(Wiiリモコン+Wiiザッパー)※銃を模して使用、別途アプリケーションでマウスを割り当て、自作のIRセンサでポインティングする。
・動作内容
「インベーダーゲーム」を元にして、敵を倒す手段を「バレ◯ト・サークル」による射撃に変更。(左クリック時の円の半径の内側にランダムで着弾)
先日の旭祭および学術研究発表会にて展示しました。
◯仕組み
ゲーム本体とArduinoで、シリアル通信を介して心拍の値をやりとりする。そして、心拍の値に応じて円の半径を増減させる。
アルゴリズムが微妙なため、いまいちな動きだが、「一応動く」という程度にはできた。
コレをインベーダーゲームに加えると・・・↓
(見た目だけいい感じ・・・?)
◯苦労した点
・C++でのシリアルモニタを作成およびゲームへの組み込み
└ArduinoとDXライブラリの組み合わせでの開発例が余り無いため、難易度が高かった
・60fpsの描画処理に対して1000msの周期で更新される心拍の値を対応させること
└バッファに対して1フレームごとにforループで複数回アクセスし、無理矢理更新を調整した。
◯考えたこと
「新しいことをするのは難しい」
└コピペプログラマ程度の自分が文献のないものを制作するのには相当の努力が必要。でも楽しかった。
「自作操作インターフェースの可能性」
└シリアル通信でデバイスから何かしらの値を取得し、ゲームの動作に関連付けることができるということは、もっと良いプログラムを書けば自作のコントローラ等が制作できるのでは無いかと思う。
とりあえずこんなところで、だいぶグダグダな内容ですが、終わりとさせていただきます。
20日目: