ChesSkelet — самая крошечная шахматная программа на свете?

Большой любитель шахмат и «Спектрума» Алекс Гарсия некоторое время назад задался целью написать самую маленькую на свете шахматную программу для своего любимого компьютера, которая по размеру сможет обскакать даже легендарную 1K ZX Chess для ZX81. Та, напомним, использовала для работы всего 672 байта, хотя поддерживала практически все шахматные правила, за исключением рокировки, превращения пешек и взятия на проходе.

Сказано — сделано: в настоящий момент ChesSkelet, а именно так называется детище Алекса, в самой базовой версии весит жалкие 366 байт. Чтобы вы понимали масштаб этого достижения, знайте, что в какой-нибудь восьмибитной кодировке типа Windows-1251 весь предыдущий абзац занимает больше места (ровно на 56 байт)! Да и вообще это, кажется, мировой рекорд — раньше самой миниатюрной шахматной программой считалась Toledo Atomchess (392 байт).

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

Важно понимать, что изрядное количество более сложных правил типа пата, взятия на проходе или правила 50 ходов в ChesSkelet не реализованы. Да и выглядит игра, повторимся, очень примитивно — никаких вам красивых или хотя бы схематичных шахматных фигур, одни только буквы латинского алфавита (P — пешка, Q — ферзь, K — король и так далее). Автор гнался не за внешним видом, а за размером, и в новых версиях (текущая имеет номер 0.804) будет либо минифицировать программу ещё сильнее, либо добавлять отсутствующие правила. А может, всё сразу.

Сыграть в ChesSkelet можно прямо на официальном сайте программы — спасибо встроенному эмулятору с выбором версии. Почитать о разработке и скачать исходники на ассемблере можно там же. Ну а кто не любит играть на «Спектруме» в браузере, качайте все три версии у нас: вот базовая, вот средняя, а вот полная.

• • •

К слову, раз пошла такая шахматная пьянка, то имеет смысл вспомнить о другом перспективном проекте — 3D Chess 2K19 (название временное), над которым некто Arkannoyed публично работает около полутора лет. Начинал он на форуме World of Spectrum с размера 924 байт, а потом переместился на Spectrum Computing и сократил вес своих изометрических (!) шахмат до 511 байт. Да, пока это только оболочка без собственно геймплея, но зато до чего ж здорово выглядит для своего размера!

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

Комментарии

1 декабря 2019, 14:38

Уже не самая крошечная. LeanChess весит всего 328 байт, и при этом играет по-настоящему:

http://leanchess.com

Apenas utilizadores registados poderão deixar comentários