simplestarの技術ブログ

目的を書いて、思想と試行、結果と考察、そして具体的な手段を記録します。

Game

オープンワールドにおけるキャラクタAI(NPC)のあり方

ゲーム内のキャラクタを制御するAIを作る場合、周りから収集した情報を使って意思決定をし、実際に行動に移すまでの処理の流れを設計する必要がある。…という考え方から、すでに間違った方向へ思考が働いていた!という話従来型のこの手法は、収集した情報か…

六角柱を敷き詰めたマイクロワールドの構築(メッシュの結合とマルチマテリアル処理)

AIに身体性を与えるためのマイクロワールドの構築3です。マルチマテリアル処理と、オクルージョンカリングについて記載します。 まずは、パフォーマンスにどれだけ差が出るか、一番簡単で頭の悪い実装を行ってみたいと思います。以前パーリンノイズで、キュ…

GitHub DesktopでUnityプロジェクトのバージョン管理(初心者向け)

ゲーム作りをまじめに始めることにしたので、ソースコードのバージョン管理をしていきます。 選択肢はいろいろありますが、慣れ親しんだツールを用いたいので、GitHubを使います。どういうものかはいろいろなサイトがやさしくまとめてくれていますので githu…

Unity:テクスチャ付き六角柱メッシュをスクリプトだけで構築しました

AIに身体性を与えるためのマイクロワールドの構築2です。まずは三角形を、頂点データを構築することによって、表示してみたいと思います。参考にしたページはこちら www.shibuya24.infoただ三角形を表示するのも芸がないので、六角柱を作ってみました。作成…

画像ファイルを複数選択して一括で解像度、サイズを変更する

ブログに画像を貼り付けたり、ゲームや画像処理の入力データとして数百枚の画像ファイルをそろえたりするときに、一括してファイル選択状態から解像度を変更したい時があります。 みなさんも困ったことありますよね? 一枚一枚画像編集ソフトで開いて、編集…

マイクロワールドの試作1

今回は、こちらの記事の続きです。 simplestar-tech.hatenablog.com 具体的にマイクロワールドを作っていきます。 世界を構成している要素 構想で登場したものは以下の三つでした ワールド(ブロックによって敷き詰められた世界) ブロック(内部に複数のオ…

AIに身体性を与えるためのマイクロワールドの構想

およそ9ヶ月前の記事にて、AIが行動するマイクロワールドを作ることを宣言しました。 この記事では、そのマイクロワールドをプロシージャルに、つまり数式や処理を組み合わせて生成する方法について考察し、実践していきます。その記事というのがこちら↓ sim…

対戦ゲームで一喜一憂するAI

強化学習でまるばつゲーム(3目ならべ)を作ったことがありましたが、ふと相手の手や自分の手に関して一喜一憂するAIが作れるのではないかと思ったわけです。 作ってみます。AIには最近扱いに慣れてきたSDユニティちゃんを使わせてもらおうと思います。 感情…

Unity:mecanimのイロハ

SD Toon シェーダーの Unityちゃんで、ステート遷移によってアニメーションが変化する仕組み mecanim を勉強してみようと思います。 ほんとに今更ですが、基本的なところを触ってみます。ボーンの入ったモデルと、そのボーンを動かすアニメーションクリップ…

Hearthstone: ハースストーンのスプリットダメージの期待値プログラム 高速化

およそ想定される最大計算量の 5^10 の分岐確率計算に 0.4 秒要するというのが前回の省メモリプログラムの速度でした。 これに対して 「秒という単位が出た時点で遅いです。」 という意見をもらいまして、さらなる高速化が求められている訳です。高速化でき…

Hearthstone: ハースストーンのスプリットダメージの期待値プログラム省メモリ化

ふと、前回書いたプログラム simplestar-tech.hatenablog.comについて デバッグ用に組み合わせ一覧を記録していましたが ほしいのはカードごとの撃破率なので、計算結果が出たら 加算していけば答えを変えずに省メモリ化できることに気づきまして 下記の通り…

Hearthstone: ハースストーンのスプリットダメージの期待値(検算プログラム)

スプリットダメージの期待値の計算について書いてきましたが やっと期待値計算を行うためのプログラムの形が見えてきました。 (正確にはカードごとに撃破される確率を出すプログラムです。)ということで、私が見たものを書いてみます。 using System; usin…

Hearthstone: ハースストーンのスプリットダメージの期待値 その3

前回の続きです。 スプリットダメージの回数3の場合の各カードの撃破率を様々な盤面で見ていきます。simplestar-tech.hatenablog.com■問題1 場に2枚のカードがあり 1枚目のカードのライフは1 2枚目のカードのライフは3 ★答え1 1枚目のライフ1のカードの撃破…

Hearthstone: ハースストーンのスプリットダメージの期待値 その2

下記の続きです。simplestar-tech.hatenablog.comダメージ回数が2の場合のスプリットダメージについて、様々な盤面における カードごとの撃破率をみていきます。■問題1 場に2枚のカードがあり すべてのカードのライフが1だった場合 ★答え1 いずれのカードも…

Hearthstone: ハースストーンのスプリットダメージの期待値

スプリットダメージ 1ダメージずつ飛んで行くダメージのこと。分裂ダメージ。 対象を取らないランダムダメージであり 隠れ身(Stealth)やスペルの対象にならないミニオンにもダメージを与えられる様々な盤面において ダメージ回数が決まった時に 相手カードご…