Разве неэтично делать игровой ИИ тайно неконкурентным?


121

В некоторых играх ИИ разработан, чтобы дать игроку легкое время без его ведома. Это может иметь 0% вероятности попадания в первый раз, когда вы появляетесь, враг, позволяющий вам подкрасться к ним, не поворачиваясь, или снижение сложности, когда игрок ранен или перезапустился несколько раз.

Я был бы обижен, если бы в конце настольной игры или вида спорта мне сказали, что человек не старался изо всех сил.

Существует ли такая же этика для ИИ?

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


14
Я чувствую интересное чтение Рона Гилберта 1989 года « Почему приключенческие игры сосут», даже если вы работаете в другом жанре. Такие принципы, как "the object of these games is to have fun", "the player needs to know that she is achieving"и "as a rule, adventure games should be able to be played from beginning to end without "dying" or saving the game if the player is very careful and very observant"должны быть очень применимы к проектированию ИИ, в том числе те, которые «позволяют» игроку победить.
Тобиа Тесан

35
«Я был бы обижен, если бы в конце настольной игры или спорта мне сказали, что человек не пытался изо всех сил». Но это верно только для противников примерно равной силы. ИИ и люди такие разные, что сравнивать сложно. Давайте возьмем шахматы. Если бы я обиделась, каждый раз, когда компьютерный шахматный алгоритм не пытался изо всех сил, я бы проиграл каждый раз.
Триларион,

17
Вы должны пересмотреть, какой ответ является хорошим ...
Оливье Дюлак

5
Большинство ИИ нереально легко победить. Например, почему у врагов в Марио есть предустановленная схема движения? Это делает их намного легче победить! Как игрок, ключ для меня не в том, побью ли я самый сложный ИИ; это достаточно ли мне бросили вызов и смогу ли я победить. Если задача слишком мала или слишком велика, это уже не весело.
jpaugh

3
Это не совсем AI, но в оригинальном Сапер (и большинство / всех версий после), то мины не создаются до тех пор , после того, как вы нажмете на первый квадрат. Это делает буквально невозможным щелкнуть мину при первом же входе. Я думаю, что это отличная демонстрация хорошей философии игрового дизайна. После этого первого щелчка, если вы нажмете мину, вы проиграете, игра окончена. Но проиграть с первого клика просто неинтересно, прежде чем вы сможете что-либо сделать. Независимо от того, доставляет ли удовольствие экстремальное испытание или другой источник (например, история), вашим первым приоритетом всегда должно быть удовольствие игрока.
CGriffin

Ответы:


42

Что вы хотите достичь с помощью своего ИИ?

Если ваша игра пытается рассказать историю , то разумно настроить AI так, чтобы вы получили историю, которую хотите рассказать.

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


24
Хотя для многих настольных игр вам в значительной степени нужно придумать ИИ, если бы вы не вставляли искусственные ошибки сейчас и тогда, они были бы буквально непобедимы.
Куб

19
Хороший шахматный ИИ был выше уровня гроссмейстера более 20 лет. Го-боты были за пределами «нормального» профессионального уровня 2 года назад, и я считаю, что с тех пор они тоже улучшились, не говоря уже о сравнительно простых играх, таких как Реверси, в которых игроки-люди неконкурентоспособны уже почти 40 лет. Совсем недавно даже в экшен-играх, таких как Counter Strike или Starcraft II, были боты, которые работали на профессиональном уровне. Так что да, это проблема, которую вы должны рассмотреть.
Куб

5
@Cubic: И такие игры, как шахматы и го, являются редкими исключениями. Если вы хотите выпустить подделку популярной стратегической игры, такой как Пуэрто-Рико, или вы публикуете свой собственный новый TBS, в вашей игре не будет готового ИИ экспертного уровня, и вы вряд ли кто-то напишет. Черт возьми, даже в шахматах вы, вероятно, не станете побеждать экспертов, если будете писать свой ИИ.

9
Написание собственного ИИ? Это упущение. Шахматы могут быть последней игрой, где люди написали ИИ, который побил людей. AlphaGo основан на Reinforcement Learning , и нет никаких оснований предполагать, что RL не подходит для других настольных игр.
MSalters

