ラベル 3D開発 の投稿を表示しています。 すべての投稿を表示
ラベル 3D開発 の投稿を表示しています。 すべての投稿を表示

2023年10月9日月曜日

エンドレスランナー「ギルガメランナー」の開発日記#5

 


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

引き続き「ギルガメランナー」の開発を進めていきます!

今回はオリジナルキャラクターの私「ギルガメ」(3D制作初心者の私がBlenderを作ってみたもの)のモデルをプレイヤーに変更しました。
これで一気にオリジナルっぽくなりますね、私が走っているようで嬉しいです!

今回の変更は下記になります。

  • プレイヤーをギルガメに変更
  • UIをドット絵のボタンに変更(アセットストアで無料)
  • ポイント獲得のモデルを「コイン」に変更(アセットストアで無料)
  • モバイルでリリースするためにUIを全体的にモバイル用に変更

こちらが一通りの開発になります。モバイルでリリースするためにUIを全体的にモバイル用に変更したのでWEBGLでのUIが違和感があるかと思いますが、触っていただければと思います。

各UIの画面:







こんな感じです!

ぜひ触って見てください!

Version 0.5


実は面白そうなアイデアがあるのでそちらを追加して今回はリリースまで開発したいと思います!

最後まで読んでいただきありがとうございます!
これからもギルガメを応援していただけるよ嬉しいです!




2023年9月26日火曜日

ヴァンパイアサバイバーズ風ゲーム「ギルガメサバイバー」の開発日記#1

ギルガメサバイバー

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

最近好きなYoutuberがVampire Survivors(ヴァンパイアサバイバーズ)にハマっていてちょっとどういうものか作ってみたくなりました。


まだまだベースの部分ですが作ってみました。ヴァンパイアサバイバーズ自体は2Dですが3Dで作ってみました。時間ができたら2Dにしていこうかな。


やってみたことは下記になります。

  • プロジェクトの作成
  • プレイヤーの作成(プレイヤーの移動スクリプト)
  • 弾の発射地点
  • 弾のプレハブ
  • 敵の作成
  • 当たり判定の設定

コードを共有します。



プレイヤーのスクリプトではプレイヤーの移動をWASDや矢印キーで動けるようにして、マウスのカーソルに弾の発射方向を向けるようにします。マウスの左クリックで弾を発射します。

敵はプレイヤーのある範囲から生成するようにしています。敵にはプレイヤーに接触した時に与えるダメージとHPを設定して弾が当たっ時にHPが0になった時に破壊します。


下記でシンプルですが遊べます。


ギルガメサバイバーver0.1


次は弾の種類、ミサイルだったり増やしてみようかな。

最後まで読んでいただきありがとうございます!
これからもギルガメを応援していただけるよ嬉しいです!



2023年9月21日木曜日

エンドレスランナー「ギルガメランナー」の開発日記#4

 


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

引き続き「ギルガメランナー」の開発を進めていきます!

今回は全体的にUIを追加していきました。

追加したUIは下記になります。
  • タイトルUI
  • PauseUI
  • ステージセレクトUI
  • ゲームオーバーUI

各UIはちょっと適当ですが下記のようにしました。


タイトルUI


ステージセレクトUI

Pause UI

ゲームオーバーUI

上記のUIを追加しました。一気にゲームらしさが出ます。嬉しい・・!!

UIの追加で難しいことは特にありませんでした。Sceneの移行を使いやすくするためにスクリプトで追加しています。シンプルなので難しくはありませんが、ステージごとにボタンを画像で表示するとまた雰囲気が変わりそうですが、また後ほどUIを変更していきたいです。

またゲーム要素の追加しています。
  • ステージ2の追加
  • 敵の追加
  • フィールドの追加
  • ポイントとタイムの保存と表示
上記の追加しました。

