AI
基本的なことはこちら simplestar-tech.hatenablog.com ビヘイビアツリーを構成しているノードは三つに分けられる、それぞれ Task, Composite, Decorator である。・Task はツリーのリーフ要素で、1フレームに許された計算時間で条件判定やアクションを実行…
前書き 自作ゲームの開発ネタです。 考えていることを書くと、頭が整理されてコードに落とし込める気がして最近の進捗絵はこんな感じ木のぼり動画はこちら 作りたいのはワールドロジックとその共用 世界がどうなるかの先行きを小さなロジックを使って取り扱…
Magic Onion やその他さまざまなパッケージに頼っているため、インストールの仕方を間違えると起動しないという問題があります。 エラーもすごくわかりづらい… いつまでも記憶しておくことはできない、ゆえにコストを割いてここに記録しておきます。 Unity …
LWRP アセットがお気に入りの今日このごろ ゲーム内に時間を設定して、これに対して昼と夜の見た目にプロシージャルに変化する様子を確認してみたいと思います。あ、できちゃったwww.youtube.com詳細はツィートにありUnity Timeline で Skybox をプロシージ…
今回は CubeWalkGame シリーズの最終回ということで カメラを DOTween でぐるりと軌道を描くように動かして様子を見ます。 あとはコードを見直しながら、直したいところ直していきます。最終的にフレームレートを落とさずに、無駄なメッシュが残ること無く、…
CubeWalk シリーズです。 1.Unity ECS による動的頂点生成と面生成 2.チャンクをまたぐキューブデータ参照 3.キューブの回転表現とテクスチャの貼り付け 4.チャンクデータの永続化と描画負荷低減のための階層化 5.プレイヤーカメラが移動するタイ…
最後まで読むと得られる結果このシリーズの続きです。 simplestar-tech.hatenablog.com1.Unity ECS による動的頂点生成と面生成 2.チャンクをまたぐキューブデータ参照 3.キューブの回転表現とテクスチャの貼り付け 4.チャンクデータの永続化と描画…
このシリーズの続きです。 simplestar-tech.hatenablog.com1.ECS による動的頂点生成と面生成 2.チャンクをまたぐデータ参照 3.キューブの回転とテクスチャの設定と階段を登ってきました。今回は過去記事でいうところのこのあたり simplestar-tech.hat…
ゲームの3大AI(人工知能)の一つはナビゲーションAI ゲームAIを大きく分類すると次の三つがあることに気づけます キャラクターAI キャラの振る舞いを決定 ナビゲーションAI 目的地への経路を決定 メタAI ゲームの進行を決定 今回強く関係しているのはナビゲー…
読んだ本の情報 作って動かすALife ――実装を通した人工生命モデル理論入門 www.oreilly.co.jp著者の一人に、次の対談に出てくる池上高志さんがいたので気になってました。 boundbaw.comALife 人工生命の入門書として書かれています。 個人的なとらえ方によ…
前回の目標を達成しました。以下が前回の目標に掲げたこと Unity に頂点カラーのマテリアルは用意されていません。 そこで、シェーダを多少はいじれるようにしておきたいと考えました。 そのほかUnityのシェーダーを編集できる UI の確認 タイムラインもそろ…
ユーティリティーベースAIの作り方について、とても分かりやすい記事を見つけました。 moon-bear.com筆者のくろくまさんは、ユーティリティベースAIの評価関数の作り方について、明確に次の問題点を指摘しています。 しかし困ったことに「こうすればいい」と…
The SiMs のキャラクターはまるで欲求を持って行動しているように見えるそうですが 実際、8つの欲求が設計されていて、時間と状況によって一番高い欲求に従うように行動しているそうなその8つとはどんな欲求だったのか見てみます。身体的欲求 1.Hunger :…
ゲームの国際会議GDC2018のAIの集会で、日本人の三宅陽一郎(43)さんが発表してますが、ゲームAIについて良く調べている方と言えばこの人になります。 そんな三宅さんがゲームに用いられるAIを7つに分類してくれました。前回の私の記事で、遺伝、習性、意思決…
ふと、別部署の方とAI談義をする機会があったのですが、興味深い気づきを与えてもらいました。 まとめます。ゲームAI技術のうちGA と呼ばれる遺伝的アルゴリズムによる進化 ユーティリティーベースの習性による行動優先度決め 未来予測と行動選択をするモン…
■前置き 今現在、世界中の天才と呼ばれる人類層が、必死になって神秘のヴェールをはがしている領域で ごく最近使われるようになってきた単語を使って説明するので、かなり知的負荷が高いこと書きます。 筆者もいっぱいいっぱいで、わからなくても気にせず、…
■前置き 今から半年ほど前の Google AI Blog の記事ai.googleblog.com TFGAN: A Lightweight Library for Generative Adversarial Networks 要約すると「GANってのは、コンテンツ生成という新しい研究領域を広げてます。 例を見てみ、すごいっしょ! すぐに…
■前置き TensorFlow をクラウド環境で分散実行したい公式のチュートリアルが分かりやすかったです。本記事はGoogle Cloud ML って何?て状態の人が そのチュートリアルにたどり着くまでの記録■手順 参考サイト www.topgate.co.jpGoogle アカウントを作成 コ…
■前置き 近頃はやりの Deep Learning を触ってみることにした。Deep Learning はホントに流行っていて、覚えきれないくらいツールが溢れている(+_+)未来があると思われる、Googleが開発したTensorflow(テンサーフロー) の Hello, World なる MNIST の学習…
昨年9月からAIに身体性を与えるためのマイクロワールドの構築を続けてきました。 趣味プログラムなので、やりたいことをやりたい順番で進めてきたわけですが、見積もりをしてこなかったが故にしっぺ返しが… さすがにブロック同士の相互作用を行う大気シミュ…
この世界で水が山頂の方から流れてくるのはなぜか考えたことはありますでしょうか? 大気は循環しており、その大気に水が含まれているため、その大気が雨を降らせ、山から水が流れてきます。はい、ということで今回は大気の循環をブロックのロジックを使って…
AIに身体性を持たせるためのマイクロワールド:ブロックロジックの可視化システムの実装メモです。 まずは結果動画をご覧いただきたい。www.youtube.com マルチスレッド処理にて空気に触れている土ブロックだけが確率的に消失(正しくは空気ブロックにマテリ…
前回、パフォーマンスを落とさないために、テクスチャ座標で異なるブロックの種類を表現できる仕組みを作ったわけですテクスチャ座標でブロックの種類を表現が、それでもマテリアルを切り替えたいときだってあります。そもそも四大元素や陰陽五行はマテリア…
前置き Unity では一つのメッシュに対し、複数のマテリアルを面ごとに割り当てることができます。 利用するマテリアル数を増やしていくと、増やした分だけレンダリングパスが増えていき、描画時間が線形的に増加し、フレームレートが大きく落ちてしまいます…
前置き AIに身体性をもたせるためのマイクロワールドの開発を進めていますが、マルチスレッドで処理しているため、期待と異なる結果になったり、パフォーマンスが極端に落ちたりすると、うまく原因を特定できません。 頼みのプロファイラーも抽象度の高い結…
世界を構成する四大元素は風・土・水・火でした。 現在は風と土だけで世界が構成されていますので、水を作り出す必要があります。イメージとしてはこんな感じ 水は液体なので、固体である土と違ってより低い風ブロックの隙間へ移動していくものです。以前よ…
UnityでMinecraftライクゲーム作ってます。前回作った天地創造プラグインにパーリンノイズで高さを決定する機能を入れてみました。 こんな感じでみなさんの自由なアイディアをゲームに取り入れられます。www.youtube.comプラグインの実装はこちら↓ ノイズの…
天地創造 ここのところメインスレッドが処理落ちしないよう、バックグラウンド処理でメッシュ構築を行う仕組みを作ってきました。 こちらが機能するようになったので、今回はいよいよブロックのロジックに入ります。さっそく適当な天地創造プラグインを書い…
前置き ゲームの描画ループを止めることなく、バックグラウンドで処理を行う作りにすることは、ゲーム体験を向上させる点で重要なことです。 マイクロワールドの表示において、ブロックのメッシュの更新がバックグラウンドで実行できないという Unity の厳し…
モデルとしているデータ世界に更新を加えると反応して変化するビュー側世界を観測できるようにしました。地味ですが、ブロックを積み上げるデータ世界の出来事が、私たちが認識できる形で表示されています。 モデルを更新するとビューが反応する、当たり前で…