3
@MSalters: Было бы здорово, если последние достижения в области ИИ приведут к миру, в котором есть тукки, которые позволят любому создать превосходный игровой ИИ. Но это не то слово, в котором мы сейчас живем. Кроме того, во IIRC люди говорили то же самое за последние полдюжины прорывов в искусственном интеллекте.

240

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

Давайте возьмем жанр шутера от первого лица в качестве примера. Большая часть этого ответа должна быть применима к большинству других жанров. Есть исключения. Например, ИИ испытывают трудности с избиением людей в очень сложных стратегических играх. Многие стратегии 4X в реальном времени и пошаговые стратегии много обманывают, чтобы заставить игроков ИИ бросать вызов. Но охват каждого жанра игры сделает область ответа слишком большой. Итак, давайте сосредоточимся на жанре FPS.

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

Но такой совершенный искусственный прицел на самом деле проще всего программировать:

if (lineIsUnobstructed (this.position, player.position)) {
     rotateTowards (player.position);
     shoot();
}

Так что идеальная игра - это поведение по умолчанию. Человеческие слабости, такие как невнимательность, ограниченное восприятие, задержка реакции и неточная целеустремленность - это то, что вам, как разработчику игры, нужно специально программировать. И вам обычно требуется много времени, чтобы настроить эти аспекты, пока поведение врага не станет правдоподобным и не предоставит игроку нужное количество вызовов. Сколько стоит «правильное количество задач»? Очень интересный вопрос, но не в рамках этого вопроса.

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

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

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


5
ИИ, конечно, «старается победить сложнее всего», но только на том уровне, на который он был запрограммирован. Шестилетний играющий в сокер может «стараться изо всех сил, чтобы победить», но не побьет более продвинутого игрока. Я могу запрограммировать ИИ на симуляцию белки, и она может быть блестяще совершенной (как белка), но не сможет победить вас в шахматах. Это не делает его провальным AI.
Тим Холт

2
Вы можете установить флажок «адаптивная сложность» в меню настроек сложности. Вы можете позволить игроку настроить диапазон сложности, чтобы он не был полностью адаптивным, и игрок не всегда начнет проигрывать, если он играет достаточно хорошо.
Питер Кордес

3
@TimHolt Я думаю, что проводится различие между программированием лучшего ИИ - то есть ИИ, который действительно старается изо всех сил и вычислительно выполнимо выиграть - по сравнению с тупым ИИ, который все еще пытается так же тяжело (это компьютер) , но не обязательно, чтобы победить.
Ник Хартли,

8
Я думаю, что семантическая аргументация о том, что для ИИ означает «пробовать», бессмысленна и непродуктивна. Понятно, какова правильная интерпретация в контексте, и смысл в этой интерпретации. Переназначение значения в слова, которые уже использовался OP, приведет только к аргументам по поводу значения слова (в данном случае к разговорной речи), а не к чему-то действительно проницательному.
AlexanderJ93

9
@ AlexanderJ93 Не знаю. В главе 2 классического учебника Norvig прямо упоминается, что определение показателя производительности для интеллектуального агента не является обязательным, то есть того, что агент должен максимизировать. Очевидно, что в играх вы пытаетесь максимизировать: веселье .
Тобиа Тесан

46

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

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

Люди не компьютеры .

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

Чтобы заставить это работать, вы должны изменить характер самой игры. Для игры от человека к человеку, вы можете иметь все анимации для быстрых атак, которые выглядят очень по-разному, так как учитывается время реакции человека. Но для компьютеров такая игра тривиально проста; они могут реагировать мгновенно и идеально.

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

Если вы хотите иметь идеальный ИИ, вам нужно создать игру, в которой ИИ может играть идеально и все же проигрывать . Это не легкая вещь, и она не будет работать во многих жанрах. Это может произойти, только если есть вещи, на которые ИИ должен реагировать, но без достаточного времени для этого. Это было бы похоже на игры РТС, где есть скрытая информация. Истинно совершенная игра потребует совершенных знаний, но это недостижимо. Поэтому компьютеру придется довольствоваться «идеальной, насколько мне известно, игрой». И, таким образом, его можно одурачить.

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

