2020年10月27日の日記です


getGamepads  2020-10-27 12:09:19  コンピュータ

お仕事で、ビジネス向けのクラウドサービス…的なものを作っている。

クラウドサービスって言葉はうすら寒いのだが、要は WEB ブラウザで見られるサービスだな。


スマホを使って、アンケートなどに答えてもらう。

そのデータを収集し、グラフなどで分かりやすくしたうえで、大きな画面に表示する。


まぁ、そんな感じのものだ。教育向けに使ったり、大きなイベントで使われたりしている。




どんなサービスか、というような詳細はこの際問題ではない。

ともかく、「ビジネス向けの」 WEB サービスを作っていたのだが、企画者が「全部 Unity とかで作り直したら、ゲームのコントローラーで操作できるかな」と、ぼそりといった。


以前から、いろいろな操作上の問題が指摘はされていたのだ。

サービスはマウスとキーボードで操作するように作ってあったのだが、それだけだと対応しづらい要望もさらに出されていた。


企画者が考えていたのは、その多数の問題の内、1つだけの解決方法だった。

そのために、ブラウザ用に作ってあるのと同等のものを、Unity で作り直しても良いのではないか、というほど困っていたのだ。


このつぶやきを聞いた瞬間…確約はできないのだけど、自分の中ではいろいろとひらめいた。


黙って少し下調べ。そうか。まだ標準化はされていないが、今の Javascript では、gamepad API というものがあるのだな。


ここまで分かった時点で、Amazon で XBOX コントローラーを購入した。




コントローラーが届いたのは翌日、土曜日だった。

勝手に、現在のプログラムにコントローラーで操作する機能を追加する。


…ちゃんと、元のプログラムとは違うブランチにしているよ?

でも、勝手にやるので後で怒られるかもしれないし、作業料金は発生させない。

あくまでも自分の趣味で作り…採用されたら、後で料金上乗せさせてもらおう。



1時間ほどの作業で、スクロールをゲームのコントローラーで制御可能になった。

ゆっくりスクロールしたり、高速にスクロールしたり、アナログパッドなので自由自在。



ここまでできたら欲が出る。

マウス操作しているときは、スクロール「しすぎ」も問題だった。

ブラウザのスクロール機能を使っているのでどこまでもスクロールできてしまうのだが、本来範囲制限したいのだ。

その機能を追加する。


というのも、ブラウザ画面の長いスクロールは、いくつかに区切られているのだ。

スクロール時は、区切りの範囲内でだけスクロールしたい、という要望が出ていたのだが、ブラウザの機能としてそういうことはできなかった。

ジョイスティックでのスクロールは、Javascript で完全制御しているため、これを実現できた。


そして、この「区切り」の頭出しをしたい。


頭出しは、キーボード操作では0~9 のキーで一発でできるようになっていた。

最大の区切りの個数が 10個だったから。


でも、最近要望で、20まで増やせるようにしていた。この時の操作で問題が出ていた。

これを、コントローラーの L R キーで、順次変更できるようにした。

一発頭出しはできないのだが、「次」「前」を連続させることで、個数の制限をなくしたのだ。




さらに翌日の日曜日、いろいろな操作をキーに割り振っていった。

基本的に、A を押せばその状況に応じて状況が進むようにした。


イベントの際など、タイミングの節目で A を押せばよい。

イベントの際には間違えが致命的なミスとなるので、できるだけ単純な操作がいいのだ。


マウス操作を基本として作ってあるので、いくつかの機能はマウスをそのまま使えばいいだろう。

これは勝手に作る実験なので、深入りせずに見栄えのする機能だけ作る。


…これがね、結構楽しい。

作っていても楽しいのだが、操作感が楽しいのだ。


ビジネスソフトなのに、ゲームのコントローラーで操作するということが面白いチャレンジだし、やってみるとマウス・キーボードの組み合わせよりもわかりやすく、操作しやすい。




月曜日、打ち合わせで実際に会う約束があったので、XBOX コントローラーを持っていき、披露。


想像以上にウケた。

最近出ていたいくつかの問題点が解消されるのに加え、やっぱり「ビジネスソフトなのにゲームコントローラー」というのが面白いので、是非現場で使いたいとのこと。


で、操作できない部分もある程度できると良いね、と。

とりあえずマウスで操作かな、と思っていた部分ね。


これについては、企画者に「UI考えて」と頼んでおいた。

UI さえ決まれば、作れそうな気がする。




ビジネスソフトでゲームパッド、ということに対して、ミリタリー好きのプログラマから「今時、戦車もプレステのパッドで操作しますしね」と。


え?そうなの?

話によると、ロシア軍がプレステパッドで操作する戦車を作った、とのこと。

今調べてみたら、プレステパッド風というだけで、そのものではないようだ。


僕の方からも、アメリカの原潜が XBOX のコントローラー採用しましたよね、というと「そういえば、そんな話もあったねぇ」と。


これらに比べたら、ビジネスソフトで使うなんて、特に問題ないだろう。

ゲームパッド、なかなか奥が深い。




同じテーマの日記(最近の一覧)

コンピュータ

別年同日の日記

01年 10/27

02年 妹主演の劇を見る

04年 枝豆

11年 太陽電池

16年 ダイナマイト刑事

17年 Android Chromeでスクロールがおかしくなるバグの原因と修正


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

1000

-- follow --




- Reverse Link -