Лига Генерала
Главная / Статьи / Размышления об искусственном интеллекте в Генерале Добро пожаловать, Гость
Форум | Вход | Новости | Информация | Рейтинг | Состав | Кланы | Архив баталий
Полезности
Об игре Генерал
Размышления об искусственном интеллекте в Генерале
Словарик Генерала
Публикации о Генерале в Рунете
Файлохранилище

Рассказы
Московские каникулы. Часть I
Московские каникулы. Часть II
Сага о титанах - часть I
Сага о титанах - часть II
Признание влюбленной девчонки
Как создавался клан Стволы
Однажды в Америке...
Как закалялась сталь
Тотальный агрессор

Веселости
Сленг
Как выбрать имя своему гене?
Генерал с точки зрения философии
Генаблудство - хуже наркомании
Степь да степь кругом

Сейчас на форуме
Re330: МАРШАЛ - новый Генерал для PC! Играем-оцениваем-комментим! - 21.09.2017 23:12 zerg-ea
Re182: ПОЗДРАВЛЯЕМ!!! - 05.06.2017 08:34 Soub
Re15: Как выиграть на 20 (45) стран? - 03.04.2017 22:33 VitalyBV11
Re257: Вызов на игры!!! - 02.02.2017 00:15 zerg-ea
Re19: Карты с препятствиями, 2b||!2b! Не тормозим, высказываемся! - 16.12.2016 21:42 Soub

Размышления об искусственном интеллекте в Генерале

АИ (AI, искусственный интеллект) в стратегических играх пожалуй самое главное, что делает игру интересной и играбельной (по крайней мере в сингле), но и самое сложное в реализации. Надо начать с того, что сам разработчик должен быть умным и тонким стратегом, чтобы грамотно определить концептуально линию поведения компа в той или иной ситуации. Во вторых, даже если разработчик правильно представляет себе как и что должен делать комп, реализация этого поведения на алгоритмическом языке может быть невообразимо сложной. АИ это некая экспертная система, выдающая на некоторые входные условия выходные модели поведения. Чем больше система может обработать входных параметров и сгенерировать уникальных выходных решений, тем «умнее» будет выглядеть АИ. Все это как правило задается разработчиком, АИ на основе самообучения практически никогда не встречаются в играх (я видел только одну такую игру – АИ учился у противника играть в шашки). Уровни сложности традиционно разняться наличием у компа большей или меньшей суммы ресурсов, и большей или меньшей ценой получения всяческих благ, а также величиной изначальной ненависти к игроку-человеку. И в бою у «продвинутого» компа будет просто численный и качественный перевес в силах, и при грамотном тактическом алгоритме АИ это представляет серьезную угрозу. Впрочем, игры, где комп умеет хорошо распоряжаться своим преимуществом перед человеком, наперечет. Генерал в этом плане уникальная игра, в нем АИ играет всегда на одном уровне и не получает никаких бонусов по отношению к человеку. Как правильно сказано, он даже не подозревает, что вы человек, и относится к вам непредвзято.

