Upgrade to Pro — share decks privately, control downloads, hide ads and more …

microbit V2 を BLE キーボード化できる microbit-pxt-blehid を使ってレトロゲームを操作できるか試した話

1ft-seabass
January 19, 2023

microbit V2 を BLE キーボード化できる microbit-pxt-blehid を使ってレトロゲームを操作できるか試した話

ビジュアルプログラミングIoTLT vol.13「microbit V2 を BLE キーボード化できる microbit-pxt-blehid を使ってレトロゲームを操作できるか試した話」の登壇資料です。

◆スライド内の素材は以下を使用させて頂いております。ありがとうございます!

・シルエットデザイン http://kage-design.com/
・human pictogram 2.0 http://pictogram2.com
・ICOOON MONO http://icooon-mono.com/
・Adobe Stock https://stock.adobe.com/jp

1ft-seabass

January 19, 2023
Tweet

More Decks by 1ft-seabass

Other Decks in Technology

Transcript

  1. 20230119 ビジュアルプログラミングIoTLT vol.13
    microbit V2 を BLE キーボード化できる
    microbit-pxt-blehid を使ってレトロゲームを
    操作できるか試した話
    ワンフットシーバス 田中正吾

    View full-size slide

  2. 私の話はスライドを後ほど共有します。
    話す内容に注力いただいて大丈夫です!

    View full-size slide

  3. 田中正吾(たなかせいご)
    屋号:ワンフットシーバス
    2004年よりフリーランス。以後、FLASH制作を
    中心にインタラクティブコンテンツを主に行い現
    在に至る。
    最近ではWEBフロントエンドをベースにしなが
    らも、情報とインターフェースが合わさるアプ
    ローチという視点でIoTやMixed Realityといった
    技術も取り入れながら活動しています。

    View full-size slide

  4. 最初に念のため強調しておきます
    今回の内容は、あくまで技術的に私が自分で試した発表です。
    決してゲーム上でチートを勧めるものではないですし、
    試された結果に起きた何らかの不利益・不具合は自己責任でお願いします。

    View full-size slide

  5. microbit-pxt-blehid は
    microbit V2 を BLE キーボード化できる拡張機能

    View full-size slide

  6. 公式サイトはこんな感じ
    https://makecode.microbit.org/pkg/bsiever/microbit-pxt-blehid

    View full-size slide

  7. micro:bit アドベントカレンダーで見かけて
    とても気になっていた
    microbit-pxt-blehidを使ってオレオレHIDを数分でつくったはなし
    https://qiita.com/Inoue_Minoru/items/844629142bd3b080a995

    View full-size slide

  8. 豊田さんのゲームパッド化の記事も楽しそう
    【micro:bit 2022】micro:bit V2 をゲームコントローラー(BLE接続の HIDデバイスのゲームパッド)にして
    Gamepad API と組み合わせてみる
    https://qiita.com/youtoy/items/1ac1ce103476f12241e3

    View full-size slide

  9. 早速 micro:bit プロジェクトで
    拡張機能をインストール

    View full-size slide

  10. 通常の BLE の拡張機能と同じく
    radio を削除して使う

    View full-size slide

  11. キー入力は Keyboard のところ。シンプル。

    View full-size slide

  12. こんな感じで Bluetooth Keyboard サービスを
    立ち上がり A ボタンを押すと上キーとして伝える

    View full-size slide

  13. 実際に PC へ Bluetooth キーボードとして
    つながり上キー入力がちゃんと伝わった!

    View full-size slide

  14. ではレトロゲームとどうつなげるか?

    View full-size slide

  15. Steam でつなげると良さそう
    復刻版も多く PC 対応のゲームだと、過去ゲームでもキー入力対応していて、相性良さそうと気づいた。
    モザイクでぼかしているけど、これは某シューティングゲーム。

    View full-size slide

  16. これで Enter キーで発射系は連射も行けた

    View full-size slide

  17. 別のゲームパッドに操作を任せて
    連射を割り込ませるような処理ができた
    良いゲームパッドだと連射機能付いてるけど、新しい機能が付与できるのは楽しい

    View full-size slide

  18. 子供のころからゲーム入力自体を
    自作できたら楽しいと思ってたので嬉しい!

    View full-size slide

  19. シューティングもいいけど RPG 操作にも
    活用できそうだと思った
    シューティングは素早い反応が求められるが RPG なら特定の処理がじっくり作れそう

    View full-size slide

  20. というわけで FF5 ピクセルリマスター版
    とても大好きなゲームで、たまーにやっている。ジョブシステムやアビリティが自由自在で
    エンジニアスキルへも示唆に富んでいると思う。自分は青魔導士+赤魔導士でありたいと思う。

    View full-size slide

  21. こんなツールをつくりました
    まずノーヒント動画

    View full-size slide

  22. 楽しいのはレベル上げ
    FF5はレベルだけでなく、ジョブやアビリティを習得する要素があるので楽しい。

    View full-size slide

  23. 弱い敵のエリアで細かく行ったり来たりして
    地道に敵を倒しつづけるレベル上げ手法
    Steam FF5 は前回の攻撃を記憶できるオートバトル機能で敵と出会ったら倒すのは自動


    View full-size slide

  24. 残る問題は上下なり行き来する動作だが
    手動だしそれなりに手間

    View full-size slide

  25. なんかキーボードも傷みそう
    他の作業もしたいので、ゲームで痛んでほしくない

    View full-size slide

  26. 上下キーで自動行き来ツール作ってみた

    View full-size slide

  27. まず基本設定と A+B 同時押しで止められる仕様

    View full-size slide

  28. A ボタン押したらループ開始

    View full-size slide

  29. まずは上キーによる上移動
    アイコン表示して動作を分かりやすく

    View full-size slide

  30. up 部分が 5 秒程度で 10 コマ上に進む動作
    実際は平地移動で 7 マス程度で海岸で止まるがちょっと余分に行くようにして状況に対応しやすく

    View full-size slide

  31. enter 部分は敵を倒した後の経験値表示を進めて
    またフィールドに戻る動作
    移動時は動作しないのがミソ。ここを悩みだすと AI でフィールドとバトル区別したり
    なにかしらの複雑さが生まれ手動の手間が入ってしまう

    View full-size slide

  32. 同じように下キーによる下移動もつくって
    あとは繰り返しつづける!

    View full-size slide

  33. いざ PC とつないで動作開始!
    ゲーム自体は紙で伏せています

    View full-size slide

  34. めちゃ伏せてますけどこんな感じ!

    View full-size slide

  35. 無事、ずっと戦い続けてくれました!

    View full-size slide

  36. 子供のころ、夢見ていた仕組みを
    こうやってサッと実現できたのは楽しい

    View full-size slide

  37. 息子がたまに電車動画を見に作業机にくるので
    micro:bit 興味しんしんでした!

    View full-size slide

  38. エクストラ
    ➔ アプリのフォーカスがうっかり他にズレると上下操作と
    Enter キー操作が暴走してめちゃくちゃヤバい
    ➔ キー入力は「押し続ける」わけではなく「一度押してすぐ
    離した」なので定期的に押し続ける必要がある
    ➔ 500 ミリ秒はだいぶ遅く感じ 100 ミリ秒だとキャンセル
    されてる感じと PC 入力に負荷かかってそう
    ➔ uBitというデバイス名で Bluetooth 一覧に出るので一瞬
    見失いそうになる。ちょっとつなぐのも最初コワいw
    ➔ キー入力の解釈で相性はある

    View full-size slide

  39. まとめ
    ➔ ゲームに対してのキー入力へは隔たりがあると思っていた
    が案外素直にいけたのが楽しい
    ➔ 裏技や少し便利にするキーマクロって色々あるので節度を
    保った範囲でいろいろ出来そうな気がする
    ➔ 10 分で 50 ABP 取れるみたいな時間見込みが立てれるよ
    うになって自動化の大切さを改めて気づけた
    ◆ この仕組みを作る時間を手動レベル上げに向けたらという話は脇に置いておいてくださいw
    ➔ Steam 復刻版だと昔のゲームへもキー入力搭載できるの
    で micro:bit という現代のテクノロジーでコラボできちゃ
    うのすごい!

    View full-size slide