В основном, большинство игр для людей созданы для людей , а не для компьютеров.

Это не вопрос "этики". Вопрос в том, для кого создана игра, и какова цель искусственного интеллекта.


4
Если ИИ может играть идеально и все равно проигрывать, то и человек, который играет идеально, также может проиграть. Это тоже не идеально. Скорее, вы хотите игру, которая имеет достаточную сложность и / или скрытую информацию, что определение идеальной стратегии невозможно или нецелесообразно. Вот почему люди до сих пор бьют компьютеры в Chess and Go до недавнего времени; компьютер не может полностью проанализировать каждое возможное движение и должен полагаться на эвристику, так же как человек полагается на интуицию.
Рэй

3
@Ray: « Если ИИ может играть идеально и все равно проигрывать, то и тот, кто играет идеально, также может проиграть. Это тоже не идеально ». «Идеально» здесь, находясь «в границах рассматриваемой игры». В качестве примера я привел RTS, потому что в жанре часто используется Fog of War, что мешает вам знать все. А без совершенных знаний у вас не может быть по-настоящему совершенной игры. Вы можете иметь «идеальную» игру только в границах того, что вы знаете.
Николь Болас

2
@Ray Это могло бы быть правдой десять лет назад, но сейчас это не так: у нас есть предварительно вычисленные таблицы решений для всех финалов из 7 частей и меньше. Если в игре менее 8 фигур, то в этих таблицах по 170 ТБ будет определенно лучший ход.
TemporalWolf

3
ИИ со стратегической игрой гораздо хуже, чем "идеальный, насколько я знаю". Да, у них есть идеальный микро, что превращает их в серьезную проблему для большинства игроков, но они также очень важны в своем сценарии и плохо реагируют на неортодоксальные стратегии. Например, в Warcraft 3 вы можете победить самого сложного ИИ с одним рабочим, потому что ИИ вообще не может справиться с броском в башне. Он игнорирует работника, строящего башню, пока не станет слишком поздно, а затем начинает тратить свои юниты против этих башен вместо того, чтобы захватить вражескую базу.
Дулкан

6
Очень это. В качестве анекдота, мы с друзьями играли в RTS (Rise of Nations) против нескольких компьютеров без проблем. Затем мой друг изменил его так, чтобы ограничение населения возросло с 200 до 2000, и тот же компьютер убил нас, даже когда нас было трое против одного компьютера. Мы, люди, получали меньшую отдачу от управления большим количеством устройств за раз, в то время как компьютер этого не делал.
Лорд Фаркваад

26

В качестве предисловия я собираюсь соотнести этику с мошенничеством. Если вы чувствуете себя обманутым, вы чувствуете, что с вами произошло что-то неэтичное.

Короче говоря, чтобы сделать поведение вашего ИИ приемлемым, сделайте его поведение правдоподобным. Люди не чувствуют себя обманутыми правдоподобным поведением, они чувствуют себя обманутыми невероятным / нереалистичным поведением. Так что будьте правдоподобны, и у вас не будет вопроса этики.

Кроме того, обратите внимание на то, что стоит за ИИ при рассмотрении вашего вопроса: это искусственный IntelliGENCE , а не искусственный IntelliGENT . Интеллект - это способность приобретать и применять знания и навыки. Интеллектуальный - это то, что обычно обладает высоким интеллектом. Другими словами, просто потому, что у кого-то есть интеллект, это не значит, что он умный. Белка обладает интеллектом, но она не (по человеческим меркам) разумна.

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

Пример с оружием и искусственным интеллектом

Ваш ИИ не моделирует оружие и то, как он стреляет, он моделирует мыслящее существо (или, может быть, машину) за этим оружием.

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

Но что держит пистолет? Это управляется AI. Это не должно быть не влияет на то, как на самом деле работает пистолет. Только как пистолет используется.

Поэтому, учитывая известное поведение пистолета, спросите себя, почему ИИ может пропустить первый выстрел. Затем сделайте так, чтобы поведение вашего ИИ отражало то, что могло бы пропустить первый выстрел. Это потому, что он симулирует противника с низким уровнем навыка, который стреляет из бедра и не целится? Это потому что ИИ делает первый выстрел из паники во время движения? Это потому, что у противника оружие низкого качества? Это потому, что противник далеко?

