Предисловие
Добрый день, любители шахмат.
Наверняка когда-то вам приходила мысль развернуть игровой движок Stockfish, который на данный момент является одним из лучших во всём мире, у себя локально на компьютере. Да, вы, конечно, можете спокойно воспользоваться сайтом lichess.org и поиграть с компьютером там, но локальный запуск позволяет легче анализировать и более просто сохранять сыгранные партии. Никто не застрахован от отключения интернета или его временного отсутствия, а запущенному на вашем компьютере движку это помехой не будет, и вы сможете и дальше задвигать коней противнику.
Stockfish, к сведению, распространяется под лицензией GPLv3, так что если вы трепетно относитесь к лицензионной чистоте ПО — здесь всё шито-крыто.
Собственно, сейчас вы узнаете, как легко и просто скачать и успешно использовать движок Stockfish на вашей Linux-машине и даже подключить его к GUI-программе для игр, такой как Pychess и т.д.
1. Установим программу для игры в шахматы
Сам лично использую PyChess. Эта программа существует довольно давно, а точнее уже 17 лет, и выпускается под лицензией GPLv3. Скачать её на различные дистрибутивы можно следующим образом:
Debian/Ubuntu:
sudo apt install pychess
Fedora:
sudo dnf install pychess
Arch/Manjaro/EndeavourOS:
sudo pacman -Sy pychess
Gentoo/Calculate:
sudo emerge -av games-board/pychess
В случае с Gentoo надо будет прописать ~amd64 для eбилда в package.accept_keywords, так как по умолчанию PyChess, по какой-то причине, замаскирован.
2. Выкачиваем Stockfish
Чтобы скачать шахматный движок, нужно перейти на официальный сайт проекта.
Попав на главную страницу, нажмём "Download" или "Скачать" на более знакомом языке:
В загрузках пролистайте чуть ниже и вы увидите раздел для скачки под Linux:
Разработчики предлагают 2 варианта - AVX2 или POPCNT. Если у вас компьютер не старше 6-8 лет, то смело качайте версию AVX2. Она чуть более быстрая, но требует больше ресурсов центрального процессора. Если компьютер по ресурсам слаб или его возраст довольно велик, то можете скачать версию POPCNT. В любом случае, можете поэкспериментировать и выбрать более подходящий для себя вариант.
После непродолжительной загрузки вы получите архив с нашим движком.
Можете открыть его с помощью любой программы-архиватора, будь то Xarchiver, GNOME File Roller и т.д.
Извлеките всё содержимое архива в удобную для вас директорию и радуйтесь успешной скачке движка!
3. Подключаем Stockfish к Pychess
Запустим недавно установленную PyChess.
Далее прожмём Edit, а затем выберем пункт Engines.
Нажмём "New" в выпавшем меню и укажем бинарный файл Stockfish.
Прожмём "Open" и увидим следующую картину:
Отлично! Мы успешно прицепили Stockfish к нашей программе!
Нажмём "Save" и запустим новую игру на главном экране. Не забудьте в меню "Opponent" поменять PyChess.py на новый движок. Всего доступно 20 уровней сложности — выберите тот, который соответствует вашему уровню подготовки в шахматах.
Аллилуя! Бот отвечает на наши ходы и даже не принимает Венский гамбит, что очень печально :(
В данной статье мы разобрали установку игрового движка Stockfish на локальный компьютер. Теперь вы можете спокойно тренироваться в игре в шахматы в любых условиях. Надеюсь, этот материал был для вас полезен. Приятного дня и успешных партий!
Комментарии
11:11
А когда увлекался, то это была Arena. Тогда мне было не до чистоты лицензий, но stockfish уже был и прилагался вместе с другими движками и уже тогда был одним из лучших.
А потом пришли смартфоны. На них быстро появились разные шахматы и когда я ждал дочку откуда-нибудь, то крутил их. Но так напрягаться не всегда хотелось, смотрел и на карточные игры и к своему стыду сейчас, при случае, гоняю преферанс. Но как exuse - это наше приложение, отечественное :-)
13:34
Тоже имею схожую тенденцию прекращать "набивать" руку в свободные минуты. Раньше всегда залетал в блиц или в пульку, пока ехал в метро до встречи, а сейчас хочется просто посмотреть вокруг и подумать о своём.
13:04
15:22
17:21
18:15
А шахматы как игра, конечно, одна из самых-самых.
+
19:18
01:35
моск он такой, он беспокойный
20:30
1. Летом многие отдыхают.
2. Поставили PyChess и играют.
20:50
05:00
В принципе, для искушённых пользователей установить и настроить топовый stockfish труда не составит. Но не все же здесь искушённые.
А вот выбор шахматной программы придётся покритиковать. Нет, программа (pychess) свободная и всё такое, но работала она паршиво. А выражалось это в зависших процессах stock-а, которые невозможно было убить. И работали они в фоне после завершения программы pychess. Причём, если пользовались, то знаете, что настроенные на производительность шахматные движки жрут немалые ресурсы. Наблюдалось это не только на linux, но и на freebsd. НЕОДНОКРАТНО!
Может проблема в том, что прога написана на python (серьёзные люди хают этот язык для написания прикладного ПО), не знаю.
В остальных шахматных оболочках на linux и freebsd зависших процессов stock-a не наблюдалось ни разу.
Советую автору обратить внимание на другие программы - cutechess (есть вариант с appimage, но для debian и fedora сделаны родные пакеты), Arena Chess GUI, Jerry (раньше был в репах pop os, сейчас в виде грёбанного snap). Можете попробовать Scid vs. PC, но это тоже snap, хотя можно скачать deb пакеты.
Лично я пользуюсь SCID (можете почитать мою статью на сайте pingvinus.ru), Arena Chess GUI.
16:06
Имею версию 1.0.5. Запустил, разыграл пару партий — никаких мёртвых процессов от движка не нашёл, даже после закрытия самой программы.
Arena Chess тоже очень хороша, но мне как-то ближе первый, не знаю. Использовал, работала хорошо, но в итоге пришёл именно к такой связке.
На Scid когда-то натыкался, вашу статью тоже читал. Однако не было крайней необходимости в оной, а потому установлена она не была. Правда, имея такой довольно богатый функционал, уверен, что будет иметь место на компьютере. Да и тестить альтернативы всегда стоит, есть риск найти что-то более приятное и удобное, чем уже имеешь.
А потому, я, наверное, пойду устанавливать, пробовать, а вам спасибо за комментарий.
16:29
17:36
Как понял суть проблемы: PyChess запускает процесс Stockfish с началом каждой новой игры. Однако после её окончания не происходит завершение процесса движка, и он продолжает висеть в фоне.
Соответственно, при запуске новой игры создаётся новый процесс и так до бесконечности. Можно, конечно, просто выполнять ps aux | grep stockfish, смотреть PID процесса и через kill -9 убивать оные, но заниматься таким КАЖДЫЙ раз после закрытия программы не хочется.
Надеюсь на внимание разработчиков и скорое исправление проблемы. А пока на Arena Chess, наверное.
04:29
Кстати, если любите играть против компьютера, решать различные шахматные тесты, задачи, разыгрывать позиции из практики попробуйте Lucas Chess. Установочные файлы для linux на офф. сайте есть.
04:33
10:52
https://github.com/pychess/pychess/issues/2242
Судя по прошлым проблемам, их как минимум не игнорируют, так что есть надежда на исправление.