• Авторизация


Немного об ИИ в компьютерных играх 04-03-2011 20:44 к комментариям - к полной версии - понравилось!


               В своей недавней заметке об игре Master of Orion 2 я упоминал о том поветрии, что, дескать, современная индустрия компьютерных игр равномерно и уверенно движется туда, где солнце не светит. Можно соглашаться или нет, спорить о причинах и дальнейшем развитии событий, но факт остается фактом: современные игры действительно во многом уступают старым – я не побоюсь сказать «древним» – проектам, которые, разрабатываясь коллективом из трех-четырех человек, в итоге оказывались настолько удачными, что о них не только вспоминают, но и с удовольствием играют даже сейчас. Примеры? Легко: Master of Orion, Alpha Centauri, X-COM, Baldurs Gate, Warhammer: Dark Omen…

Нельзя сказать, что сейчас выходят только плохие игры. Возможно, дело в том, что неудачные образцы того времени проходили мимо, а игры из списка выше запоминались, потому нам и кажется, что тогда трава была зеленее, а сейчас на один Fallout: New Vegas приходятся тонны шлака. Другой вариант звучит более пессимистично: игрострой исчерпал запас идей и катится в самоповторы. А может, во всем виноваты злобные маркетологи?

Обсуждая этот вопрос с моим другом, мы попытались представить, куда имеет смысл двигаться дальше и как развивать игры. Возможно, графические возможности исчерпают себя, ведь при скорости их развития – от Doom до Crysis за двадцать лет, неплохо, да? – когда-нибудь мы встретим потолок, когда можно будет сказать: все, это фотореализм, дальше двигаться некуда. Мой, товарищ, к слову, считает, что это случится лет через пять, а я ему напоминаю, что пять лет назад говорили так же.

Так или иначе, нужно искать новое направление для развития. И мне кажется весьма перспективным, хоть и незаслуженно забытым, следующее направление: ИИ. О нем и предлагаю поговорить. Заранее предупреждаю, что я – абсолютно «сингловый» игрок, поэтому тем, кто не мыслит игры без мультиплеера, а одиночную игру считает лишь довеском для галочки, мои измышления могут показаться неинтересными.

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

На самом деле, дело обстоит немного иначе. Не вдаваясь в термины, можно сказать примерно так: ИИ строит логические связи и намечает цели – стратегические и тактические – гораздо лучше нас. Если правильно прописать ему цели, к которым он должен стремиться, и ситуации, которых он должен избегать, и дать ему самостоятельно искать решение, то такой, как у нас тут шутят, искусственный идиот запинает вас ногами на десятой минуте игры. При этом он будет действовать такими методами, что впору будет говорить о – свят-свят – свободе воли и мыслящем компьютере. Если вы мне не верите, то обратите внимание на статью, ссылку на которую я привел в конце заметки. Ее автор – весьма выдающийся человек, ныне, к сожалению, покойный – расписывает все на реальном примере.

  Почему мы не видим такого ИИ в играх? Да потому, что играть никто не будет. Какой интерес в игре, в которой почти невозможно победить? Вот и замечают разработчики, что их детище намертво «вешает» игру, чтобы не допустить поражения, и быстренько такую фишку запрещают. После всех запретов, костылей и исправлений у нас и остается пресловутый искусственный идиот. Чтобы он изображал хоть какую-то функциональность, мы навешиваем ему пачку скриптов – простейших логических триггеров. Если противник строит самолеты, строим ПВО.

Немного другая точка зрения заключается в том, что написать грамотный ИИ невозможно. Не знаю, почему, говорят, что вычислительной мощности не хватает, что компьютеры недостаточно развились… Чушь. Если позволите лирическое отступление, то в той же игрушке X-COM вы управляли отрядом солдат, который вылетал на боевые операции. С каждым боевым вылетом у солдат поднимались характеристики – они быстрее бегали, лучше стреляли etc. Так вот, по достижению максимального значения эти навыки… обнулялись и начинали расти сначала. То есть, в один прекрасный момент выяснялось, что ваша бригада головорезов не может сделать и шага. Почему так? Да потому, что вы не впихнете в один байт девять бит. Хранившая эти значения ячейка переполнялась и все шло сначала.

