Zillions of Games — Википедия

Zillions of Games
Логотип программы Zillions of Games
Скриншот программы Zillions of Games
Стартовый экран Zillions of Games
Тип Универсальная игровая программа
Авторы Джефф Маллет (англ. Jeff Mallett) и Марк Лефлер (англ. Mark Lefler
Разработчик Zillions Development Corp.
Написана на C++[1]
Операционная система Microsoft Windows
Последняя версия 2.0.1 (2003)
Лицензия проприетарная
Сайт zillions-of-games.com
Axiom Development Kit
Логотип программы Axiom Development Kit
Тип Универсальная игровая программа
Автор Greg Schmidt
Написана на C++[1]
Первый выпуск 2007-08-25
Последняя версия 1.51 (2015-11-02)
Лицензия проприетарная, freeware, исходный код de facto частично открыт
Сайт Страничка проекта в базе игр для ZoG

Zillions of Games — коммерческая универсальная игровая программа, разработанная Джеффом Маллетом (англ. Jeff Mallett) и Марком Лефлером (англ. Mark Lefler) в 1998[2][3]. Спроектирована в основном для поддержки настольных абстрактных стратегических игр[англ.] и головоломок.[4]

Правила игры описываются в специальном файл правил Zillion’а (англ. Zillions Rules File), имеющем расширение .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 кодах игр[5], или написать свою собственную. Поддерживается игра по сети.

Программа позволяет подключать сменные модули искусственного интеллекта (реализованные в виде .dll). Модуль по умолчанию автоматически выводит оценочную функцию[англ.] из описанных правил игры: подвижности фигур, геометрии доски и цели, обеспечивающей выигрыш. При этом используются алгоритмы, обычные для компьютерных шахмат: альфа-бета-отсечение с упорядочиванием ходов, таблицу перестановок[англ.] и т. д.[6]. Специализированный модуль используется для игры Го. В документации к программе описывается, как написать собственный такой модуль.

С 2007 года распространяется программируемый модуль (метаигровой движок) Axiom, рекомендованный к использованию на оф. сайте Zillions of Games, и позволяющий описывать всю игру, и правила, и (если есть такое желание или необходимость) соответствующий ИИ (полностью или частично), на диалекте языка forth[7] (ForthScript). Впрочем, поскольку Axiom — плагин к Zillion of Games, часть правил нужно продублировать в ZRF (такие, как базовая геометрия доски, игроки и перечисление фигур, без описания их ходов). Вся базовая логика Axiom такая, как алгоритмы искусственного интеллекта, используемые по умолчанию, реализована на этом диалекте Форта; весь форт-код axiom доступен в виде исходных тестов (файл axiom.4th содержит игровой движок, а файл CORE.4th — собственно реализацию языка Forth). Axiom может быть подключён, помимо ZoG, и к другим, специально написанным для этого программам. В составе дистрибутива Axiom Development Kit поставляется одна такая программа-клиент — AutoPlay.exe, предназначенная для автоматического тестирования Axiom-игр (без графического интерфейса пользователя).

Примечания

[править | править код]
  1. 1 2 http://www.polyomino.com/2017/04/14/zillions/
  2. David N. L. Levy. Robots unlimited (неопр.). — A K Peters, Ltd.[англ.], 2006.
  3. Holt Meyers (1998-12-18). "First Universal Board Game program released". PC Gameworld. Архивировано 15 декабря 2005. Дата обращения: 15 декабря 2015.
  4. «Can Zillions Support This Game?» FAQ Архивная копия от 9 июня 2011 на Wayback Machine от Zillions Development Corp.
  5. Zillions of Games — Free Games for Download. Дата обращения: 6 мая 2011. Архивировано 9 июня 2011 года.
  6. Available: Universal Game Engine Архивная копия от 3 ноября 2012 на Wayback Machine email to comp.ai.games by Jeff Mallett, 10-Dec-1998.
  7. Axiom Development Kit. Дата обращения: 15 декабря 2015. Архивировано 15 июля 2015 года.

На русском

Из серии статей Валентина Челнокова на ХабраХабр