カーソル移動・酒場画面に実装

体調を崩したのか…、せきが断続的に続く。マトモに人と喋れないのだ。嫌な予感がしたので、昨晩早く寝て対策したところ今朝はまあまあ調子がよく、食事はスムーズだった。

近所から出動要請がかかっているのだが、風邪だとすればちょっと気が引ける。


さて、カーソル移動対応の話。手元にある開発版については、酒場の画面だけ対応してみた。

実は、カーソルを移動させて決定/キャンセルを検出する機能だけはほんのわずかな時間で実装できたのだが、画面上を枠の区別なくカーソル移動されてしまう状況では使い勝手が悪いため、画面ごとに調整が必要であると感じている。

調整が必要ない画面としては、まずタイトルが挙げられる。縦に並ぶ4つしか選択肢がないのだから、調整も何も上下移動があるのみである。

難しいのは、店・キャラクタメイキング・戦闘の3つ。カーソル機能は、一つのメニューの中を往復させる作業には向いているが、分散したメニューを扱うには不向きだ。たとえば、選択肢αを選択したらメニューβをアクティブにして、キャンセルされたら元の選択肢αにカーソルを戻す、といった挙動が必要になってくる。一つの画面の中に選択肢がたくさんあるこれらの画面では、有用な操作を実現するのに苦労しそうである(単にカーソルを動かし、選択するだけならちゃんと動いているので、先行してリリースしてしまうのも手だが……)。

特にDesigeonの「店」は『ウルティマオンライン』をモデルとしているため、ショッピングカートの概念があり、これがために安売り交渉や高額買い取り交渉などの機能を実装・設定する意味を持たせることができるようになっている。これは戦闘ゲームを一歩離れて、『大航海時代2』のような貿易ゲームを制作できるようにするための一環だった。店ごとに相場を変えられるようになっているのもそのためである(もちろん、まだ全体として機能が貧弱ではあるが)。

現状、純粋なWiz世界を表現するには複雑すぎるこの機能を設定によって隠し、Wizardry風の売買形態を取れば、かなり操作は簡便なものとなる。

他にも、制作者がとりうる選択肢が多い分、全体として動かさなければならないカーソルの量が多く、単にカーソル入力を受け付けるようにしただけではあまり操作性が向上してくれない。

操作向上は極めて重要な命題なのだが、適用シーンが多いこともあってしばらく時間がかかりそう。

何にせよ、ゆっくりやっていきます……。