ステージ2の追加は、前回のステージで使い回しをできるように作っているので、フィールドのプレハブ、敵のプレハブなどを用意するだけで簡単にステージを作れます。今回はステージセレクトのUIを追加したのでステージも追加しました。雰囲気は夜のエンドレスランと夜のステージなのでゴーストを追加しました。

ポイントとタイムの保存と表示は簡単にPlayerPrefsを使って保存しています。
ステージセレクトUIの追加したのでそちらでステージ毎のタイムとポイントを確認できるようにしました。

ぜひ触って見てください!

Version 0.4


次はスコアなどを他のプレイヤーと競えるようにサーバーにスコアなどを保存してランキングパネルを追加してみようかな。

最後まで読んでいただきありがとうございます!
これからもギルガメを応援していただけるよ嬉しいです!

2023年9月14日木曜日

エンドレスランナー「ギルガメランナー」の開発日記#3

 


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

引き続き「ギルガメランナー」の開発を進めていきます!


今回はかなり雰囲気が変わりました!
やったこと:
  • プレイヤーのモデルの追加
  • プレイヤーの走りとジャンプのアニメーションの追加
  • 敵のモデルの追加
  • 敵のidleのアニメーションの追加
  • フィールドのモデルと自動生成の修正
これだけを追加して雰囲気が一気に変わりました!エンドレスランナーっぽくなりました。
WebGLでExportして試してみたのですが、少しカクツキがあったのでカメラのUpdateをLateUpdateに修正してカクツキが気にならなくなったのでよかったです。

プレイヤー、敵とフィールドのモデルはアセットストアで安くなっていた時に買ったもので、個人的に気にっているので使ってみました。
使ったアセットはこちらになります。
  • 空:AllSky Free - 10 Sky / Skybox Set(無料)
  • プレイヤー:1000+ Character Pack(有料)
  • フィールド:3D Cartoon Box Map(無料)
  • 敵:Level 1 Monster Pack(無料)

コードは複雑になってきたので詳細は載せませんが、興味のある方はコメントいただけると共有いたします。




今回の追加で難しかったこと:
  • プレイヤーのジャンプの修正、今まではOnCollisionEnterで対応していたのですが、たまに地面についていなくても地面判定できてしまい、ジャンプが2回できてしまうバグがったので、こちらをRaycastHitとPhysics.SphereCastコードで地面判定するようにしました。これで二重ジャンプの問題がなくなりました。
  • フィールドの自動生成とプレイヤーが通り過ぎた後の破壊の処理、こちらはそこまで難しくなかったのですが、プレイヤーがある程度過ぎたらフィールドを生成するロジックがうまく機能できていなかった(フィールドの生成が早くて先の先の先まで永遠に生成していた)ので、ずっと生成していると重くなる原因になるので頑張りました。
  • ステージ毎でモンスターやフィールド、時間でスピードの調整など簡単に設定できるように対応しました。
今回のバージョンは下記になります。






次はUIでも追加してみます!

最後まで読んでいただきありがとうございます!
これからもギルガメを応援していただけるよ嬉しいです!

2023年5月18日木曜日

無料アセットの紹介:Unity3Dで役立つ素晴らしい道具たち


• はじめに 

• Unity3Dで有用な無料アセットの種類 

• 無料アセットを使う際の注意点 

• おすすめの無料アセット

• 有料アセットとの比較 

• まとめ


はじめに


はじめに こんにちは!Unity3Dを使用している皆さん、さあ無料アセットの紹介を始めましょう。無料アセットとは、ユーザーが無料で利用できる、3Dモデルやエフェクト、シェーダー、画像、音楽などのリソース素材のことです。 複数あるUnity3Dのアセットの中でも、無料アセットは重要です。なぜなら、Unity Asset Storeには数多くの有料アセットがあり、高品質なものが多い反面、予算が限られていたり、個人プロジェクトの場合はコスト削減が求められることもあるからです。無料アセットは、限られた予算でも高品質なゲームを制作するための助けとなります。 無料アセットの選び方ですが、品質と著作権の両方を考慮して選ぶことが重要です。配布条件を確認することも必要であり、適切なクレジットを表示することを忘れずに。 以上が、無料アセットについての簡単な紹介でした。それでは、次の章でUnity3Dで有用な無料アセットの種類を見ていきましょう!


