Вы не указываете тип игры, поэтому я буду сильно склоняться к играм RPG / MMO. Но многое из этого может и действительно относится к FPS, Стратегии и Экшн-играм. То, как крупные многопользовательские игровые компании, такие как Blizzard, решают эту проблему в своих играх:
- Выполняйте все вычисления и игровые действия на стороне сервера, клиент просто тупой терминал и графический движок. Так что, если игроки используют другой клиент, это не имеет значения с точки зрения игры, они не могут обмануть физику игры.
- Проверяет очевидные программы / клиенты ботов, ища очевидные компьютерные действия, такие как совершенное повторение событий щелчка и движения мыши.
- Проверяет неочевидные бот-программы / клиентов и предупреждает модераторов в игре об этой проблеме.
Затем они появляются в игре (если это возможно, для таких же игр, как Starcraft 2, это не так) или иным образом наблюдают / говорят с игроком об их действиях как о «проверке человеком». Или, по крайней мере, так должно быть. Blizzard довольно хороша в этом, но исторически других MMO-компаний не было.
Проверять неочевидных ботов нелегко, но следует соблюдать несколько основных правил:
- Ищем игроков, которые, с небольшими колебаниями, выполняют одни и те же действия снова и снова. Это может быть сидеть в узле ресурса в MMO и обрабатывать его, когда он возрождается, или он может вращаться по кругу между пакетами здоровья / боеприпасов в FPS и никогда не отклоняться от определенного пути и всегда использовать одно и то же оружие. (Субоптимальные боты в FPS редки, но если в вашей игре есть лестница, на которую нужно подняться, где количество игр более важно, чем талант игрока, как у некоторых современных FPS, боты снова становятся ценными)
- Поиск игроков, выполняющих один и тот же точный рывок или стратегию снова и снова в RTS. В Starcraft есть определенные порядки сборки, которые могут быть почти непобедимыми при выполнении ботом.
- Ищем игроков, которые собрали огромные суммы ресурсов и теперь бесконечно вытачивают один предмет. Это было большой проблемой в Ultima Online.
Проблема в том, что чем популярнее ваша игра, и чем больше ботов может принести скука в вашей игре, тем больше вероятность того, что люди будут использовать и создавать этих ботов. И тривиально ограничить скорость движения мыши, добавить случайные гуманистические вариации для кликов, даже если бот совершает ошибки с человеческой скоростью, открывая и закрывая части меню, нажимая неправильную кнопку и затем закрывая окно, переключаясь между клавиатурой и работа мыши, как люди делают, чтобы уменьшить усталость рук. (ты даже не понимаешь, что делаешь это)
Таким образом, последний шаг, когда кто-то или бот делают что-то повторяющееся в течение очень долгого времени, действительно должен быть человеческим модом, подходящим к игроку и разговаривающим с ним. Если они там и отвечают человеческими ответами, они люди. Обычно моды просят игрока остановиться на некоторое время или следовать за ними где-нибудь и выполнить некоторые другие действия, обручи становятся более сложными со временем.
Tanget
Конечно, в конце концов кто-то создаст бота, который будет неотличим от реального человека, пройдя тест Тьюринга. И есть много авторов ботов, которые стремятся сделать именно это.
Я сам был очарован этой идеей, когда впервые начал программировать и создавал бесполезных ботов для Ultima Online, которые будут стоять в городе и подражать NPC. Команды были очень простыми, поэтому их было легко выполнять, просто нажимая клавиши для перехода в разные стороны, и просматривая журнал чата на свое имя и передавая сообщения ALICE через веб-версию AI. Я не помню, какой из них, и, вероятно, больше не существует.
/ Tangent
Дело в том, что вам нужно решить, где провести линию. Если вы не можете позволить армии модераторов общаться с людьми, которых ваша система идентифицирует как ботов, вам, вероятно, лучше позволить сообществу помечать людей как ботов, а затем, если этого будет достаточно со временем, пнуть игрока в течение часа. Не бан, просто пни. Настоящая проблема для большинства игроков заключается в том, что боты могут использовать ресурсы других людей. Если мобов мало, как и в случае с Ragnarok Online, то боты, которые бродят и очищают целые области от врагов, собирая предметы (или нет), являются обычным явлением, и они разрушают игру для других людей. Таким образом, вы можете обойти стоимость админских армий таким образом.
Наконец, вы также можете жить с ботами как реальностью вашего игрового пространства и поощрять их использование. Это требует разработки вашей игры на основе возможного и общего использования ботов, тренеров и вспомогательных программ. Я хочу сказать, что была MMO, которая сделала это около 10 лет назад, но я не могу вспомнить, какая это была. Это означало конец игры, потому что ММО очень тяжелые, и это означало, что 95% игроков отошли от своих клавиатур в любой момент времени и разрушили сообщество. Если вы идете по этому пути, будьте осторожны.