バーチャルパッドの話

2010年末頃発売したゲームの、バーチャルパッド部分の内部実装の話。 自分用メモ。
53
まかべひろし @sinpen

共有されないノウハウは悲しいので、詳しくまでは書かないけど、簡単につぶやいて個人の記録としておく。

2013-11-28 14:47:00
まかべひろし @sinpen

リリースは2010年・・3年も前なので古いノウハウ。基本的に4方向での移動にバーチャルパッドは適さない(できれば360度アナログ移動にしたいくらい)という前提はあるんだけど。

2013-11-28 14:49:18
まかべひろし @sinpen

まず、マップの角は移動補正があるのは当然として、全マップの角に「どんな移動補正をするか」のコリジョン補正情報を入れてる。滑って欲しいところと欲しくない場所は、プレイヤの移動予測ルートによって、システム的に一意に決められるものではない。これはゲームデザイン側で埋め込んだ。

2013-11-28 14:50:51
まかべひろし @sinpen

読み直して。補足。マップの角に複数の補正コリジョンを埋め込んだ件は、そもそもはバーチャルパッド用ではなくて、ガラケーリメイクの時に組み込んだ仕組み。制御大変でマップデータ作成班がすげー苦労してたけど、それをiPhone版にするときに利用した感じ。

2013-11-28 15:11:41
まかべひろし @sinpen

バーチャルパッドでの移動は「細い道をいかにスムーズに通らせるか」「広い空間をいかにまっすぐ動かせるか(ふらふらしないか)」「クイックなカーブ反応にいかに追従させるか」あたりを重視することにした。

2013-11-28 14:53:27
まかべひろし @sinpen

そのために、バーチャルパッドのシステムとしては、「周りのコリジョンや敵の配置によって、動的に8方向の優先角度を変更する」ようにした。純粋に360/8度で割ってるわけじゃない。

2013-11-28 14:55:28
まかべひろし @sinpen

また、内部モードを「まっすぐ移動モード」と「ぐるぐる乱舞モード」みたいにいくつかにわけている。基本は乱舞モードなんだけど、移動モードに固定されると、現在移動中の方向から少し指がずれても、ふらふらしないようにキャリブレーションしてる。

2013-11-28 14:57:13
まかべひろし @sinpen

あと、タップ開始して指を滑らせる距離で、角度分布は変える必要がある。なので、3年前のアレはiPhoneのみ対応だったのだけど、今やるならiPad/iPad mini/iPhoneで距離テーブルは別々に用意するべきだと思う。

2013-11-28 14:59:02
まかべひろし @sinpen

ユーザの操作状況を記録して学習データとして、どんどん使いやすくする・・というシステムも良いかな、と思って組んだのだけど、3年前のアレには調整が追いつかず、実装は諦めた。学習の重み付けに関しては、今でもボクの課題事項ではある。

2013-11-28 15:00:41
まかべひろし @sinpen

ともあれ。バーチャルパッドを実装するのに一言で言うなら、システム的に一意にはまとまらない。データ側で「どうプレイヤーが動かしたいと思うのか」を想定して色々補正データを組み入れるべき、というのが3年前の(そして今でも)ボクの現状。

2013-11-28 15:02:11
まかべひろし @sinpen

オリジナルで、移植もので無ければ、タッチで動かしやすいフィールドを組むところからできるんだけどね。移植ものの場合は、見えないところにいっぱい仕込んで、昔の形を残しながら、「正解プレイ」をしやすいように調整するしかない。移植の利点として、ネタバレはすでにされてるのだから。

2013-11-28 15:04:02
まかべひろし @sinpen

久しぶりに3年前のアプリ起動して見直したけど、そういやオプションで「補正ON/OFF」できるようにしてた。補正OFFだと、今つぶやいた機能のいくつかがオミットされる・・んじゃなかったかな。ボクはずっとONで作っていたので覚えてない(苦笑)

2013-11-28 15:06:35
まかべひろし @sinpen

ざっとは、こんな感じ。

2013-11-28 15:04:35
nakamura001 @nakamura001

iOSとAndroid向けのドラクエ1がリリースされましたが操作性に難あり - 最終防衛ライン2 - http://t.co/IfYvFwtlvX やはり、操作性の所に突っ込みが入るか

2013-11-28 14:41:19
まかべひろし @sinpen

さっきRTしたblogさんが、当時書いててくれていた! / 聖剣伝説2好きならiPhone版を買っておいても後悔はしない! - 最終防衛ライン2 (id:lastline / @lastline) http://t.co/OWWf5zuGyg

2013-11-28 15:13:39
まかべひろし @sinpen

@Satohk1 古いアプリなのでretina対応してないとか色々あるんで許してください。3年前は出来良かった、はずですw

2013-11-28 15:08:28
まかべひろし @sinpen

@Akittty よくよく考えると、バーチャルパッドってニッチな技術なので、各社(各者?orz)で研究してて、あんまりノウハウ蓄積されてないのかもですね・・

2013-11-28 15:07:56