HEXA BLOG
ヘキサブログ
プログラム
ゲームデバイス向けアプリ
ゲームデバイス向けアプリ
こんにちは、レインボーシックスシージ熱再燃中のガッキーです。
自分は良くPCでFPSゲームをしています。
PCに限らずですが、マウスやキーボードをゲーム向けに作った、ゲームデバイスなるものが存在します。
自分が使っているマウスはSteelSerieseのRival300というものを使用しており、
SteelSerieseEngine3(以降sse3)というソフトウェアで感度やLEDの色を設定できます。
sse3ではEngineアプリというものがあり、
対応しているアプリケーションと連携してLEDの色を変えたりゲームの状態をLEDの色で表現したりすることができます。
CS:GOなどでは、自身の体力を色でLED表示してくれたりします。(手で隠れるので恐らく見えないかもしれないですが…)
このEngineアプリですが、自身で対応アプリを作成して、LEDの色を変えることができます。
どうやって作成するのか気になったので、やってみました。
sse3対応のサンプルやドキュメントはこちらにあります。
sse3に対して通信を行うことでマウスのLEDの色を変更します。
マウスのLEDの色を変更する手順は大まかに下記のとおりです。
1. coreProps.jsonから接続先のアドレスとポートを取得
2. 取得してきたアドレスとポートに対してゲームの登録
3. 取得してきたアドレスとポートに対してゲームイベントの登録
4. 登録したゲームイベントの発行
coreProps.jsonから接続先のアドレスとポートを取得
まず初めにsse3に対して通信を行うので、接続先のアドレスを取得します。
接続先はcoreProps.jsonに記載されているので、Jsonのデータをデシリアライズし、
アドレスとポートを取得してきます。
• coreProps.jsonは下記のようなフォーマットです。
• %PROGRAMDATA%/SteelSeries/SteelSeries Engine 3/にあるcoreProps.jsonをデシリアライズします。
取得してきたアドレスとポートに対してゲームの登録
次にゲームの登録を行うのですが、sse3に対してゲームを登録するには、
指定のアドレスに対して、Jsonデータを送信する必要があります。
そのため、Http通信で指定のアドレスにJsonデータを送信する関数を用意します。
• 下記関数はsse3接続先+extraAddress(ゲームの登録だと/game_metadata)に対してJsonデータを送るものです。
• 上記送信用関数を使用し、ゲームの登録を行います。
ゲームの登録はsse3接続先/game_metadataに対してゲーム登録用のJsonデータを送信して行います。
• gameSetting.jsonのデータは下記のとおりです。
• ここまででsse3に自分のアプリケーションが追加されます。
• 「コンフィグ」を選択すると下記のような画面になります。
まだゲームの登録以外していないので、何もできません。
ゲームイベントの登録
マウスのLEDの色を変更するために、ゲームイベントの登録が必要です。
ゲームの登録同様にゲームイベントの登録を行っていきます。
• sse3接続先/bind_game_eventにイベント登録用のJsonデータを送信します。
• gameEvent.jsonのデータは下記のとおりです。
gameに登録したゲーム名を
handlers内にどのようなイベントかを定義したものです。
詳細はこちらを参照してください。
下記はマウスのLED部分を青色にするイベントになります。
• ここまでで実行すると先ほど「コンフィグ」から入っていた画面が下記のようになっています。
上記のJsonで設定した通り、マウスのLED部分が青色の設定になっています。
しかし、まだマウス自体のLEDの色は変わりません。
マウス自体のLEDの色をこの画面と同じにするためには、
イベントの発行が必要です。
登録したゲームイベントに対して、イベント発行
ゲームイベントを登録し終えたら、そのイベントの発行を行います。
sse3では15秒以上ゲームイベントの発行がないと、イベントが終了するので、
定期的にイベントを発行を行います。
送信先はsse3接続先/game_eventです。
• 定期的に発行するためにTimerを使用して実装を行います。
• gameEventExcec.jsonは下記のとおりです。
• これにより、マウス自体のLEDが上記で設定したイベント通り青色になります。
以上が、マウスのLEDの色を変える方法です。
終了する際は下記のようにゲーム、ゲームイベントを削除することで、
Engineアプリの一覧から削除されます。
• ゲームイベント、ゲームの削除
今回紹介させていただいたのは、ゲームデバイスに対応したアプリ作成の簡単なものですが、
皆さんの周りのデバイスにも自分でアプリケーションを開発できるものがあるかもしれません。
割と身近なものからアプリケーション開発や、プログラムの勉強ができるので、
調べてアプリケーション開発ができるものがあったら、是非挑戦してみてください!それでは!
CATEGORY
- about ヘキサ (166)
- 部活動 (6)
- CG (18)
- プロジェクトマネジメント (1)
- 研修 (5)
- 美学 (1)
- いいモノづくり道 (230)
- 採用 -お役立ち情報も- (149)
- プログラム (188)
- デザイン (99)
- ゲーム (274)
- 日記 (1,104)
- 書籍紹介 (113)
- その他 (875)
- 就活アドバイス (20)
- ラーメン (3)
- ライフハック (25)
- イベント紹介 (10)
- 料理 (23)
- TIPS (7)
- 怖い話 (3)
- サウンド (5)
- 子育て (1)
- 筋トレ (1)
- 商品紹介 (21)
- アプリ紹介 (31)
- ソフトウェア紹介 (33)
- ガジェット紹介 (12)
- サイト紹介 (10)
- 研究・開発 (34)
- 回路図 (4)
- アナログゲーム (40)
- 交流会 (21)
- 報告会 (3)
- インフラ (25)
- グリとブラン (6)
- カメラ (9)
- クラフト (27)
- 部活 (14)
- 画伯 (15)
- カレー (6)
- 音楽(洋楽) (6)
- 映画・舞台鑑賞 (43)
- 飼育 (5)
- いぬ (8)
- ねこ (19)
ARCHIVE
- 2024年
- 2023年
- 2022年
- 2021年
- 2020年
- 2019年
- 2018年
- 2017年
- 2016年
- 2015年
- 2014年
- 2013年
- 2012年
- 2011年
- 2010年
- 2009年
- 2008年
- 2007年