「アリスとラピュタ」開発記紹介 - 2

前回の続きです

前回はアセットストアで購入したアセットを紹介させて頂きました。今回は他のアセットとプログラム的な特徴をまとめたいと思います。

他のリソース(アセット)について

ココナラというサービスについて

ココナラという「みんなの得意を売り買い スキルのフリーマーケット」があります。

アプリ開発をするようになってからはここでいろいろな方にお世話になっています。アプリのプロモーション側でのご支援をいろいろ頂いていましたが、本アプリで初めてアプリ用のリソース開発を依頼しました。

登場人物であるアリス女史のボイス作成依頼

アリス姉さんがアプリ内でいろいろな場所を冒険するときに発する様々な声を先に予想して60個リストアップして、これをcoconalaさんでお願いしました。音声を入れて下さる方は数多くおられますが、いろいろなサンプルボイスを聞かせて頂いて最終的に透乃依子さんにお願いしました。頂いたヴォイス自体は大変素晴らしく魅力的な声で感謝しています。

使用音楽

今回はちょっとええ加減な民族的な内容のものを自作しました。

主人公であるアリス女史のコントロール開発

通常はキャラクターコントローラと呼ばれる機能を自作しています。重力処理や壁や床面や天井との衝突や羽根を使って滑空するとかを創ったのですけど、これは結構反省ですかね。Unityの物理重力処理や衝突処理を最初から使えば良かったかも知れません。

結果的には出来栄えはちょっと機能不足かな。ただUnityに関する技術・知識がかなり向上したことは確かです。特に光線を発射して物体との衝突を検知するRaycast機能はかなり簡単に使えるようになりました。

Raycast活用

今考えるのであれば、例えばアリス女史の頭、足の裏、手の先、等々に衝突検知用のコライダーを付けて衝突検知イベントでいろいろと制御するように創るのですが、当時はそれをすべてRaycastで実現しました。ジャンプしたり空を滑空したりすることを考慮してなのですが本当にちょっと失敗でしたかね。

アリス女史の体の中心から下方向に光線を飛ばして地面属性のオブジェクトとの距離を測って今は床面に立っているのか、空間に浮いているのかを判断します。そしてそれを歩かせるとこのどはアリス女史の前方に障害物があるかどうかを検知しなければなりません。それができても、今度は崖の上にいることを想定して、少し前の下に床があるかどうかを調べなければならない。だけども崖にぶつかったときに方向変換をしなければならないのだけど、方向変換したい方向には床があるのか壁があるのかを知らなければならないというようにどんどん必要な光線の種類が増えていきました。まあ同時に光線を使うのではないのですが、何だか超音波センスで動く自律ロボットのコードを書いているような気がしてくる。

そして滑空。気持ち良く滑空するというのがこのアプリのひとつの魅力にしたいというのが基本コンセプトですが、飛べば飛んだでコウモリの如く前後左右の光線センシングが必要です。

Raycastの失敗

発生する光線の太さを太くすれば結構避けられたのでしょうが、当時はそこまで気が廻らなかった。アリス女史が歩き回るのだけど、迷路空間側もブロック状のものを組み合わせて作っているので、ほんのちょっとの隙間があると落っこちてしまうのです。これが結構頻度が低いのだけど必ず発生するバグになって困らせられっぱなし。なので、時間方向のフィルタリングでごまかしを入れる。すなわち、落下を検出すると光線位置をちょっと前後左右にずらしてその地形の詳細状況を入手するとか。ところが所詮本質的な解決は行わずに時間的フィルタリングでごまかす処理なわけですから、この問題は頻度は下がるけど最後まで解決しない問題で有り続けました。悲しいよな。光線太くすれば良かったですけど。

本当はもうちょっとやりたかったこと

ICO好きなのだから、本当は誰かと手をつないで歩くことを実現したいという思いはありました。本アプリ内で必要な場合に助けに出てきてくれる妖精さんがいますが、手をつないで引っ張ってもらうとかはやってみたかったですがちょっと難しい。いつかやってみたいものです。ところで、ICOは本当に雰囲気のあるすばらしいゲームですよね。

今は冬眠中だけど今後やりたいこと

アプリは3月に公開させて頂きましたが流通はほぼゼロです。プロモーションもゼロ。新作登録でもあまり興味は持たれなかったようですので現在冬眠中です。

迷路としてのステージは5個創ったのですが、まあ力尽き果てている状況での作成でしたので難易度バランスも面白みの創りこみもモンスターや謎の深さも不足だし、時間が経過してエネルギーが充填されてきたらこれをベースに良いアプリに育てていきたいと現在は考えています。

また新たな動きができそうでしたらここで報告させて頂きます。

以上