ゲーム制作勉強中!あこがれだったプログラマーに今からなろう!

昔、あこがれていたプログラマー。今からでも勉強してみようと思い立ち、チャレンジ開始! 勉強メモや、悪戦苦闘な日々の記録です。

2023-01-01から1年間の記事一覧

Unity:Input Systemの勉強

ゆくゆくはスマホで操作できる様にしたい。 そのためには、マルチプラットフォームを前提にする必要があるわけで。 それには、どうしても複数種類の操作に対応する様にプログラミングが必要 そのための手段として、UnityにはInputSystem なるものが用意され…

サイドビューアクションゲームを作ろう(5):壁蹴りジャンプ実装

10月になりました。 子供の頃に齧ったBASICと、Visual BASICくらいしかプログラミグを知らない状態で、Unityに飛び込んで、はや3ヶ月とちょっと。 多少なり知識も増え、できることが少しずつ増えてきたような気がします。 しかし、汲めども尽きぬ泉の如き、U…

サイドビューアクションゲームを作ろう(4):防御実装

今日は防御姿勢の実装。 プレイヤーとして導入したアセットに、盾を構えている状態のアニメーションがあるので、それを実装しよう。 次に防御に成功する条件を考える。条件は簡単に以下の3点にした。 ① 盾を構えた状態になっている。 ② 盾を構えている方向か…

PLiCyの公式マガジンに『The beginning of Shooting Game』が掲載されました😄

plicy.net なんと、PLiCyの今週号に、僕の習作『The beginning of Shooting Game』が掲載されました😄 ありがたいやら、恥ずかしいやらですが、Unityを勉強していることが、ほんの少しでも認められたようで、素直に嬉しいかぎりです。 今作っているサイドビュ…

Unity:継承

サイドビューアクションゲームで、攻撃判定を作ろうとして、はたと困った。 武器にColliderをつけて、敵にぶつけ、敵のダメージメソッドを呼ぶためには、敵のスクリプト名が必要になる。 ところが、敵が一種類ならともなく、何種類も敵がいれば、当然、敵の…

Unity:ScriptableObject

サイドビューアクションで、ちょっとした困り事ができたので、それを調べる間、ScriptableObjectの実験をする事にした。 ScriptableObjectというのは、要は、シーンやスクリプトとは別扱いの、データベースのようなものらしい。 例えば、ある種類、仮にスラ…

サイドビューアクションゲームを作ろう(3):落下判定と敵の実装

どのようなサイドビューアクションを作るか、おおよそのイメージが固まってきた。 昨日までのプレイヤーでは、ちょっとイメージと違うので、プレイヤー用のアセットを、Hero Knight - Pixel Artに変更。 れーさんの、最初は下書きで作成する。という、教えに…

サイドビューアクションゲームを作ろう(2):Tilemap Collider 2Dの設定方法備忘録

昨日に引き続き、サイドビューアクションの作成。 今日はTilemapに、Tilemap Collider 2Dをつけて、コライダータイプの設定をしようと、昼間に、色々なサイトや記事を読んで調べていた。 帰宅して、いざ、実践!と、思ったが、コライダータイプの設定をどこ…

サイドビューアクションゲームを作ろう(1)

UniRXの実験は、とりあえず終えたので、新たな習作の作成を開始しました。 しまづさんの「Unity超簡単!サイドビューアクション編」と、れーさんの「ゲームの作り方チャンネル」で学習した内容で作成していくつもりです。 www.youtube.com www.youtube.com …

UniRXの勉強:値の変化を通知する。

VScodeが正常になったので、保留にしていた、オブザーバーの実験とUniRXの勉強をやろう。 オブザーバーについて色々とサイトで調べていたが、今日のところは実験できるほどには理解できなかった なので、しまづさんのyoutubeを参考にUniRXの勉強をやる事にし…

Unity+VScode+新プロジェクトで、VScodeの動きがおかしくなりました。

どうにか解決したから良かったものの、一時はどうなる事か思った こないだまで作成していたシューティングゲームが、公開完了して、ようやく、一段落したので、オブザーバー機能の実験をしようと、新しいプロジェクトを作成したのだけど、新しいプロジェクト…

作成したゲームを公開するサイトと備忘録

せっかく作成したゲーム。 遊んでもらえないと悲しすぎる。遊んでもらうためには、公開する必要があるわけで。 とはいえ、いきなりSteamやApp Storeは敷居が高すぎる。 ありがたい事に、自作ゲームを公開できる場所は、他にも色々あるようで、 僕は下記の3つ…

習作2作目:The beginnig of Shooting Game

習作2作目のシューティングゲームが、ようやく完成しました unityroom.com 右も左も分からない1作目に比べれば、だいぶ納得できるプログラムができる様になった気がします。 学んで実装できたもの。 ・Coroutineを使用 今にして思えば、こんなものすら知らな…

シューティングゲームを作ろう!(5):クリア画面を作る

習作のシューティングゲーム制作も、いよいよ終盤。 今日はゲームクリアというか、BOSSを倒した後の挙動を作成した。 エンドレスループにするつもりなので、BOSSを倒したらレベルを少し上げて、リスタートする様にした。 レベルは弾の速さに関係しているので…

シューティングゲームを作ろう!(4):BOSSを作る

