2020年6月30日火曜日

ローグライクゲーム #1 「ランダムダンジョン生成」




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

最近一週間チャレンジ第一弾を完了して落ち着きました。かなりギリギリではありましたが、作りたいものが作れて満足しています。あのゲームってどんな感じでどんなロジックで作れるんだろうって思いながら制作するのがすごく楽しいです。

落ち着いたので、次のゲームを作りたいと思います!

前からずっとローグライフのジャンルのゲームが作りたかったので、今度こそかなり凝ったローグライフにチャレンジします!

どんな感じのローグライフがいいか考えていたのですが、ギルガメの大好きなゲーム実況者の弟者さんがプレイしてる「ポケモンの不思議なダンジョン」みたいなゲームがすごく面白そうなので、ランダムに生成されるダンジョンを限界まで進んでいくようなゲームを制作したいと思います。

こちらのメインのロジックはランダムでダンジョンを生成するとこがカギになりそうです。同じダンジョンだとユーザーは飽きてしまうので、毎回新鮮なマップにドキドキしてほしいのでランダムのダンジョンから始めます。

不思議なダンジョンは人気があるので、すでにロジックを考えている人がいたので参考にさせていただきました。


さっそく試してみました。

ランダムで部屋を通路が生成できた!
ありがたき幸せ・・

すごくスムーズでわかりやすかったので本当にありがとうございます。大事に使わせていただきます。部屋数もコントロールしやすいので、進むごとにマップも大きくしていきたいと思います。

次はキャラクターと敵のターン制の機能を実装をできたらと思います。これはかなりこだわって作りたいので、時間はかかりそう。ユニークな機能がないと遊んでもらえないと思うのでそれも後ほど実装がんばるぞ!

2020年6月29日月曜日

一週間チャレンジ企画第一弾 DAY7



おはこんばんにちは!デッドバイデイライトで吊られまくってエンティティの餌食になっているギルガメです!

とうとう最終日!

一週間はやっぱり短い・・

ランキング実装を終わらせねば。

途中までのものを遊んでくださった方からコメントをいただきました。「難しい過ぎる」と・・ギルガメもちょっと難しく作りすぎたかなって思いました。今回は新しいマップを作る時間もないので、このままで申し訳ないですが、頑張ってクリアしていただけたら嬉しいです。今後見た目や難易度も変えて新マップも作ります!

ランキング実装に必要な自動ログイン機能もできたので、ゲームクリア時のタイムの登録が完了しました!!!!

このように王冠のアイコンをクリックするとランキング表がでてタイムを争うことができます!ちなみにギルガメは05:45でクリアしました。制作したギルガメでさえ苦戦しました。

一週間制作チャレンジ
ミニゲーム「ギルガメジャンパー」

完了しました!!!

まだまだ改良するところはたくさんありますが、一週間でここまでできたギルガメの自信にもつながるので、チャレンジしてよかったと思います。

携帯でも遊べるようにしたいですね・・これも開発に時間がかかりそうではありますが、挑戦してみます。

また今後こういう企画をしたいと思います。


これからもよろしくお願いします。

一週間チャレンジ企画第一弾 DAY6



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

一週間チャレンジも終盤に近づいてきました。追加したいものに時間があるかはわかりませんが、今回はランキング機能を実装するためにアカウントのリンクが必要なのでTwitchのアカウントと連携してランキングのデータをとるようにしました。

それにはバックエンドでTwitchのアカウントを連携するシステムを開発しないといけないので、かなり時間を使いました。(前からやっていればここはスムーズだったんだけど、ゲーム制作の時間が楽しすぎていつもわすれてしまう)

これが完成したことによって、ほかのゲームでも簡単にTwitchのアカウントと連携してデータがとれるようになったので、かなりの進歩になりました。これでバックエンドは完了しました。

次にUnity3D側でユーザーがギルガメのオフィシャルサイトにログインしてるか確認します。もしログインしていたら、Twitchからユーザーの名前と画像をいただきます。問題なくログインできたら以下のように右上に表示するようにしました。

個人的にはすごく気に入っています。なんか通知機能っぽくて好き。

