Несколько вопросов о читерстве

Содержание: 


Несколько вопросов о читерстве

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

Crestbook.com берет интервью у разработчика одной из таких программ Дмитрия М.

Дмитрий представьтесь, пожалуйста…

Мастер FIDE по шахматам, играю в шахматы примерно с 1991 года. Основной вид деятельности - программирование.

Для чего Вы создали свою программу?

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

На каком языке программирования она написана?

C++

А в каких игровых зонах Ваша программа работает?

Уже довольно долго программой не пользуюсь. В 2007 году работала на www.playchess.com, www.chessplanet.ru, www.bereg.ru, www.instantchess.com, www.kurnik.org, www.chessgate.de, www.spinchat.de, www.superchat.at, www.aby.spinchat.de, www.chessclub.com. Алгоритм программы легко нарушается изменением некоторых параметров изображения доски или фигур. Сейчас, наверное, нигде не работает.

Сколько по времени занимает разработка такой программы у профессионального программиста, разбирающегося в шахматах?

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

Хорошо. Если Вы писали ее для себя, как она попала в открытый доступ в интернет?

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

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

Верно, еще есть возможность в любой момент включить/отключить настройку "делать ходы автоматически"

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

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

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

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

Можно ли оказать противодействие во время партии? Можно ли сделать так чтобы программа не запустилась?

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

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

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

Спасибо за интервью!