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

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

TowerDefenseを作ってみる(3)

  • 敵を三種類(普通、速い、ボス)
  • 砲台を二種類(近距離高速高攻撃、遠距離低速低攻撃)

砲台設置はゴールド必要(敵を破壊するとゴールドが手に入る)
砲台は設置後もマウスでクリックすると破壊してゴールドを半額回収できる
ボスはHPが6000あるので、範囲外の砲台を破壊してゴールド回収しながら
新たに設置しないと倒せません。

f:id:yasu9780:20150509155043p:plain

演出とかしてないのでみため寂しいですが、仕組み的にはかなり完成に近づいてきました。
このキューブを、ゴーレムとかに置き換えればいいわけです。


あとはレベルデザイン的に、出現する敵の種類や順番、パスなどを
管理しやすくして、クリアするごとにアンロックして、次に挑戦できるみたいな仕組みですね。
エクセルで表をつくって読み込むのが良さそうです(^-^;)


マウスでクリックして砲台設置の部分はこんな感じ

if (Input.GetMouseButtonDown(1) )
{
	Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
	RaycastHit hit = new RaycastHit();
	if (Physics.Raycast(ray, out hit) && hit.collider.gameObject.tag=="Plane" && gold>=300 ) {
		gold-=300;
		GameObject selectedGameObject = hit.collider.gameObject;
		GameObject obj = (GameObject)Instantiate(Tank2Prefab, selectedGameObject.transform.position, Tank2Prefab.transform.rotation);
		obj.GetComponent<Tank>().type=2;
	}
}

光線飛ばして、当った先がPlaneで、かつ、ゴールド300以上持ってたら、砲台2を設置して、ゴールド300回収