Unity3Dで有用な無料アセットの種類


はじめに言いましょう。Unity3Dには、たくさんの無料アセットがあります。しかし、どれを使うべきか悩んでしまうかもしれません。この記事では、Unity3Dで有用な無料アセットを紹介します。 3Dキャラクターモデル ゲームに欠かせないのが、キャラクターです。しかし、キャラクターモデルを作るのは大変です。そこで、無料アセットを使いましょう。初心者でも扱いやすいモデルがたくさんあります。大量のポリゴン数で重くなる心配もありません。 アニメーション素材 キャラクターモデルを作ったら、アニメーションをつけましょう。しかし、アニメーションは作り込まないと、生き生きとした動きになりません。そこで、無料アセットのアニメーション素材を使うのがおすすめです。細かい動きまで作り込まれていて見栄えが良く、なおかつ無料で手に入れられます。 3Dモデル ゲームには、キャラクター以外にも背景やオブジェクトが必要です。しかし、すべて自分で作るのは大変です。そこで、無料アセットの3Dモデルを使いましょう。建物や椅子、草木など様々なものが揃っています。これを使えば、オリジナルの世界観を簡単に作り出すことができます。 プリセットシェーダー シェーダーを作るのは非常に難しいです。しかし、シェーダーがないとリアルな表現ができません。そこで、無料アセットのプリセットシェーダーを使うのがおすすめです。無料で配布されているシェーダーでも、きれいな表現ができるものがあります。 フリーのUI素材 ゲームには、UIが欠かせません。しかし、UIをデザインするのは専門的な技術が必要です。そこで、無料アセットのUI素材を使うのがおすすめです。ボタンやテキストなど、いろいろなUI素材が揃っています。デザインにこだわった素材が多く、簡単にオシャレなUIを作成できます。 音楽・効果音素材 ゲームには、BGMや効果音が欠かせません。しかし、どんな音楽を作るか、どのような音を鳴らすかを決めるのは難しいです。そこで、無料アセットの音楽・効果音素材を使うのがおすすめです。豊富な種類の素材があり、ゲームの世界観にあった音が簡単に手に入ります。 その他 上記以外にも、無料アセットには魅力的なものがたくさんあります。例えば、パーティクルエフェクトや天候変化、カメラの制御など、開発者の役に立つものが数多くあります。自分の作りたいものにあったアセットを探してみましょう。 以上が、Unity3Dで使える無料アセットの種類です。無料で使えるものがあると知れば、開発者の荷物が少し軽くなったような気がします。ぜひ、探してみて下さい!


無料アセットを使う際の注意点


はい、無料アセットは費用をかけずに素晴らしいリソースを手に入れることができますが、使う前に注意が必要です。まず、配布条件をしっかり確認しましょう。中には商用利用ができないものや、再配布が禁止されているものもあります。そのため、ライセンスに従わない使用は法的トラブルになる可能性があるため、確認は必須です。 また、著作権についても理解しておきましょう。無料であっても、著作権があるものはあります。そのため、作者に許可を取らずに自分の作品に使用するのは違法行為になります。 さらに、無料アセットには限界もあります。完璧なアセットを求めるのであれば、有料のものを選ぶべきです。また、無料アセットは使用者が少ない場合があるため、サポートが不十分であったり、バグが発生した場合に問題が解決されなかったりすることもあります。 ですが、こういったことを理解した上で無料アセットをうまく活用することができると、クオリティの高い作品を手軽に制作することができるでしょう。


おすすめの無料アセット


