開発環境で作ったワールドの話
この記事は クラスター Advent Calender 2020 10日目の記事 らしいです。
昨日は anoriqq さんの 『安く簡単にGo製webサーバーをデプロイする! Render.comの紹介』でした。いろんなサービスを上手く使っていきましょう!
私は クラスターのUnityエンジニア の faidra です。主に Cluster Creator Kit 周りをいろいろやってる妖精です。
他の人々がちゃんとした記事を書いているのに恐れ慄き、急遽まともな内容を錬成しました。 ((アドカレといえばD言語くんやろみたいな気持ちを抱いている))
開発環境?
みなさんが使っている clusterのwebサイト (や、その他サービスで使っているサーバー群)は 本番環境 と呼ばれるものです。本番環境を安定させつつも開発を安全・高速にすすめるため、それに対し 開発環境 という、開発中の機能を試したりするための環境が社内には存在します。
Creator Kit v1.10.0のリリース に合わせて公開した 絵合わせ も、開発環境にアップロードしていたワールドを調整して本番環境に上げ直したものです。(メタデータがサーバー側にあるのはこういう時に便利ですね)
何を作っているの?
何かを開発する目的は、作ったものが動作することではなく、それによって価値を生み出すことです。
CreatorKitの開発では、新しい機能を追加する際に、「クリエイターが期待するものを実際に作れるか」や「この機能は誤解なく使われるか」などを確かめる必要があります。そのためにはやはり、実際に作ってみて遊んでみることが一番強力な武器となります。
今年の冬の開発 では、「プレイヤーとアイテム間のやりとり」や「プレイヤー個別のUI」のための実装が主なものとなりました。その開発に際して作ったワールドの紹介を、 どういう意図で作ったのか や、作ってみて・遊んでみて 実際どうだったのか も含めて書いていこうと思います。
ちなみに、開発環境の雰囲気を再現するため、ワールドの内容に限らず、サムネイルや説明文も(ほぼ)開発環境に上げたものをそのまま使いました。内部環境ならではのゆるさをお楽しみ下さい。
SneakRun
まずはどういう時にUIが使いたくなるかを考えたところ、「どこにいてもずっと見続けなければいけない情報が存在する」ゲームが良いのではないかと思い当たりました。ただ、CreatorKitは連続的に変化する情報を(今は)上手く扱えないため、決まったサイクルで変化する状態、例えば昼と夜を使ったゲームを作ることにしました。
また、アイテムの状態をプレイヤーの状態に反映できる機能を検証するために、「アイテムに何かが起こったら所持者に何かが起こる」ことを使ったワールドにしようと思いました。(ただし、プレイヤーに引き起こせる変化はこの時はワープ系しかありませんでした。)
昼と夜を使うことは決まっていたので、この2つを組み合わせて、だるまさんが転んだのような、 昼に動いたらスタート地点に戻される ゲームワールドが出来ました。
このワールドは、PlayerLocalUIのVRでの表示方法を決めるのに大変役に立ちました。ただ、変化があまりにも規則的すぎるため、慣れてしまうとUIを見なくてもいいという難点も残念ながら存在しました。
他にも、アイテム起点でプレイヤーに影響するロジックを、アイテムかプレイヤーのどちらに書くべきか定まらない、という問題も見つかりました。起点をアイテムに寄せることである程度は解決したものの、TimerとOwnerの関係の難しさも思い知らされました。
GatherAndCraft
SneakRunはUIから考え始めたものの、結局は昼夜というグローバルな情報のみを表示したワールドになってしまいました。今回のロードマップで作りたかったHPなどの プレイヤーの状態が上手く扱えるか を測るには不十分だったため、次はそれにフォーカスしたワールドを作ることにしました。
凝ったバトルをするワールドなども作っておきたいところではありますが、仕事でやるには少し荷が重いので、リソースの獲得方法や利用方法はできるだけシンプルになるようにしました。
「鉱石を集めて強くなる」という構造はすぐに決定したのですが、集めた資源や作った強化を 個人で積み重ねるかみんなで共有するか はとても難しい選択でした。個人で集めて自分を強化するのが一番作りやすいのですが、 マルチプレイである理由(マルチ要素) が欠けており、「それは本当にclusterの提供したい価値なのか」について大いに議論を巻き起こすことになります。
「ワンセッションの目的が明確なMO的なコンテンツ」と「自分の体験を積み重ねられるMMO的なコンテンツ」についての話はとても面白く、まだclusterとしても結論は出ていないのですが、ひとまず今回は「個人を強化し、全員に振る舞う」のが良さそうだという結論になりました。
さてこのワールド、実際に遊んでみると分かると思うのですが、どこかで見たような気がしないでしょうか?そう、 テンプレートワールド『プログレッション』 の着想の1つになっています。
何かを作ったその結果や考察がまた新たな創造に繋がっていくのはまさにclusterの目指すところであり、自分にとっても大きな達成感のあることです。(ちなみにプログレッションでは、ゲームサイクルを実際に回してもらうための 段階的な達成度 も重要な要素として作り込まれています。って勝手に話してええんかな……)
次は?
この記事が誰かが何かを作る助けになればいいなと思います。
明日は clngn さんの『clusterのアバターサムネイルを変えた話』です!より良いアバター表現を目指すWebの取り組みについてです。