Русская Википедия:Zillions of Games

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Infobox software

Шаблон:Карточка программы

Zillions of Games — это коммерческая универсальная игровая программа, разработанная Джеффом Маллетом (Шаблон:Lang-en) и Марком Лефлером (Шаблон:Lang-en) в 1998[1][2]. Спроектирована в основном для поддержки настольных en (Abstract strategy game) и головоломок.[3]

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

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

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

Примечания

Шаблон:Примечания

Ссылки

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