Итак, что же такое хваленый АИ в Генерале, перед которым неизменно пасуют новички, независимо от того, есть ли у них стратегический опыт или нет, представляю мои размышления на этот счет. Наверное, все начинающие натыкаются на одни и те же ошибки (кто перед этим не прогоняет несколько десятков партий на пассе). В целом это попытки вырваться из общей массы по показателям, активные военные действия и аннигиляция соседей. Вещи в принципе логичные и правильные. Однако у АИ в Генерале есть специфика. Он не любит больших и сильных соседей, не любит агрессоров, и не любит убийц. Если первые 2 особенности более менее понятны, то третья далеко не очевидна. С какой это стати в игре, логическим завершением которой является захват всей карты, плохо относятся к убийцам, когда каждый - потенциальный убийца. Далее, в игре явно просматриваются некие периоды, для которых характерна своя линия поведения АИ, причем в алгоритме АИ заданы они достаточно жестко. Опять же, подводный камень для начинающих, надо изучать характер и поведение компов в различные периоды. Причем концепцию поведения компа в любой период понять достаточно сложно. Точнее, ее просто нет, а есть набор неких правил. Возьмем дебют. Существуют так называемые военники, возмутители начального спокойствия, все они нападают в 17-19 годах. Они наносят 1-2 удара по соседям и успокаиваются. Концептуально это не имеет особого смысла, их задача раззадорить соседа, чтобы тот ответил. Обычно они не готовятся к войне, не накачивают ВП, не сокращают учей. Зачастую, пнув пару раз соседей, они прикупают учей и сокращают солдат. Соседи, накопив на ответный удар, обычно сводят обидчиков на 400-450 км, после чего могут напасть еще на кого-нибудь. Восстановив терру, они в свою очередь набирают учей и сокращают солдат, либо ставят их в защиту с последующим поэтапным сокращением. Но вскоре картина меняется в обратную сторону, как качели. В итоге первые несколько лет идет бессмысленное перепинывание, наборы учей перемежаются с их сокращением, впустую тратятся ресурсы, пока категория научников прокачивает науку и генералов. Когда наступает следующий период, те в свою очередь начинают нападать на наиболее агрессивных по их мнению, в таких боях преимущество обычно на стороне научников. Бывает, что военник начинает давить научника, но это из-за того что тот поднабрал учей и надеется справиться малой армией. Если же научника разозлить, тот сократит учей и покажет военику небо в горошек, если не будет иметь место коллективный завал. Если показывается общий враг-убийца, все бросаются на него, и будут бросаться, во что бы то ни стало, даже если им это невыгодно. Набор правил в текущем АИ в целом достаточно прост, однако концепции поведения для выигрыша партии нет как таковой. Например, никто целенаправленно не занимается уничтожением соседей, неуклонным повышением своей численности, науки и т.п. Если кого-то добивают, то обычно это делается через зад, на страну в 50 км могут отправить 150-200 солдат самым умным генералом. Причем сами компы не понимают, чем рискуют, убивая страну, сократить до 1 км это не для них. Поведение компа в процессе игры выглядит как набор сиюминутных решений (фактически они и есть сиюминутны, АИ просчитывает каждый ход с нуля, есть лишь матрица отношений), как барахтанье между периодическими расширениями и сжатиями, на фоне которых происходит медленное развитие науки. Игра начинает заканчиваться, когда оставшийся без внимания комп, пользуясь моментом (в матрице отношений у него самое благоприятное положение), резко набирает учей и начинает отрыв по науке от остальных. Начало этого отрыва определяется жестко зашитым очередным, финальным периодом в алгоритме. Никогда комп не выиграет игру в 60-70х годах, у них нет на это установки. Фактически мы сталкиваемся с отсутствием этой установки у АИ на протяжении всей игры. Компы не стараются вести себя грамотно, у них просто есть набор правил. Так называемая сила АИ заключается в том чтобы вовремя всем вместе обрушить все свои ресурсы на «отщепенца», в роли которого как правило выступает «умный» человек, идеально если в один ход, тогда у того точно шансов нет, не выдерживает даже мощная защита. Особенно, если человека окружают прокаченные научники. Профи называл это "сложной коньюктурой". Но не всегда получается в один ход, накопление ресурсов у всех идет по-разному.

