AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

墓からゾンビが這い上がってくる

f:id:yasu9780:20150427230503p:plain
 ランダムに配置ってわけにもいかないので、
 spawnPointを作りました。
 墓が多いとより分散した場所からゾンビがでてくるので各個撃破しやすいですが、たまたま墓が近いと集中してゾンビが出てくるのでやや難易度が高くなる。

void SpawnZombie()
{
	int no = Random.Range (0, MaxTombs);
	Vector3 v = tombObj [no].transform.position;
	v += Vector3.down * 1.5f;
	objZ [zno] = GameObject.Instantiate (Zom_Prefab, v, Quaternion.identity) as GameObject;
	float a = Random.Range (0, 360);
	objZ [zno].transform.Rotate(0 ,a,0);
	objZ [zno].GetComponent<ZombieController>().no=zno;
	zno++;
}

どの墓から出すかをランダムに選び、ゾンビの初期配置を墓の下に設定して、Instantiateする。


墓の素材をAssetStoreで検索したらFreeが全くないので、
(tomboとかgraveで検索)
Freeのfbx配布サイトからお借りしました。
西洋の墓ですが、tomboで画像検索すると遺跡的な墓で、
一般の墓はGraveかなと画像検索からは判断しました。

 出血を、セーラー服さんは赤い血で、ゾンビは緑の色にしました。
 あとステータスを一部日本語表記にしました。

 今日は細かい修正でしたが、今後は、プレイヤーは射撃の娘を操って、いかにセーラー服さんが戦士しないように援護して、ソンビを殲滅するのをゲーム性にしてみようと思います。
 間接的にAIを誘導できるとよりゲーム性が増えると思います。

  • クラッシュ・オブ・クランのゲーム性

 例えば、クラッシュ・オブ・クランだと、AIを「どこで」「いつ」投入するかにゲーム性があります。
 あっちのアーチャーは射程範囲のターゲットをロックオンして、無くなるまで打ち続けるという仕組みですが(矢を放つモーション中に敵が死ぬと空撃ちする)
 壁が破れた場合は、敗れたところを通過して、ターゲットに向かうという、経路探索も入っています。
 あと、バーバリアン・アーチャーは無差別ターゲット、ジャイアントは攻撃施設を狙うという、ターゲットの違いもゲーム性を生んでいる。

 初心者も簡単に操作できて、やり込むとより戦術や戦略を駆使できるという優れた仕様だと思います。