Если ваш ИИ имитирует такие вещи «почему», вы создали ИИ, который ведет себя правдоподобно, когда стреляет и промахивается. И никто не будет чувствовать себя обманутым такого рода ИИ.

Сценарий для оружия и пример AI

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

Но если вы хотите, ИИ может сказать: «Хорошо, мне нужно увеличить свои шансы на попадание. Что я могу сделать ... Хорошо, я могу прекратить движение. Я могу присесть. Я могу нацелить свое оружие, используя прицелы вместо того, чтобы стрелять из бедро. " И ИИ начинает менять способ стрельбы, и противник начинает поправляться. Это разум, движущийся к разуму.

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

Guns and AI Пример резюме / заключение

По сути, это говорит об ИИ, который включает в себя стрельбу по чему-то, «уровень мастерства» ИИ определяет, насколько быстро он может двигаться в направлении выполнения всех своих действий, чтобы оптимизировать свою точность. СУПЕР тупой ИИ никогда этого не понимает, всегда стреляет с бедра во время бега и движения. Умный ИИ делает все больше и больше для оптимизации точности. ДЕЙСТВИТЕЛЬНО умный ИИ сразу же делает все возможное, чтобы оптимизировать точность.


19

Да. ИИ должен оставаться на том уровне, на котором был установлен.

Шахматный ИИ будет побеждать всех нас каждый раз, и мы должны настроить его на то, что нам нравится. Я бы никогда не хотел, чтобы ИИ потерял самообладание, когда увидел, что собирается победить, или у меня появилось всплывающее окно с надписью: «В 25 лет, ты хочешь, чтобы я хуже играл в шахматы?». Просто бей меня, пока я не устану играть на уровне, который мне не под силу.

Давайте не будем думать, что предоставление противнику всех королев имеет какое-либо отношение к ИИ.


10
@ mr23ceec Шахматы бесконечно менее сложны, чем пошаговая стратегическая игра, такая как Civilization. Чем больше переменных вы вводите, тем сложнее конкурировать ИИ. Когда вы вносите здания, технологии, комбинации юнитов, положение на карте и т. Д., Слишком сложно справиться с идеей, которая может следовать только заранее запрограммированному сценарию. Что есть в шахматах? 64 пробела, 6 разных фигур с определенными моделями движения. В Циве происходит больше после 10 ходов. Я никогда не слышал об этой игре, которую вы упоминаете, и Google ничего не находит по этому поводу. Разум делиться ссылкой?
Дулкан

1
Напоминает мне рассказы Марка Розуотера из ямы: i.imgur.com/AvQrRTO.jpg
corsiKa

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

2
Очень согласен с этим ответом. Тайное изменение сложности ИИ - обман, который неэтичен. Если игрок выбирает сложность 7, он всегда должен получать сложность 7 . Кроме того, этот ответ не является несовместимым с динамической сложностью. Если игрок выбирает динамическую сложность в соответствии с методом X, он всегда должен получать это и только это. То, что я покупаю, я хочу контролировать, что делают мои купленные товары.
Хосе Антонио Дура Олмос

1
Одна вещь, которую, вероятно, стоит отметить, это то, что шахматы - это, по сути, «симметричная» игра; механически шахматный ИИ играет ту же роль, что и человек-игрок. Это оказывает некоторое влияние на то, что мы должны ожидать от ИИ.

12

Я бы сказал нет. Видите ли, игры для меня - это прежде всего развлекательные продукты. Они хотят донести опыт до определенной аудитории. Так что все зависит от того, для какого опыта и для какой аудитории вы хотите получить опыт. Возьмите новую игру, например, как Cuphead. Эта игра создана для людей, которые хотят, чтобы игра была тяжелой и неумолимой и так далее. Игрокам такого типа будет плохо, если игра умрет после того, как они умрут Х раз (до сих пор я умер 255). Опять же, автоматическое понижение сложности для более обычной аудитории может помочь им прогрессировать в игре и, как правило, лучше проводить время. Итак, в заключение: «Знай свою аудиторию».