Такое положение вещей, т.е. поведение АИ, многим кажется нормальным. Мол, все к нему привыкли, все его более менее знают, и знают как надо развиваться, чтобы с ним бороться. Преимуществом пользуется тот игрок, кто быстрее и лучше сможет постичь витиеватую процедуру обработки хода АИ. Хотя встроенные в нее случайные процессы могут и ему сильно подпортить жизнь. У новичка, пока не постигнет этих так называемых тонкостей, шансов теоретически нет, будь он хоть семи пядей во лбу. И очень долго ему придется догонять и открывать, чтобы выйти на ветеранский уровень. Согласиться с таким положением я могу только отчасти. Да, дуэль есть противоборство с человеком, оба знают, как справляться с АИ, выигрывает тот, кто постиг его глубже. Тот, кто способен замечать мелочи, глубже мыслит, быстрее принимает правильные решения, умеет контролировать периоды игры и их смену. Впрочем, как всегда могут вмешаться случайные процессы и все испортить. Одному помочь, другому подпортить все его понимание дуростей и нелогичностей в поведении АИ. С другой стороны, у многих просто не хватает усидчивости и времени ковыряться во всех этих заморочках. Человек сыграл раз, другой, третий, не понял ничего (даже если внимательно изучил правила в хелпе), и не стал тратить время на постижение извращенного представления о жизни АИ. Статистика показывает, что даже во времена наибольшего пиара Генерала (период от 1 до 4 чампа), великолепной рассылки, число постоянных онлайн-игроков не превышало 3х десятков, и это при том, что тогда сыграть дуэль было проще простого. Однако другие стратегические игры, требующие даже выделенного соединения с инетом для нормальной онлайн-игры, собирали больше в разы – в любой момент времени несколько сот игроков на сервере. Любой шахматный портал собирает не в пример больше, при том, что их десятки, а генеральский сервер один. Но ведь правила игры просты и заманчивы, не сложнее чем в шахматах, а сколько дают вариантов развития! Основная причина такой непопулярности Генерала на мой взгляд – долгий срок обучения неочевидным премудростям поведения АИ. Процедура обработки хода АИ очень сложная и витиеватая, что с одной стороны хорошо (многообразие ситуаций), но в то же время не хватает генеральной концепции поведения различных типов АИ, новичкам тяжело приспосабливаться к непредсказуемости АИ. Да и тот факт, что типы еще и перемежаются (распухший военник может стать научником, см. хелп) говорит о том, что и типов по большому счету нет. Генералов они берут одних и тех же, применяют их безсистемно, науку качают от фонаря, без привязки к ситуации (сколько раз пассуя замечал, как комп в трудный момент развивает НП или рост, когда и расти то некуда, тратит деньги на генералов, когда можно купить гена на 2-3 хода попозже, а деньги вложить в восстановление терры), удары их спонтанны, разнонаправленны, без учета геофактора, и т.д. и т.п. Если взглянуть на это со стороны трезвым взглядом, то и не такой уж и интересной становится игра Генерал. Если бы не ее концептуальные плюсы. Просто все приверженцы давно привыкли к минусам и, познав их, пытаются друг друга вычислить и убить. Ведь именно это, вычисление и убивание противника, и составляет основной концептуальный плюс. Так что я бы на месте разработчиков подальше бы убрал из хелпа фразу о силе АИ. Равноправный - да, непонятный - да, но не сильный.

Как могло бы все выглядеть иначе, если бы у компа была генеральная линия поведения, направленная на выигрыш в партии. Во первых это конечно же оценка своего геофактора и выбор основного направления ударов, вектора перемещения. Это наверняка углы и стенки, с точки зрения здравого смысла и ограниченного с 4х сторон, как сейчас, варианта карты. Это конечно не значит что бить он должен только в углы, но основное направление продвижения должно быть, причем пересматриваться от успешности или других факторов. Военники должны понимать, зачем и на кого они должны нападать. Причем если комп военник, он должен четко придерживаться своей доктрины на протяжении всей игры, т.е. у него должна быть своя процедура обработки хода, отличная от остальных, чтобы его могли четко идентифицировать как военника. То же самое должно касаться научников и других типов АИ. По идее у них подходы к игре должны различаться, например военникам логично сразу добивать выбранные жертвы, не дожидаясь ответных ходов от них. Отжорщики могли бы заниматься тем, что постоянно отжираться, увеличивая свои запасы территории. А научникам должно быть свойственно отдавать предпочтение науке. Причем АИ должен знать все правила игры и знать, что ему грозит в том или ином случае. Если уж надо ввести наказание за убийство, то логично полагать, что только некоторые типы АИ критичны к убийцам, и определив таких среди соседей, быть готовым отражать их нападки. Чтобы не получилось, что комп убил другого компа, и тут же сократил солдат, бессмысленно набрав учей. И уж обязательно АИ должен уметь распределять силы при атаке, чтобы не палить из пушек по воробьям, а по великанам из рогатки.

