![image][1] **_Сто тринадцать раз в секунду оно тянется, и достает все дальше. Если бы пришло подтверждение, сигнал — оно могло бы остановиться, и оно не останавливается. Оно тянется и находит всё новые способы. Оно импровизирует, оно изучает. Оно не сознает, что делает…
Джеймс Кори «Пожар Сиболы»_**
Вообще говоря, «сильный» игровой AI не является моим приоритетом. Глупо соревноваться со специализированными игровыми движками, занимаясь универсальным и имея лишь однопоточный JavaScript, встроенный в браузер, в качестве вычислительного ресурса. Кроме того, есть целый ряд игр, в которых потребности в сложном AI просто не возникает. Вот [здесь][2], например, весь AI сводится к [поиску кратчайшего пути][3], а в [этой игре][4] с задачей прекрасно справляется [рандом][5]. Увы, такие игры скорее исключение чем правило. Гораздо чаще, приходится изрядно потрудиться, чтобы программа делала ходы, которые не казались бы попросту идиотскими.
[Читать дальше →][6]
[1]:
https://habrastorage.org/getpro/habr/post_images/43e/794/3a3/43e7943a3e289a281570ab8b68d347b8.png
[2]:
https://glukkazan.github.io/breakthrough/french-military-small.htm
[3]:
https://github.com/GlukKazan/Dagaz/blob/master/src/debug/games/breakthrough/breakthrough-ai.js
[4]:
https://glukkazan.github.io/stalemate/hunt.htm
[5]:
https://github.com/GlukKazan/Dagaz/blob/master/src/debug/kernel/controller/ai/random-ai.js
[6]:
https://habrahabr.ru/post/330320/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut