Миллионы игр
![]() | |
Разработчик(и) | Компания «Зиллионс Девелопмент» |
---|---|
Стабильная версия | 2.0.1 / 2003 г |
Операционная система | Microsoft Windows |
Тип | Общая игра |
Веб-сайт | www |
Миллионы игр [1] [2] — это коммерческая игровая система общего назначения, разработанная Джеффом Маллеттом и Марком Лефлером в 1998 году. [3] Правила игры задаются с помощью S-выражений , языка правил Zillions. Он был разработан для работы в основном с абстрактными стратегическими настольными играми и головоломками . [4] После анализа правил игры искусственный интеллект системы может автоматически играть с одним или несколькими игроками. Он рассматривает головоломки как пасьянсы, и для их решения можно использовать искусственный интеллект.
Язык сценариев
[ редактировать ]Язык сценариев Zillions-of-Games использует S-выражения . Правила хранятся в текстовом файле с расширением «.zrf» (файл правил Zillions). Пользователи могут создавать свои собственные ZRF-файлы и заставлять ИИ из Zillions-of-Games играть в их недавно созданную игру.Определение игр обычно содержит следующую закономерность: [5]
- Название игры . Один ZRF может содержать более одной игры, а название игры позволяет пользователю выбрать определенную игру.
- Описание, история и стратегия игры . Это текст, который показывается пользователю по запросу, чтобы объяснить правила игры, историю и дать общие советы по игровому процессу.
- Игроки . Это список имен игроков, используемых в игре. Например, для шахмат это будет White , Black . Имя игрока используется и в других местах, например, в начальной позиции или определении целей игры. Игрок может быть только один (например, в головоломках), два или более.
- Порядок хода. Определяет порядок ходов игроков. В приведенном выше примере игрок X начинает, игрок O делает ход, а затем вся последовательность повторяется. Определение порядка хода может быть более сложным, например, для сбалансированных шахмат с двумя ходами это будет: (порядок хода Белые повторяют Черный Черный Белый Белый) , что определяет следующий порядок ходов: Белые, Черные, Черные, Белые. , Белый, Черный, Черный, Белый, Белый и т. д.