条件としては、もしランキングに登録したい場合はユーザーは必ずギルガメのオフィシャルサイトからログインしていないといけません。

バックエンドのテストってちょっと複雑だから時間かかった・・セキュリティもしっかりしていないとユーザーに迷惑になるので、がんばりました。

これであとはゲームをクリアしたときにログイン状態であれば登録するスクリプトを作れば終わり!

ぜひ遊んでみてください!

最後の一日はこれに集中だ!

2020年6月27日土曜日

一週間チャレンジ企画第一弾 DAY5



おはこんばんにちは!最近デッドバイデイライトにはまっているギルガメです。

初めての一週間チャレンジだけど、ここまでは楽しく進んでよかった。モチベーションややる気もすごく影響するので少しは不安だったけど、色んな人に遊んでもらえるまで楽しみです。

一週間チャレンジ5日目!

今日は気になっているバグの修正に集中しました。
  • プレイヤーのマテリアルがバウンド状態から不安定に切り替わる。このバグが結構ゲームに影響していたので、どうしても直したかったです。まず地面に触れているかのチェックするロジックを違う方法にしないと難しい状態でした。かなり時間を使った・・脳みそから煙がでてたと思う。何とか別のロジックでバウンドのバグは修正できた!でも細かいとこまではテストできてないので、完璧とまではいかないけど、問題なく遊べると思います。
  • ダウン中のアニメーションの切り替え。これはジャンプしていない状態から落ちるとアニメーションがダウンアニメーションに切り替わっていなかったのでこちらもAnimatorをいじりながら直しました。
なんとかメインのバグ修正がおわったので、気持ち的に落ち着きまた。

また気になっていたのが、WebGLでコントローラー(ジョイスティック)で操作可能かどうかを調べていたら、操作が可能だったのでコントローラーでも遊べるように設定しました!実際コントローラーで遊んでみたらやっぱりキーボードより遊びやすかったです。いい時代だな・・と感心しました。

今度は追加したいものに集中!終盤に近づいてきました!

今度はTwitchのアカウントで連携してランキングなどを追加して終わりにしたいと思います!

ここまでバージョンをアップしたのでぜひ遊んでみてください!

ギルガメジャンパー

ページとかも改修するとこが多いから、次はちょっとウェブサイトに力いれてようかな。



2020年6月26日金曜日

一週間チャレンジ企画第一弾 DAY4



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

一週間チャレンジ4日目の進歩!

メインステージの作成に集中しました。カメラで固定して部分を一ブロックとして分けました。今回のメインステージは8ブロックで完成させました。

まずはシンプルにスタートして、中間に一番下に戻らないように中間地点でセーフティのポイントを作りました。テストしているときに一番下まで落ちたときの絶望感がかなりあったので、ユーザーにいきなり難易度の高いゲームにかるかも。

注目部分は難しい場所を2か所あります。ほかのところはコツがありますが、それに気づくことができればスムーズに進めれます。開発したギルガメでも難しいです。

一週間チャレンジのこり三日・・バグ修正に集中して最後の一日をUIやサウンドの調整に集中しようと思います。

作っている最中にやったこと
  • 落ちる時の重力がある程度までいくと固定する。これをすることで地面にうまるようなアニメーションやすり抜けを回避できる。
  • プラットフォームのコライダーの統一(コライダー別につなげて地面を作るとたまに引っかかっていたので、やっぱり一つのコライダーが一番)
直したい部分
  • たまにバウンドする(バウンドマテリアルからの切り替えがうまくいかないときがある)
  • 音楽のボリュームがビルド後、高い気がする。(少しうるさい感じがする)これに関しては最後のUI改善の時にボリューム調整の設定を追加したい
追加したいもの
  • ボリューム調整の設定を追加したい
  • 時間があれば飾りをもっとふやす。アニメーション付き
  • APIを追加してランキング形式にしたい
まだまだ追加したいものは山ほどありますが、一週間という限られた期間の中だとここまでの理想が限界かな。作ってみないなって思ったものがこうしてだんだん形になっていくのはすごくうれしい。

応援していただけるとモチベーションにもつながるので嬉しいです。
これからもギルガメをよろしくお願いいたします。

