Zillions of Games — коммерческая универсальная игровая программа, разработанная Джеффом Маллетом () и Марком Лефлером () в 1998. Спроектирована в основном для поддержки настольных абстрактных стратегических игр и головоломок.«Can Zillions Support This Game?» FAQ от Zillions Development Corp.
Правила игры описываются в специальном файл правил Zillion’а (), имеющем расширение .ZRF, на языке, с синтаксисом, основанным на S-выражениях (то есть лиспоподобном).
Пример описания крестиков-ноликов на этом языке:
(define add-to-empty ((verify empty?) add))
(game (title "Tic-Tac-Toe") (description "...") (history "...") (strategy "...") (players X O) (turn-order X O) (board (image "images\TicTacToe\TTTbrd.bmp") (grid (start-rectangle 16 16 112 112) ; top-left position (dimensions ;3x3 ("top-/middle-/bottom-" (0 112)) ; rows ("left/middle/right" (112 0))) ; columns (directions (n -1 0) (e 0 1) (nw -1 -1) (ne -1 1)) ) ) (piece (name man) (help "Man: drops on any empty square") (image X "images\TicTacToe\TTTX.bmp" O "images\TicTacToe\TTTO.bmp") (drops (add-to-empty)) ) (board-setup (X (man off 5)) (O (man off 5)) )
(draw-condition (X O) stalemated) (win-condition (X O) (or (relative-config man n man n man) (relative-config man e man e man) (relative-config man ne man ne man) (relative-config man nw man nw man) ) ) )
Игра распространяется как shareware. Демоверсию «Zillions of Games» можно скачать бесплатно, установочный файл занимает около 18 мегабайт, скачав его, вы получите 46 самых разных игр, у большинства из них которых есть по 5-10 вариантов, сильно отличающихся от основного. Ко всем играм прилагается описание правил и стратегии, можно включить подсветку допустимых ходов.
У демоверсии есть ряд ограничений, основное — это блокировка подключения дополнительных игр. После ввода регистрационного ключа можно подключить к игре один из нескольких тысяч доступных в исходных .ZRF кодах игр, или написать свою собственную. Поддерживается игра по сети.
Программа позволяет подключать сменные модули искусственного интеллекта (реализованные в виде .dll). Модуль по умолчанию автоматически выводит из описанных правил игры: подвижности фигур, геометрии доски и цели, обеспечивающей выигрыш. При этом используются алгоритмы, обычные для компьютерных шахмат: альфа-бета-отсечение с упорядочиванием ходов, и т. д. Available: Universal Game Engine email to comp.ai.games by Jeff Mallett, 10-Dec-1998.. Специализированный модуль используется для игры Го. В документации к программе описывается, как написать собственный такой модуль.
С 2007 года распространяется программируемый модуль (метаигровой движок) Axiom, рекомендованный к использованию на оф. сайте Zillions of Games, и позволяющий описывать всю игру, и правила, и (если есть такое желание или необходимость) соответствующий ИИ (полностью или частично), на диалекте языка forth (ForthScript). Впрочем, поскольку Axiom — плагин к Zillion of Games, часть правил нужно продублировать в ZRF (такие, как базовая геометрия доски, игроки и перечисление фигур, без описания их ходов). Вся базовая логика Axiom такая, как алгоритмы искусственного интеллекта, используемые по умолчанию, реализована на этом диалекте Форта; весь форт-код axiom доступен в виде исходных тестов (файл axiom.4th содержит игровой движок, а файл CORE.4th — собственно реализацию языка Forth). Axiom может быть подключён, помимо ZoG, и к другим, специально написанным для этого программам. В составе дистрибутива Axiom Development Kit поставляется одна такая программа-клиент — AutoPlay.exe, предназначенная для автоматического тестирования Axiom-игр (без графического интерфейса пользователя).
См. также
Примечания
Ссылки Zillions of Games homepage Zillions of Games в прессе Hans Bodlaender. Обзор Zillions of Games на ChessVariants На русском Владимир Николаевич. О шахматах и не только (ч. 2), Компьютерра № 17 от 11 мая 2004 года. (см. также ч. 1 и ч. 3) Популярно об ИИ, ч. 2, статья в «Компьютерной газете» № 4, 2009 г., см. также часть первую. Из серии статей Валентина Челнокова на ХабраХабр Приручаем ZoG (Часть 1: Волки и Козленок) Приручаем ZoG (Часть 2: Бац!) Приручаем ZoG (Часть 3: Футбол Кумской долины) Приручаем ZoG (Часть 4: Осторожно — мины!) Приручаем ZoG (Часть 5: Сбор маны) Тёмная сторона ZRF Аксиома — повышаем градус!
Категория:Шахматные программы Категория:Компьютерные стратегические игры Категория:Игровые движки по алфавиту Категория:Игровой искусственный интеллект Категория:Программное обеспечение для разработки компьютерных игр