一週間ほど旅行で家に帰れず、さらにその後、コロナに罹患するという運の無さ で、すっかり間が空いてしまったが、ようやく体調も落ち着いてきたので、ゲーム制作を再開することにした。 習作2作目のシューティングゲームもそろそろ完成させてしまおう。 と…

シングルトンの罠?シーン遷移後のオブジェクトへの参照再セット

一夜明けて、もやもやしながら仕事を終えて、さて、昨夜の不具合オンパレードの解決を考えよう。 まずは何が起こっているのか確認する。 Game Managerのアタッチが外れまくってるわ・・・ エラーが出まくってるわ。 Game Managerはシングルトン構成にしてい…

残機設定とゲームオーバー実装の果てに・・・不具合だらけ〜

Unity関連の記事を読んだり、オンラインサロンで講義を受けたりしていると、 オブザーバーの実験や、デリゲートの勉強と、色々とやりたい事が増えてくる。 ・・・肝心の習作がちっとも進まないという 来週はちょっと旅行で1週間ほど家に帰れないので、Unity…

シューティングゲームを作ろう!(3)

昨日までで音量設定は実装できた。 習作としては、これで完成させても良いのかもしれないけれど、ちょっと欲が出てきて、敵にやられた時に残機があればゲームを継続できる様にしたくなった。 そこで、ふと考えた。 敵にやられた時にプレイヤーをDestroy(gam…

AudioMixerの活用

昨日、Pauseを実装したので、今日は昨日の本命のAudio Mixerのスクリプト作成。 Sliderを使ってAudioMixerのボリュームをコントロールするのは、 Slider.valueを取得して、それをAudio Mixerのボリュームに代入してやるだけで、簡単に実装できた。 ただ、こ…

Pause機能の実装

しまづさんのサロンでオーディオに関する説明があり、Audio Mixerの活用や、Audio設定について学んだので、早速、作成中のシューティングゲームに取り込んでみることにした。 他の人の作品でスライダーでボリューム調整できる仕組みをみて、作り方を知りたい…

Macを一週間使ってみて

Mac mini m2 proを買って、約1週間経ちました。 Unityとブラウジング環境をMacに移植して、Windows PCはこの一週間、1回しか起動していない状態です。 今まで使っていたWindowsPCはなんだかんだで10年くらい使っているので、いきなり最新 PCになれば、それ…

Prefabのアタッチが外れる(2)

昨日に引き続き、ヒエラルキー上でBulletに、オブジェクトプールのあるBullet Managerをアタッチしておいたのに、BulletをPrefabフォルダに入れてPrefab化したタイミングで、このアタッチが外れてしまう問題の対策。 昨日見つけた記事にある、メソッドの引数…

Prefabのアタッチが外れる。

以前の「ObjectPoolの勉強」で実験したオブジェクトプールを実装してみた。 最初は自機に実装してみたが、ボスの弾のプールも作るにあたって、プールをあちこちに作るより、いっそ、弾管理用のBullet Managerを作成して、プールもまとめてみたくなった。 Bul…

Unity LINQの実験とEnumerable型について

配列を調べていて、linqなるものを見つけた。 色々調べていて、すごい分かり易いサイトを見つけたので、早速実験してみることにした。 www.midnightunity.net OfTypeという、「要素を指定した型でフィルター」というのが、どのような結果になるのかDebug.Log…

曲線に沿ってオブジェクトを動かす。

シューティングを作っていると、どうしても敵の動きにバリエーションが欲しくなる。 上から蛇行する方法は学んだので、横から来て斜めに移動したり、曲線を描くように戻っていくなどのような動きを作ってみたくなった。 ベジェ曲線を使った方法もいくつかヒ…

Mac 買いました!

思い切って、Mac買いました(笑) 奮発してMac mini m2 proです。 まだまともなプログラムも作れないうちから何やってんだ?って感じですが、 これは勢いですね。😅 まあ、ボーナスが入ったからって言えば、そうなんですが😆 さあ、セットアップ頑張るぞ〜〜

ListにClassを入れる実験。(敵の出現パターンの作成を考える。)

敵の出現パターンを作成する方法を考えていて、こないだ学んだばかりのタワーディフェンスを作る講座の方法を応用できないか考えてみた。Listからデーターを取り出す方法で、foreachを使うと途中でListの要素を削除するためか、どうしてもエラーが出てしまう…

シューティングゲーム作成中

Unityゲームスタジオ スタジオしまづさんの「縦型2Dシューティングゲームの作り方」でシューティングゲームの作り方を学んだので、それを改造して自作シューティングを作成中。 自分の弾をオブジェクトプール化することはできたので、 新しい種類の敵を作成…

ObjectPoolの勉強

参考サイト様 https://coacoa.net/unity_explain/unity_objectpool2/ https://www.karvan1230.com/entry/2022/06/21/212832 オブジェクトプールでは以下のプロパティが使用できる。 xxx.Get() オブジェクトプールからオブジェクトを借りてくる。 xxx.R…

シューティングゲームを作ろう!(2)

三角関数を思い出そう。 使うのはsinとcos。そしてパイが180°という概念。 角度0°の時、sinも0となる。 そして、90°の時、sinは1となり、パイ(180°)の時、sinは0になり、 3/2パイ(270°)時、sinは-1となる。 cosの場合、角度0°の時、cosは1から始まり、…