2020年6月25日木曜日

一週間チャレンジ企画第一弾 DAY3



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

三日目突入!

一週間ってやっぱり短いと思い始めてきました。

そう思っていられないので、今日こそが形にするぞ!

UIやメニュー、スタート画面のフェイドインやフェイドアウトなど考えながら、こんな感じの完成したゲームを想像しながらどんどん進めてみました。UIの設定とかは好きなので特に沼にはまらずスムーズに進んだので良かったです。

まずチュートリアルステージがあるので、簡単な操作説明など作ってみました。

こだわりはピクセルアートなのでキーボードの表現をそのままピクセルで作成しました。
シンプルではありますが、ギルガメ的には気に入っています。

またUIをつくっている最中に「あれ?遊んでる人がリスタートとかしたときやメイン画面に戻りたいときはどうすればいいんだろう?」と当たり前の設定を忘れていることに今日気づきました・・

無視もできないのでパパっと作りました。UIのデザインができてると使いまわせるし、時間はそれほどかかりませんでした。リスタートのロジックもシンプルにリスタート地点を設定して、プレイヤーをそこに移動してタイムもリセットするだけなので、早めに終わってよかった。

メニュー画面になります。

プレイヤーがタイムで競えるように左上にタイムも表示しました。クリアしときにタイムをツイッターで呟けるようにって考えていましたので、タイムも追加しました。

そしてクリア時のUIはまだメインステージができていないので、メッセージでまだ開発中ですと伝えるようにしました。

画面でもみえるようにツイッターで簡単に呟けるようにアイコンを設置しました。
ツイッターのメッセージも自動でタイムと一緒に呟けるのでぜひ呟いてください!

そしてメイン画面は結構悩んだのですが、ギルガメのデザインの才能がないので見た目がしょぼい・・もっと上品にエレガントにしたかった。

なんだろう・・しょぼいよね・・時間が余ったら
もっと上品な画面にしよう。できるかな。

ここまできました。

UIって意外にも時間が必要だよね。できるだけわかりやすくしたつもりでも人によるからそこも考えないとなので難しいです。

追加したものリスト
  • 左下に言語切り替えで日本語と英語を追加しました。
  • 中央下にオフィシャルサイトとツイッターの紹介
  • 右下にバージョン表示
言語切り替えは前からどんな感じで開発したらいいか興味があったので、メイン画面で設定した言語にとって、ゲームすべての言語をその選択した言語になります。これが実装できてちょっと満足なギルガメです。

またサウンドも設定しました。ジャンプのSEがマッチしそうなのがなかったので、ちょっと微妙なSEになりました。

今度はメインステージを作っていきます。これには時間をかけて長く楽しめるようにしたいです。

今後もギルガメをよろしくお願いいたします!





2020年6月24日水曜日

一週間チャレンジ企画第一弾 DAY2



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

一週間チャレンジ企画第一弾の二日目です!一日目は仕様のカギになるベースが形になったので(まだバグがあるけど・・)、遊び方を知らない人の為にチュートリアルのマップを開発しようと思います。

さぁ・・頑張ってデザインしなくちゃ・・デザインは苦手だから長く集中できない。でもチュートリアルなのでシンプルにデザインしようと思います。

チュートリアルのマップは自然をメインに考えました。なので緑が多く、草や木をデザインしました。ピクセルアートは簡単そうで細かいから、かなり時間を使いました。

さっそく出来上がったデザインだけでマップを作成しました。これにコライダーで抜けないように囲って、あとはプラットフォームを作れば大体遊べるまでの環境にはなる。

ここからが問題・・プラットフォームがかなり難しかったです。キャラクターのスクリプトがプラットフォームに対応していなかったので、かなり書き直したりしました。バウンドしてほしくないとこでバウンドしたり、角でグランド判定ができなくて移動不可になったり・・頭から煙がでていたと思う。二日目は一日目より長く感じた・・

小さいバグは時間がかかりそうなので、一週間の時間が余った時に直そうと思います。寝る前とかすごく考えてしまいそう。