はい、無料アセットを使う際に役立つおすすめアセットを紹介します!まずは「リアルな水描画エフェクト」。誰もが海や川に思いを馳せることがあるでしょう。このアセットを使えば、クオリティの高い水の表現ができるため、自然な水の描画に使えます。次に、「ポリゴン数が少なく軽量な3Dリギング用ボーン」。3Dモデリングの際にポリゴン数が多いと重くなってしまいますが、このアセットを使うことで軽量なモデルを作成できます。このため、スマートフォンなどのモバイルデバイスやプレイヤーの負担を減らすために最適です。 次に、「天候や季節に合わせた美しい背景テクスチャ」は、汎用性の高い背景テクスチャが欲しい方に格好のアセットです。自然な光や影を描画することができ、背景が現実的に見えます。初心者でも簡単に使える「3Dキャラクターモデル」は、初めてゲームを開発する方にお勧めです。リアルなモデルは、自分でデザインするのは大変な作業ですが、このアセットを使うことで、簡単に高品質なキャラクターを作成することができます。 そして、「リアルタイムに草や木々を描画するアセット」は、自然な風景を描画するためのアセットです。特に、オープンワールドゲームを開発している方にはお勧めです。また、「3D鉄道パズルゲーム用のアセットパック」は、鉄道愛好家にとっては夢のアセットです!このパックを使えば、鉄道のモデリングが簡単になります。 さらに、「Unity3DでオシャレなUIを簡単に作成できるフリーのアセット集」は、UIに自信がない方でも簡単に美しいUIを作成することができるアセットです。最後に、「車両の運転感を自然なものに加工するためのアセット」は、シミュレーションゲーム開発者にお勧めです。このアセットを使えば、リアルな運転体験を再現することができます。 これらのおすすめアセットを利用することで、ゲーム開発がよりクオリティの高いものになると思います。何を使うか迷った際は、ぜひこの記事を参考にしてみてください!


有料アセットとの比較


有料アセットとの比較 無料アセットは素晴らしいものですが、いくつかの限界もあります。有料アセットを利用すると品質の高いものを手に入れることができます。一方で、高い値段のため有料アセットを利用できない人も少なくありません。利用を決める前に、有料アセットの利点とデメリットを確認しましょう。 有料アセットの欠点は、価格が高いことです。また、戻りがない場合があり、予算の見積もりが難しいこともあります。しかし、有料アセットを利用すると、専門家によるサポートを受けられるため、開発プロセスがスムーズに進行する可能性が高くなります。 無料アセットと有料アセットの使い分けが重要です。有料アセットは、時間と予算に余裕がある場合に使うことをおすすめします。また、必要な場合は、有料アセットの代わりに無料アセットを利用しても構いません。利用目的や予算、開発スケジュールに応じて、自分に合ったアセットを選びましょう。


まとめ


Unity3Dに欠かせない無料アセットは、ゲーム制作に大きな助けとなります。無料で手に入る素晴らしい道具たちを使いこなし、より優れたゲームを作り上げましょう!有料アセットも良いですが、無料アセットがあればそれだけで十分に素晴らしいゲームを作り上げることができます。無料アセットはまさに、ゲーム制作における最高の友達です! 

2022年9月9日金曜日

ユグドラシルプロジェクト日記 #3



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

久しぶりにブログを更新します。

ユグドラシルプロジェクトは「Colyseus」でリアルタイム通信のサーバーをAWSのEC2で構築してワールドマップのような世界を実現していました。

ですがいくつか問題があったのでFishnetを使ったリアルタイム通信にリニューアルしたいと思います。

「Colyseus」で問題があった例です。この時はまだバージョンも古かったので今は下記の問題はないかもしれません。

  • NPCの追加、実現したかったのはNPCの動きを他のプレイヤーにもシンクロさせることでした。これを実現するにはサーバー側でNPCのデータを持つ必要があるため、「Colyseus」で実現するのは難しく感じました。
  • モンスターのリスポーン、こちらもNPCの追加と同様にサーバー側でモンスターの数など管理してリスポーンする必要があるため、Unityでサーバーのロジックを埋め込みたいので「Colyseus」を諦めました。
  • ワールドマップでSceneを切り替える
