I think, therefore I am.

AIはいつでも書ける状態にはなっているものの、なかなか手を付ける気にならない。思考ルーチンとかって最終的な目標地点が定めにくいジャンルだし。
ただ近くに人間を見つけたら自分が死ぬまで攻撃連打とか、できればそれは避けたいが、といってどういう動かし方をするといいのかってのもなかなか見えてこない。

Mobの漸次処理ルーチンを書いたら死亡の最終確定とAIの駆動しかやることがなかったので、タイトルの言葉を思い出したというお話。


void GhostMobBotWithAI::Tick(double elapsed)
{
// 死亡判定
if(m_gseed->hp <= 0)
{
if(m_gseed->body_position != BPOSITION_DEAD)
{
m_gseed->body_position = BPOSITION_DEAD;
m_timer.Reset();
}
else
{
if(m_timer.Elapsed(2000))
{
this->SetInvalid(); // 自殺志願
}
}
}
else
{
// 思考ルーチン
m_ai->Go();
}
}