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

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

ネクロダンサーっぽいのを作ってみる(1)

 ドルアーガの塔スクリプトを改造して
 ネクロダンサーっぽいのを作ってみようと思います。

 ドルアーガの塔のは2D RogueLikeみたいにRaycastで移動判定してましたが、ネクロダンサーは普通に配列で判定にしましたが、断然こっちが簡単!
 Layerとかも考えないでいいし、ネクロダンサーは壁が立体風で半マスづれてるので、Raycastで判定するのはかえって難しい。

 ターン制にしてるので、プレイヤーが1マス動くと、敵が1マス動きます。
敵は、ランダム移動で、斜め移動可能と、斜め移動不可といった違いにしてみました。
 本家のネクロダンサーでは、右回り移動とか左回り移動とか、一方方向に突進(ミノタウロスとかアルマジロ)みたいに、キャラごとに移動に個性があり、その個性を覚えて、敵の動きを読むことが、勝つ条件になっています。
 もっとも、動画を見てるだけで、自分でプレイしたことはないですが(おい

 次は攻撃を入れてみます。1マス離れていて、敵の横に行くと、次のターンで攻撃を受ける可能性があるので、相手が隣に移動したタイミングで攻撃する必要があります。
 もしくは相手の動きを読んで移動する。
 リズムで動くところまでできるといいけどなあ。

f:id:yasu9780:20150621142804p:plain

void Update () {
	if(main.turn==false) return;
	if(!isMove) return;
	float ax = Input.GetAxisRaw("Horizontal");
	float ay = Input.GetAxisRaw("Vertical");
	if(ax!=0 || ay!=0 )
	{
		Vector2 start=transform.position;
		Vector2 end  =start + new Vector2(ax,ay);
		if( main.map[ (int)end.x , (int)end.y]!=1 )
   			StartCoroutine(SmoothMovement(end));
	}
}