- Определение платы. В этом разделе указывается геометрия игрового поля, отдельные положения доски и связи между ними. Определение платы в приведенном выше примере сначала определяет растровое изображение, которое будет использоваться для платы. Двухмерная плата определяется с использованием координат пикселей растрового изображения. В определении («top-/middle-/bottom-» (0 112)) указаны обозначения, которые будут использоваться для строк, а также смещение в пикселях между строками. Текстовая запись используется в списке ходов, а также для сохранения сыгранной игры в файл «.zsg» (сохраненная игра Zillions). Связи между положением платы указаны в операторе (направления...) . В приведенном выше примере определены четыре направления: n (север) — один шаг вверх, e (восток) — один шаг вправо, nw — по диагонали вверх-влево и ne — по диагонали вверх-вправо. Направления используются в определениях ходов, а также в определении целей игры.
- Определение кусочка. Определяет фигуры, используемые в игре, их названия и способы их перемещения. В приведенном выше примере определена одна фигура Man , которую можно разместить на любой пустой позиции доски. два растровых изображения для игроков X и O. Также указаны
- Настройка платы. Определяет начальную позицию игры. В приведенном выше примере определено, что изначально доска пуста, и на каждой стороне есть по 5 фигур, которые можно выбросить.
- Цель игры. Условие, когда один из игроков выигрывает или происходит ничья. В игре «Крестики-нолики» условие победы (3 в ряд) определяется как относительная конфигурация фигур с использованием направлений n , e , ne и nw из определения доски.
Реализованные игры
[ редактировать ]Zillions of Games названа так из-за возможности играть в очень большое количество запрограммированных пользователем игр. В комплект поставки системы входит более 300 игр и головоломок. К ним относятся множество популярных настольных игр, таких как «Алькерке» , «Лиса и гуси» , «Го» , «Гомоку» , «Джунгли» , «Халма» , «Ним» , «Девять мужских моррисов» , «Реверси » , «Тафл» и «Крестики-нолики» . В пакет входит множество вариантов шашек , например русские и турецкие шашки . Помимо стандартных шахмат ФИДЕ , Zillions of Games содержит множество национальных вариантов шахмат, таких как сёги , сянци , чанги , а также ряд популярных вариантов шахмат, таких как Ultima , Extinction шахматы , Losing Chess , шатрандж , шахматы Беролина , Grand Chess и другие. Он также включает в себя некоторые головоломки, такие как «Пазл на 15» , «Ханойские башни» , «Восемь королев » и различные пасьянсы .
Вскоре после того, как игра вышла на рынок в конце 1998 года, пользователи Zillions of Games начали программировать для нее новые игры и головоломки, многие из которых создавались сами. Вскоре начали появляться две большие коллекции миллионов файлов правил (ZRF). Один был на веб-сайте Zillions of Games , а другой — на веб-сайте Chess Variant Pages . [6] Первый собрал все виды ZRF, тогда как второй сосредоточился на ZRF для шахматных вариантов . По состоянию на ноябрь 2017 года в интерфейсе ZILLIONS было 2577 ZRF, созданных 462 авторами ZRF. [7] а в коллекции страниц с вариантами шахмат было 794 ZRF шахматных варианта.
В число игр, запрограммированных пользователями, входят такие игры, как 4D Tic-Tac-Toe, FreeCell , Rubik's Cube , Teeko , Mancala , Alice Chess , Chess960 , Hexagonal шахматы , Star Trek Tri-Dimensional Chess и Sokoban . Помимо различных игр и головоломок, существуют также образовательные ZRF, такие как клеточные автоматы Game of Life , калькулятор и некоторые симуляции машины Тьюринга .
Использование
[ редактировать ]Миллионы игр можно использовать для следующего:
- Играйте в любые игры или головоломки, которые с ним связаны.
- Игра в любые бесплатные игры и головоломки, запрограммированные для него пользователями.
- Игра в игры с удаленными пользователями через Интернет или коммутируемое соединение.
- Играйте в игры, пересылая файлы ZSG по электронной почте туда и обратно.
- Программируем его, чтобы играть в новые игры и головоломки.
- Использование его как инструмента разработки для создания новых игр и головоломок.
- Тестирование новых игр на ничейность и другие качества, заставляя Zillions играть в них против себя.
- Решение головоломок или обеспечение возможности решения вновь созданных головоломок.
- Создание диаграмм, которые можно вырезать из снимков экрана.
Возможности
[ редактировать ]Zillions представляет доски и детали с растровыми изображениями; они могут быть переназначены пользователем. Доски могут представлять собой произвольно ориентированные графы, но стандартные сетчатые доски проще создавать и имеют встроенную поддержку обнаружения коллинеарности . Доступные условия победы, проигрыша и ничьи включают мат, пат, повторение, взятие фигур, абсолютную конфигурацию, относительную конфигурацию и различные типы подсчета фигур. Они позволяют создавать множество различных игр и головоломок.
Помимо определения того, как ходят фигуры, Zillions может определять, как можно выбрасывать фигуры. Это для введения новых фигур в игру. Это бесполезно для сёги, которые «роняют» захваченные фигуры, хранящиеся по бокам доски. Он предназначен для таких игр, как «Го», «Реверси» и «Крестики-нолики», которые обычно позволяют пользователям добавлять на доску новые фигуры. Как и в случае с перемещением фигуры, это определяется алгоритмически, и это может быть что-то простое, например, позволить новой фигуре падать только на пустое место или следовать более сложным правилам.
Начиная с версии 2.0, Zillions имеет дополнительную возможность применять максимальные правила захвата (используемые в некоторых версиях шашек ) и полнофункциональный движок игры в го.
Zillions включает в себя «случайного игрока», который случайным образом выбирает из доступных ходов; это можно использовать для имитации игральных костей в гоночных играх и родственных нардах . [4]
Стандартный механизм искусственного интеллекта при необходимости можно заменить механизмами, созданными пользователем. Эти механизмы затем могут использовать дебютные книги или другие функции, недоступные стандартному ИИ. [8]
Ограничения
[ редактировать ]Несмотря на свою универсальность, Zillions of Games имеет ряд нетривиальных ограничений:
- Zillions Of Games предназначена исключительно для игр с идеальной информацией . Это делает его практически бесполезным в честных играх с несовершенной или скрытой информацией против ИИ, таких как карточные игры или настольные игры со скрытыми значениями фигур, такие как Stratego . Вместо этого программа будет автоматически использовать всю доступную ей информацию, включая карты в колоде и карты на руках у всех остальных игроков. В игры по-прежнему могут играть игроки-люди, хотя выборочное раскрытие информации только одному игроку не поддерживается. [4]
- В его языке программирования отсутствует поддержка арифметики, функций и переменных, кроме некоторых логических флагов. [4]
- Движок не имеет встроенной поддержки целей на основе соединения, таких как Hex ; таким образом, эти цели должны быть реализованы вручную. [4]
- Также не поддерживается наличие нескольких частей в одной локации или частей, охватывающих несколько локаций одновременно. , требуются сложные обходные пути Таким образом, для игр, которым нужны эти функции, таких как Mancala , Laska или Quoridor . [4]
- Как и большинство игровых программ с искусственным интеллектом, движок по умолчанию плохо работает в играх с большими факторами ветвления, таких как сёги . [4]
- В некоторых жизненно важных аспектах программа слишком ограничительна в том, что она позволяет.
- Хотя он и может распознавать повторение, он может распознавать только троекратное повторение .
- Хотя он может проверять различные условия выигрыша, проигрыша и ничьей в конце хода, он не может проверить ни одно из них при оценке возможных ходов фигуры. Следовательно, например, в сёги его нельзя запрограммировать на всегда точное соблюдение правила, запрещающего поставить мат королю с потерей пешки.
- Во многие варианты шахмат для нескольких человек играть невозможно, поскольку игра немедленно останавливается, когда первый игрок получает мат или патовую ситуацию .
- В некоторых случаях качество игрового процесса ухудшается из-за того, что ИИ автоматически рассчитывает неточную стоимость фигур, и нет возможности вручную переопределить его точными значениями фигур.
Многие из этих ограничений можно обойти с помощью таких расширений, как Axiom Development Kit. [9]
Ссылки
[ редактировать ]- ^ Процедурная генерация контента на основе поиска: таксономия и опрос , Джулиан Тогелиус , Георгиос Н. Яннакакис , Кеннет О. Стэнли , Кэмерон Браун , Транзакции IEEE по вычислительному интеллекту и искусственному интеллекту в играх 3 (3): 172–186 · Октябрь 2011 г. два : 10.1109/TCIAIG.2011.2148116
- ^ Немецкая ассоциация Чу сёги
- ^ Дэвид Н.Л. Леви (2006). Роботы без ограничений . АК Питерс, ООО ISBN 1-56881-239-6 .
- ^ Jump up to: а б с д и ж г «Могут ли миллионы поддержать эту игру?» Часто задаваемые вопросы от Zillions Development Corp.
- ^ Полную спецификацию языка сценариев Zillions-of-Games можно найти в справочнике по языку Zillions , который можно найти в разделе установки Zillions .
- ^ Zillions of Games - Коллекция вариантов шахмат на страницах Chess Variant для Zillions of Games.
- ^ Бесплатные дополнительные игры для Zillions of Games.
- ^ Возможности миллионов , Возможности, добавленные в версии 2.0
- ^ Грег Шмидт (16 апреля 2016 г.). «Комплект разработчика Аксиомы» . Проверено 4 августа 2016 г.
Внешние ссылки
[ редактировать ]- Официальный сайт
- Обзор книги «Миллионы игр» Ханса Бодлендера