7
В некоторые игры я играю за вызов. В некоторые игры я играю для захватывающей истории и проваливаю вызов. Некоторые игры я хочу, чтобы оба.
Уэйн Вернер

Даже в Cuphead враги не сфокусированы на лазере, чтобы выследить и убить вас специально. Вместо этого они атакуют предсказуемым образом, который вы можете запомнить.
Кейси

11

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

Термин искусственный интеллект немного вводит в заблуждение. По умолчанию ИИ управляется компьютером, который полностью знает правила и состояние игры, поэтому ИИ будет точно знать, что и когда делать, чтобы победить игрока.

Это не весело.

Intelligence часть ИИ должна быть превращена в немоту, просто достаточно , чтобы дать вызов игрокам и держать их играть.

Это сложная задача, и поэтому существуют игровые дизайнеры.


Вы можете соревноваться с детьми, они не получают голоса в играх, в которые вы играете.
PStag

3
@PStag Согласен, есть правильный способ сделать это и неправильный путь. Я бы не старался изо всех
Александр Vaillancourt

9

В конечном счете, роль ИИ заключается в том, чтобы помочь получить достойный внимания, полезный опыт. Доктор Ян Лейн Дэвис говорит об этом в некоторых своих интервью о том, что роль ИИ заключается в том, чтобы убедительно проиграть. PCAuthority Interview (Механики, которые вы упоминаете, являются примерами того, что игра не убедительна, вместо этого она выбрала дешевый и простой способ обеспечить победу игроку.)

Из того же интервью:

Ваши противники ИИ являются инструментами для драмы и напряжения, а также интеллектуальными агентами.

В фильмах, книгах, сериалах мы, зрители, хотим, чтобы шансы на борьбу с главным героем возросли, но только до определенного момента. Тогда мы хотим, чтобы хорошие парни победили. Чем ближе враг пришел к победе, тем больше отдача.

Цель всегда развлечение.


1
Весь этот вопрос делает меня оригинальным Half-Life. Они продолжают громко общаться и раскрывают свои «планы» (по бокам игрока и т. Д.), Что в то время впечатляло игрока продвинутым ИИ, хотя на самом деле это довольно глупо. :)
JanErikGunnar

9

Цель вашего ИИ не должна состоять в том, чтобы победить, она должна заключаться в том, чтобы обеспечить приятную игру. Часть этого удовольствия в том, чтобы быть оспоренным. Мой подход к этому в Scrabble был двояким: во-первых, стремиться к пьесам, которые соответствуют уровню словарного запаса человека. Совпадение уровней улучшится по сравнению с несколькими играми, но вы также можете сделать довольно хорошую оценку на лету в ранних играх. В Scrabble вам понадобится лексикон, который классифицируется по возрасту чтения, хотя в качестве запасного варианта использование большого корпуса для определения частоты использования слов является разумным приближением. Во-вторых, используйте игровые конструкции, которые изначально имитируют человеческие - например, компьютер обычно делает намного больше параллельных игр, чем случайный человек-игрок (я полагаю, мы не играем экспертов мирового уровня). Однако, поскольку опыт против конкретного противника увеличивается,затем вы начинаете использовать против них несколько уловок, которые они не используют сами по себе, но время от времени, чтобы дать человеку пример для подражания и улучшения своей собственной игры.

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

Я всегда упоминал этот стиль кодирования как «Искусственная глупость», а не как ИИ :)

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

Еще один способ «заглушить» алгоритм - это установить подлинные ограничения человеческого уровня на возможности вашего ИИ-плеера - опять же, используя в качестве примера Scrabble, вместо того, чтобы предоставлять фиксированный словарь, вы можете заставить своего ИИ-игрока изучать свой словарный запас из чтения Интернета статьи, и вы можете ограничить его объем памяти, так что ему придется делать осознанный выбор, какие слова стоит запомнить. В этом нет абсолютно ничего неэтичного, и он достигает цели сделать игру более похожей на человека - например, устраняя преимущество компьютера в совершенном знании того, какие слова являются допустимыми словарными словами и какие слова следует оспаривать, когда их играет оппонент-человек. ,


