Разработчики) | Zillions Development Corp. |
---|---|
Стабильный выпуск | 2.0.1 / 2003 |
Операционная система | Майкрософт Виндоус |
Тип | Общая игра |
Интернет сайт | www |
Zillions of Games [1] [2] - коммерческая общая игровая система, разработанная Джеффом Маллеттом и Марком Лефлером в 1998 году. [3] Правила игры задаются с помощью S-выражений , языка правил Zillions . Он был разработан для обработки в основном абстрактных стратегических настольных игр или головоломок . [4] После анализа правил игры искусственный интеллект системы может автоматически играть с одним или несколькими игроками. Он рассматривает головоломки как пасьянсы, и его ИИ может использоваться для их решения.
Язык сценариев [ править ]
Язык сценариев Zillions-of-Games использует S-выражения . Правила хранятся в текстовом файле с расширением ".zrf" (файл правил zillions). Пользователи могут создавать свои собственные ZRF-файлы и заставлять ИИ Zillions-of-Games играть в их недавно созданную игру.
Вот пример правил игры в крестики-нолики (авторское право Zillions Development Inc.): [5]
( определить добавление в пустое (( проверить пустое? ) добавить ))( игра ( название «Крестики-нолики» ) ( описание «...» ) ( история «...» ) ( стратегия «...» ) ( игроки X O ) ( порядок хода X O ) ( доска ( изображение "images \ TicTacToe \ TTTbrd.bmp" ) ( сетка ( начальный прямоугольник 16 16 112 112 ) ; верхнее левое положение ( размеры ; 3x3 ("верх- / средний- / нижний-" ( 0 112 )) ; ряды ( «левый / средний / правый» ( 112 0 ))) ; columns ( direction ( n -1 0 ) ( e 0 1 ) ( nw -1 -1 ) ( ne -1 1 )) ) ) ( кусок ( имя человек ) ( справка «Человек: падает на любой пустой квадрат» ) ( изображение Икс "Images \ TicTacToe \ TTTX.bmp" O "Images \ TicTacToe \ TTTO.bmp" ) ( капли ( дополнение к пустой )) ) ( платы установки ( X ( мужчина от 5 )) ( O ( мужчина от 5 ) ) ) ( Втягивании условия ( X O ) пат ) ( беспроигрышная условие ( X O ) ( или ( относительной конфигурация человека п человек п человек ) ( относительная конфигурация люди е людей е люди ) ( относительная конфигурация человек пе Человек пе человек ) ( относительная конфигурация man nw man nw man ) ) ) )
Результат загрузки этого ZRF в Zillions-of-Games и игры против компьютера показан на скриншоте справа.
Определение игр обычно содержит следующий образец: [6]
- Название игры . Один ZRF может содержать более одной игры, и название игры позволяет пользователю выбрать определенную игру.
- Описание, история и стратегия игры . Это текст, который отображается пользователю по запросу, чтобы объяснить правила игры, историю и дать общие советы по игровому процессу.
- Игроки . Это список имен игроков, используемых в игре. Например, для шахмат это белые , черные . Имя игрока используется в некоторых других местах, например, в определениях начальной позиции или игровых целей. Может быть только один игрок (например, для головоломок), двое и более.
- Порядок хода Определяет порядок ходов, совершаемых игроками. В приведенном выше примере игрок X начинает, игрок O двигается, а затем вся последовательность повторяется. Определение порядка хода может быть более сложным, например, для сбалансированных двухходовых шахмат это будет: (порядок хода белых повторяется черный черный белый белый) , который определяет следующий порядок ходов: белые, черные, черные, белые , Белый, черный, черный, белый, белый и т. Д.
- Определение платы. В этих разделах указывается геометрия игровой доски, отдельные позиции доски и связи между ними. Определение платы в приведенном выше примере сначала указывает растровое изображение, которое будет использоваться для платы. Двухмерная доска определяется с использованием координат пикселей из растрового изображения. В определении («верх- / средний- / нижний-» (0 112)) указаны обозначения, которые будут использоваться для строк, а также смещение в пикселях между строками. Текстовое обозначение используется в списке ходов, а также для сохранения сыгранной игры в файл ".zsg" (zillions сохраненная игра). Связи между положением платы указываются в заявлении (направления ...) . В приведенном выше примере определены четыре направления: n (север) - на один шаг вверх, e.(восток) - один шаг вправо, nw - по диагонали вверх-влево и ne - по диагонали вверх-вправо. Направления используются в определениях ходов, а также в определениях целей игры.
- Определение штуки. Определяет элементы, используемые в игре, их имена и способ передвижения. В приведенном выше примере определена одна фигура, Человек , которую можно сбросить на любую пустую позицию доски. Кроме того , указаны два растровых изображения для игроков X и O.
- Настройка платы. Задает начальную позицию игры. В приведенном выше примере показано, что изначально доска пуста и с каждой стороны по 5 штук, которые можно выбросить.
- Цель игры. Условие, когда один из игроков выигрывает или когда происходит ничья. В Tic-Tac-Toe условие выигрыша (3-в-ряд) определяется как относительная конфигурация фигур с использованием направлений n , e , ne и nw из определения доски.
Реализованные игры [ править ]
Zillions of Games называется так из-за того, что в ней можно играть в очень большое количество игр, запрограммированных пользователем. В систему входит более 300 игр и головоломок. К ним относятся многие популярные настольные игры, такие как Alquerque , Fox and geese , Go , Gomoku , Jungle , Halma , Nim , Nine men morris , Reversi , Tafl и Tic-tac-toe . В комплект входит множество вариантов шашек , например русские и турецкие шашки . Помимо стандартных шахмат ФИДЕ ,Zillions of Games содержит множество национальных шахматных вариантов, таких как сёги , сянци , чанги , а также ряд популярных шахматных вариантов, таких как Ultima , Extinction chess , Losing Chess , shatranj , Berolina chess , Grand Chess и другие. Он также включает в себя несколько головоломок, таких как 15 головоломок , Ханойские башни , восемь королев и множество пасьянсов .
Вскоре после того, как он появился на рынке в конце 1998 года, пользователи Zillions of Games начали программировать для него новые игры и головоломки, создавая многие из них сами. Вскоре начали появляться две большие коллекции файлов правил Zillions (ZRF). Один был на сайте Zillions-of-Games , а другой - на сайте Chess Variant Pages . [7] Первые собрали воедино все виды ZRF, а вторые сосредоточились на ZRF для шахматных вариантов . По состоянию на ноябрь 2017 года интерфейс ZILLIONS содержал 2577 ZRF, созданных 462 авторами ZRF [8], а коллекция Chess Variant Pages насчитывала 794 ZRF шахматных вариантов.
Игры запрограммированных пользователей включают такие игры , как 4D Tic-Tac-Toe, Солитер , Кубик Рубика , Teeko , Манкали , Элис шахматы , Chess960 , шестиугольная шахматы , Star Trek Трехмерной шахматы и Sokoban . Помимо различных игр и головоломок, существуют также обучающие ZRF, такие как игра клеточного автомата , калькулятор и некоторые модели машин Тьюринга .
Использует [ редактировать ]
Zillions of Games можно использовать для следующего:
- Играя в любую из игр или головоломок, которые идут с ним.
- Играя в любые бесплатные игры и головоломки, которые были запрограммированы для этого пользователями.
- Играйте в игры с удаленными пользователями через Интернет или модемное соединение.
- Играйте в игры, отправляя файлы ZSG по электронной почте туда и обратно.
- Программируйте его, чтобы играть в новые игры и головоломки.
- Используя его как инструмент разработки для создания новых игр и головоломок.
- Тестирование новых игр на маневренность и другие качества, позволяя Zillions играть в них против самого себя.
- Решение головоломок или обеспечение возможности решения вновь созданных головоломок.
- Создание диаграмм, которые можно вырезать из снимков экрана.
Возможности [ править ]
Zillions представляет собой доски и фигурки с растровыми изображениями; пользователь может переназначить их. Платы могут быть произвольно ориентированными графами, но стандартные сетчатые платы легче производить и имеют встроенную поддержку для обнаружения коллинеарности . Доступные условия выигрыша, проигрыша и ничьей включают мат, пат, повторение, взятие фигур, абсолютную конфигурацию, относительную конфигурацию и различные типы подсчета фигур. Они позволяют создавать множество различных игр и головоломок.
Помимо определения того, как движутся фигуры, Zillions может определять, как фигуры могут быть сброшены. Это для введения в игру новых фигур. Это бесполезно для сёги, когда «сбрасывает» захваченные фишки, хранящиеся по бокам доски. Он предназначен для таких игр, как Go, Reversi и Tic-Tac-Toe, которые обычно позволяют пользователям добавлять новые фигуры на доску. Как и в случае с перемещением фигур, это определяется алгоритмически, и это может быть что-то настолько простое, как позволить новой фигуре упасть только на пустое место или следовать более сложным правилам.
Начиная с версии 2.0, у Zillions появилась дополнительная возможность применять максимальные правила захвата (используемые в некоторых версиях Checkers ) и полнофункциональный движок для игры в го.
Zillions включает «случайного игрока», который выбирает из доступных ходов случайным образом; это может быть использовано для имитации игры в кости в гоночных играх и в нардах . [4]
При необходимости стандартный движок ИИ можно заменить на движки, созданные пользователем. Затем эти движки могут использовать открывающие книги или другие функции, недоступные для стандартного ИИ. [9]
Ограничения [ править ]
Несмотря на универсальность, Zillions of Games имеет ряд нетривиальных ограничений:
- Zillions Of Games предназначена исключительно для игр с идеальной информацией . Это делает его мало или вообще не использовать в достаточно играть несовершенный или скрытую информацию игра против AI, таких как карточные игры или настольных игры со скрытыми значениями штучных как Stratego . Вместо этого программа будет автоматически использовать всю доступную для себя информацию, включая карты в колоде и карты в руках всех других игроков. В игры по-прежнему могут играть люди, хотя нет поддержки для выборочного раскрытия информации только одному игроку. [4]
- В его языке программирования отсутствует поддержка арифметики, функций и переменных, помимо некоторых логических флагов. [4]
- Движок не имеет встроенной поддержки для целей, основанных на соединении, таких как Hex ; таким образом, эти цели должны быть реализованы вручную. [4]
- Также нет поддержки наличия нескольких частей в одном месте или элементов, охватывающих несколько местоположений одновременно. Таким образом, требуются сложные обходные пути для игр, которые нуждаются в этих функциях, таких как Mancala , Laska или Quoridor . [4]
- Как и большинство игровых программ с ИИ, движок по умолчанию плохо работает в играх с большими факторами ветвления, таких как сёги . [4]
- В некоторых жизненно важных отношениях программа слишком ограничивает возможности.
- Хотя он может распознавать повторение, единственный вид, который он может распознать, - это трехкратное повторение .
- Хотя он может проверять различные условия выигрыша, проигрыша и ничьей в конце хода, он не может проверять какие-либо из них при оценке возможных ходов для фигуры. Следовательно, в сёги, например, нельзя запрограммировать всегда точно применять правило против мата королю с упавшей пешкой.
- Многие варианты шахмат с участием нескольких игроков не могут быть воспроизведены, потому что они немедленно останавливают игру, когда первый игрок получает мат или пат .
- В некоторых случаях качество игрового процесса снижается из-за того, что ИИ автоматически вычисляет неточные значения фигур, и нет возможности вручную заменить их точными значениями.
Многие из этих ограничений можно обойти с помощью таких расширений, как Axiom Development Kit. [10]
Ссылки [ править ]
- ^ Создание процедурного контента на основе поиска: таксономия и обзор , Джулиан Тогелиус , Георгиос Н. Яннакакис , Кеннет О. Стэнли , Кэмерон Браун , Транзакции IEEE по вычислительному интеллекту и искусственному интеллекту в играх 3 (3): 172 - 186 · октябрь 2011 г. doi : 10.1109 / TCIAIG.2011.2148116
- ^ Немецкая ассоциация чу сёги
- ↑ Дэвид Н. Л. Леви (2006). Роботы без ограничений . АК Петерс, ООО ISBN 1-56881-239-6.
- ^ a b c d e f g "Может ли Zillions поддержать эту игру?" FAQ от Zillions Development Corp.
- ^ Пример Tic-Tac-Toe взят из "TicTacToe.zrf" в установке Zillions-of-Games и немного упрощен. Использование в Википедии приведено в иллюстративных целях и, как полагают, соответствуетзаконам СШАо добросовестном использовании .
- ^ Полную спецификациюязыка сценариев Zillions-of-Games можно найти в Справочнике по языку Zillions , который можно найти вустановке Zillions .
- ^ Zillions of Games - Коллекция Chess Variant Pages вариантов шахмат для Zillions of Games
- ^ Бесплатные дополнительные игры для Zillions-of-Games
- ^ Возможности Zillions , возможности добавлены в версии 2.0
- ↑ Грег Шмидт (16 апреля 2016 г.). «Комплект разработчика Axiom» . Дата обращения 4 августа 2016 .
Внешние ссылки [ править ]
- Официальный веб-сайт
- Обзор Zillions of Games от Ханса Бодландера
- Музей Zillions of Games с тысячами игровых правил Zillions of Games, доступных для загрузки