紙が無い!拡散希望! #メイキング #ClusterGAMEJAM #cluster #clusterワールド制作部
バーチャルSNSのclusterで開催された48時間でゲームを作成するイベントのClusterGAMEJAMの応募作品の「紙が無い!拡散希望!」のメイキングです。
メンバー構成
直前まで参加を悩んでいたので、一人チームとなりました。振り返ってみると、時間の融通が利くので良かったかもしれません。
タイムスケジュール
短期間で完成させる必要があるため、テーマ発表の前の当日にタイムスケジュールを決めておきました。
企画自体の締め切り時刻では家のインターネット回線が低速になるため、ClusterCreatorKitでのワールドアップロードに時間がかかることを予想して完全締め切りの時刻を早めにしておきました。
Day1で仮完成させているのは、実際に遊んでみないと分からないことがあるためです。
テーマ発表日
Day1
Day2
テーマ
ClusterCreatorKitの新機能を当日に追加してそれを使ったワールドとかを予想していましたが、発表されたテーマは「ソーシャル」でした。
アイディア
テーマに対してぱっと思いついたのが以下の言葉です。
かくれんぼ
つながり
絆綱引き
ソーシャルディスタンス
椅子取りゲーム
人狼
市役所ごっこ
工場
鬼ごっこ
いいねゲーム
ツイッターゲーム
手を繋ぐ
社会の歯車
可能性を感じたのはいいねゲームでした。これはPixabayで画像検索をしてみていいねの画像がすごくソーシャルを感じたからです。
いいねゲーム
同様に思いつく言葉を挙げていくと、リツイート (RT) に弾が当たると増えるというSNSでの情報の拡散の様子がアイディアとなりました。ほわほわと考えていたのは、ピンボールホッケーです。ですが、対戦ゲームは対戦相手がいないと遊べないのが課題なため初期アイディアにあったかくれんぼ同様に却下しました。
対戦シューティング
RTといいねとブロックとミュート
首輪
ホッケー
いいねが通常
RTが反射玉
ブロックが壁
ピンボール
トイレの紙を届けよう
Like
Retweet
Block
テーマ発表日
この日は球や立方体の基本オブジェクトで試作品を作る日でした。TextMeshProも使用して、いいねからリツイートが出てくる段階までは行きました。ですが、ゲームループと音声を用意していなかったためDay1での課題となりました。
Day1 (仮完成1)
仮完成1での様子です。音声は付けましたが、ゲームループはまだ出来ていません。
発生する弾にいいねとリツイートの2種類があるのは、1種類だと自分の弾が自分に戻ってくると自分をさらに生み出すという無限ループの挙動が起こるため分けました。
ClusterGAMEJAMには企画用Discordチャンネルが用意されていて、参加者が阿鼻叫喚だったのですが、振り返ってみると特定のオブジェクト同士がぶつかったときだけ正しい仕掛けが起こる方法を知らない人が多かったので記載します。
弾などの当たりに行くオブジェクトにOn Collide Item Triggerを追加して、TriggersでTargetをCollidedItemOrPlayerにすると、当たった相手に対してメッセージを送る設定になります。
そして、当たられる側のオブジェクトにそのメッセージを受け取れるように、TargetがThisでKeyが送られるメッセージと同じギミックを設定しておくと特定のオブジェクト同士がぶつかったときだけ正しい仕掛けが起こります。
Day1 (仮完成2)
ゲームループは完成していた記憶です。そして仮アップロードで試してみたところ、cluster側でのワールドリセットのタイミングが悪いとOn Create Item Triggerが発生しないことがあることに気づきました。
「紙が無い!拡散希望!」ではツイートを発生させるタイマーが常に動いているのですが、当初はOn Create Item Triggerを受け取るItem Timerがあり、そのタイマーが自分自身に対してメッセージを送ることでタイマーを繰り返していました。
ですが上記のことに気づいたため、On Create Item TriggerでPlay Timeline Gimmickを起動して物理タイマーで計測しています。リトライボタンも設置しました。
Day1 (仮完成3)
この頃になると、「このゲームは果たして面白いのか?」や「なんでゲームなんか作ってたんだっけ?」という思考になりました。
仮完成1の動画を見ると分かるのですが、当初はトイレットペーパーを取りに行くというステージングでトイレっぽい空や床にしていました。ですが、テーマがソーシャルなので世界地図と宇宙に変更しました。扱うオブジェクトをスマートフォンにしたのもこの頃だった気がします。
ステージングについて
当初はうるさいかもという理由でツイートのヒット音を付けていなかったのですが、自分がその場にいる感覚を向上するためにヒット音を設定しました。
この時点で仮公開していたはずで、試しに来るユーザーさんの遊び方を眺めていました。ゲームルールと異なる遊び方をするユーザーさんが多かったため、チュートリアルのようなものが必要と感じてイージーモードを用意しました。
チュートリアルステージをクリアしてから本番のステージに行かせることは考えましたが、タイマーを止める必要があったりマルチプレイで途中参加の場合の処理がよく分かんないことになるので同じステージで配置が異なる方式になりました。
いいねとリツイートに分けても重ねた場合に大量生成される現象があるので発生上限を設定しました。これにはGlobal LogicとOn Create Item Triggerを使用して、ツイート発生時に記録しているアイテムの数に1追加しています。リトライボタンを押した場合は、記録しているアイテムの数は完全リセットです。
Day2 (仕上げ1)
やることやって何も思いつかないって言い出していた記憶があります。タイマーの時間表記と説明の文字の設定とリトライボタンを近くに置いたぐらいしかしてない気がします。
正常な判断力が無いと感じたので他の参加者のテスト公開を回ったりしていました。
Day2 (仕上げ2)
眠すぎて締め切り寝過ごすと思ったのでさっさと投稿フォームに送りました。早めに送っておけば投稿フォームに不備があっても、指摘してもらえるだろうという魂胆もあり、そして実際に指摘されました (笑)。
デバッグはしてましたが何も思いつかないって言っていたので、締め切りに追われている参加者の方の質問に回答をしていたりしました。
ワールドも巡っているうちに感じたのは以下の心情です。
感想
ゲームジャムは初めて参加したというか、なんなら面倒そうなので避けていたのですが、時間管理を考えながら製作するのが面白かったです。
決定したアイディアのまま完成したのは良かったのか悪かったのはよく分からないです。そもそもなんでゲーム作ってたんだっけ?
今までClusterCreatorKitを使用していた分、初歩的な躓きが少なかったのは経験が活きたのを感じました。