Так это я к тому, что даже при этих драконовских ограничениях, четырехцветной палитре, DOS и прочая и прочая, компьютерный игрок творил такое, что сейчас днем с огнем не сыщешь. Я могу привести несколько примеров.

Пожалуй, первое, что приходит в голову, это все тот же Master of Orion 2. В своем обзоре я почти не касался того, как действуют компьютерные оппоненты, сейчас представилась возможность остановиться на этом подробнее. Первое и самое главное – ваша военная и производственная мощь определяет отношение к вам других игроков. Вы можете рулить по технологиям или торговать со всей галактикой, принося прибыль и себе и другим, но если у вас на орбите не висит что-нибудь класса «Титан» как минимум, то очень быстро к вам пойдут настойчивые предложения пожертвовать символическую сумму в фонд мира в галактике или типа того. Не спешите соглашаться – возможно, что вас просто проверяют на прочность. К войне в играх относятся легче, чем в жизни – в конце концов, это один из основных элементов игрового процесса, однако обычно компьютер трезво оценивает свои возможности и не устраивает самоубийственных «маленьких победоносных войн».

Что меня отдельно удивило, так это следующий момент: союз в игре вовсе не гарантирует того, что вам помогут. Союзники очень любят оттягивать момент своего вступления в конфликт (а если закономерно потребовать, то почему-то обижаются). Они могут разорвать союз, если вы начали заведомо проигрышную войну, наконец, их могут тупо перекупить. Самое веселое было, когда у меня случилась война с одним представителем племени Саккр. Эти ящерицы очень быстро размножаются, поэтому к середине игры они достигают такой производственной эффективности, что могут забить на высокие технологии и прочую ненадежную муть. Короче, мы героически держались, но «их, сцуко, было много». Война откровенно затягивалась, и выхода из ситуации не было. Больше всего меня тревожил тот момент, что у компа был союзник, который мог сказать свое веское слово в конфликте, определив его результат. Так вот, он мне «позвонил» и прозрачно намекнул, что если я пожертвую ему символическую сумму в виде моей самой развитой системы, то он что-нибудь придумает. Придумал – разорвал союз и отказался вступать в конфликт. Это не помешало Саккрам меня загасить, ну да ладно…

Другой пример – Galactic Civilizations 2. Эта игра вообще известна своим ИИ. Во-первых, там комп самообучается. Я знаю, что это пишут на каждой второй коробке с игрой, но тут эта скотина реально учится. Во-вторых, богатые возможности для настройки – сложность, симпатии и антипатии, характер… И, в-третьих, он действительно умный! Особенно ярко это заметно в различных дипломатических хитростях. Первое, о чем стоит упомянуть: обычно в играх такого рода компьютерные игроки очень недолго остаются белыми и пушистыми. Кто-то рано или поздно захочет больше, чем ему могут дать, и вся галактика кинется рвать друг друга на куски. Однако здесь практически все проблемы можно решить мирным путем. Далее, вообразите ситуацию: комп А, в последнее время остающийся самой мощной и развитой расой в галактике, активно прессует компа Б. Мне «звонит» комп С, который здесь вообще ни при чем и излагает следующее: что-то в последнее время от компа А житья нет. А давай-ка организуем тайное снабжение компа Б оружием, технологиями и прочей гуманитарной помощью. Скажу честно, такого я еще нигде не видел. Здешние игроки очень любят организовывать тайные союзы (не имеющие характера соглашения), чтобы не давать кому-нибудь сильно вырваться вперед. Ну и третий момент: если вы много играете в глобальные стратегии, то рано или поздно понимали, что по вашу душу идет Адская Армия Уничтожения, и вам срочно нужны новые друзья. Дарим пару технологий, немного денег или пограничную систему, и вот: нас уже толпа, подходи, посмотрим, кто тут крутой…

Здешний компьютер очень быстро и точно спалит попытку его задобрить. С ним легко подружиться, заключив какой-нибудь договор, торгуя, не пересекаясь в сферах влияния и т.д. – короче, с течением времени. Но если вы вломитесь к нему с воплями «а-а-а, кошмар, все отдам, спасай!», то он сразу поймет, что ничего хорошего ждать от вас не стоит, и пошлет куда подальше. Но подарки возьмет – что он, идиот, что ли, чтобы отказываться от халявы?