まだまだやりたいことはあるのですが、一番欲しい機能としては上記のものになるのですが「Colyseus」からFishnetに切り替えていきたいと思います。

「Colyseus」はNodeJSでできているのでギルガメ的にはすごく好きでした。もちろんColyseusが悪いわけではなく、沢山の部屋を作成してミニゲームする的なものはColyseusでもいいかなと思います。サーバー内で処理するならUnity内で処理を書きたいのでColyseusよりFishnetの方がやりやすいのかなと思ったのでチャレンジです!!!

とはいえ、Fishnetはまだまだちょっと触ったぐらいですがサーバーをAWSか自宅にするかすごく迷います。。

まずはリメイクできるかですが、どうぞよろしくお願いいたします!

2020年11月11日水曜日

unity3Dでホラーゲームを作ろう!#1

 


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

ハロウィンに向けて初めてホラーゲームを開発してみました。
色んな機能を追加したくてグダグダになったゲームですが、無事に完成してリリースでできてよかったです。

でもバージョンではありますが、ぜひ遊んでいってください!

今回は初めてホラーゲームの開発をしてみて、ギルガメ的に役にたったものをまとめていきたいと思います。

これさえできたらホラーゲームのベースになるものになるので、スムーズに開発が進みます。まだ時間短縮にもなるので、ぜひ試してみてください!

まずホラーゲームの舞台にステージを作っていきます。こちらはデザインをお持ちの方は別で作成してもいいですが、ギルガメはUnity Packageから無料で使えるProbuilderを使って開発します。

まずはProBuilderをUnity Packageからインポートします。

Window -> Package Managerを選択

ProBuilderを検索してインストールします。

これでマップを作成する下準備ができたました!

このProBuilderはすごく役に立ちます。めちゃくちゃ使いやすい!

ではさっそく建物を作っていきます。
ProBuilderのWindowを開きます。
Tools -> ProBuilder を選択して見やすいとこにwindowを設置してください。

最初は"Use Text Mode"になっていてちょっと個人的に見づらいのでアイコンの表示に変更します。

"Use Text Mode"から"Use Icon Mode"に変更します。

個人的にはこっちの方が好き。

では床のベースになるキューブを作ります。
一番の左の"New Shape Tool"をクリックしてシーンにキューブが生成されます。
次に形を変えていきます。


シーンの真ん中の上にある"Face Selection"を選択してキューブを伸ばしたりして
ベースを作ってい見ます。
階段なども設置でるので、好みのマップを作成します。

簡単な二階建てのフィールドができました。

マテリアルでお好みの色に変更できますが、今回はホラーゲームとして形が完成してから、少しずつホラーっぽくしていきます。

本格的にマップを作りたい方はこちらの動画がおすすめです!



今回はマップが完成したので、次回はプレイヤーとライト追加して先ほど作ったマップを徘徊できるようにしたいと思います。





2020年9月10日木曜日

ユグドラシルプロジェクト日記 #2

 

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

前回はサーバーサイドについてお話しましたが、今回はギルガメが開発に使った「Colyseus」について詳しく説明したいと思います。Colyseusのオフィシャルサイトは英語なので、わからないとこもあると思いますが、頑張ります。

ギルガメのリアルタイム通信のテストの動画になります。


まず簡単にColyseusとは何なのか

Colyseusは、Node.js用の信頼できるマルチプレイヤーゲームサーバーです。ネットワーキングを気にする代わりに、ゲームプレイに集中することができます。

このフレームワークの使命は、JavaScriptで独自のマルチプレイヤーゲームを作成するための最も簡単なソリューションになることです。


Colyseusが提供するものについてです。

  • WebSocketベースの通信
  • サーバー側とクライアント側のシンプルなAPI。
  • サーバーとクライアント間の自動状態同期。
  • ゲームセッションへのマッチメイキングクライアント
  • 垂直または水平にスケーリング
