25

Ответ на пост «Шахматный турнир Пикабу»

История о том, как я форсировал развитие шахматных античитов. Пару лет назад кодил специально для chess.com бота, назывался ChessInvader (хаха). Сразу скажу, что кодил из спортивного интереса, и как оказалось собрал неплохой такой стек технологий: Stockfish 9, CefSharp, WPF, JavaScript, C#.


Как это работало? Запускалось Windows приложение с интерфейсом, в которое был встроен браузер на основе Chromium. При старте открывался сайт chess.com на главной странице. Далее ручная авторизация прямо в браузере, начало новой партии, и отдельная кнопка "Invade". Далее начиналось самое интересное - так как программа имела доступ к браузеру и его ресурсам, она в автоматическом режиме могла управлять скриптами JS. Программа тащила со скриптов текущую ситуацию на доске и передавала ее шахматному движку Stockfish, движок находил лучший ход, и далее вызывался триггер ответного хода в JS.


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


За один вечер из 15-20 партий рейтинг Эло легко поднимался до уровня гроссмейстеров 3000 и выше. Учёт времени и динамическую силу пришлось ввести против любителей коротких шахмат на 10-30 секунд, так чтобы программа сама рассчитывала время на обдумывание хода в зависимости от номера хода (в середине партии отдавалось больше времени, чем в начале и конце) и оставшегося времени. Играть такой тулзой было довольно скучно, потому что 8 ядер процессора с лёгкостью обыгрывали даже GM из списка топ 100 на коротких шахматах. Пару раз мне попадались и читеры, это было довольно легко понять, когда партия затягивалась в 30+ ходов, а движок при этом не имел весомого преимущества. Познакомился с парой забугорных игроков уровня National Master, которых сильно интересовал неведомый игрок, набирающий за вечер Grand Master. Через неделю таких игр мои фейковые аккаунты начали узнавать в лицо и оперативно банить, поскольку я не скрывал что использую движок. Получается, что я внёс свой непосильный вклад в развитие шахматных античит систем 😊


Ссылки по теме:

https://ru.m.wikipedia.org/wiki/Stockfish

https://ru.m.wikipedia.org/wiki/UCI_(протокол)

https://cefsharp.github.io/

Показать полностью
1619

Шахматный турнир Пикабу

Всем привет! Мы давно хотели всерьез заняться развитием тематических сообществ. И вот, свершилось!

Команда Пикабу вместе с активными участниками сообщества «Шахматы» проводит первый официальный «Шахматный турнир Пикабу».


Для участия не нужно практически ничего, только желание играть в шахматы! Достаточно вступить в клуб pikabu.ru на сайте chess.com.

13 марта в 17:00 МСК откроется регистрация на турнир, а уже через час (ровно в 18:00) начнется самая грандиозная шахматная заруба в истории Пикабу!

Шахматный турнир Пикабу

Победитель и призеры получат специальную ачивку в профиль. Трансляция турнира пройдет на канале сообщества «Шахматы» в YouTube, а итоги будут объявлены ответным постом сообщества «Шахматы».


Регламент турнира:

- Начало 13 марта в 18:00 мск.

- Регистрация открывается 13 марта в 17:00.

- Место проведения: шахматный сайт chess.com.

- Формат турнира: швейцарская система.

- Количество туров - 13.

- Контроль: 5+0 (т.е. каждому игроку даётся 5 мин на партию без добавления времени на ход).

- Продолжительность турнира: около 2 часов.

- Для участия потребуется зарегистрироваться на сайте chess.com (если до этого не было шахматного профиля) и вступить по ссылке в клуб.

- Жеребьевка в турнире и распределение мест проводятся автоматически сайтом chess.com.

- Участие свободное, взносов нет.

- Организаторы турнира оставляют за собой право проверить участников на читерство.


Подробная инструкция по регистрации в турнире (тут с картинками):
- Для того, чтобы принять участие в турнире Пикабу 13 марта, необходимо иметь аккаунт на сайте chess.com.

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

- После регистрации заходим в клуб pikabu.ru. Вход в него открыт для всех.

- После регистрации в клубе заходим в турнир. Регистрация откроется 13 марта в 17:00.


Получилось? Вы прекрасны! До встречи на турнире!
Не получилось? Задай вопрос в комментариях ;)

Ждем всех, друзья. И помните, это только первая ласточка. Если вашему сообществу тоже требуется поддержка Команды Пикабу - пишите в комментариях, поможем!

Показать полностью 1
Отличная работа, все прочитано!