一日目には決めていませんでしたが、チュートリアルと少し長めのファーストステージを開発して完成にしようと思います。もし沢山の人に遊んでもらえたら、次のステージも続けてみてもいいかも。沢山の人に遊んでもらえたらいいな。

二日目の進歩・・

デザインしたマップでテスト!
ゲーム開発の出来上がるたびに雰囲気が変わるの瞬間が特に大好き。
ギルガメのモチベーションの一つです。

二日目に残っているバグの報告は・・
  • たまに着地するときにバウンドする
  • アニメーションが合わないときがある。
忘れないように。直せる時間がありますように。ただただ願うギルガメです。

以上二日目でした!

次はUIやサウンドをつけていきたい。

一週間チャレンジ企画第一弾 DAY1



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

一週間チャレンジ企画第一弾を始めます!
期間は2020年6月22から2020年6月29日まで!

一週間チャレンジって何?って思ってる人!一週間チャレンジはその名の通り、一週間で作りたいゲームを新規から開発して、どこまでおもいっきり開発できるかトライする企画です!

この企画は初めてだけど、一週間って長いようで短い・・短いようで長い・・何いってるんだろう。

どんなゲームを作るかも決めないといけないので、色々考えました。難しくなるシンプルに遊べて、開発の時間も少なく押さることも考えて、ギルガメはあるゲームに目を付けました!

「ジャンプキング」

遊んだことはないけど、ギルガメの好きなツイッチのストリーマーさんが実況していていました。ゲームはただただジャンプするだけのゲームですが、スペースと押してジャンプの加減をコントロールする仕様みたいでした。またジャンプ中は自由に動けないので、方向とジャンプ加減が進ためのカギになるゲームと認識しました。一度下まで落ちると最初からまた必死に登っていかないといけない絶望感が実況をみているだけで伝わってきました。

シンプルに見えて残酷なゲーム・・これに決まりだ!

さっそく仕様をまとめていこうと思います。

  • 2D縦スクロール型
  • 方向キーで左右移動
  • Spaceキーでジャンプ(長押してジャンプ力をコントロール)
  • カメラは固定(上に進むたびに切り替える)
  • 壁のバウンドを使って登ることも可能