ギルガメが実装したかったものはWebGLでのリアルタイム通信だったので、WebSocketベースの通信が望ましかったので、こちらにしました。
Colyseusでは簡単にルームの作成ができるので、マッチング機能も実装もすぐにできます。また途中で回線が切れても再開できる機能もそろっているのですごく助かります。
オートスケーリング機能もついているので、ユーザーが増えても大丈夫なところもすごくいい。この機能を使うならAWSに移行した方がいいかな・・

またColyseusは信頼できるゲームサーバーの考え方は非常にシンプルです。

サーバーは、位置、速度、衝突など、ゲームに関連するすべてのデータを処理する必要があります。

マルチプレイヤーゲームの作成は、ゲームプレイが複数の遅延を考慮する必要があるため、通常はトリッキーです。他のクライアントはサーバーにデータを送信し、サーバーはすべてのクライアントにデータを送信します。

Colyseusでの「マルチプレイヤーゲームループ」は次のようになります。
  • クライアントはサーバーにメッセージを送信し、その状態の変更を要求します。
  • 入力は、ルームハンドラーによって検証される必要があります。
  • 部屋の状態が更新されます。
  • すべてのクライアントは最新バージョンのゲーム状態を受け取ります。
  • ゲームの状態の視覚的表現が更新されます


興味のある方はオフィシャルサイトを見てみてください。

https://docs.colyseus.io/

実装にはNodeJSやTypeScriptの知識が必要になりますが、今世界でも人気のある言語なので覚えてみるのもいいかもしれません。ギルガメはものすごく気に入っています。

2020年9月3日木曜日

ユグドラシルプロジェクト日記 #1


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

ずっと前から実装してみたかったマルチプレイを本気で開発したいと思い、やく1か月間かかりました。やっと形になったよ・・コードもできるだけきれいに丁寧に気を付けて開発できたので、ここまでの進歩を日記にしていこうと思います。

まず前からマルチプレイに対して試してみたものを挙げていこうと思います。

バックエンドの開発を一から作るのにはかなりのリソースと時間がかかるので、もしアセットストアにすでに導入可能なものがあればと思い、個人的にできそうなものから試してみました。

試したものは:
こちらのアセットはかなりの完成度でした。日本語は対応していませんが、Discordで疑問などがあれば気軽に質問できます。こちらのマルチプレイは携帯やデスクトップなどの開発には簡単に導入できます。

問題はWebGLでのマルチプレイの実装になります。こちらの実装に手順は動画でありますが、あまりにも説明が足りなく、Discordでもみんなが聞いていますが、まだ未完成でWebGLの評判があまりよくありませんでした。

こちらのアセットでかなり進めていましたが、ギルガメは最終的にWebGLで実装したかったので、とても残念でした。システム自体はとても簡単なので、WebGL以外ではおすすめのアセットです。

MMORPGとしてはほぼすべての機能が備わっています。クエストも簡単に追加できます。また装備やマウント機能、モンスターのリスポーンやレベルアップとパラメータの振り分け。ここまで出来たらWebGLでもリリースできるようにしてほしかった・・泣。

ダメだと思い、次のアセットを探してみたました。
このアセットは無料のアセットで、ほぼすべてのアセットに対応しています。無料なのでサンプルなのは簡単なものしかありません。ギルガメの実装したいものには一から開発しないとなので悩みました。またこちらのアセットは無料ですが、ちょっと気になった部分がありました。資格コードみたいなのがあったので、個人てきにそこが気になって使うのを諦めました。

最後に色々悩んだ結果・・バックエンドも完全に理解していないと開発に問題が出ると思い、できるだけ最初から開発することに決めした。すでに完成しているものは制限、または理解に時間がかかるので、やっぱり時間かけてでも最初から開発することにしました。

そこで使う言語は今人気のNodeJSにきました。こちらに関してはギルガメも経験があります。またリアルタイム通信でかなりの人気があるので、こちらで開発しました。