5

Есть несколько причин, по которым компьютерные противники должны быть подавлены.

Филипп уже упомянул часть того, как держать это забавным, но стоит упомянуть еще и о том, как балансировать с несправедливыми преимуществами компьютерных противников.

Мы не можем сделать настоящий ИИ, который играет как игрок. Компьютерные противники, с которыми мы сталкиваемся сегодня (даже когда их называют ИИ), не анализируют визуализированный игровой образ, чтобы найти, что снимать, как человек. Они также не должны перемещать физический объект по поверхности стола, чтобы показать, что им нужно повернуться.

Фактически, у большинства компьютерных противников колода сложена в их пользу. Они знают точное местоположение каждого игрока, какой у него рост, где идеальная точка выстрела в голову для этой модели противника / персонажа, у них есть оружие, которое они могут просто сказать «стрелять по этой координате», и это точный удар и т. Д. чтобы сделать игру честной, теперь вы должны приблизить ограничения человека.

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

Если вы уже делаете это, это небольшой шаг к тому, чтобы применить еще несколько модификаций для эффекта повествования и сделать вещи более интересными.

Другим аспектом является ускоренный график, на котором работает большинство игр. Есть четырехчасовые игры, где вы снайпер. Это займет гораздо больше времени, чтобы научиться точно стрелять из пистолета. Это займет больше времени, чтобы выследить животное через лес. Хорошая игра находит правильный баланс между тем, чтобы сделать игру тривиальной, чтобы побеждать и посещать годы полицейской академии.

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

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

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

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

В мультиплеере это не совсем возможно, поэтому вы подбираете игроков с одинаковым рангом / экипировкой и корректируете сложность на весь матч.

Тем не менее, все это довольно хитрые уловки. Каждый игрок получает «секретную последнюю пулю двойного урона» и может воспользоваться этим. Интуитивное понимание большинством людей того, насколько вероятен «шанс попадания в 50%», на самом деле неверно, и им помогут, сообщив им проценты, «переведенные» на их «язык». Что, как вы говорите, о «секретных» уловках?

Ну, если бы игра была похожа на шахматы, и вам сказали одно правило, но на самом деле это была ложь, это было бы обманом.

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

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


4

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

  1. Разработчик и игрок никогда не могут быть равноправными, если только это не какая-то сложная игра, которую разработчик должен был бы глубоко изучить, чтобы ИИ соответствовал человеку, и в этом случае ИИ всегда старается изо всех сил.
  2. Если разработчик не создал игру только для вас, они обслуживают многих игроков (обычно определенных типов игроков) и поэтому не могут делать предположения относительно вашего индивидуального уровня мастерства.

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

Это сводится к той же проблеме, которая всегда существует между людьми. Если вы играете в спорт под названием «детский футбол», вы не обижаетесь на изобретателя игры, потому что он не осуждает вас конкретно. В равной степени «артиллерийский футбол» точно такой же в противоположном направлении.

Должен быть вовлечен человек, например, многопользовательский противник, который позволяет вам выиграть, чтобы нападение было эквивалентно ИМО.


4

Создавая игру, вы хотите стремиться создать опыт , а не ИИ, который технически / механически "честен".

В некоторых играх игроки могут получить несколько ударов больше, чем обычно, когда у них очень мало здоровья. Эта механика специально реализована, чтобы создать опыт выживания в битве. Разработчики игр хотят, чтобы вы испытали прилив адреналина, даже если вы получили удар на два больше, чем должны были. Нет ничего неэтичного в том, чтобы реализовать нечто подобное в вашей игре.

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

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


4

Вы должны сделать шаг назад и попросить цель

Цель конкурса - выяснить, кто лучше. Вот почему не стараться изо всех сил - это такой же обман, как и наркотики, повышающие эффективность: это портит цель.

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

Здесь нет морального вопроса. Игрок не более обманут, чем он, когда он смотрит фильм с CGI или сценическим магом. Он ожидает, что игра его развлечет, и пока она доставляет, никто не был обманут, даже если некоторые детали не совсем честны. Но ни волшебник, ни фильм.


4

Нет, это не неэтично и не необходимо

