The Kilobyte’s Gambit

На волне хайпа вокруг сериала Netflix “Ход королевы” / “The Queen’s Gambit” выпущена шуточная online-игра в шахматы, где вся логика реализована на JavaScript, а размер исходного кода составляет всего 1 килобайт.

Играть: vole.wtf/kilobytes-gambit

The Kilobyte’s Gambit
The Kilobyte’s Gambit

Графика стилизована под режим CGA для старых IBM PC, эти узнаваемые фиолетовые цвета. Оригинальный арт нарисовал известных американский дизайнер Pinot. Естественно, что в 1 килобайт не входит вся “обвязка”, графика и интерфейс игры, только сам алгоритм действия AI. Вот как он выглядит:

The Kilobyte’s Gambit

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

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

The Kilobyte’s Gambit – Humans Win
The Kilobyte’s Gambit
via Pinot