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 года.
На русском
Из серии статей Валентина Челнокова на ХабраХабр