До этого момента мы рассматривали компьютера исключительно как потенциального или реального противника – даже если речь шла о союзе – но ничего не сказали о том, как он иногда помогает игроку. Я имею в виду те случаи, когда разработчики встраивают в игру электронного помощника, на которого можно переложить часть задач. Начинание вообще благое. У многих глобальных стратегий есть проблема – стремительно разбухающий микроменеджмент. Безусловно, в начале партии крайне важно проконтролировать каждую мелочь лично, чтобы вырваться вперед. Не меньшее значение имеет контроль и в середине игры, когда разгораются самые смертоубийственные войны и прочие страсти. Но в какой-то момент вы понимаете, что рутинное указание порядка застройки отнимает у вас больше времени, чем, собсно, игра. В Galactic Civilization еще хуже: там масштабы не в пример эпичнее. Когда вследствие удачной военной операции под ваш контроль переходит пятнадцать планет, надо проконтролировать, чтобы они развивались по линии партии.  Чтобы построить десять зданий на одной, надо нажать десять кнопочек. Умножаем одно на другое… А я еще и не упоминал про ваши «родные» сорок планет, на которых тоже регулярно творится какая-то ересь, требующая вашего участия. В результате все эти действия по подтиранию соплей вашим подчиненным не только осточертевают до безумия, они еще и отвлекают от основной задачи.

Что-то хорошее пытались реализовать в Master of Orion 3. Вышло плохо. Игра невнятная, неудобная и крайне неочевидная. Я в том плане, что во второй части вы ясно себе представляли, какой эффект имеет та или иная фича, дальше думайте, что с этим инструментарием делать. Здесь же у нас куча вещей, значение которых крайне туманно, и его никто не пытается объяснять. Игра между тем что-то строит, выдает вам какие-то рапорты, а вы тупо жмете кнопку «конец хода», плавно охреневая и периодически задавая себе вопрос «а чего тут вообще делать-то?».

Пожалуй, идеальный пример электронного помощника дала нам игра Alpha Centauri. Для тех, кто не в курсе – это эдакая «Цивилизация на другой планете». Принцип тот же – мы строим колонии, колонии строят юниты, которые строят колонии… Однако здесь же есть и хороший научно-фантастический сюжет, связанные с ним изменения в геймплее, своя атмосфера etc. Разумеется, когда количество колоний переваливает за двадцаток, вы уже элементарно выпускаете ситуацию из рук – заниматься контролем каждой очень утомительно. На этот случай в колонии есть возможность включить так называемого губернатора.

Губернатор – это автоматический режим управления базой с кучей настроек. К примеру, вы можете разрешить или запретить следующее:

– Управление производством вообще. Чуть позже объясню, зачем это надо.

– Строительство зданий.

– Работа в одном из четырех профилей – наука, экспансия, строительство, завоевание  – или сразу в некоторых из них, или ни в одном из них конкретно. Уже чувствуете гибкость системы?

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

– Распределение рабочих по областям. Компьютер будет таким образом использовать людские ресурсы, чтобы достичь максимальной эффективности или стабилизировать кризисную ситуацию, например, голод. Это объясняет первый пункт – разрешаете компьютеру распределять население, а сами указываете, что ему строить.

– Использование операции на мозге, которая предотвращает и усмиряет бунты. Здесь это считается «немного» неприличным, так что отдельно укажите этот пункт согласно вашим моральным принципам.

– Установка произведенных юнитов на автоматический режим.

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

Опять же, приведу пару примеров. Во-первых, есть в игре такая вещь, как ящики, раскиданные по всей карте. Иногда в них попадается что-то полезное, иногда – не слишком. Кроме всего прочего там можно найти и некий инопланетный артефакт, который по сути юнит, переходящий под ваш контроль. Его надо оттащить на базу, чтобы получить пару полезных штуковин. Такие артефакты случается находить и в море, но тут есть тонкость. Если его найдет боевой корабль, то артефакт появляется в той же клетке. Корабль – не транспорт, перевозить другие юниты он не может ни при каких условиях. Если он сдвинется с места, артефакт исчезнет. Утонет, ага.

Компьютер в таких случаях действует так: корабль ждет на месте, пока не придет транспорт, также управляемый ИИ. Если такого транспорта нет, то ИИ его построит. И ведь просто и логично, правда?