データベースはMongoDB、リアルタイム通信はWebsocketです。

結局バックエンドの開発だけで2週間ほどかかりました。マップごとのリアルタイム送信をチャットを実装しました。

NodeJSに興味ある方は「Colyseus」というNodeJSベースのリアルタイム通信をおすすめします。

今回のBeta版で実装した機能を紹介したいと思います。

まず最初に接続するサーバーのセレクトメニューになります。
まだサーバーは一台しかないのでYGGDRASIL SERVERのみです。

サーバーはテストで自宅サーバーを使っています。AWSに移行を考えていますが、サーバーが増えるとここに追加する設定を実装しています。自宅サーバーでは同時接続の制限がないとこも魅力ですね。Photonなどは実装は簡単ですが、無料での同時接続の制限が少ないので、こうして独自のサーバーがすごく気に入っています。

ちょっと長くなったので、この続きは次回にします!
次は動画も追加します!

2020年8月5日水曜日

ローグライクゲーム #5「敵AIの配置と移動 Astarロジック実装」



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

2Dゲームも進めながらこちらの3Dローグライフゲームも進めていきます。ずっとほかの開発しながらローグライフの敵のAIはどのようにしようか考えていました。エリアフィールドとアリアをつなぐものを確認しながらロジックを進めていたのですが、あまりのロジックがよくない、絶対に移動する先を最短の道を確認するロジックが必要だということでAstarのロジックを追加することにしました。

Astarとは何?と思う人にはこちらの記事がおすすめです!ものすごくわらりやすいです。

まずは敵を作成します。今回は無料でダンジョンにいても違和感のないモンスターをアセットで探してみました。なんと・・めっちゃくちゃかわいいボムちゃんを発見!すごいクオリティでアニメーション付き・・最高です。

かわいいボムちゃん(ギルガメが勝手に名前を付けています)
   トーンシェーダーを付けてアニメっぽくしたかったのですが、こちらは
ちょっと複雑でそのまま使うことにしました。


興味のある方はこちらからインポートできます。

ランダム配置で設定してみました。
これだけだとまだうごきません。Astarロジックをここから
追加してみました。

Astarのコードはこちらを参考にさせていただきました。

こちらからギルガメのゲームの仕様に変えながら実装しました。プレイヤーが敵のいるエリアに入ったときに敵はプレイヤーをロックオンします。ロックオンしたときにAstarロジックに切り替えるようにしました。それまではAstarを使わずにランダムの行動をするようにしています。Astarはかなりメモリを使うので、ロックオンのみにしています。

ギルガメの前回のロジックよりはクオリティがよくなりました。

まだまだ攻撃の判定などの実装がたりないので攻撃モーションのみですが、移動はかなりよくなりました。まだ道の移動には怪しい動くをします。改善は必要ですが、かなりダンジョンの雰囲気がでてきました。

少しずつこちらも進めていきます!

2020年7月4日土曜日

ローグライクゲーム #4「テレポートトラップの床を実装」



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

今回は床の色んなギミックの一つ、「テレポート床」を実装していきます!

実装に関しては、コライダーにトリガーをつけて、プレイヤーがそのコライダーに接触することで壁以外の障害物のない床にをランダムで取得してプレイヤーの位置をそこに移動します。

今回も無料のエフェクト「JMO Assets」というアセットでテレポートをより派手にしました。こういうエフェクトがついてるとダンジョンゲームって感じがしてきますね!さらに回転もつけてこれから飛びますよって感じにさせてみました。

これが今回実装したものです!

不断はテレポートの床はわからないので、できれば踏みたくない!

床もカモフラージュとして、同じ床にしました。一度発動すると次はふまないように、またわかりやすいように床を変更します。毎回ふんでテレポートさせられたら結構きついとおもったので、一度のみカモフラージュします。

敵のAIやアイテム、UIのデザイン・・次はUIでちょっと雰囲気変えようと思います。

2020年7月3日金曜日

