Cluster Creator Kitと私の2020年
ガルペノです。
今回は1月の「clusterお題企画」である「記事求ム!クリエイターキットライターズ」へ寄稿する記事になります。
お題としてはCluster Creator Kitに関することであればなんでも良いそうで、ガルペノが書く内容は、去る2020年にガルペノがclusterと出会ってから年を越すまでの振り返りしたいと思います。clusterでの交流やイベント開催はCCKとは直接関係ないのでそちらはさらっと流しつつ、主にCCKとの関わりについて書いていきたいと思います。
4月、出会い
僕が最初にclusterを知ったのは2020年の春、ミソシタさん(Young yAAさん)がきっかけでした。僕は当時VTuberとして活動されていたミソシーのファンで、彼はclusterというプラットフォームに進出し、「バーチャルワールドクリエイター」としてワールドを制作されていました。
VRChatはWindowsがないと入れないのでずっと見送っていたのですが、clusterはMacでもスマホでも入れるようなので、ここでガルペノは初めてclusterをインストールし、バーチャル空間にログインしました。
ミソシタさんのワールド「XR CHAOS RAVE Type - Red Angel」にはたくさんの掴めるキューブや棒・NPCが配置されており、それをうまいこと掴んで離してつついて積んで、模様を合わせてきれいにピラミッドを作って遊んで楽しんでいました。
そしてCCKの存在を知らないこの頃から、Itemを最後に掴んだ人がアイテムの座標管理をしていることを体感的に学び、またUnityの物理規則(摩擦抵抗や重力、オブジェクトの重心)なんかも積み木遊びの過程で体に叩き込まれました。
5月、初制作
しかしミソシーのワールドはBloomや多数のSkinned Mesh Renderer、Movable Itemが置かれているので、スマホやMacBookで長時間滞在するのは負荷がかかり、また他人のワールドで勝手に積み木遊びを繰り返すのは忍びありませんでしたので、自分で積み木専用のワールドを作れないだろうかと考えました。
それがガルペノ初のclusterワールド、「バーチャル積み木ワールド」 です。全てはここから始まりました。公開日は5月の14日です。
積み木として基本的な、立方体・柱・アーチ・三角体・板などをGrabbable Itemとして複数配置し、建築や微調整用にKinematicな梯子やGrip指定の棒も加えました。画像のように割と高い建築物も建てられます。
ツイートの画像に見えている建設中の看板は、集中している際に邪魔が入らないようにと考えて設置したものですが、しかし荒らしてしまうユーザーには効果がなかったので、現在はオミットしてあります。自分がclusterに居ついてしばらくしたのちに、今もなお公開されているバーチャル渋谷が発表され、ちょうど僕が積み木ワールドで遊んでいるおりにテレビか何かで紹介されたらしく、たくさんの箱ロボアバターが入室してきて楽しかったです。
ガルペノがCCKをインストールした時にはすでに常設ワールド機能・ゲーム機能の走りとして掴めるアイテム機能がきていました。そこで「積み木」とはなんとも地味なスタートでしたが、しかし作り手から遊び方を指示するのではなく、訪問者が自発的に遊びを生み出せるワールドとして、clusterというコミュニティ・そしてガルペノのクリエイティビティが掛け合わさった結果とも思います。
クラスター・ロボファイトの起源
その次に制作・公開したのが「ロボファイトガレージ」でした。これはバーチャルムサビ展を見に行って刺激を受けたガルペノが、自分もポートフォリオになるワールドを作ってみようかと考想を練り、単純に見て回るだけではリアルの焼き直しなので、せっかくバーチャルならバーチャルでしかできない展示をしたいと思い、過去作のアニメーションに出てくるロボットとキャラクターが目の前で動くワールドを作成しました。
掴めるアイテムやアニメーションの機能が実装されているとはいえ、まだまだ静的なワールドが多かったclusterのワールドに動く巨大ロボが登場し、コライダーで閉じ込めるだけとはいえコックピットに乗れるという新規性から話題を呼び、たくさんの方々にご訪問いただきました。
元々Blenderで動かすだけだったモデルをFBXに出力し、Unity上でマテリアルやアニメーションを再設定することを、ここで初めて経験しました。また、Scene上に設置したCameraの映像をRender Textureに貼ること、動画をVideo Playerとして再生すること、アセットのインポートと配置、オブジェクトの階層化なども学びました。
そして何より、clusterで乗り物に乗れるようにしたい!という熱い気持ちはこの当時から燃えていました。一度レンダリングしたらずっと同じカットでしか見れないアニメーションではなく、バーチャル空間の持つインタラクティビティや表現の幅の広さに魅せられ、あっという間にCCKの虜になっていきます。
6月、初表彰
そして5月のお題企画「CUBEの中の世界」に応募するために、「エッシャーのだまし世界」を制作・公開しました。
「CUBEの中の世界」は、10m × 10m × 10m の立方体の中でワールドを制作するという規程のあるお題企画でした。もう半年以上も前のことなのでなぜこの着想に至ったかは憶えていないのですが、当時の自分はバーチャル空間という新鮮味を感じていたのか、立方体の部屋とエッシャーのだまし絵がクロスオーバーし、さらに部屋全体がぐるぐる回転して天井も壁も床も階段も全てが目まぐるしく変わる、という大変なものでした。
仕様上、部屋の回転が同期しないという問題、また壁に貼り付けず部屋を転がる青いデングリデングリたちが部屋からこぼれ落ちると帰ってこないなどの問題がありましたが、今ならTimelineの機能で同期するアニメーション・Movable ItemをつけてリスポーンするItemなど解決策が判ります。
そしてこのお題企画のアピールタイムが開催され、ガルペノはここで初めてバーチャル空間でのイベント登壇を果たしました。スライドや原稿などの準備はしたものの、めちゃくちゃ緊張して吐きそうだったような気がします。しかしありがたいことに、拙作の「エッシャーのだまし世界」はclusterの加藤社長より「しゃちょー賞」を頂きました。
今まで履歴書で誇れるような受賞歴が全く無かったのが残念でしたが、自分の制作物が初めてたくさんの人の目に触れ、訪問され、コミュニティのイベント企画とはいえ表彰されたことは大きな自信につながったと思います。また、この頃からclusterでも顔なじみの方やよくお話する方と出会うことも増え、リアルで人との繋がりが希薄になっていく中、clusterは自分にとって大きな存在になっていました。
ガルペノゲームワールドの興り
これまで物を掴むなどしかできなかったclusterのゲーム機能が大幅にアップデートされ、アイテムを使ったりワープさせたりができるようになりました。もうこれは誰にも先を越されてはならない!と躍起になって徹夜し、おそらくclusterでは一番乗りに?、まあまあ遊べる的あてゲームワールドを制作しました。
それが「SHOOT'EM ALL!! 101」です。
やっぱりアップデート直後に新しい機能を体験できるデモンストレーションとなるワールドということで、さっそく社員の方々をはじめたくさんのユーザーの方にご訪問いただきました。最初はただの床と銃と的があるだけの殺風景もいい加減なワールドでしたが、のちに動く的・起き上がる的・遠距離狙撃のための的と、観戦用の櫓を設けた4方向のシューティングレンジのあるものへとアップデートしました。
動く的への動体視力はさることながら、狙撃する遠くの的へのシビアな弾道修正など、CCKの機能拡充と共にゲーム性を追求する姿勢がこの頃から芽生えはじめます。またサバゲー経験者ということもあり、アバターに銃を向ける行為の堅い禁止、アバターの体に銃を撃ち合うゲームの忌避など、「ゲームを遊ぶ者」ではなく「ゲームを遊んでもらう者」の立場として、ガルペノの譲れない姿勢もこの当時に生まれました。
7月、バレランが特別賞を受賞
先の「SHOOT'EM ALL!! 101」をさらに発展させ、ゲームワールドコンテストへの本命応募ワールドとして制作・公開したのが「BULLET RUNNERS!!! 」、通称バレランです。
決められたコースを周り、なるべく速く正確に的を撃ち、ハイスコアを目指すゲーム内容となっています。
こちらのワールドも公開直後からたくさんの方々に遊んでいただき、ゲーム結果のスコアを写真にとってツイートされる方が多数いらっしゃいました。同じ時間にログインできないプレイヤー同士が、そのようにツイート投稿形式で対戦できる面白味があると思います。
また、ゲーム機能は一度に何もかもができるようになったのではなく、できる機能が少しずつアップデートで追加されていく形となっています。今では当たり前の機能となったLogicをはじめとするオペレーション機能(計算やタイマーなど)は、この当時はまだ実装されていませんでした。
そんな中でどうやってタイムや射撃カウントを回したのかというと、アニメーションの機能を使いました。プレイヤーがスタートを切ることでアニメーションの再生速度を1とし、ゴールすることで0にします。ストップウォッチの表記はTextではなく、数字のテクスチャが貼られた板オブジェクトの物理的な配列で、それをアニメーションで0から9まで切替えさせ、その開始と停止で時間を正確に測ります。射撃のカウントも同じ原理です。
詳しくはこちらの記事にまとめてありますが、今はLogicの機能がある上に記事の説明が粗雑ですので、Logicが使えないという特殊環境に直面した方のみ、ご参照ください……。
ここにきて本格的に、アニメーションは完全同期しない上に当たり判定の具合やOwnerが異なることによるゲーム状態の遅延や不一致、いわゆるラグとの戦いが始まりました。
まずスタートとゴールを切る際のコライダーアイテムは、最初に入室した人がOwnership(管理権)を持っているので、それ以外の人が見かけ上はCollideしても、Ownerから見た当人のアバターがCollideした場合にTriggerが発火します。その際にサーバーへ状態が行き来する時間分の遅延が起きるというわけです。
また、的を倒したか否かの判定も同期されないことがあります。これは弾のOwnerと的のOwnerが異なる際に発生するもので、Owner以外から見たItemの座標と状態は1秒間に数回しか同期しない(アップデートで同期頻度は向上してきています)ので、その1秒間に数回の座標位置で的と弾が重なった場合に限り、的が倒れる仕様となっています。
まあそんなこんなで、今でも同期仕様や遅延の問題とは戦っていますが、ラグに対して真っ向から闘うのではなく、あの手この手を考え発想力で立ち向かうことが大事だと思います。
バレランについて長くなってしまいましたが、それだけガルペノのCCKゲームワールド制作における転換点でもありました。それはこのワールドがゲームワールドコンテストで特別賞を受賞したことにもよります。
銃を射撃する爽快感、タイムアタックの機能、アップデートされていく楽しみが今時のエンターテイメントであることなどを加藤社長にご評価いただき、ありがたいことに特別賞を頂きました。「エッシャーのだまし世界」でもそうでしたが、今度はかなり大きめのコンテストということもあり、非常に驚いたと共に大きく喜びました。
大賞まであと一歩及ばず残念でしたが、自分が良いと思って創ってきたものが高く評価された結果は感謝すべきことであり、これからも楽しいゲームワールドを創っていきたいと実感した経験でもあります。
8月、初めてのGAMEJAMで苦戦
ゲームワールドコンテストの興奮も冷めやらぬうちに、Cluster GAMEJAMなるものが発表されました。48時間でゲームを制作せよ、というお祭りです。ここでガルペノは「次元の迷宮」というゲームワールドを制作・公開しました。
ゲーム内容は、二つの次元を行き来して一つの迷路をクリアするというものです。何を言っているのか解らないかもしれませんが、僕もこれが一体なんだったのかよく分かりません。というのも初めてのGAMEJAM、初めての短時間制作でうまくアイデアを消化できず、不完全燃焼だったからです。それはもう完全なる不完全燃焼でした。
まず今回のお題は「ソーシャル」だったのですが、なかなか解釈の難しいものだったので、「クリア画面をSNSで共有したらガルペノが人力でワールドのフォトコーナーに反映してソーシャルってことでええやろ」という雑なお題クリアにしました。どっちかというと48時間で遊べるゲームを作る、「完走する」ことが第一目標でした。
そして審査の基準として1:テーマに沿っている、2:マルチプレイで何度でも遊べる、3:独創的でワクワクするワールド、という要件を欲張って全部を満たそうと画策し、ビジュアルやアプローチとして「No Man's Sky」や「風ノ旅ビト」からインスピレーションを得、以下のようにアイデアを練りました。毎回ランダム生成されるワールド、一つのワールド(サーバー)に二つの世界が対の次元となって存在し、それぞれの次元でプレイヤーが協力することで脱出・クリアすることができる、というものです。
その結果、ある程度まで進捗が進み、2日目の夜に一度リアルフレンドとテストプレイをしました。その成果物が「対次元協力脱出ゲーム」です。しかしこの段階で「なんか小難しいゲーム作ったけど、すっげーおもんねーな」と感じ、3日目に1から作り直すことにしました。
GAMEJAMも最終日、残り12時間で何ができるかということですが、結果的には最初に紹介した「次元の迷宮」ができました。
二つの次元に別れる、というコンセプトとアセットの一部は再利用し、協力要素のウェイトを減らして、記憶ゲーとアスレチックゲーが組み合わさったようなそうでないような、ちょっと何だかよく解らないゲームワールドになりました。
何だかよく解らないゲームワールドのくせに、地味にガルペノの過去ワールドで1、2を争う訪問者数を稼ぎ出していて悔しいです。ライバルは「SHOOT'EM ALL!! 101」です。
結局、賞はもらえませんでしたが(豪華な参加賞は頂きました🙏)、自分の中でももやもやしていたので、これについては仕方がないと納得しています。ですがこうやって振り返ってみると、GAMEJAMでは難しいにせよランダム生成ワールドや雰囲気重視のゲームワールドは良い線を行っていたなあと思いました。いつかフルスクラッチで、ノンバーバルかつ幻想的なゲームワールドを作ってみたいものです。
自分だけのバーチャルギャラリーをオープン
ガルペノはclusterに来る前から絵や漫画を描いたりCGアニメーションを制作してきました。それらを振り返って見れるポートフォリオワールドを作りたい、というのが5月の頃からありました。そして8月の上旬に、りおもろさんがバーチャルの写真展を開催し、その展示解説イベントが行われました。ガルペノもそちらに参加し、大きな感銘を受け、自分も自分だけのギャラリーを完成させたい!と燃えました。
その結果がオネプラグ電脳画廊です。オネプラグというのはガルペノ:Galupenoを逆から読んだ造語で、僕が同人活動をする際のサークル名や屋号みたいなノリで使っています。宣伝ですが、ウェブサイトもあります。
展示の形式は、1年ごとの作品をぐるっと円形になっている空間に展示していき、ハブワールドとしてエントランスロビーに年別のワールドに飛べるリンクポータルを設置しました。主にイラストが多めなのですが、漫画作品であれば4ページまではページ送りで鑑賞でき、動画や音楽は自動ループ再生で3D音声により近づいたときだけ音が聞こえます。
リアルの展示場では音を自在に減衰させられないので、こういうところはバーチャルの強みです。また りおもろさんも上記のイベントで仰られてましたが、展示準備にかかる費用や会場のレンタル料、また印刷代や電気光熱費などの経費が実質0というのも良いところです。
BOOTHなどで販売中の商品を集めて展示したギャラリーショップがエントランスにあります。Ichikon Cafeのように作者が常駐するギャラリーカフェの考想もあり、エントランスの奥が今なお工事中なのですが、スカイボックス以外はフルスクラッチで作成しているので、やる気が出るまでは手付かずかもしれません。
ぐるっと回るだけで順番に鑑賞できて、飽きてきたらショートカットもでき、1年ごとにワールドを分けたのでワールドの容量も少なく抑えられ、また今後の活動もその年のワールドを更新するだけで済むので、かなり自由度の高い展示場が作れたなと思います。
oda_susiさんの記事:<cluster>鑑賞系VRワールド おすすめ100選(美術館、癒し風景、交流Hub、音楽ライブ、展示会、etc)では、「シンプルですが、本ワールドのような展示形態は見易いので、VRギャラリーの基本的な一形態になるかもしれません」とコメント頂きました。
お題企画応募アイテム:どこでもキャンプで「とみね賞」受賞
8月のお題企画「夏を楽しむ」ではワールドではなくアイテムが募集され、ガルペノは「どこでもキャンプ」というアイテムを作成し、応募しました。
「どこでもキャンプ」はポータブルテントとしてアイデアをまとめ、陸海空の3つのロケーションでテントになるアイテムです。無料版と陸海空セットごとの有料版を設け、有料版ではロケーションに応じた小物がついてきます。ワールドに設置するだけのStaticな固定テントもありますが、目玉はSeedテントです。
Seedテントは初めは小さな掴めるアイテムですが、これを手放すと大きく膨らみ中にアバターが入れるようになります。そして大きくなったテントをタッチすると再び小さなテントに戻り、持ち運びができるようになります。
しかしイベントなど負荷の高い場面ではアイテム生成のSignalが重複し、増殖することが確認されています。当時は原因がわからなかったのですが、公式の同期に関するドキュメントによれば、Ownerが切り替わる際にメッセージが重複して送信されることがあるそうです。まだ詳しく検証できていませんが、したがってこういった場合はガルペノはTimerを挟んで緩衝材にすることで回避する策を取っています。Timerの開始となるTriggerがTimerのカウント中に送られてきた場合は、カウントが最初からリセットされる仕様が使えるからです。
普通に山や海辺に置くだけのテントだけでなく、空や深海でもキャンプできるという、もはやテントとはなんなのか不明なテントの種類ですが、コンセプトとしては、アイテムが単にワールドに設置されるのではなく、アイテムから連想してワールドが作られるようになればいいな、という思いがあります。
陸のテントはわかるとして、じゃあ空や海のテントはどんな場所でキャンプするんだろう?と想像を膨らますことで、そのロケーションが形作られていく。そんなクリエイティビティが刺激されればいいなと思いました。
このお題企画への応募アイテムは とみねさんの目に留まり、「小さなテントが大きくなって中に入れるアイデアに夢があること。テントのデザインが気に入ったこと」などを評価していただき、「とみね賞」に選んでいただきました。
バレランの改良
時系列は少し前後しますが、バレランの改良版を制作・公開しました。ロジック機能が到来し、プロジェクトファイルが破損したので、もう一度リメイクするという形です。
大きな変更点は、移動速度が速くなるアイテムを導入したことでゲーム性が増したこと、見えない部分ではラグの対策としてOwnerを切り替える仕組みを導入したことです。また、アニメーションで表示していたスコアギミックをLogic機能に置き換えることで、完全に同期するスコアが実現しました。まだ詳しい仕組みが分かっておらず、見様見真似で実装したのですが、ストップウォッチはCCK開発者の はとりんさん考案のものを参考にしました。いつもありがとうございます。
バレランではコースを進むごとに的が起き上がる演出をしていますが、その判定はOn Collide Item Triggerで行っており、またスタートとゴールのテープも同様にOn Collideで取っています。そのためこれらが最初から設置型のItemだと、これから走る人がOwnerでないためSignalの遅延やAnimationの二重遷移が起きます。通常ワールドでは挑戦者=最初の入室者=初期ItemのOwnerの可能性が上がるため問題ないかもしれませんが、このゲームワールドでは何度かタイムアタックのスコアをその場で競うイベントを行ったので、その際の公平性を保つために、ラグ問題の解決を模索しました。
最も簡潔なOwnerの切り替えは、Interact Item Triggerでタッチさせることです。そのため、バレラン1.5ではスタート前に準備完了タッチ壁を設け、それをタッチさせることでスタートとゴールと途中地点のCollide Itemを生成します。これらのCollide ItemはプレイヤーがぶつかるとGlobalにSignalを送り、それを受け取ったItemが作用します。
この当時はこれでいけると思ったんですが、今になって考えたらGlobalを経由する時点で遅延が起きてしまいますね。的の二重の起きあがりも起きてしまったり、改変したストップウォッチが止まらなかったりと不安定でした。
バレランは今後も大筋のゲーム内容はそのままに、マップや演出などのテイストを変えて続編を作っていきたいと考えています。お楽しみに。
10月、ゲームワールド杯の挫折
9月の後半にはclusterゲームワールド杯2020が発表され、GAMEJAMをしのぐ景品の豪華さに誰もが沸き立ちました。GAMEJAMでは納得のいくものが作れなかったガルペノですが、今度のコンテストでは受賞を狙いたいと思いました。
それというのも、大賞は「GeForce RTX 3090搭載ゲーミングPC+HTC VIVE Cosmos Elite」とあり、このセットが手に入ればVR機器なんて夢でしかないガルペノですらすぐに快適なVRが始められる環境が整うのです。そうでなくてもUnityJapan賞を取れば、「Unityが推奨するPC」というアバウトながらなんか強そうなPC環境がゲットできます。したがって、このどちらかの受賞を全力で狙いました。
このコンテストでガルペノが制作・応募したワールドが、「カタチ戦線、その行方!!」です。これはゲームワールド、というよりゲームワールドプロジェクトというような内容のものです。
まずゲームワールド杯は1ヶ月の開催期間があり、その期間中に応募されたワールドから8つのワールドが本戦に出場し、そこからはユーザー投票で大賞が決定します。ですので、最終的な結果はユーザーからの支持が不可欠であり、そのためにガルペノはほぼ1ヶ月間ゲームワールドを更新し続けてユーザーの印象に残ろうと考えました。一方で締め切り間際に投稿して記憶に新しく印象を刻む、という戦略の方もいました。
1ヶ月間、ずっと同じゲームをアップデートするのではいずれ飽きてしまうので、全部で3種類のゲームモードを期間中にリリースしました。ワールド応募にはメインワールドの一つを応募し、そのワールドのアップデートでゲームモードをがらりと変更、過去のゲームモードは独立した新しいワールドとして再公開し、ワールド杯終了後にはメインワールドは3つのゲームワールドへリンクするハブワールドとしました。
ゲームのストーリーとして用意したのは、clusterを色々ともじった名前の王国で、内紛の決着をゲームワールドでつけることとなり、プレイヤーは傭兵として好きな陣営を選びゲームに参戦する、というものです。ゲームの終了後に表示される両陣営のスコアを画像に収めてツイートすると、内紛の勢力に反映され、ユーザーのプレイがストーリーを左右するという仕組みです。ツイートの収集とスコアの反映は、GAMEJAMで使ったガルペノの人力更新です。
続いて3つのゲームモードを順番に紹介していきます。
第1フェーズは「バンバンシューティング」で、その名の通りバンバン銃を撃って的を狙うシューティングゲームです。自陣営の銃を持ち、相手陣営の的を狙撃します。ネーミングですが、この当時ネットの話題をさらったFall Guysの日本語ステージ名称に似せています。
第2フェーズは「ドキドキスカイパーフェクト」です。こちらもフォールガイズの1ステージにあやかって、空中に並べられたタイルから正解を覚えてゴールを目指すというものです。
ガルペノはこの段階でOn Collide Item Triggerの発動条件がプレイヤーのローカル処理ではなく、ItemのOwnerがCollideを検出した時のみなのだと気付きました。つまり、Ownerがハズレのタイルを踏み抜いたときはほぼ即座にタイルが割れるのですが、Owner以外が踏んだ際は遅延します。こればっかりはPing値があるので現在の仕様ではどうしようもありません。
最終フェーズとして公開したのが、「ロボファイトデスマッチ」です。内容としてはロボットを操縦して相手プレイヤーのロボットを撃破するのが勝利条件です。
5月にclusterを席巻したロボファイトに、念願の操縦機能を搭載させました。といってもプレイヤーがロボットに乗るのではなく、足元のパッドを踏んで前後左右に移動し、アイテムの操縦桿を左右に振って視点を水平に動かすラジコン方式です。
前2作のゲームモードは的当て、覚え迷路と内容もビジュアルもシンプルなものでしたが、ここに来て真打投入、ガチで大賞を狙いに行ったという感じでした。そのためティザートレイラーを作ったりローンチトレイラーを作ったり、本気度が伺えます。またロボ操縦の仕組みも過去最高に複雑を極め、持ち合わせる知識と技術の全てを投入して制作しました。
しかし結果としては惨憺たるものでした。期間中にワールドのURLでツイートを検索しても、スコア投稿用のハッシュタグで検索してもロボファイトのものはちっともヒットしませんでした(テストプレイにご協力いただいたYou Aoiさんのツイートが一つあります、本当にいつもありがとうございます)。5月のロボファイトガレージや事前のティーザートレイラーでは多くの注目を得たので、いよいよロボットを操縦できるとなれば大人気間違いなし、大賞も堅い、と浮かれていましたが、一気に失意の底に叩きつけられました。
ゲームワールド杯2020からはVTuberの方々がゲームワールド実況プレイを行い、その様子を配信で視聴するイベントが繰り返し行われ、カタチ戦線の前2作をありがたいことにプレイしていただけました。これは公式の目にも面白いワールドとして注目されているのだと感じましたし、そうでない通常のユーザーの方々も的当てと覚え迷路は何度も遊んでいただけたので、かなりの手応えがあったのですが、このコンテストの結果としては本戦出場に選ばれず、受賞は不可能となり、かなり大きな落胆がありました。
反省としては、上記の記事に詳しくまとめてあるとおり、ゲームが複雑でとっつきにくいこと、写真を撮れる機会が少ないこと、アバターが実際にロボットに乗れたわけではなく、お互いのアバターが見えないゲームシステムだったことだろうかと考えています。
clusterでは「ゲーム」よりも「ゲームワールド」という呼称が一般的であり、それはあくまで「いろんなジャンルのワールドがある内の、ゲーム性のあるワールド」、という意味合いが強いからです。したがって、本格的なゲームや凝った操作を要求するゲームはclusterをはじめとするバーチャルSNSでは求められていないのだと感じます。
本格的なゲームがしたかったらコンソール機やPCでゲームとしてのゲームをします。加藤社長が提唱する「Game as a Social Space」、日本語に訳せば「交流の場としてのゲーム」が求められているわけです。そこでは作り手の提供する競技性や物語性よりも、ユーザーが自発的に遊んで体験を作っていくことの価値が高いのだと思います。
そういうことで、clusterユーザーの需要を読み間違えた、あるいはやる気の方向性を違えたロボファイトは大失敗となり、ガルペノは落ち込みまくりました。
ただワールド杯終了後の「スタッフの推しワールド紹介」ではロボファイトを取り上げていただいたり、ソロプレイ用にNPCとの対戦を実装したバージョンをプレイいただいた声がツイートに上がっていたりと、皆さんにロボットに乗って戦える面白さを感じていただけた実感がしっかりあります。
また、一時期はヤケになっていましたが、しばらくしてやっぱりロボファイトは続けたいと思いました。確かに誰かに遊んでもらうことも大事ですが、それよりも自分が遊びたいと思ったゲームを自分で創る楽しみの方が大きいからです。ですので、ロボファイトは今後も発展させていく考想です。
この当時はラジコン機能として出せ得るかぎりの最適解を捻り出しましたが、年が明けてから戦車に乗ってまあまあ操縦できるワールドも開発できるようになりました。また僕だけでなく多くのワールド制作者が望んでいる乗り物機能がCCKに実装されれば、ロボファイトは水を得た魚のように一気に発展させられそうです。
12月、CCK先進技術研究開発の日々
ロボファイトで複雑なゲームシステムを開発してから、「今はまだできない機能をどうにかして実現する」ことの面白さに取り憑かれ、CCKでそんなことができるのか!?という仕組みを色々と考案しはじめました。
ロックオンしたターゲットに向かって飛んでいくミサイルと、そのランチャーだったり、
NPCが攻撃してくる想定のエイムを人間っぽい挙動にさせてみたり、
試合を観戦するカメラがアイテムの動きに合わせて自動で移動したり、そんな仕組みを多く制作しました。
これらは主にCCKのスクリプトではない、Constraint系のコンポーネントを使用しています。まずオブジェクトを特定のオブジェクトへ注視させたい時はLook Atを使い、ヒエラルキー上の親子関係にせずに特定のオブジェクトの動きに連動するオブジェクトを設定したい場合はParentやRotation、Position Constraintを使います。
またそれだけでは動きがぴったりと合わさりすぎるので、動きを滑らかに補間させるために使うSpring Jointも重要なコンポーネントになってきます。Spring Jointはかなり以前も使用しようとしたのですが、何故か荒ぶって想定どおりにいかずやきもきしていたのですが、RigidbodyのDrag(空気抵抗)が0だったために起きた現象でした。そのため、Dragの値を入れると非常に滑らかな追従補間が完成しました。
ConstraintはItemの子にItemを設定できない際や、上記のようにCCKのスクリプトだけでは実現し得ない高度な仕組みを作成する際の隠し味として必要になってくるコンポーネントです。
しかしこれらのコンポーネントはcluster上でどのように同期が取られるのかが不明です。つまり、ユーザー間でのConstraintやJoint系の座標計算がItemと同じOwnerによる一元管理なのか、それともローカルで処理されて計算結果が完全には一致していないのかが分かりません。
これはまあ、clusterの提供する機能ではないので公式のドキュメントにも記載されていませんから、そういうものと思います。つまり今CCKが提供している機能が、CCKでの使用を想定しているものだということです。ConstraintやJoint系の座標計算がローカル処理なのか一元管理なのかは、Discordチャンネルで質問してみたいと思います。
CCKの先進技術の開発は、先述の通り小難しいゲームシステムの開発でもあるので、あまりclusterユーザーの注目は集めませんでした。しかし擬似乗り物機能は大きな反響があったようです。
この「アバターを乗り物にのせる(ように見せる)」ワールドは、Animationでワールド内を動き回る箱にアバターが乗る(ように見せる)ことができる実験ワールドです。
このワールドで乗り物っぽい箱をタッチすると、アバターが箱にぴったり追従します。これまでのコライダー閉じ込め式では、移動速度が早いとコライダーをすり抜けてアバターが振り落とされてしまいましたが、この仕組みだとどんなに動いてもアバターは振り落とされません。
またVRでの視点の状態は確認できないので不明ですが、デスクトップモードでは箱の回転に合わせて視点のX軸・Y軸・Z軸も同期します。これはつまり、ジェットコースターや飛行機などの乗り物で、プレイヤーの視点を固定させられることができるということです。
この仕組みはPlayer Warp GimmickとPlayer Timerによって実現しました。TriggerとGimmickの流れはシンプルで、0.01秒の間隔でループするSignalによってPlayerが非常に高い頻度でワープを繰り返しているというものです。ただし乗り降りする用にPlayer Logicを挟んで搭乗中であるか否かのBoolをチェックしています。乗った時はTrue、降りたらFalseでワープをオンオフしています。
Player Warp GimmickにはKeep Rotationという選択があり、これを有効にすることで視点は自由に動かせるが、アバターは乗り物に乗っている、ということになります。逆にこれが有効になっていないとワープのターゲット座標で視点が固定されます。Keep Positionが有効になっていると、ワープというよりは視点の向き操作だけが奪われる挙動になると思います。
この擬似乗り物機能は2021年になってから戦車に乗れるワールドとして本格的に実装しましたが、あくまで擬似的な乗り物機能の再現なので、まだ不完全な部分が多数あります。
例えばアバターが乗り物に乗っているというよりはワープターゲットに立っている挙動になるので、乗り物が移動したらアバターが走るモーションを取ったり、ワープターゲットのX軸回転・Z軸回転には追従しなかったりします(乗り物が前のめりになってもアバターはワールドに対して垂直のまま前のめりにならない)。
また乗り物の座標に固定されるという挙動として、ヒエラルキー上でアバターが乗り物の子階層になったりParent Constraintで乗り物を親としてアバターが追従したり、そういうものではありません。あくまで1/100秒でワープターゲットにワープしているという仕様のため、乗り物が移動すると視点が非常にガクガクと揺れたりします。
そして乗っている最中は1/100秒の間隔でターゲットにワープを繰り返すので、移動操作が完全にできなくなります。個人的な乗り物操作の理想としては、アバターの移動に用いていた入力を乗り物の操作入力に転用することです。なので、せっかく各プラットフォームに最初から用意された入力操作を捨て、面倒なInteract Itemをぽちぽち触らせる乗り物操縦にせざるを得ず、とても歯痒いです。
しかしこれらの解決は一筋縄ではいかず、やはりちゃんとした乗り物の機能は公式による実装を待つべきだと思います。
ですが、「今はできない仕組みを今できる機能を駆使してどうにか実現する」という試みや姿勢は初代バレランから続く開拓者精神です。clusterはユーザーの数もクリエイターの数も増えてきて、すでに真っ青なブルーオーシャンではなくなってきていますが、未だに精力的な開発や組織拡大が加速しているフロンティアです。
そんな中で僕ガルペノは、CCKによるワールド制作の先陣を切るパイオニアとしての自覚と自信がありますし、その姿勢を貫いていきたいと考えています。
GAMEJAM冬の陣でリベンジ達成
12月の末にはCluster GAMEJAM in 2020 WINTERが開催され、たくさんの挑戦者が参加を表明しました。
しかしガルペノは夏のGAMEJAMや秋のワールド杯の経験から、大きなイベントに身を投じるとメンタルが不安定になること、またロボファイトで大敗を喫したことから今回は参加を見送る予定でいました。シン・ゴジラでゴジラ第2形態の成長が不完全なために、いったん海に帰ったのと同じという説明をしていました。
そんな折にワールド投稿記念として発表されたのが、謎のメダルです。
なんなんですか、これは。欲しいじゃないですか。CCKワールド制作のパイオニアの自覚があるので、これは持ってないと非常に悔しいと思いました。そして悩んだ末に、エントリー締め切りまで残り少しというところで参加を表明しました。
その成果物が「力の雫と影の声」です。前半はアイテム収集、後半はアクション主体のゲームです。
こちらは後日、たぶん今月中にワールド解説ワールド(映画のメイキングとかのビハインド・ザ、みたいな感じ)を制作・公開する予定ですので、詳しい中身の解説はそちらで行います。
今回のGAMEJAMのお題は「溢れるエナジー」でしたが、それは後半のバトルパート前の演出として組み込みました。夏のJAMではとっ散らかって不完全燃焼でしたが、今回は48時間でそれなりに楽しめるゲームが制作でき、個人的には満足したので結果は気になりませんでした。
とはいったものの、このワールドはありがたいことに「TSUKUMO賞」に選んでいただけました。敵から身を隠しながら迷路を探索するゲーム性、音楽やSEのマッチ、CCKのスキルなどを評価していただけました。また加藤社長からも直接「ゲームとしてのクオリティが高かった。CCKを使いこなしてる感ある。謎のカットインなど、こんな機能あったっけと思うくらい」とコメントを頂けました(登壇中は脳のメモリがフル稼働でぼんやりとしか覚えておらず、今YouTubeのアーカイブを見てしみじみ振り返りました)。
ゲームワールド杯でがっくり来てから、それでもCCKのゲームワールド開発を諦めず制作を続け、メンタルが弱ってる中GAMEJAMで満足のいくワールドが完成し、それを受賞作に選んでいただいたことで、夏のGAMEJAMと秋のワールド杯のリベンジを果たせました。
これも全ては謎メダルに釣られたおかげです。たぶん年末のノリだったのかもしれませんが、謎メダルの企画を発案された方、そしてその企画を通された方々、株式会社Project White様、クラスター株式会社様、加藤社長、そしてガルペノのワールドを遊んでくださった方々、ありがとうございました。
振り返ってみて
ガルペノの2020年の主なCCK制作物は以上になります。
ガルペノはスクリプトの一行も書けないゲーム開発未経験者ですが、いろんな人と遊べるオンラインゲームを作ることができ、まず何より自分が楽しいと納得できるゲーム制作ができるCluster Creator Kitには大きく感謝しています。
そして何度かのコンテストやお題企画で受賞作に選んでくださったこと、これまでたくさんの方々にワールドを遊んで、感想を頂けたことも大きな励みになりました。
最初に積み木で遊べる自分だけのワールドを作った折には、まさかここまでclusterとCCKにはまり込むとは夢にも思いませんでしたし、ワールド常設やゲーム機能が実装されてからまだ1年もない中で、非常にたくさんの出来事がありました。
僕が最初にclusterにきてから、CCKを触り始めてから、CCKはいろんなことができるようになりましたし、それに合わせて僕も負けじといろんなことができるように開発してきました。初めてCCKを触った時には、本当に想像もできないことでした。
僕がCCKに惹かれる理由はいろいろあるのではっきりは分かりません。ただこれからもCCKを使って沢山のワールドを作り続けるだろうし、CCKの機能もどんどん拡充していくだろうと思うと、とても先が楽しみでなりません。
今年もclusterの加速に置いていかれないようにスロットルを吹かしながら、今年はリアル生活の方も安定させて、なんとしてもVRでclusterにログインしたいと思います。
今なお僕がclusterで手付かずのまま触れていないのは、VRでの入室ならでは操作や体験です。Player Local UIのVRでの挙動なども、フレンドに確認をお願いするしかない現状はとてもフットワークが重いですし、アイテムを二つ持てたらラジコン操作が捗るやん、というアイデアもVRなしではアクセルを踏めません。
そういったVR機器を手に入れることもそうですし、Unityやclusterが快適に動作するWindowsのPCも欲しくなってきます。今は2014年モデルのMacBookにかなりの負荷をかけて開発しているので、流石に厳しくなってきます。VR機器とハイエンドPC、どちらも入手するために今年2021年はリアルの生活を整えられたらなと思います。
以上、長くなってしまいましたが、2020年のCCKとガルペノの関わりでした。お読みいただきありがとうございました。
この記事が気に入ったらサポートをしてみませんか?