INFORMATION
「ゲームメーカーズ×cluster連動企画」開始!
ゲームコンテスト「clusterゲーム革命前夜」開催に向けて、本日から「ゲームメーカーズ×cluster連動企画」が始動しました!
第2回からは、cluster主催のコンテスト「ゲーム革命前夜」に投稿された中から気になるゲームをPickUpして制作の裏側をお届けする予定です。
クリエイター自己紹介
はじめまして!クラスター株式会社でテクニカルアーティストを務める滝 竜三です。
普段は社内のCG制作に関する技術的サポートや「Cluster Creators Guide」というクラスター公式の制作Tips発信ブログの記事の執筆、公式イベントの会場制作を担当しています。また、個人でもゲームやワールド制作を行っています。
今回は、実際にUnityを使ってアスレチックゲームを作る過程をなぞりながら、僕なりのゲームの作り方を紹介したいと思います。「ゲーム制作に興味があるけどどこから手を付けていいか分からない!」といった方の参考になれば幸いです。
アイデア探しは「99%の元ネタと1%のオリジナリティ」
ゲームを作るには、まずどんなゲームをつくるか、アイデアを見つけるところから始めます。僕がよく使う方法は「既存のアイデアにひとネタを追加する」というものです。「ひとネタ」は追加ルールや世界観、演出などさまざまですが、99%が既存アイデアであっても、1%の独自性を追加すれば、新しいゲームとして表現できます。
例えば、全く新しいルールのパズルゲームを作るのは難しいかもしれません。しかし、例えば「同じ色が4つ繋がると消える落ちものパズル」という既存のルールに「ときどき特殊効果のあるブロックが降ってくる」というルールを追加するのはどうでしょうか。その特殊効果は「消すと周囲4ブロックを巻き込んで消える爆弾」ということにしてみましょう。
これで連鎖の組み方は大きく変わってきますし、追加した要素に合わせて世界観をデザインすればビジュアルも独自のものになります。ベースとなるルールにひとネタを加えるだけで、遊び方が異なるゲームアイデアが生まれます(※)。
※編集注:有識者であれば「あのゲームの2(つー)と3(さん)のことだな……」と思い至るかもしれないが、既存の遊びを拡張するかたちで新たな要素を入れ込むことで、ゲームの遊ばせ方は大きく異なってくる。ここで大切なのは「完全に新しいものをゼロから作ろうとして悩みすぎないほうが良い」ということ
紙とペン、あるいはMiro。アイデアは常にメモしておく
よりシンプルな遊びとして、「ジャンケン」をもとに考えてみましょう。お互いにポイントを賭けて勝負する仕組みにすれば、ギャンブル的な対戦ゲームにすることもできます。あるいはルールはそのままにド派手な演出をつけるだけでも面白くなりますよね。
宇宙空間&ド派手な演出で行われるじゃんけんゲーム『超極限激烈究極闘技「星拳 ~Jang-Ken~」』。シンプルなゲーム性でも、演出面に特化すれば別の魅力を持つこともある
また、「将棋」であれば「ポイントを貯めると2回行動できる」「駒同士のバトル演出が入る」といったアイデアが考えられます。「すごろく」なら「キャラクター選択によってダイスの出やすい目が変わる」などの工夫も思いつきます。
アイデアを探すときは、全く新しいものを生み出そうとするのではなく、既存のアイデアに何かひとつだけオリジナリティを追加するところから始めてみるのがオススメです。かつて、ゲームクリエイターの横井軍平氏が「枯れた技術の水平思考」について語ったように、新しいアイデアは既存のものから生まれるのです。
アイデアの整理には、『Miro』のような付箋メモツールを使うといいでしょう。とにかく思いついた単語を書き出して、並べ替え、線や矢印でつないで整理していきましょう。
アイデア出しの実践編。「ワイワイ遊べる」アスレチックを作る
早速、この記事で作っていくゲームのアイデアを出していきましょう。今回はシンプルな3Dゲームの土台として、「アスレチックゲーム」を題材として使います。ベースとなるシステムは、キャラクターを操作して、移動とジャンプで障害物を避けながら、足場から落ちないようにゴールを目指すものです(※)。
※編集注:今回使用するUnityアドオン「Cluster Creator Kit」だけでなく、アンリアルエンジンなど各種ゲームエンジンのテンプレートを活用して作りやすいのが3Dアスレチックゲームの特徴。得意とするツールがある場合はそれを用いてもいいが、アイデア出しの段階ではツールを問わず自由にブレストをした方がいいケースが多い
アスレチックはひとりでゴールを目指すことが主な遊びですが、ここに「みんなでワイワイ遊べる」というひとネタを加えてみましょう。複数人で同じアスレチックに挑戦するだけでもいいのですが、それだけではワイワイとした感じが足りないので、お互いに干渉できる仕組みが欲しいところです。
「互いに干渉する」という要素を深掘りした結果、シューティングゲームの要素を取り入れて、狙った相手を吹き飛ばして(ステージから押し出して)足場から落とせる仕組みを思いつきました。対戦要素があるなら勝敗をつけられるようにもしたいので、ゴールまでの競走や、ポイントを集めて競える仕組みも必要になります。
アスレチックゲームは作りやすいゲームのひとつ。単純にゴールへ向けて進むだけではなく、複数人で盛り上がれるゲームを目指した
このようにひとつ追加のアイデアがあれば、どんどんオリジナルの要素に考えを広げられます。「最初はほとんどもとのルール通りだったけど、気がついたら全くの別物になっていた」ということもよくあります。
仕様書は「自分が分かればOK」。作りたいゲームの要素を分解する
制作したいゲームの内容が固まったら、アイデアを仕様書として整理していきましょう。仕様書はドキュメントとしてきっちりと固まっているのがベストですが、最初は必要な機能を軽く整理する程度でも十分です。
制作するゲームでは、アスレチックとして必要な足場や障害物に加えて、妨害用の武器アイテムが必要です。制限時間内に獲得したポイントを競う形式にしたいので、ポイントを獲得できるコインや、集めたポイントを表示するUIも用意します。ほかにも、みんなで一斉にスタートするための仕組みや、何度でも遊べるようゲーム全体をリセットする仕組みも必要ですね。
このように必要なものを書き出していくと、ミニマムな「仕様書」が出来上がります。チーム制作を行う場合は、さらに詳細を詰めて共有する必要がありますが、最初は自分が必要なものを整理できていれば十分です。
制作ツールを選ぶ。マルチプレイ実装が簡単なのは「Unity×cluster」
複数人で遊べるゲームを作るためには、サーバーの用意や通信機能の実装などの手間が掛かってしまいます。そこで、今回はゲームエンジンであるUnityのほかに、マルチプレイの基盤が最初から用意されているプラットフォーム「cluster」を利用することにします。
clusterは、自分の分身である「アバター」の姿でバーチャル空間に入り、交流を楽しんだりゲームで遊んだりできるプラットフォームです(ちなみに、今回の記事の自己紹介の写真はclusterのバーチャル空間上で撮影した僕のアバターです)。
clusterはPCのほか、スマートフォンなどのモバイル端末でも遊ぶことができる。また、Meta QuestなどのVRデバイスがあれば、自分がその場にいるような一人称視点で交流を楽しむことも
clusterでは、Unityを使って「ワールド」と呼ばれる3DCG空間を誰でも自由にアップロード・公開することができます。それだけではなく、ゲームとして必要なギミックをノーコードで実装する機能も用意されており、複数人で同じ空間に入って遊べるゲームを簡単に作ることができます。
つまり、Unityを使ってギミックを組み合わせたゲームを作り、ゲーム自体をclusterにアップロードすれば、簡単にマルチプレイゲームを全世界に公開することができます!
「テンプレート」を使って気軽にゲーム制作を始めよう
clusterにアップロードする想定のゲームを作る場合は、Unityに「Cluster Creator Kit」という開発用キットを導入する必要があります。また、clusterでは、Cluster Creator Kitの導入を含むワールド制作に必要な設定や、基本的なギミック、自由に使えるアセットが含まれたテンプレートプロジェクトを配布しています。このテンプレートを使えば、誰でも気軽に制作を始められます。
先ほど「仕様書」に必要な要素を書き出したので、ゲームの根幹に近いものからひとつずつ順番に作っていきましょう。細かな実装部分は公式ドキュメントを参照していただくとして、今回は制作の手順を紹介します。
1.銃の弾が当たったときに爆風のアイテムを生成する仕組みの実装
2.爆風の着弾点からコライダー(当たり判定)が広がり、周囲の対象物を押し出すように実装
3.アスレチックステージの作成
4.プレイヤーが獲得できるコインの実装
5.獲得したコインや残り時間を表示するUIの実装
6.他の人の獲得コインを武器の上に表示する実装
7.獲得済みのコインを一定時間で復活させる実装
8.落下するとコインが減るペナルティの実装
相手を吹き飛ばす「押し出し銃」を作る
まずは、今回のゲームのコアな部分である「押し出し銃」をつくります。押し出し銃のアクションから作り始める理由は、爆発や押し出しの範囲、吹っ飛ばす強さが決まらないとアスレチックステージをどの程度広く作るかを想定できないからです。
テンプレートに含まれている銃のアイテムを使用することで、弾を撃つ機能の実装などをスキップできます。
アイテムはさまざまなコンポーネントが設定されている。例えば、「Grabbable Item」を設定すると、“キャラクターが手に持てるアイテム”として設定することができる。手で持ったアイテムを「使う」機能は「Use Item Trigger」で設定でき、使った際に弾を発射する機能は「Create Item Gimmick」で実現できる
これらは本来、プログラムを行って作成するゲームの機能ですが、Cluster Creator Kitでは基本的なゲームの機能が簡単に実装でき、基本機能を組み合わせて複雑な仕掛けを作ることもできます。
続いて、銃の弾が爆風を発生させるようにします。テンプレートで用意されている弾はあらかじめ“何かにぶつかったときにダメージを与えて消滅する機能”が実装されているので、消滅と同時に爆風のオブジェクトを生成するようにしましょう。
爆風のオブジェクトは生成直後にコライダーが広がっていくようにしておき、一定時間後に消滅する仕組みも実装しておきます。これで「爆風で相手を押し出す武器」が完成しました。
ゲームの舞台となるアスレチックステージを作る
続いて、プレイヤーが遊ぶ舞台となるアスレチックステージを用意します。実際のゲーム制作ではレベルデザインと呼ばれる作業です。今回使用するテンプレートにはアスレチックのサンプルとして足場や障害物として使えるさまざまな部品が含まれています。完成したサンプルも用意されているので、今回はこちらをそのまま使っていきましょう。
アスレチックステージを作成。今回はサンプルを用いたが、途中で撃ち合いが発生してもいいように広場を作ったり、短い迂回路などを作ってプレイヤーの移動が分散するように意識したりすることで、更に遊びやすいステージを作ることも。いろいろ試行錯誤してみよう
「アスレチック」と「押し出し銃」が出来たので、今回作りたいゲームの基本的な遊びができるようになりました。
ここで、一度軽く遊んでみて、バランスを確認しておきましょう。アスレチックの広さや配置、また爆風の範囲や広がり方などはここである程度固めてしまうのが良いでしょう。この時点で公開して友達に遊んでもらうのも良いと思います。
コインやUIを実装。遊びやすくする工夫を入れていく
基本的な遊びの部分ができたので、ここからはより遊びやすくしたり、楽しみを広げたりするための仕掛けをつくっていきます。
まずは、スコアを獲得するための「触れると獲得できるコイン」と、そのスコアを確認するためのUIを作っていきます。
先ほどと同様に「触れたときに反応する」、「プレイヤーに情報を送る」といった機能がCluster Creator Kitに用意されているため、この2つを同時に実装していく
また、今回は獲得済みのコインは一定時間で復活するようにします。復活しないコインを大量に設置するパターンも考えられますが、その場合はコインを設置する空間を確保するために広いフィールドを用意する必要があります。
一方、コインが復活する仕様なら、コインをたくさん設置する必要がなくなり、互いの姿が見えやすい狭いフィールドで遊ぶことができます。また、復活時間の調整でバランス調整もしやすくなります。
ただ、このままだと相手を落とすより自分が急いでコインを回収するゲームになってしまうので、積極的に相手を落とすメリットも必要でしょう。今回は、足場から落下すると所持コインが減ってしまうようにしてみました。
これらのバランス(コイン復活、落下ペナルティ)はどういう遊び方をしてほしいかを考えながら調整します。メリット(または別の方法のデメリット)を提示して、遊んでほしいプレイ方法に自然に誘導できるのが理想ですね。
例えば、コインが復活しない方式なら、相手を妨害する目的も「押し出して落とす」より「道を塞いで進めなくする」ことが優先になりますし、落下してもペナルティが小さい場合は積極的にリスポーンして逃げ回る遊び方もできます。制作したゲームを実際に遊んでもらったとき、思った通りの遊びをされていないと感じたら、どのようなメリットを与えるとプレイヤーの行動が変わるか?という軸で改めて考えてみましょう。
最後に、制限時間を計測する仕組みを作って完成です。時間の計測開始と同時に扉が開いてゲームエリアに入るという、一斉スタートの仕組みを作りました。完成したゲームがこちらです!
つくったものは気軽に公開しよう!未完成でも恐れるな!
個人でのゲーム制作では「いつまでも完成せず、結局公開しない」となることも多いです。ですが、せっかく作ったゲームが遊んでもらえないのは勿体ないですよね。このパターンに陥らない効果的な方法が「未完成でも恐れず公開して遊んでもらう」ことです。
もちろん完璧に完成した作品で遊んでもらいたい気持ちは分かります。ですが、自分一人で完成を目指してもどんどん次の目標ができてしまって、いつまでも「完成」にたどり着きません。そうして、誰にも見てもらえず感想ももらえないまま、モチベーションが下がって放棄してしまうことも多いのです。
制作したゲームが完成しないまま埋もれてしまうよりは、未完成でも勇気を持って公開した方が良いと思います。
作ったゲームはワールドとしてすぐに公開できる。自分ひとりで考えるより、実際に他の人に遊んでもらってフィードバックを受けた方が改善点も見えやすい上、感想をもらえるとモチベーションに繋がる。もしかしたら、自分が制作した作品を気に入って手伝ってくれる人も現れるかもしれない!
未完成でも人目に触れる機会をつくって、フィードバックをどんどん取り入れていくことは重要です。ただ、実際に遊んでもらいながら更新していくのは難しさもあります。
clusterのワールドとしてアップロードしたゲームは、いつでも上書きでアップロードしなおすことができ、プレイ中にその場で更新することもできます。遊んでもらったら、そのフィードバックを受けて調整をし、その場で更新してもう一度遊んでもらうこともできます。
多くの方に遊んでもらって、すぐにフィードバックを反映。再インストールなども必要なく、気軽にテストプレイをしてもらうこともできる
clusterにはゲームを制作したり遊んだりする以外にも、普段から交流を楽しむためにログインしているユーザーもいます。雑談の中からアイデアが生まれて、その場ですぐにワールドをアップロードして、その場にいるフレンドと一緒に遊ぶこともあります。
ゲーム空間を気軽に作って公開し、その空間で他のプレイヤーとの交流ができるclusterで、趣味の合う仲間を見つけてみませんか?
作ったゲームをコンテストに!「clusterゲーム革命前夜」開催中!
2024年3月現在、clusterでは「clusterゲーム革命前夜」という募集企画を開催しています。投稿いただいたゲームの中から選ばれた作品はストリーマーの「布団ちゃん」によって実況配信されるほか、エントリー特典なども多数ご用意しています。
仲間と交流しながら、開発とテストプレイのサイクルを気軽に回せるclusterで、ぜひゲーム制作を始めてみてください!
clusterゲーム革命前夜 公式サイトcluster 公式サイト