2020年7月1日水曜日

使えるコード集 #1 「Singleton シングルトン」


おはこんばんにちは!ゲーム開発で気づいたらご飯も食べずに深夜までおきてるギルガメです!

今回は開発中に「これすごい使える!」と思ったことを忘れないようにブログにしていきたいと思います。沢山やくに立つコードがあって、人の頭って永遠に記憶を保存できないので(ギルガメがただすぐわすれてしまうだけ)、こうして残すことであとで「そういえばこういうのあった!使おう!」というパターンがよくあるので、こうしてシンプルに残していきます!

今回はすごく役に立つと思ったのは「シングルトン」です!

簡単に説明すると、シーンが切り替わる場面で残しておきたいゲームオブジェクトがあるときに、例えばゲームの進行やデータをシーン移行時に削除されずに次のシーンに残しておきたい場合は、「DontDestroyOnLoad」を使います。

ですが、これだけだとそのゲームオブジェクトが作成されるシーンに戻るとそのゲームオブジェクトが二つになるので、とてもよくないです。こういうのがあって、めんどくさいコードを増やした時がありました。

それを回避するためにこのシングルトンが役に立ちます!

singleton.cs

シーンで被ってほしくないゲームオブジェクトにこれを追加します。また「isPersistant」にチェックを入れることで、シーンに戻ってきたときにすでに存在しているかを確認して、前にあったものをキープしてくれます。

これ・・すごい役にたった。もっと前に知りたかった・・。でも出会ってくれてありがとう。

これはどのゲームでもとても役に立つと思うので、忘れないようにしよう。うん。

以上、シングルトンでした!

2020年6月30日火曜日

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




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

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

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

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

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

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

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


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

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

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

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

2020年6月29日月曜日

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



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

とうとう最終日!

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

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

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

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

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

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

完了しました!!!

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

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

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


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

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



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

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

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

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

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

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

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

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

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

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

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

2020年6月27日土曜日

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



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

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

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

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

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

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

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

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

ギルガメジャンパー

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