Zillions of Games (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 года.

На русском

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