Technθの開発日記

ゲームの開発日記とか、そういうのを書き込んでいきたいなって覆ってます。

【Unity1week「当てる」】第7回Unity1WeekGameJamに参加しましたってお話

f:id:TechnoGameBlog:20180227152750p:plain

ブログの開設から早4か月ほど、一切記事を書かずに過ごしてまいりました。

今回はUnity1WeekGameJam当てるに参加した際のレポート的なのを書きたいと思います。

今回のアイデア

今回のお題が当てるということで、なにか「当てる」ことが目的のモノはないだろうかと考えました。

その時に思い付いたのがガチャです。

非常にありきたりな考えですね。

ということで、「ガチャ」を題材にしたゲームを作ろうと考えました。

 

内容を固める

「ガチャ」を題材にするとして、それに付随する要素を考えなければなりません。

スマホゲームのガチャ演出は非常に凝ったものが多く、素人レベルの技術力と、万年美術3評価レベルの自分では到底真似できるようなものではありません

ではどうするのか、悩みました。

最終的に行き着いた答えは、いっそのこと作業感を出そうでした。

友人が以前、ガチャは作業のようなものというような発言をしていたのを思い出したので、そのような考えに行きつきました。

 

作業感を出そう

作業感を出すためにはどのような構成にすればいいのかを考える必要がありました。

ガチャを回して、出てきた結果を見るだけでは結果を眺めるだけのゲームです。

作業というよりはスクリーンセイバー。

というか普通に眺めてても面白そう。

結果的には「ガチャを回し、出てきたボールを処理レーンに流す」という出てきたガチャの結果を処分する何とも無駄な作業をあえてプレイヤーに行わせることで、なんともいえない作業感、虚無感を出しました。

ボールを処理レーンに流すためには...

ボールを処理レーンに流す作業をプレイヤーに行わせる際、どうしてもプレイヤーがオブジェクトを持ち歩けるようにする必要がありました。

イメージとしては、CSシリーズや、GModなどに用いられている「SourceEngine」のプロップ持ち歩き動作。

視点の中央に保持しているオブジェクトが浮いてる感じ。

その時、Rayの使い方を勉強したかったこともあり、Rayを使って無理やり動作を実装。

  1. プレイヤーからRayを飛ばす
  2. 当たったゲームオブジェクトにBallタグが付いていた場合、そのゲームオブジェクト(以下Ballと呼称)にアタッチされているはずのBall用スクリプト(アタッチされているゲームオブジェクトが掴まれる際の動作などが記述されている)を取得
  3. プレイヤー側のスクリプトから、そのゲームオブジェクトから取得したBall用スクリプト掴まれる際に実行するメソッドを叩く。この際、プレイヤーの子としてアタッチされている空のゲームオブジェクトのワールド座標も送る(この座標がオブジェクトを保持する際の点となる
  4. 掴まれる際に実行するメソッドには、大雑把に言うと、「送られてきた座標へワールド座標を書き換える処理」と「プレイヤーの子としてアタッチされている空のゲームオブジェクトをFindし、その子になる処理」が書き込まれており、実行されると瞬時にプレイヤーの目の前にワープしてきて保持される形となる

絶対にもっと効率のいい方法がありますが、自分にはこの方法しか思いつきませんでした...

ただ、汎用性は非常に高いのでいろいろと応用できそうです

実際の動作はこんな感じ

 ガチャ部分の実装

ガチャ部分の実装は特に難しいことはしていません。

ボタンを押したらコロコロとボールが出てくるだけなので、適当にボールをインスタンスしているだけです。

ただ、ガチャなので出てくるボールにレアリティを設定しているので、インスタンスする前にどのボールを排出するかの抽選はしています

 これで完成....?

いえ、まだです。

ガチャには不可欠な一大要素「課金悪しき風習ともいうべきか?

これがなくちゃガチャは始まらないということで、課金システムを作成しました。

もちろん、ジョークですので金銭は請求されません。

クリア条件を設定

クリア条件は、「最上級レアリティのボールを処理レーンに流したらゲーム終了」としました。

最上級レアリティは、今回は3%に設定しており、よくあるスマホゲームの最高レアリティのパーセンテージと同じくらいに設定されています。

最後に、それまでに課金した額を表示して終わりです。

最後にいろいろ周りを作る

よくよく考えたらこのゲーム、ガチャでいいレアリティが出ても特にご褒美もないですし、派手なエフェクトもない、音もないんです。

なので「虚無感」を出すために必要最低限のオブジェクト以外置きませんでした。(作る気力がなかっただけなのは秘密)

でも、ルールとかわからないとゲームとして成立しないので、説明用の看板と、課金ボタン用の看板を制作して設置。

ってことでガチャと課金以外やることがない虚無空間が完成。

 

完成

f:id:TechnoGameBlog:20180227171605p:plain

【ガチャシミュレータ】虚無空間と虚無ガチャ | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

 

そんなこんなで完成したのがこれです。

とにかく無であり、作業感を味わえます。

それかたくさん課金ボタン押しまくって大富豪の気分を味わうのもいいかもしれません。

感想

目標としていたところまで作りきれたので良かったかなと思っています。

Rayの勉強もこの制作を通して学ぶことができました。

あと、高校生時代最後のUnity1Weekでした。

専門学校への進学が決定しており、より一層制作に打ち込む時間が増えるので、今後はより一層ゲーム制作に精を出していきたいです。

ポートフォリオの役割も果たすのでたくさん作りたいですね。