Т.е. логика АИ должна быть интуитивно понятной, пусть сложной, но понятной. И тогда оказавшись в углу человек бы не питал иллюзий, что его вдруг трогать не будут, и получив пинок от военника, понял бы, что за ним последует и второй и третий, а потом еще и отжорщики свое возьмут. А оказавшись, например, в центре, знал бы, когда, чего и от кого следует ожидать, а от кого не следует. Резюмируя, можно сказать, что АИ должен быть не только равноправным, и хоть сложным, умным и хитрым, но главное понятным.

Soublighter

11.08.2006
13.08.2006  Zerg[ea]
Интересная статья. С большой буквы, надо писать обстоятельный ответ. Блин. И ного идей перекоикается с Соло. Всё что ты сказал, пока, можно коротко перефразировать так: "Гена должен быть не шаманством пары десятков гуру, а СПОРТОМ - игрой с чёткими, и всем понятными правилами". (с) Соло. Однако, добавлю от себя, это не бридж. И здесь всё считает комп, и по-любому рулить будет экспертная системы на правилах вывода, а по сему чел всё равно будет "угадывать" компов нутром и "шаманством", или... Или... Или будет пользоваться сторонними анализаторами для предсказания и анализа действий компов-соседей. Ведь алгоритмы для истинно спортивной игры всё равно надо будет публиковать, однако у игроков с их анализаторами не будет полной информации (как в шахматах, например), и поэтому в гене всегда будет место для творчества :)
14.08.2006  Lion[d]
То, что AI можно модернизировать - не вопрос, убрать основные "ошибки" компов довольно легко. Но нужно ли это по умолчанию? Понятно, что одиночки играть станет намного интереснее, при 19 странах против 1 и включенном античелом победа чела станет почти нереальной. Но в онлайн-сражениях это точно лишнее, ведь добавляется маскировка - уровень людей и компов практически сольются. Нужно ли появление псевдопобед, когда реально побеждает комп в игре? Вопрос спорный, весьма спорный. Тем паче с позиции облегчения игры для новичков. Можно ввести все это опционально, как щас можно вкл/выкл "улучшенный AI". А также модернизировать рейтинговую систему внутри игры введя коэффициенты по этим опциям. Но это внутри игры. А внутри Лиги? На каких НУ будем вести бои? Сейчас негласно приняты вкл "ул. AI" и выкл "захват насы". А когда этих опций будет в разы больше? В обычных сражениях еще ладно, но в чампах это станет ПРОБЛЕМОЙ.
По-поводу изначальной (и "окончательной") стратегии для компа - не согласен, что нужно. Мы что, начинаем игру, будучи твердо уверенными в прокачке до 40-ых? При выключенной "анти-убийности" многие играли бы военников, и текущая стратегия зависела от гео-фактора и состояния соседей.
GPL / Лига
О Лиге
Устав GPL
Как вступить в Лигу
Воинские звания
Расчет рейтинга Лиги

Лучшие по Лиге
         НИК    Rтек     Rmax     ИГР
Director FSB[rus]    1324     1388   792
Profi[ea]    1320     1346   198
Magistr[ea]    1317     1360   719
K3p1kas[emp]    1282     1301   748
Levyj[b]    1153     1169   108
Lion[ea]    1151     1161   325
Niger[k]    1138     1197   261
Soublighter[ea]    1134     1219   507
Zerg[ea]    1120     1169   270
Spanier[emp]    1112     1148   322

Последние матчи
0(0)=0%
Soublighter[ea] vs. rombfly[emp]
Magistr[ea] vs. rombfly[emp]
Soublighter[ea] vs. Bazilews1[b]
K3p1kas[emp] vs. Bazilews1[b]
Bazilews1[b] vs. Magistr[ea]
Director FSB[rus] vs. K3p1kas[emp]
Magistr[ea] vs. K3p1kas[emp]
Director FSB[rus] vs. Magistr[ea]
K3p1kas[emp] vs. rombfly[emp]
Shadow[ea] vs. Soublighter[ea]
Soublighter[ea] vs. Shadow[ea]
Shadow[ea] vs. Vekan[emp]
Spanier[emp] vs. K3p1kas[emp]
K3p1kas[emp] vs. Shadow[ea]
Shadow[ea] vs. Soublighter[ea]

Design and development by Paladin, Infers, Lion, Stalin
All rights reserved
Использовано 33 обращения к БД.
Страница создана за 0.135 с.