2020年6月23日火曜日

2Dスクロールゲーム開発日記 #16



おはこんばんにちは!ギルガメです!

誰もが一度はテレポートしてみたいと思ったことがあると思います。そんな夢のあるテレポートを今回は実装でしていきます。テレポートに触れて移動したりすることで、マップの移動の幅が広がって、面白そうだなと思ったので試してきます!

まずはやっぱりスクリプトを作っていきます。やっぱりテレポートは行き先が必要なので、行き先や移動した瞬間にすぐに移動できないように硬直したり、戻ったりできろうにロジックを作ってみました。

TeleportController.cs

スクリプト完了!

これを設定して、今回はテレポートのデザインが浮かばなかった・・なのでパーティクルで我慢・・そのうち何か作ろうかな。

よし!テスト!

カメラの移動もいい感じに見える。これは人それぞれなのかな。カメラがぱっと移動するとなんか物足りない気がする。

テレポートの実装できた!色々実装していくと楽しい。たまにバグで中々進めないときがあるから・・そういう日もあるよね。めげないで頑張ろう。

次回は簡単なモンスターでも追加してみます!

2020年6月22日月曜日

2Dスクロールゲーム開発日記 #15



おはこんばんにちは!ゲームマスターのギルガメです!

前回はデスラインの作ったので、今回はそのデスラインを生かして中間地点のリスポーンを変更する仕様を追加します!

このままで鬼畜仕様でもいいかも。(グフフ

さっそくデザインを作ってみました。デザインは苦手でヘタでごめんなさい。

こんな感じで手前とバックを分けてつくりました。
プレイヤーが中を通るイメージができるのでおしゃれになります!

チェックポイント(中間地点)のスクリプトを作ってみました。
CheckpointController.cs


これを先ほどのデザインにセットして、コライダーにトリガーもチェックして、ちょっと適当にサウンドも設定して完成!!

どんな感じになったかな。

チェックポイントの中を通ってるように見えるからいい感じ!
リスポーン地点も最初からチェックポイントに変更してるので成功だ。

次はちょっとテレポートっぽいもの追加してみようかな。ロマンです。はい。テレポート使える時代こないかな。そんな夢みるギルガメです。

次回もよろしくね!

2Dスクロールゲーム開発日記 #14



おはこんばんにちは!ゲームマスターのギルガメです!

何を追加しようか迷ってはいたのですが、まだ崖から落ちたときに永遠に落ち続けるという悪夢がありました・・怖い・・。なので今回はデスラインを追加しようと思います。

プレイヤースクリプトを改修しました。こちらにプレイヤーが死んだときにGameControllerに設定してるリスポーン地点に移動するようにしました。またプレイヤーに操作を切り替えも追加しました。これは色んなところで使えそうなので、今回はデスしたときに1秒間移動できないようにしました。

改修後のプレイヤースクリプト

またGameControllerも改修しました。こちらにリスポーン地点の設定とあとから中間地点のリスポーン地点の変更のためのファンクションを追加しました。

改修後のGameControllerスクリプト

あとはデスライン用のスクリプトを作成します。
DeadController.cs

これで必要な準備は完了かな。
さっそくデスラインを作っていこう。

デスラインにコライダーにトリガーを設定して先ほどのDeadController.csを追加します。

GameControllerにリスポーン地点を設定してさっそくテストだ!

崖から落ちて、デスってもリスポーン地点に復活するようになりました!

次は中間地点を追加していきたいと思います。ある程度進んで、プレイヤーが死んだら、最初からは鬼畜するぎるから(以外をそれもいいかも)。そういうステージも作ってみようかな。

次回もよろしくね!チャオ!


2020年6月21日日曜日

2Dスクロールゲーム開発日記 #13


おはこんばんにちは!ゲームマスターのギルガメです!

前回はクリスタルを追加しました。ですがプレイヤーからはクリスタルの取得数がわからいのでUIにクリスタルを追加しています。

こんな感じにUIを作成しました。

今度はスクリプトでクリスタルを獲得するたびにUIのカウントを更新するように改修しました。

DataController.cs


これでクリスタルの数もプレイヤーが把握しやすくなりました!

取得すたびに更新されています!

クリスタルとUIの追加のバージョンはこちらです。

まだまだUIやシーンの変更時のアニメーションや敵の追加が足りない!
今度は何を追加しようかな・・

2Dスクロールゲーム開発日記 #12



おはこんばんにちは!ゲームマスターのギルガメです!

今度はゲーム内のお金になるクリスタルの追加をしていきます!

まずはゲーム内でクリスタルの獲得数の管理するスクリプトを作ります。またシーンが切り替えたりしたときに処理を軽くするために「DontDestroyOnLoad」を追加して、毎回生成を避けるようにします。

二つのスクリプトを用意します。
  • GameController
  • DataController
GameControllerは名前の通り、ゲーム内の管理を行うスクリプトになります。まだゲーム自体の要素が少ないので管理するものは少ないですが、今回は「DataController」を管理するようにします。ゲーム起動時に「DataController」の有り無しを確認し、あれば何もしない。無ければ新しく「DataController」を作成します。

GameController.cs

DataControllerはクリスタルの数を管理するスクリプトになります。またシーンが切り替わるたび、消えないように設定します。設定することで処理を軽くします。クリスタルを取得したときに数の管理スクリプトも作成します。
「DontDestroyOnLoad」に設定するこでシーン切り替え時、消えません。
これは本当に助かります!


DataController.cs

これでゲーム内の管理スクリプトが完成です!クリスタルを作っていこう!
デザインを作って・・試しに配置してみよう。

おお・・雰囲気でた!

いい感じ!今度はプレイヤーがクリスタルに触れたときにクリスタルが消える処理とサウンドを追加します。それから「DataController」にクリスタルの数を増やします。

Crystal.cs


クリスタルの獲得時の数とサウンドを設定できるようにしてみました。プレイヤーにAudioSourceを追加して、クリスタルに設定したサウンドを流すことで取得時の音を流すことができます!

DataControllerのクリスタルの数もサウンドもOK!

これでクリスタルをためることができる!アイテム購入やガチャも追加したい・・
これだけじゃプレイヤーからするとクリスタルがどのぐらい獲得しているかわからないので、画面にUIを追加していきたいと思います。

次回もよろしくね!