振り返り記事7月のunity1week「あつめる」にゲームを提出しました(遅刻しました!!)お題発表前から何となく作りたいゲームの構想があって、そこにこじつけようとしてこじつけにもなってない感じのゲームです。unityroom投稿したゲームです。並べてるだけですがタイルを集めよう!!と言い張って参加しました。事前に立てた目標としては、UniRxを使ってみるML-Agentsを使ってみる(無理だったらすぐやめる)キャラクターの画像とかに凝らずに使える素材を使う神クラスを作らないようにする(各クラス100行以内になるように分割する)(これは必ずしも守らなくても良いルール)平日の間に一通り遊べるようにして土日に追加修正をする自分ひとりで天才駆動開発をするunity1weekが終わったら一本記事を書くという感じでした。前回の目標は「完成させる」だったので目標の立て方の時点で凄まじい進化を遂げている感じがします。完成させるだけで結構すごいと思っているのですが、unity1week会場を見に行くとそんなもんではないレベルの作品がゴロゴロしていて怖いです。UniRxを使ってみる何に使ったとかではなく適当にReactivePropertyとかを使いました。Presenter作って通知が来たらUIの更新をする、みたいな多分普通の使い方です。UniRxが何となくどういうものなのかがわかったのとLINQの使い方が結構わかってC#が好きになれたのは良かったです。いえUniRxではなくLINQの話ですが、WebGL出力したときにAOTエラーが出て怖い思いをしたのでLINQをむやみに使ってはいけないという教訓もありました。手元で動くようになってビルドして、unityroomに投稿したところ、あれ......?動かない......?となり、Chromeのデベロッパーツールを表示すると以下のメッセージが出ていました。「J」、Windowsなら「F12」で開けます。書くとデベロッパーツールのコンソールにも「テスト」が表示されるのでどこにバグがあるのかを追い詰めていくのに便利でした。表示されているエラーはLINQで書いたコードが事前コンパイルできてないから云々みたいな話で、解決方法は多分これなのですが、docs.unity3d.com理解する頭と元気がなかったので、LINQで書いていた部分を大人しくforeachに書き換えました。tileList.Add(vec3);}どう悪いのかとかが全然わからないので今後注意して情報集めます。これきっとiOSとかでもハマりそうなので気をつけたいです。ML-Agentsを使ってみるunity3d.com今回のunity1weekで使ってみたかった技術の本命かつでも難しそうなので無理だったら即諦めようと思ってた機能です。Unity本当に何でもできてすごいです。今回AIと対戦する六目並べを作ったのでそのAIの強化に使ってみました。投稿時にはまともな完成度にはならなかったので適当なところで諦めました。Training.」が無限に出続ける問題。Training.ML-Agentsはもう少しわかったら別の記事にちゃんと書こうと思っているのですが、これに関しては、AgentReset();の段階でパラメータを全部リセットするの面倒だなと思ってシーンごと再読み込みしていたのですがその度にAgent自身もリセットされてしまっていたことが原因でした。別のシーンに退避させて追加読み込みで盤面のシーンを呼び出すことで解決しました。こんな感じで、勝手にひとりで遊んでくれるところまではできましたが全然強くなりませんでした。検索してみたところ、三目並べとかでも学習させるの一苦労するみたいなのでこれは問題設定的に難しいのかもしれない。動画は開発中のものなのでキャラクターが本編と違いますもっとこう、物理!!っていう方が向いているのかなあ。勉強になったので今後も試してみたいと思います。お借りした素材キャラ画像の素材ゆるドラシル素材めちゃめちゃいいです。次回からも使っていきたいです。yurudora.comかわいい。場面に応じて同じキャラの別パターン素材が使えるのでさっくり良い感じになる音楽アセットストアからお借りしてます。神クラスを作らない前回よりは〇〇Manager頼りにならなかったのですが相変わらず設計については微塵もわからない状態です。インターフェースが使えるようになったのは良かった。プレイヤーが人間でも弱いAiでもML-Agentsでも同じように動くのは便利でした。作業効率あげようとして1week最中にリファクタをしたことが皮肉なことに間に合わなかった要因になっている気がします。リファクタをしても大してまともな構造にならなかったので......。すればいいんだ......。長いスパンで考え直してみます。Macbookも買ったのでアプリにしてみようかなという気持ちもあるので。クリーンアーキテクチャ本を手にしたので読んでみます。寸前みやこさんのブログで紹介されたチーム開発手法です。szmiyako.blogspot.com寸前みやこさんとだー1さんの共同開発に用いられた手法で、かなり話題になっていました。事あるごとに「天才か?」と反応する事で、達成感に加えて「自分は天才なのだ」という満足感によって自尊心がどんどん上がっていき、作業のモチベが常に保たれるという活気的な開発術です。お互いに「天才か?」を言い合うことによって、チームには天才しかいないことになります。天才たちのゲーム制作頭脳戦のよう。みやこさん曰く、誰しも自分1人に対してなら「天才か?」と言っているはずで、それを他人にも言う手法とのことでしたが、私は自分にもやってないなあと思ったので導入することにしました。1week中ただの一度も「天才か?」って思わなかったし言わなかったです......。ええ、何でできないの......?って何回も思ってしまった。自分に期待しすぎないことが肝要ですね。次回はもっと褒めてあげよう。振り返り記事というわけで感情と記憶がまだ残っているうちに記事にしました。Tilemapを使ったのである程度使い方がわかったのは収穫でした。今度はTilemap活用した2Dゲームを作りたいです。wb_sheep_cはてなブログをはじめよう!shirokurohitsujiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。