На самом деле здесь нет никакой "этики", просто веселье.

Тем не менее, не должно быть необходимости делать его вообще неконкурентоспособным в идеальном мире. Дайте ИИ точно такие же инструменты, которые есть у вас, как у игрока. Это означает четкое разделение кода игры. Например, он не должен знать ничего о своих предметах / актерах, которые вы, как человек, не можете знать.

Затем идите и закодируйте свой ИИ, чтобы он мог вывести все, что ему нужно знать о текущей ситуации, засвидетельствовав это, как вы, человек-игрок. ИИ должен создать свое собственное представление о том, что видит мир. Очевидно, что в какой-то момент вы должны внести исправления, то есть для ИИ было бы бессмысленно делать OCR для некоторого текстового представления в смоделированном пользовательском интерфейсе. Но должно быть просто позволить ему «видеть» только те факты о сущностях в игре, которые вы, как человек, можете видеть и через пользовательский интерфейс.

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

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

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

Подобный подход я видел однажды, в игре Angband (потомок Мории, в жанре Nethack), много- много лет назад. Поскольку эта игра для одного игрока, это был не ИИ, играющий против человека, а тот, который имитировал игру человека. Сопровождающий тогда («Бен», и, если я правильно помню, действительно) сделал то, что я описал; он моделировал целые структуры данных реальной игры во втором наборе данных для ИИ. ИИ только «знал» вещи, которые он действительно видел (включая атрибуты монстров и тому подобное). Очень впечатляюще.

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

TL; DR: в идеальном мире вопрос не должен возникать; в реальном мире получить забавный ИИ на работу достаточно сложно (для программиста).


2

По сути, абсолютное качество ИИ как противника действительно зависит от типа игры, количества времени, затрачиваемого на разработку внутриигрового ИИ, и циклов мощности / выделенного времени для ИИ.

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

Соответственно, на аркадных шутерах (в большинстве игр FPS) ИИ может иметь идеальную цель (при условии, что скорость снаряда >>> скорость игрока) и идеальное «зрение», в этом случае вы также можете столкнуться с ситуацией, когда ИИ просто уничтожит игрок вне игры, предполагая, что внутриигровые ресурсы даже между ИИ и игроком. С другой стороны, например, включите распознавание зрения в ИИ FPS, и вы скоро столкнетесь с реальными проблемами обработки, и игрок внезапно станет фаворитом (пока!).

На RTS ИИ, работающий на обычном ПК, может быть лучше или хуже независимо от того, следует ли он правилам или нет. Сложности игры решают, требует ли балансирование ИИ гандикапа или он должен «обманывать», чтобы обеспечить достойный вызов. То же самое касается «сложных настольных игр» (пошаговых стратегических игр, таких как Civilizations, но также и Go [на домашнем ПК]) и некоторых других жанров, таких как симуляторы полетов и гонок, где преимущества ИИ - почти мгновенная реакция времена, превосходное сокращение числа, прекрасная память и полное знание окружающей среды - могут быть омрачены сложностями игровой механики.

Дело в том, что честная игра Standard-Game-AI на домашнем компьютере с аналогичными человеческими ограничениями (например, ИИ видит / слышит то, что вы видите / слышите) почти всегда проигрывает игроку, кроме простых настольных игр (сейчас !). С другой стороны, упростите правила, добавьте дополнительные знания в игре (например, ИИ знает окружающую среду, в том числе, где вы находитесь, все время), сокрушая силу и время разработки ИИ, и человек может в конечном итоге проиграть игру.

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


2

из Викисловаря:

человеку свойственно ошибаться

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

Потому что мы делаем ошибку по умолчанию. ИИ по умолчанию нет. Наполнение игровых ИИ этим человеческим «качеством» имело бы большое значение для устранения этого чувства «обмана» (в любом случае, путем победы или проигрыша).

Это также была бы черта, которую искусный ИИ должен был бы освоить, чтобы пройти тест Тьюринга: никто не поверил бы, что разум имеет человеческое происхождение, если он не способен показать «способность» сделать «человеком» (или по-человечески) ошибки.


2

Есть больше способов, которыми вражеский ИИ делает это легче для вас.

