技術レポート

スマホをゲームのリモコンにしてみたり【技術コラムvol.2】

公開2023.9.11

◆はじめに

「それ! (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やレースゲーム、チャンバラにリズムゲームにピンボール、パンチングマシーン などなど、様々なゲームに応用できそうです。

↓↓スマホを右に傾けた時の自機の動き↓↓

ネット記事を読んでさっと知るのも良いですが、
「書いてみて・動かしてみて」実体験することで、自信を持って提案できる!と思うんです。
骨子部分だけでも早期にプロトタイプしておくと、ゴールのイメージを共有できるのではないでしょうか。
プロトタイプを肴にヒアリングして・意見交換して・要件をつめて … 憧れのダンディズム。

◆おわりに

最近はデバイスを活用した案件に立て続けに携わり、日々楽しく仕事させて頂いています。
デバイスを使ってこんなことができないかなぁ?というお話がございましたら、
ぜひ弊社までお気軽にご相談ください。

Related News

関連記事

異なる複数のOSのアプリ開発を同時に低コストでスピード感のあるワンストップで提供するサービス「TEEDS」をリリース!
プレスリリース

2024.4.25

異なる複数のOSのアプリ開発を同時に低コストでスピード感のあるワンストップで提供するサービス「TEEDS」をリリース!

大阪城で花見開催!
コミュニケーション

2024.4.17

大阪城で花見開催!

//21期新卒// 入社式を開催しました
コミュニケーション

2024.4.10

//21期新卒// 入社式を開催しました