6月20日にロンチされるFINAL FANTASY XIV Stormblood 紅蓮のリベレーター、メディアツアー情報やPVが公開されていよいよ高まってきたなあ、オイ!
今回の大型パッチで実装される新ジョブ「侍」をよりリアルに遊ぶための刀コントローラを作ろうと思います。
具体的には加速度センサと無線送信機を取り付けたスマート刀を作り、刀の振り方から使用したいゲームのスキルを判定します。受信機はUSBケーブル経由でPCやPS4と接続し、刀の動きに対応したキー入力を行なうことで、侍のスキルを発動します。制限なく刀を振り回したいので、刀のセンサは完全無線化します。ここで考慮しなければいけない仕様として(1)キー入力方法、(2)通信方法の検討、(3)刀側無線デバイスの選定、(4)PC側無線デバイスの選定、が考えられます。
まずキー入力方法について。
私はPS4でエオルゼアを冒険している光の戦士なので、PCはもちろんPS4で遊べるコントローラを目指します。PS4を動かしているファームウェアのドライバの仕様上、あまり特殊な接続方法は利用できないため、一般的なキーボードに使用されているUSB HIDクラスのプロトコルを使用してFF14へのキー入力を行ないます。
続いて通信方法について。
超個人的な理由でESP32(ESP-WROOM-32)を使ってみたかったので通信規格はWi-Fiにします。刀に装着するためには相当小型な無線機が必要なので、ESP32は相性がよさそうです。
(秋月のESP32-DevKitC開発ボード 大きさは50x25mmくらい)
受信側は手元にあったRaspberry Pi 3を使います。ESP32でセンシングの結果をPUSHして、ラズパイ側でサーバを立ててNode.jsで処理するイメージで作っていきます。
受信機側は、刀からのデータの受信のほかに、PCへのキー入力機能を実装します。こちらの記事(Arduino Uno R3 で作るESC専用USBキーボード)を参考にArduino Unoをキーボード化することにしました。
以上を図にするとこんな感じになります。
次回はArduinoをキーボード化してFF14で実際に入力したいと思います。
>> キー入力デバイス編
記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。
Copyright (C) 2010 – 2017 SQUARE ENIX CO., LTD. All Rights Reserved.