お仕事で、ビジネス向けのクラウドサービス…的なものを作っている。
クラウドサービスって言葉はうすら寒いのだが、要は WEB ブラウザで見られるサービスだな。
スマホを使って、アンケートなどに答えてもらう。
そのデータを収集し、グラフなどで分かりやすくしたうえで、大きな画面に表示する。
まぁ、そんな感じのものだ。教育向けに使ったり、大きなイベントで使われたりしている。
どんなサービスか、というような詳細はこの際問題ではない。
ともかく、「ビジネス向けの」 WEB サービスを作っていたのだが、企画者が「全部 Unity とかで作り直したら、ゲームのコントローラーで操作できるかな」と、ぼそりといった。
以前から、いろいろな操作上の問題が指摘はされていたのだ。
サービスはマウスとキーボードで操作するように作ってあったのだが、それだけだと対応しづらい要望もさらに出されていた。
企画者が考えていたのは、その多数の問題の内、1つだけの解決方法だった。
そのために、ブラウザ用に作ってあるのと同等のものを、Unity で作り直しても良いのではないか、というほど困っていたのだ。
このつぶやきを聞いた瞬間…確約はできないのだけど、自分の中ではいろいろとひらめいた。
黙って少し下調べ。そうか。まだ標準化はされていないが、今の Javascript では、gamepad API というものがあるのだな。
ここまで分かった時点で、Amazon で XBOX コントローラーを購入した。
コントローラーが届いたのは翌日、土曜日だった。
勝手に、現在のプログラムにコントローラーで操作する機能を追加する。
…ちゃんと、元のプログラムとは違うブランチにしているよ?
でも、勝手にやるので後で怒られるかもしれないし、作業料金は発生させない。
あくまでも自分の趣味で作り…採用されたら、後で料金上乗せさせてもらおう。
1時間ほどの作業で、スクロールをゲームのコントローラーで制御可能になった。
ゆっくりスクロールしたり、高速にスクロールしたり、アナログパッドなので自由自在。
ここまでできたら欲が出る。
マウス操作しているときは、スクロール「しすぎ」も問題だった。
ブラウザのスクロール機能を使っているのでどこまでもスクロールできてしまうのだが、本来範囲制限したいのだ。
その機能を追加する。
というのも、ブラウザ画面の長いスクロールは、いくつかに区切られているのだ。
スクロール時は、区切りの範囲内でだけスクロールしたい、という要望が出ていたのだが、ブラウザの機能としてそういうことはできなかった。
ジョイスティックでのスクロールは、Javascript で完全制御しているため、これを実現できた。
そして、この「区切り」の頭出しをしたい。
頭出しは、キーボード操作では0~9 のキーで一発でできるようになっていた。
最大の区切りの個数が 10個だったから。
でも、最近要望で、20まで増やせるようにしていた。この時の操作で問題が出ていた。
これを、コントローラーの L R キーで、順次変更できるようにした。
一発頭出しはできないのだが、「次」「前」を連続させることで、個数の制限をなくしたのだ。
さらに翌日の日曜日、いろいろな操作をキーに割り振っていった。
基本的に、A を押せばその状況に応じて状況が進むようにした。
イベントの際など、タイミングの節目で A を押せばよい。
イベントの際には間違えが致命的なミスとなるので、できるだけ単純な操作がいいのだ。
マウス操作を基本として作ってあるので、いくつかの機能はマウスをそのまま使えばいいだろう。
これは勝手に作る実験なので、深入りせずに見栄えのする機能だけ作る。
…これがね、結構楽しい。
作っていても楽しいのだが、操作感が楽しいのだ。
ビジネスソフトなのに、ゲームのコントローラーで操作するということが面白いチャレンジだし、やってみるとマウス・キーボードの組み合わせよりもわかりやすく、操作しやすい。
月曜日、打ち合わせで実際に会う約束があったので、XBOX コントローラーを持っていき、披露。
想像以上にウケた。
最近出ていたいくつかの問題点が解消されるのに加え、やっぱり「ビジネスソフトなのにゲームコントローラー」というのが面白いので、是非現場で使いたいとのこと。
で、操作できない部分もある程度できると良いね、と。
とりあえずマウスで操作かな、と思っていた部分ね。
これについては、企画者に「UI考えて」と頼んでおいた。
UI さえ決まれば、作れそうな気がする。
ビジネスソフトでゲームパッド、ということに対して、ミリタリー好きのプログラマから「今時、戦車もプレステのパッドで操作しますしね」と。
え?そうなの?
話によると、ロシア軍がプレステパッドで操作する戦車を作った、とのこと。
今調べてみたら、プレステパッド風というだけで、そのものではないようだ。
僕の方からも、アメリカの原潜が XBOX のコントローラー採用しましたよね、というと「そういえば、そんな話もあったねぇ」と。
これらに比べたら、ビジネスソフトで使うなんて、特に問題ないだろう。
ゲームパッド、なかなか奥が深い。
同じテーマの日記(最近の一覧)
別年同日の日記
17年 Android Chromeでスクロールがおかしくなるバグの原因と修正
申し訳ありませんが、現在意見投稿をできない状態にしています。 |