Насмешливая анимация после попадания в хит. Это позволяет игроку закончить анимацию оглушения и подготовиться к собственной атаке. Было бы очень легко отключить насмешку, а затем оглушить замок игрока.

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

Телеграфирование движется (разминка), так что у игрока есть шанс среагировать. Эта анимация запуска очень важная часть масштабирования сложности, особенно в бою, основанном на реакции.

С врагом очень легко играть. Но очень сложно сделать его сложным, но веселым врагом. Частично это заставляет врага делать глупости и позволить игроку вообще выиграть ход.


2

Нет, в общем-то это не так - как разработчик игры, вы создаете интерактивный опыт, и то, как должен вести себя ваш ИИ, определяется тем опытом, который вы пытаетесь создать. В качестве контрпримера рассмотрим ситуацию, когда вы можете реализовать ИИ, который был бы непобедим для любого человека на планете. Должны ли вы сделать это? Было бы неэтично «загонять» ИИ, чтобы игра была действительно играбельной? Неэтичным было бы воспользоваться вашими игроками; но это - это просто обычный геймплейный дизайн.
Позвольте мне открыть банку с червями для вас: пожалуйста, посетите эту ветку твиттера .

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


1

Я бы сказал, что это зависит от игрока.

Лично я привык к тому, что боты значительно глупее или неоправданно умелыми (иногда даже оба). Мне трудно вспомнить игру, в которой боты были на «честной» сложности, и я не ожидаю, что они будут такими, потому что я знаю, насколько они ограничены.

Также многие такие «твики» будут замечены в конце, если игра станет достаточно популярной.

Я бы сказал, что все же лучше информировать игроков об «изменениях сложности», и я знаю игры, в которых это происходит.


0

Альтернативный ответ, который больше касается дизайна, мотивируется редактированием вашего вопроса.

Вы заявили в своем редактировании ...

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

В чем реальная проблема здесь

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

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

Скажем, игрок сталкивается с большим сильным противником, который слишком сложен для них. Это означает, что либо игрок углубился в игру в область, которая для него слишком велика (подумайте, Касадорес, если вы идете на север из Гудспрингс в Fallout: NV), либо разработчик выставил игрока против сложных противников, когда они знают, игрок не готов.

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

Это основная идея Flow в игровом дизайне.

Пример с тремя людоедами

Представьте, что в вашей игре есть 3 вида огров: маленький слабый людоед, который качает на вас палкой, людоед среднего уровня с большей ветвью и огромный людоед с большим бревном.

Если вы новый игрок, который не получил новое здоровье, броню и т. Д., Маленький огр должен был ударить вас 4-5 раз, чтобы убить вас. Но как только ты достигнешь более высокого уровня, он вряд ли сможет что-то с тобой сделать.

Огр среднего уровня может убить вас как новичка за 1-2 удара, но если вы более высокого уровня, это займет 4-5.

Огромный людоед может убить вас как новичка за 1 удар, или 4-5, если вы более высокого уровня.

Все огры всегда определяют, попадают ли они одинаково. То, как они определяют, попали ли они, никогда не меняется Нет искусственно низкого (или высокого) времени реакции, нет искусственно низкого (или высокого) урона. Они просто то, что они есть.

Решение

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

Если они среднего уровня, поместите их против людоедов среднего уровня с несколькими людоедами низкого уровня только для "забавы". Может быть, есть рой маленьких, чтобы сделать его более интересным. Никогда не ставьте их против группы огров среднего уровня или гигантских людоедов, так как они умрут.

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

При таком подходе вам никогда не придется ничего «гандикапить», потому что игрок никогда не увидит вещей, которые, возможно, нужно ослабить.

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


Спасибо за ваш ответ, но в вашем примере orge, который, кажется, не касается редактирования, на которое вы ссылаетесь, показывает игроку большой людоед, которого он не может преодолеть, и позволяет ему потерпеть неудачу, прозрачно. Игрок победит только больших огров, когда они на правильном уровне. Например, было бы секретно, если бы вместо повышения уровня игрока они просто становились сильнее, а игрок не знал, что оставлял игрока в предположении, что он просто стал более опытным игроком.
PStag
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.