Второй пример более глобален. Была у меня как-то пара крейсеров, которые недавно устарели, но списывать я их не хотел – мне грозила война, причем на позднем этапе игры, когда идут масштабы в духе «материк на материк». Я отправил их в автоматический патруль. Война таки случилась, и дела шли неважно: мы с противником увлеченно мутузили друг друга на узком перешейке между материками с переменным успехом. Меня было много, компа тоже. Морфлота у меня не было, десант с орбиты еще не изобрели.

Те два крейсера ушли в «самоволку». Обнаружив у врага какую-то задрипанную морскую базу, которую никто и не защищал толком, они отбили ее. Я, занятый проблемами на фронте, не обратил на то особого внимания, дал губернатору карт-бланш и свалил обратно на фронт. И тут понеслась: компьютер ухлопал на эту базу половину бюджета, приведя ее в нормальный вид за какой-то десяток ходов, отстроил на ней где-то пять-шесть крейсеров в довесок к уже имеющимся, подавил весь вражеский флот в регионе, окружил вражескую территорию и начал ее бомбить. И если базы бомбить особо смысла нет, урон маленький, то прибрежная инфраструктура была уничтожена начисто. Дороги, фермы, шахты, электростанции – все это было снесено к чертям. Отсюда перебои с едой, деньгами и войсками, множество кризисов и бунтов по всему государству. Даже вражеские подкрепления попадали под бомбардировку и приходили на фронт изрядно потрепанными.

Это позволило мне развить наступление, но компьютер на этом не остановился. Он построил транспорт, загрузил его построенными же солдатами и высадился на берег. Там он быстро захватил колонию закрепился и расширил наступление с другой стороны, так что противник быстро был разгромлен. Вот где еще вы это видели?

Все описанное укладывается в простую схему: захватить плацдарм, укрепиться, продолжить наступление. Но все было проделано настолько технично, эффективно, а главное – без моего участия, что впору было придерживать нижнюю челюсть.

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

В самом начале игры у вас всего одна база. Включите на ней пресловутого губернатора, а дальше откиньтесь на спинку кресла и наблюдайте. Не бойтесь, вы не останетесь не у дел: в вашем ведомстве определение приоритетов в науке, профилирование баз, дипломатия, обзор прототипов войск, государственный строй… Но вы не отдадите ни одного прямого приказа, тогда как система под вашим началом будет автоматически развиваться и двигаться в заданном вами направлении. И в этом, друзья мои, гораздо больше именно стратегии, чем в современных компьютерных играх.

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

Ах да, та самая статейка о безумном ИИ - http://lki.ru/text.php?id=29. Веселитесь.

вверх^ к полной версии понравилось! в evernote
Комментарии (3):
Decadentia 05-03-2011-16:16 удалить
А что делать с остальными жанрами? Как развивать ИИ до тех пор, пока не остановишься на той самой грани когда и интересно и есть шанс победить? И что делать после, когда балансирование на ней наскучит, как наскучивает рано или поздно все в играх? (:
Сеорл 05-03-2011-17:02 удалить
Ответ на комментарий Decadentia # Ну, всегда есть мультиплеер. Меня беспокоит скорее не грядущий потолок развития, а та печальная тенденция вообще на ИИ забивать, причем во всех жанрах. В последнее время в большей части тех же экшенов враги - тубо болванчики, бегущие по вейпоинтам, жестко заданным теми же скриптами. В тактиках (тот же DoW 2) компьютер просто стоит на месте и ждет печальной участи, в стратегиях - заваливает тебя берущимся из ниоткуда мясом. У них нет возможности проявить хоть какую-либо тактику или, скажем, свободу выбора. А куда-нибудь развиваться, как мне кажется, всегда будет можно. В конце концов, история игростроя насчитает уже по меньшей мере десяток моментов, когда предрекали смерть какому-нибудь жанру, подходу серии и так далее. Но как-то все не сбывается.
Decadentia 05-03-2011-17:16 удалить
Ответ на комментарий Сеорл # В тактиках и стратегиях наиболее востребовано, да. в остальном - кому как, обычно это компенсируется уровнем сложности, на мой взгляд, вполне эффективно (хотя откуда мне знать, я не за тем в игры играю).


Комментарии (3): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Немного об ИИ в компьютерных играх | Сеорл - Дневник Сеорл | Лента друзей Сеорл / Полная версия Добавить в друзья Страницы: раньше»