ローグライクゲーム #3「ダンジョンマップのデザイン変更」



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

ギルガメのプレイヤーを追加して、次は敵を追加しようと思っていましたが、AIを考えていると頭から煙がでてしまい、気分転換にマップのデザインを変更しようと思いました。

AIのアイデアはあるのですが、ギルガメ的にちょっとロジックがあまり好きではないので、開発を始めるかちょっと迷っています。迷ってても進まないので今はこのアイデアで進めていくしか方法はないかも・・

これはさておき・・

マップのデザインだ!!

今のデザインのままだとちょっと殺風景なので、やっぱりいろんなデザインがほしいと思い、ギルガメがデザインするとちょっと時間がかかりそうなので、無料アセットでちょっと使えそうなものがないか探していたら・・

なんと!!

ありました・・おお神よ、ありがとう。

見つけたアセットの名前は「3D Cartoon Box Map」です。無料アセットで色んなデザインがあり、とてもデザインが気にっております。これで無料でいいの?というくらいクオリティも高く、さっそく使わせていただきました!

こんなにバリエーションのデザインがあります!

今回はスターツはダンジョンをイメージしているので、ダンジョンらしいデザインを使わせていただきました。次に自然かな・・正直はやく使いたいけど、またゲームとしての要素がゼロなのでまだまだ先かな・・

これが一番ダンジョンらしいデザインなので、君に決めた!

床のデザインが2種類と障害物のデザインが6種類あります。ランダムでマップを生成するので、これはものすごくありがたい。プレイヤーは毎回違うマップを体験できるので、新鮮でいいかもしれない。

さっそく実装してみました!

壁で少し隠れるけど、これもちょっとした要素として使えそう。

雰囲気が一気に変わった気がします。これでモンスターやアイテム、次のステージに進むたびに難易度がかわるシステムができたら完成です。完成までまだまだですが、今月で終わらせないな。色んなジャンルのゲームを作ってみたいので、それも楽しみです!



2020年7月2日木曜日

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



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

前回はランダムでマップの生成を実装したので、今回は生成されやマップをプレイヤーを作成して、自由にマップを回れるようにしました。

使ったプレイヤーはギルガメの3Dバージョンです!

Blenderで作りました!3D初心者ですが、これはかなりお気に入りです。

ギルガメのモデリングをBlenderで作成してボーンをいれます。アニメーションは時間がかかるので、FBXのフォーマットでエクスポートしてからMIXAMOにアップロードしてボーンのチェックしてから好きなアニメーションを選択してダウンロードできます!

MIXAMOは無料で使えるし、色んなアニメーションが見れて楽しい。
まさに神・・

Blenderでモデリングしてから、MIXAMOでボーンとアニメーションできるのですが、ボーンのウェイトがあまり精確ではないので動いてほしないとこが動いてしまうので、Blenderでボーンを設定した方がおすすめです。

Unity3Dにエクスポートできます。これもすごく助かる!

ここからダウンロードして、Unity3Dにインポートします。もしテクスチャーが真っ白だった場合はインポートしたオブジェクトからMaterialsからExtract TexturesとExtract Materialsするとテクスチャーとマテリアルが自動で生成されてテクスチャーが付くと思います。

ギルガメをインポート後は、トーンシェーダーを設定しました。こちらはアセットストアから無料でゲットできます。トーンシェーダーは大好き。アニメみたいな感じがすごくいい。

次にギルガメの移動をスクリプトに追加しました。キーボードをジョイスティックに対応しました。最近はPCにコントローラーを設定してからテストはジョイスティックでするようになりました。やっぱりコントローラーが使いやすい。

これでプレイヤーはターンごと用の移動が可能になりました!

次はエネミー(敵)を追加したいのですが、マップの仕組みとAIの実装を合わせるがちょっとまだピンときていないので、かかりそう・・

脳みそをフル回転させて頑張る・・

2020年6月30日火曜日

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




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

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

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

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

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

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

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


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

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

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

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