『ピクセルコンバット』というゲームを作ったとき、先に PC 版を作って、そのあとスマホ対応したんですが、いざスマホ版を作ったときに「PC 版ではできたのにスマホ版ではできないこと」というのがぽろぽろ出てきて手戻りが発生したので、同じミスを犯すことのないようメモしておきます。
ユニットの情報表示の際にマウスオーバーに頼った UI にしてしまっていたのが失敗でした。
スマホではマウスオーバーが使えないため、すべて作り直しです。
PC 版では、
という操作方法だったのが、スマホ版では、
となります。
「マウスオーバーでユニット情報を瞬間的に切り替えられる」という PC 版の良さが失われてしまうわけですが、仕方ありません。
一応、PC 版にはマウスオーバー機能をそのまま残しておきました。
ただ、最初からスマホベースで作るのであれば、実装の手間を考えるとマウスオーバー機能は省略しても良かったかもしれません。
せっかくのマウスオーバー機能を使わないのはもったいない気もしますが、「スマホ版は PC 版に比べて操作しづらい」という事自体が、スマホ版の価値を下げてしまって良くないのでは、とも思うため。
ピンチ操作をホイールスクロールとして使うことはできますが、「ピンチ操作」というものが、私の感覚だとめんどくさいなあと思うので、あんまり積極的に採用しようと思わないんですよね。
スマホではタップだけにしておきたい、という感覚があるので、前述のピクセルコンバットではホイールスクロールの代わりに拡大縮小ボタンを置くことにしました。
ホイールスクロールより明らかに不便ではあるんですが、まあ仕方ないですね。
PC 版ではキャンセル操作全般に右クリックを採用していたんですが、これも別の方法で置き換えることにしました。
スマホでは「画面の適当な場所(タップしても何も起こらない場所)をタップしたらキャンセル」という操作方法にしました。
合わせてキャンセルボタンを用意する、とした方が良かったと思うんですが、こちらは実装していません。特に深い理由はなく、実装が面倒だったから、ということだったと思います…。
今後ゲームを作る際は、明示的にキャンセルボタンを置くようにしたいと思います。
PC では「マウスで基本操作 + キーボードでショートカット」というのがわりと一般的ですが、スマホでは当然これもできないので、「そもそもショートカットが必要になるような複雑なシステムにしない」とするしかないのかなと思っています。
言うまでもないですが、これですね。
スマホの画面サイズで無理なく遊べる仕様から考える必要がある、という感じですね。
このようにスマホでは様々な制限があるわけですが、その結果シンプルで分かりやすいゲームが作れると考えれば、まあ悪いことばかりでもないかなと。
あと「PC じゃないと操作するのは厳しい」という内容であれば、もう割り切って PC 版だけ作るのが良いかなと個人的には思います。