◆はじめに
「それ! (This is it.)」 お客様から頂けるとヒジョーに嬉しい言葉のひとつです。
例えば、提案やキックオフ会議でお披露目したプロトタイプが、ニーズに刺さると気持ちいい! 技術職の特権だなぁって思うんです。
こんにちは、技術担当のTです。
◆モーションセンサーと戯れる
イカがインクを撃つあのゲーム、楽しいですよね。
でも私はアクション・シューティング系が苦手なので、娘の遊戯を応援しているだけ。
彼女はコントローラーを「傾けて」器用にキャラクターを操っております。たいしたもんだ。
以前から、あの操作性としくみに興味があったので、コントローラー部分を自分で作ってみたくなりました。
ということで、今回は「スマホをゲームのリモコンにしちゃおう」をお題にして、
Android(Kotlin)でプロトタイピングしてみます。
検証の段取りは以下の通り。
0.何はなくとも、まずは紙とペンを用意します。
私はポンチ絵を描かないと落ち着きません。目的と検証ポイント、登場人物などを書き出します。
ゲーム系の企画なので、イラストも添えてモチベーションを上げていきます。
1.Android(Kotlin)でモーションセンサーの計測値を取得してみます。
ゲームのリモコンなので、加速度センサーとジャイロセンサーを使うのかな? とアタリをつけます。
Androidの場合は、エミュレータ上でデバイスを傾けたりできるんですね。知りませんでした。
2.PCでモニタリングしたいので、PythonでUDPサーバを実装し計測データを受信する構成に。Androidから計測データを送信します。
見える化には、PySimpleGUIを使いました。
↓↓加速度センサーとジャイロセンサー それぞれのXYZ軸の計測値↓↓
↓↓スマホを横持ちして 左右に傾けた際のグラフ↓↓
なお、セキュリティソフトによってはUDP通信が遮断されてしまい、
ファイアーウォールの穴開けが必要 … が、今回の落とし穴でした。
3.GameMakerでゲーム化してみる。
次のステップはPygameでゲーム化 … とも思ったんですが、ここは愛用のGameMakerで実装してみました。
GameMakerも数行のコードでかんたんにUDPを受信できます。
あぁやっぱり、実物で体験すると得られるものが多いですね。
コントローラーが変わるだけで新体験!操作するだけでおもしろい。
これならPONGやレースゲーム、チャンバラにリズムゲームにピンボール、パンチングマシーン などなど、様々なゲームに応用できそうです。
↓↓スマホを右に傾けた時の自機の動き↓↓
ネット記事を読んでさっと知るのも良いですが、
「書いてみて・動かしてみて」実体験することで、自信を持って提案できる!と思うんです。
骨子部分だけでも早期にプロトタイプしておくと、ゴールのイメージを共有できるのではないでしょうか。
プロトタイプを肴にヒアリングして・意見交換して・要件をつめて … 憧れのダンディズム。
◆おわりに
最近はデバイスを活用した案件に立て続けに携わり、日々楽しく仕事させて頂いています。
デバイスを使ってこんなことができないかなぁ?というお話がございましたら、
ぜひ弊社までお気軽にご相談ください。