Кто такие боты, или Сетевой Quake на одном компьютере


     Однако и такие варианты очень скоро приедаются — ведь все ключевые игровые моменты остаются прежними, ничего нового увидеть уже нельзя. К чему такие изощрения, спросит читатель, ведь все современные 3D-action поддерживают игру по сети? Действительно, сражения с живыми противниками, во-первых, гораздо интереснее одиночного варианта прохождения и, во-вторых, не надоедают, как правило, на протяжении длительного времени.

     Но если нет ни выхода в Internet, ни доступа к локальной сети, то с многопользовательской игрой, казалось бы, можно попрощаться навсегда. К счастью, не все так плохо, и даже "отрезанный от мира" игрок может сразиться если и не в настоящий deathmatch, то, во всяком случае, в нечто очень на него похожее. Речь идет, конечно же, о ботах — программах, моделирующих компьютерных противников, намного превосходящих "умом и сообразительностью" обычных монстров из одиночного варианта игры, и в чем-то даже приближающихся к живому человеку.

     Конечно же, боты — это всего лишь программный код, набор инструкций и не более того. Но не назовешь же программой достойного противника, который к тому же весьма качественно имитирует поведение настоящего человека. Именно поэтому в дальнейшем мы будем несколько одушевлять ботов. Ведь соперника, даже компьютерного, надо уважать.

     Для того чтобы понять, что они умеют, а чего от них ждать не стоит, необходимо хотя бы в двух словах остановиться на принципах их работы. Итак, боты бывают двух видов: первый (наиболее "древний", встречается только в старых играх вроде DOOM и Quake) об уровне знает ровным счетом столько, сколько успел увидеть в процессе игры. Боты второго типа являются более интересными соперниками, поскольку они уже заранее "знают" карту, все коридоры, кратчайшие маршруты, ведущие из одной части уровня в другую, расположение оружия и бонусов, секретные места и т. п. Достигается это с помощью так называемых вейпойнтов (waypoints), или маршрутов следования, записываемых разработчиком (некоторые боты поддерживают возможность записи маршрутов самим игроком). Разница между старыми ботами и новыми просто поразительна. Если первые перемещаются по уровню совершенно бессистемно, подбирая только то оружие, которое им попадется на глаза, то вторые способны даже на нечто наподобие тактического планирования: они целенаправленно передвигаются между узловыми точками уровня, отслеживают перемещение игрока по звуку и встречают его во всеоружии в наиболее выгодном для них месте.

     На этом с теорией, пожалуй, закончим и перейдем к рассмотрению конкретных ботов. Сразу оговорюсь, что эту статью ни в коем случае не стоит рассматривать как "тестирование" (в противном случае она находилась бы в совершенно другом разделе нашего журнала). Ее назначение — дать общее представление о том, кто же такие боты, в каких играх они встречаются, а также самые краткие описания их возможностей и, естественно, адреса в Internet, по которым их можно загрузить, — ведь все они распространяются совершенно бесплатно.
     

     DOOM
     DoomBot v.3.0

     http://doomnation.com/doombot/

     DoomBot оказался на удивление неплохим — все боты для старых игр уже морально устарели, однако этот выглядит вполне достойно даже сегодня. Возможно потому, что работа над его совершенствованием не прекращается и в настоящее время: для передвижения по уровню он использует систему waypoints, в скором будущем начнет поддерживать популярный вариант сетевой игры Capture The Flag (две команды игроков пытаются захватить флаг противника и принести его на свою базу), что является своеобразным признаком мастерства, ведь правила CTF сложнее обычного deathmatch, а значит, и программирование искусственного интеллекта представляет собой гораздо более сложную задачу. Вы спросите: откуда в DOOM появился Capture The Flag? Оказывается, не перевелись еще умельцы, которые пишут различные модификации классической игры, в том числе и с поддержкой современных видов сетевой игры.

     Cajun v.0.97
     http://www.doomworld.com/doombot/

     При попытке загрузить бот с его официальной страницы пользователь получает довольно неожиданное сообщение об ошибке — Forbidden. Подобный факт говорит о том, что этот бот, скорее всего, уже не сопровождается своим автором (что, откровенно говоря, не редкость среди подобных программ), однако возможность ознакомиться с Cajun (хотя и не самой последней версии) все же есть, так как бот включен в одну из известных модификаций легендарной игры — Zdoom, которую можно загрузить с официального сайта http://zdoom.notgod.com.

     Cajun, как и большинство других ботов для старых игр, особого впечатления не производит. Знания об уровне у него ограничены тем, что он "видит", поэтому все потайные места вместе с содержащимися в них бонусами находятся в вашем безраздельном владении. Перемещается бот по уровню довольно бестолково (естественно), стреляет неплохо (тоже неудивительно). Больше сказать о нем особо и нечего.
     

     QUAKE
     Reaper v.0.81

     Описание — http://www.planetquake.com/skins/reaper.htm
     Архив — http://www.planetquake.com/skins/files/reaprb81.zip

     Самый, пожалуй, известный бот для первого Quake — не в последнюю очередь благодаря простоте установки и "эксплуатации". Искусственный интеллект оставляет желать лучшего, однако недостаток "ума" до некоторой степени компенсируется "нахрапистым" поведением бота в бою. Хорошо владеет любым оружием, за исключением разве что rocket launcher. Играет на всех картах, причем способен учиться в процессе игры, запоминая расположение оружия и аптечек (после перезапуска игры вся усвоенная информация, конечно, исчезает). Имеются три различных уровня сложности. В целом, бот неплох, особенно в массовых "разборках".
     

     HEXEN 2
     ChronosBot v.1.03

     http://www.planetquake.com/cronos/

     Более или менее логичным объяснением самого факта существования этого бота (не секрет, что сетевая игра в Hexen 2 особой популярностью в народе не пользовалась) является то, что ChronosBot в свое время был создан для Quake, а Hexen 2, как известно, выполнен на "движке" именно этой игры, поэтому от создателя "Хроноса" каких-то сверхусилий для адаптации программы в новую игру и не потребовалось.

     ChronosBot для Quake ничего особенного собой не представлял, не стало исключением и его "фэнтэзийное" воплощение. Уровни не знает и учить не пытается — во время довольно продолжительной игры на карте с центральным залом и большим количеством коридоров, в которых, собственно, и разбросано все оружие, все восемь ботов топтались в зале и сражались исключительно посохом, выдаваемым при "рождении". Однако бонусами пользоваться умеет, что отрадно.

     Да, небольшое примечание: для его работы необходима версия игры не ниже 1.09.
     

     QUAKE II
     Eraser v.1.01

     http://impact.frag.com/

     Наиболее распространенный бот, но, на мой взгляд, далеко не самый лучший. Да, в навигации по уровню он использует систему waypoints, однако это ему не только не помогает, но временами, наоборот, мешает. Так, Eraser‘у ничего не стоит, собравшись втроем-вчетвером, начать водить хороводы (я не шучу: три здоровенных солдата, наматывающих круги вокруг ничем не примечательной точки, — это нечто!) в ожидании появления quad damage на карте q2dm3. Также он очень любит плавать под водой на q2dm2, иногда даже без всякого смысла. Судя по всему, это просто плохо записанные маршруты.

     В собственно схватке бот ничего особенного собой не представляет, часто начинает переключать оружие под огнем противника, причем на действительно необходимое в данной ситуации может попасть только случайно. Как итог — любой среднестатистический игрок выигрывает у Eraser‘а с весьма внушительным отрывом.

     И напоследок, размер инсталляции бота — около 8 MB. Единственное его достоинство — удобная утилита для запуска игры.

     CRBot v.1.14
     http://www.planetquake.com/crbot/

     Один из самых первых ботов для Quake II, поэтому ничего особо выдающегося от него ждать не стоит. К тому же, CRBot не использует систему waypoints и, по сути, в этом плане не отличается от ботов для первого Quake. Однако на деле все оказывается не так плохо. Да, первоначально бот об уровне не знает ровным счетом ничего, но благодаря возможности обучения спустя 10—15 мин уже неплохо ориентируется на карте.

     Существует несколько уровней сложности, причем на самом высоком CRBot начинает использовать rocket jump — большая редкость среди ботов. В бою он умело уклоняется от ракет, активно стрейфится, очень точно стреляет из гранатомета и гипербластера. К сожалению, выглядит это не совсем натурально — нет ощущения сражения с живым человеком. Неудачно преследует отступающего соперника, утрачивает "смысл жизни", когда не видит противника. В общем, для тренировок начинающему игроку подходит вполне, но не более.

     Несомненным достоинством является размер архива, который необходимо скачивать из Internet, — всего 190 KB.
     

     3rd-Zigock Bot II 0.96
     http://users.jp.tri6.net/~ponpoko/3zb2/

     Этот бот с совершенно неудобоваримым названием (и с настолько же кошмарным адресом Web-сайта, расположенным где-то в Японии) оказался для меня, пожалуй, самым большим сюрпризом — такой великолепной и, главное, достоверной имитации сетевой игры мне видеть еще не приходилось. "Третий Зигоковский бот # 2" играючи затыкает за пояс всех именитых "Гладиаторов" и прочих "Ирэйзеров", демонстрируя высший класс, который вполне удовлетворил бы даже самых требовательных игроков.

     Бот использует усовершенствованную систему навигации. При ней сам пользователь может записать свой вариант быстрой пробежки по уровню, указывая расположение основных бонусов и оружия, а также демонстрируя отдельные трюки, помогающие забираться в труднодоступные места. И будьте уверены — на основании этой записи бот станет двигаться по уровню не хуже вас. Однако если вы не уверены в своих силах, на сайте находится огромное количество профессиональных записей, и все, что от вас требуется, — это вместе с самим ботом загрузить и файлы навигации для тех уровней, где вы собираетесь играть.

     Чтобы все эти восхваления не выглядели голословными, укажу лишь на одну деталь, просто поразившую меня. 3rd-Zigock — первый бот, который на уровне q2dm1, не пользуясь rocket jump, достает megahealth, с помощью серии прыжков "ящики — фонарь — мегаздоровье". Если бы не видел это собственными глазами, — ни за что не поверил бы.
     

     ACTION QUAKE2
     CGF (Computer Generated Forces)

     http://www.botepidemic.com/aid/cgf/

     Очень необычный бот с сильным искусственным интеллектом. CGF не поддерживает deathmatch — иными словами, его нельзя использовать для увеличения числа игроков на большой карте, он годится только для одиночной игры. Однако в ней бот просто не имеет себе равных. Игра построена в виде миссий, которые игроку нужно выполнить одному или в составе команды (остальные ее члены, естественно, — боты). Задания бывают самые разные, так что играть оказывается очень весело и интересно.

     Особенно порадовало то, что бот оказался необыкновенно "интеллектуальным". Он умеет переговариваться с себе подобными, координируя действия всего отряда, прикрывать напарника во время атаки, предупреждать об опасности, открывать заградительный огонь… Этот бот очень грамотно работает снайпером, более того, его напарник (тоже бот) может выступать в роли "целеуказующего", одновременно прикрывая от атак неприятеля. Особо следует отметить прекрасную систему перемещения: CGF "понимает", что кратчайший путь не всегда оказывается самым лучшим, и предпочитает передвигаться короткими перебежками из одного укрытия в другое, стараясь при этом избегать открытых пространств, где он может стать мишенью для снайпера.

     В общем, у CGF действительно есть чему поучиться. Он, бесспорно, является одним из лучших ботов и позволяет прочувствовать все прелести сетевых баталий в Action Quake2 на одном компьютере.
     

     SIN
     ReDeMpTiOn Bot v.1.18

     http://dynamic.gamespy.com/~redemption/news/news.shtml

     С сожалением вынужден констатировать, что данный бот с обилием заглавных букв в названии на меня особого впечатления не произвел. Казалось бы, проще простого сделать великолепный бот для игры с очень интересным deathmatch, да еще основанную на "движке" кумира сетевых баталий Quake II, для которого создано бессчетное количество самых разных искусственных соперников…

     Нет, ReDeMpTiOn отнюдь нельзя назвать неудачным ботом — так, вполне приличный середнячок: неплохо перемещается по уровню, достаточно достоверно стреляет (когда надо — попадает, когда не надо — промахивается, т. е. имитирует живого человека, а не Терминатора). Более того, в ближнем бою умело пользуется точечной системой попадания, реализованной в Sin, — приседает, подскакивает, иными словами, старается равномерно распределить наносимые ему ранения. Однако в игре с ним нет того веселья, которое является визитной карточкой "Греха". Ведь она, по сути своей, — этакий Дюк Нюкем с современной графикой, по крайней мере, одиночная ее часть и настоящий deathmatch, что совершенно незаметно в игре с ReDeMpTiOn. Обидно, честное слово.
     

     KINGPIN
     KrazeBot v.0.03 Beta

     http://www.planetquake.com/maxtron/kraze/

     Ключевым словом в названии этого бота является "бета". Причем после взгляда на порядковый номер, красноречиво говорящий о самой что ни на есть ранней стадии разработки, ничего хорошего не ожидаешь. Однако на деле все не так плохо: KrazeBot, конечно, пока далек от совершенства, тем не менее выглядит уже вполне прилично. Он, как и все современные боты, применяет систему waypoints. Единственная серьезная претензия — определенные проблемы с использованием бонусов и оружия. Судя по тому, что убить бота очень легко, он не подбирает броню и пользуется практически все время только пистолетом, лишь иногда поднимая (видимо, случайно) автомат и винтовку; звуки же выстрелов из ракетомета мне вообще довелось слышать всего один раз. В ближнем бою он двигается довольно неуклюже, практически не стрейфится, от выстрелов уворачивается с трудом.

     В общем, для финальной версии резюме было бы однозначным: плохо. Но, повторюсь, это — всего лишь ранняя бета. Поэтому есть надежда, что со временем все вышеперечисленные недостатки будут устранены. Однако, даже несмотря на них, уже сейчас можно с удовольствием провести пару вечеров за игрой с KrazeBot — есть в нем какая-то изюминка.
     

     Напоследок хочется отметить, что боты могут быть интересны не только игрокам, лишенным возможности участия в deathmatch. Они являются, по сути, прекрасным вариантом для тренировок перед настоящими сетевыми баталиями. Конечно, оттачивать тактику ведения боя с их помощью все-таки не следует: как бы ни изощрялись разработчики, но создать точную имитацию поведения живого игрока невозможно, поэтому даже самый лучший бот никогда не будет вести себя так же, как человек. Да, он способен выиграть — за счет лучшей реакции, координации движений и точности стрельбы, но не за счет своего ума. Зато он может научить вас тому, что нельзя усвоить в самом сложном варианте одиночной игры, — быстро и точно стрелять, передвигаться, все время оглядываясь по сторонам, быть в постоянной готовности к отражению атаки, уходить из-под огня противника и многим другим навыкам, которые окажутся просто незаменимыми в настоящей сетевой игре.