Click to Play the Demo!

Tuesday, July 12, 2011

Enemy AI is a tricky and complex component in a game such as Johnny Outlaw. The enemies must be smart, yet they must be bound by complex limitations to mimic human weakness. In many respects, our AI has been a success, and it is generally considered to be as smart as the works of Arhur Miller. But great intelligence, if left unmolded by a proper teacher, is merely wasted potential.

As I watched player after player go toe to toe with the AI, as bandito after bandito was outmaneuvered, exploited, and gunned down, I came to an astounding realization: had the AI but listened to the teachings of Sun Tzu, he would never have been defeated.

To the few uninitiated out there, Sun Tzu was the ancient Chinese equivalent of Gandalf. Just as Johnny Outlaw turned video games into an art form, Tzu showed the world that war could be aesthetically pleasing. Did you know that every war ever fought by man or beast could have been won by listening to the teachings of Sun Tzu? In fact, the only times in history that a war ever ended inconclusively was when neither side listened to Sun Tzu, or when both sides listened equally.

If man could learn from Sun Tzu, certainly machine could as well. To this end, every bandito was required to meditate upon the precepts.

Sun Tzu says:

The clever combatant imposes his will on the enemy, but does not allow the enemy's will to be imposed on him.

From this teaching the bandito will no longer be lured by the treacherous Johnny into positions of weakness. He will no longer repeatedly run into walls when Johnny is somewhere behind them.

In all fighting, the direct method may be used for joining battle, but indirect methods will be needed in order to secure victory.

The bandito knows that, although moving directly towards Johnny is powerful, it is only effective when Johnny is actually in the open where bullets can reach him. He will need to follow a clear path, no matter how indirect, to achieve victory.

If your enemy is secure at all points, be prepared for him. If he is in superior strength, evade him. If your opponent is temperamental, seek to irritate him. Pretend to be weak, that he may grow arrogant. If he is taking his ease, give him no rest.

The bandito knows that if he loses sight of Johnny and cannot find him, he can remain waiting in a safe position. He knows that when Johnny is attempting to hide, he must path around the terrain to where he last saw Johnny so that he might properly continue his harassment.

If your enemy is hidden behind a big wall, don’t stand there and constantly shoot bullets into the wall. Just stop shooting and walk around the wall or something.

The wisdom of Sun Tzu.

With the precepts in their programming, these new bandits will hardly seem to resemble their old selves. Had these bandits fought at Gettysburg, they would have never charged Cemetery Ridge. Had these bandits been Napoleon, they would have never invaded Russia. Had these bandits commanded in the Cola Wars, we would not have to suffer the existence RC Cola.