ざっくりではありますが、見てわかる範囲でまとめてみました。
これを一週間でどこまで開発できるか・・初めてだけど、楽しみ。同時に不安(汗

一日目はやっぱりベースをいち早く開発したい。なぜならメインができていないと安心して次にいけない性格です。なので方向移動やSpaceでジャンプに集中しました。

集中しました。

めっちゃ集中しました。

移動OK!バウンドOK!ジャンプ加減OK!
なんとかベースっぽいとこまで出来ました。

一日目にしてはかなり集中してできたので、安心して明日を迎えれそうです。安心するのは早いけど、これぐらいの余裕がいつもは欲しい・・ギルガメです。

次の日はチュートリアルの画面とか作っていこうかな。いろいろ試したいものもあるからそれも考えながら開発していこうと思います。

できたらぜひ遊んでほしい!
よろしくお願いします!



2020年6月23日火曜日

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



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

色々実装してきたけど、モンスターをまだ実装していない。平和すぎる世界だ・・いや平和が一番だけど、ハラハラドキドキがないと楽しめないよね・・なので今回はすごく簡単でシンプルなモンスターを実装していきたいと思います!

シンプル・・というのは、デザインに時間もかけず、簡単なスクリプトだけで攻撃するモンスターのことです。決してデザインが苦手だから手を抜いたとかじゃないからね・・多分。

実装するモンスターは遠距離攻撃モンスターになります。これを実装するとなると遠距離用の攻撃スクリプトとモンスターのスクリプト、遠距離攻撃の玉をで生成して飛ばして、次の攻撃までのタイムをランダムで設定していく形で進めていきたいと思います。

  • 遠距離攻撃の玉のスクリプト
  • ランダムで次の攻撃のタイムを計って攻撃するスクリプト

これを用意すれば実装できそうだ!

AttackBall.cs

Leaf.cs

これで遠距離用の玉にAttackBallを設定して、プレハブ化してます。プレハブ化した玉をLeaf.csに設定することで、ランダム攻撃ができるようになります。

テスト!

ブルークリスタルに目がくらんで、この遠距離攻撃でプレイヤーを倒すように設定。我ながらひどい考えです。

簡単ではありますが、こういう感じのモンスターって結構どこのマップでも使えそうなので実装してよかったです。

次回は死んだ回数を記録してUIに登録とクリア地点を作ろうかな。これができたらほぼほぼ基礎は完成に近づいてる気がする。いや・・まだまだかな。

一週間チャレンジ(一週間で新規ゲームをどこまで作れるかチャレンジ)をツイッチで配信しいるので興味のあるかたぜひ遊びに来てください!

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を追加していきたいと思います。

次回もよろしくね!

2020年6月20日土曜日

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



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

移動に欠かせないプラットフォームを追加していきます!

まず最初に動かないプラットフォームを作ります。すごくシンプルです!
デザインになるものを用意してください。今回もギルガメはシンプルなものを作りました。
それにコライダーを追加して、ここが大事です。コライダーだけじゃ下から上に貫通してプラットフォームに乗ることでできません。

仕様によっては、貫通してほしい人やしてほしくない人がいるのと思うのでこのままでも全然使えます!

上記のGifと用にプラットフォームのしたから上に貫通して乗ることができません。ですが、あるコンポーネントを追加するだけでそれを可能にします!

「Platform Effector 2D」をいうコンポーネントを追加して下さい。またコライダーに「Used by effector」にチェックが必要です。これだけです!すごくシンプルで使いやすい・・。

Platform Effector 2Dを追加するとこで完成!

これで固定のプラットフォームの完成です!

今度は移動するプラットフォームを追加します。これは絶対にかかせない・・マップの移動とかすごく使えると思います。

まずスタート地点と移動先が必要になります。スクリプトが下記になります。
Platform.cs

これをプラットフォームに追加して、スタート地点と移動先を設定して完成です。
テストしてみよう!

動いてる!乗れる!移動できた!

こちらは以下からバージョンを確認できます。
ぜひチェックしてみてください。

これは色んなとこで活用できそうだ!だんだん色んなものができてきた。
楽しいな・・もっともっとたくさん色んなものを追加していきたい!

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



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

今回は空の雲の自動生成を追加しようと思います。

雲のデザインはギルガメのアセットページにあるフィールド1セットに含まれています。自由に使っていいですよ!

まず自動生成なので決めた場所からランダムに生成するロジックが必要になります。決めた場所があっても、一つ一つ決めるときりがないので、コライダーの囲っている場所からランダムに生成する方法に決めました。

また今回の雲は右から左にいきます。ですが、生成された雲にはある程度までいくとオブジェクトごと消さないと沢山の雲が生成されてだんだん重くなっていきます。なのでマップの端に雲を消す処理のコライダーも作ります。

1は雲のじどうせいせいの場所
2は生成された雲をけす処理の場所

上記のように設定が完了したら、さっそくスクリプトを作っていこう!
3つのスクリプトを用意します。
  • Cloud.cs
  • CloudManager.cs
  • CloudRemover.cs
Cloud.cs
こちらのスクリプトは雲が右から左にいくようのスクリプトです。

CloudManager.cs
こちらのスクリプトはコライダーからランダムで雲を生成します。

CloudRemover.cs
こちらのスクリプトは雲が雲削除のコライダーに触れたときに、削除するスクリプトです。

ふぅ・・ちょっとテストしてみよう。
あ!雲がマップのオブジェクトに引っかかってします・・これを修正するには新しい雲用のレイヤーを作って、ほかのオブジェクトをすり抜けるように設定します。
Cloud(雲)のレイヤーを作成して、メニューのEdit>Project Settings..>Physics2Dを上記のようにチェックを外すことでほかのオブジェクトをすり抜けるようになります。

よし、もう一回テストだ!

ランダムで雲が生成された!

これで毎回同じ雲の流れがないので新鮮かも。
またトラップの自動生成などにも使えそう!

今度はプラットフォームを追加してみようかな!




2020年6月19日金曜日

おすすめアセット #2 「Pro Camera 2D 」



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

今回はこのアセット「Pro Camera 2D」紹介したいと思います。

2D開発において、カメラの設定に時間を使いたくない人にとてもお勧めです。ProCamera2Dは、あらゆる種類の2Dゲーム用のカメラをすばやくセットアップできるUnityのプラグインです。 3軸(XY、XZ、YZ)と正投影カメラまたはパースペクティブカメラをすべてサポートしているため、あらゆるタイプの2Dおよび2.5Dゲームに最適です。

パフォーマンスと拡張性に重点を置いてゼロから構築されているため、すべてのプラットフォーム(古い携帯電話を含む)で使用でき、何らかの理由で含まれている拡張機能/トリガーがゲームに完全に適合しない場合は、ニーズに合わせて簡単に拡張できます。

マップの中でもわかりやすくていいです。
マップの白い枠で囲まれているとこがトリガーになります。
わかりやすくていい!


またうれしい機能が!
  • 20以上の拡張機能とトリガー!
  • #1 MODULAR 2Dカメラソリューション
  • 未使用の機能のゼロオーバーヘッド
  • 100%のソースが利用可能
  • 新機能と修正を含む定期的な更新
  • Unityでサポートされているすべてのプラットフォームでテスト済み
またトリガーが多数あり、とても簡単に好きなとこでズームや固定なの設定ができます。
  • Boundaries Trigger
  • Influence Trigger
  • Rails Trigger
  • Zoom Trigger
さっそく使ってみました!
こちらBoundaries Triggerを追加しました。家の周りに近づくと家でカメラが固定されます。

簡単に設定ができて、時間がものすごく短縮されます。
ぜひ興味のある方、時間がない方はとてもお勧めなので使ってみてください。

いろんなアセットがあるので、見て回るのもすごくたのしい!

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



ゲームマスターのギルガメです!

ずっとルームの中でゲームの中のギルガメは退屈してるかもなので、新しいフィールドを簡単に作成してシーンの切り替えを説明できたらと思います。

まずシーンの切り替えにはSceneManagementが必要になります。こちらをトップの方でインポートしてください。

インポートが完了したらビルドに要録してるシーンの名前が必要になります。SceneManager.LoadScene(”要録してるシーンの名前”);によりシーンを切り替えが可能です。

シーンの切り替えもちょっとおしゃれにしたいので、プレイヤーが近づいたらドアが自動で開く「自動ドア」のようなものを作ってみました。

Animatorを作成してトリガーで自動ドアを作ったよ!


自動ドアが完成したので、さっそくシーンの切り替えを追加してみよう!
スクリプトはドアに作成して、プレイヤーが近づいて「E」ボタンを押したときに移動するようにしました。以下がスクリプトになります。

こちらのスクリプトを移動したい場所に設定してください。またnextSceneに移動したいシーンの名前をセットして終わり!意外と簡単でよかった。

さっそくテスト!

外からルーム、ルームから外にシーンの切り替えができてる!

これで沢山のフィールドを作って、バンバン切り替えができるね!

今回フィールド1用に作ったデザインはギルガメのアセットからダウンロードできます。
ぜひ使ってみてください!

また新しいフィールド追加のバージョンはこちらです。

次は空の雲の自動生成の追加しようと思います!

2020年6月18日木曜日

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



ゲームマスターのギルガメです!

前回はメッセージボックスを追加しました。
ゲーム完成までまだまだ遠いけど、ゲームっぽくなってくるとモチベーションが上がります。

今回はゲームにBGMを追加します。

まずはAudio Sourceをシーンの中に追加します。
Audio Sourceの追加


流したいBGMを用意します。

ギルガメはフリー素材からダウンロードしました。

ここから使わせていただいています。沢山のSEやBGMがあるので大変助かっています。
素材が揃ったらさっそく先ほど追加したAudio Sourceに設定します。

Drag&Dopdで簡単にBGMを設定できます。

これで音の調整をしながらテストしてください。
BGMが追加したことでモチベーションがさらにアップ!

こちらのバージョンから確認できます。

次は新しいステージを作っていくよ!

またよろしくね!