HOME

TheInfoList



OR:

Zillions of Games
Search-based Procedural Content Generation: A Taxonomy and Survey
',
Julian Togelius Julian Togelius is an associate professor at the Department of Computer Science and Engineering at the New York University Tandon School of Engineering. Career Togelius holds a BA from Lund University, an MSc from the University of Sussex, and ...
,
Georgios N. Yannakakis Georgios N. Yannakakis is Director and Professor at the Institute of Digital Games, University of Malta and Editor-in-Chief of IEEE Transactions on Games. He is one of the leading researchers within player affective modelling and adaptive content ...
, Kenneth O. Stanley, Cameron Browne, '' IEEE Transactions on Computational Intelligence and AI in Games'' 3(3):172 - 186 · October 2011
German Chu Shogi Association
/ref> is a commercial
general game playing General game playing (GGP) is the design of artificial intelligence programs to be able to play more than one game successfully. For many games like chess, computers are programmed to play these games using a specially designed algorithm, which ca ...
system developed by Jeff Mallett and Mark Lefler in 1998. The game rules are specified with
S-expression In computer programming, an S-expression (or symbolic expression, abbreviated as sexpr or sexp) is an expression in a like-named notation for nested list (tree-structured) data. S-expressions were invented for and popularized by the programming la ...
s, ''Zillions rule language''. It was designed to handle mostly
abstract strategy Abstract strategy games admit a number of definitions which distinguish these from strategy games in general, mostly involving no or minimal narrative theme, outcomes determined only by player choice (with no randomness), and perfect information. ...
board game Board games are tabletop games that typically use . These pieces are moved or placed on a pre-marked board (playing surface) and often include elements of table, card, role-playing, and miniatures games as well. Many board games feature a comp ...
s or
puzzle A puzzle is a game, Problem solving, problem, or toy that tests a person's ingenuity or knowledge. In a puzzle, the solver is expected to put pieces together (Disentanglement puzzle, or take them apart) in a logical way, in order to arrive at th ...
s."Can Zillions Support This Game?" FAQ
by Zillions Development Corp.
After parsing the rules of the game, the system's
artificial intelligence Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machines, as opposed to intelligence displayed by animals and humans. Example tasks in which this is done include speech re ...
can automatically play one or more players. It treats puzzles as solitaire games and its AI can be used to solve them.


Scripting language

The scripting language of ''Zillions-of-Games'' uses
S-expression In computer programming, an S-expression (or symbolic expression, abbreviated as sexpr or sexp) is an expression in a like-named notation for nested list (tree-structured) data. S-expressions were invented for and popularized by the programming la ...
s. The rules are stored in a text file with the extension ".zrf" (Zillions rules file). The users can create their own ZRF-files and make the AI of ''Zillions-of-Games'' play their newly created game. Here is an example of rules for
Tic-tac-toe Tic-tac-toe (American English), noughts and crosses (Commonwealth English), or Xs and Os (Canadian or Irish English) is a paper-and-pencil game for two players who take turns marking the spaces in a three-by-three grid with ''X'' or ''O''. T ...
(copyright by Zillions Development Inc.) (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) ) ) ) The result of loading of this ZRF into Zillions-of-Games (along with appropriate images) and playing against the computer is shown in screenshot at right. The definition of games usually contains the following pattern: * Game title. One ZRF can contain more than one game and game title allows the user to select a certain game. * Description, history and strategy of the game. This is a text which shown to the user on demand to explain game rules, history and to give general gameplay advice. * Players. This is a list of player names used in the game. For example, for chess it would be ''White'', ''Black''. The player name is used in some further places, for example in initial position or game goal definitions. There could be just one player (e.g. for puzzles), two or more. * Turn order This specifies the order of moves made by the players. In the example above, the player ''X'' starts, the player ''O'' moves and then the whole sequence repeats. The definition of turn-order can be more complex, for example for balanced double-move chess it would be: ''(turn-order White repeat Black Black White White)'', which specifies the following order of moves: White, Black, Black, White, White, Black, Black, White, White, etc. * Board definition. This sections specifies geometry of the playing board, separate positions of the board and connections between them. The board definition in the example above first specifies a bitmap image to be used for the board. A 2-dimensional board is defined using pixel coordinates from the bitmap. The definition ''("top-/middle-/bottom-" (0 112))'' specified notations to be used for rows as well as an offset in pixels between rows. The text notation is used in move list, as well for saving the played game into ".zsg" (Zillions saved game) file. The connections between board position is specified in ''(directions ...)'' statement. The example above defines four directions: n (north) - one step up, e (east) - one step right, nw - diagonally up-left and ne - diagonally up-right. The directions are used in move definitions as well as in game goal definitions. * Piece definition. Defines pieces used in the game, their names, and how they move. In the example above one piece is defined, ''Man'', which can be dropped on any empty position of the board. Two bitmap images for ''X'' and ''O'' players are also specified. * Board setup. Specifies initial position of the game. The example above defines that the board is empty initially and each side has 5 pieces off the board, which can be dropped. * Goal of the game. Condition when one of players wins or when draw occurs. In Tic-Tac-Toe, the win condition (3-in-a-row) is defined as relative piece configurations, using directions n, e, ne, and nw from board definition.


Implemented games

''Zillions of Games'' is so called because of its potential to play a very large number of user-programmed games. The system is shipped with over 300 games and puzzles. These include a lot of popular board games, such as ''
Alquerque Alquerque (also known as Qirkat from ar, القرقات) is a strategy board game that is thought to have originated in the Middle East. It is considered to be the parent of draughts (US: checkers) and Fanorona. History The game first appears ...
'', ''
Fox and geese Fox games are a category of asymmetric board games for two players, where one player is the fox and tries to eat the geese / sheep, and the opposing player directs the geese/sheep and attempts to trap the fox, or reach a destination on the board. ...
'', '' Go'', ''
Gomoku ''Gomoku'', also called ''Five in a Row'', is an abstract strategy board game. It is traditionally played with Go pieces (black and white stones) on a Go board. It is played using a 15×15 board while in the past a 19×19 board was standard. Be ...
'', ''
Jungle A jungle is land covered with dense forest and tangled vegetation, usually in tropical climates. Application of the term has varied greatly during the past recent century. Etymology The word ''jungle'' originates from the Sanskrit word ''jaṅ ...
'', ''
Halma Halma (from the Greek word ἅλμα meaning "jump") is a strategy board game invented in 1883 or 1884 by George Howard Monks, an American thoracic surgeon at Harvard Medical School. His inspiration was the English game ''Hoppity'' which was ...
'', '' Nim'', ''
Nine men's morris Nine men's Morris is a strategy board game for two players dating at least to the Roman Empire. The game is also known as nine-man morris, mill, mills, the mill game, merels, merrills, merelles, marelles, morelles, and ninepenny marl in English. ...
'', ''
Reversi Reversi is a strategy board game for two players, played on an 8×8 uncheckered board. It was invented in 1883. Othello, a variant with a fixed initial setup of the board, was patented in 1971. Basics There are sixty-four identical game pieces ...
'', ''
Tafl Tafl games (pronounced avl also known as hnefatafl games) are a family of ancient Nordic and Celtic strategy board games played on a checkered or latticed gameboard with two armies of uneven numbers. Most probably they are based upon the Rom ...
'' and ''
Tic-tac-toe Tic-tac-toe (American English), noughts and crosses (Commonwealth English), or Xs and Os (Canadian or Irish English) is a paper-and-pencil game for two players who take turns marking the spaces in a three-by-three grid with ''X'' or ''O''. T ...
''. The package includes many
checkers Checkers (American English), also known as draughts (; British English), is a group of strategy board games for two players which involve diagonal moves of uniform game pieces and mandatory captures by jumping over opponent pieces. Checkers ...
variants, for example ''
Russian Russian(s) refers to anything related to Russia, including: *Russians (, ''russkiye''), an ethnic group of the East Slavic peoples, primarily living in Russia and neighboring countries *Rossiyane (), Russian language term for all citizens and peo ...
'' and ''
Turkish Checkers Turkish draughts (Turkish: Dama)(Armenian: շաշկի)(Arabic: دامە)(Kurmanji: دامە) is a variant of draughts (checkers) played in Turkey, Greece, Egypt, Kuwait, Lebanon, Syria, Jordan and several other locations around the Mediterranean Se ...
''. Besides standard FIDE
chess Chess is a board game for two players, called White and Black, each controlling an army of chess pieces in their color, with the objective to checkmate the opponent's king. It is sometimes called international chess or Western chess to disti ...
, ''Zillions of Games'' contains many national chess variants such as
shogi , also known as Japanese chess, is a strategy board game for two players. It is one of the most popular board games in Japan and is in the same family of games as Western chess, ''chaturanga, Xiangqi'', Indian chess, and '' janggi''. ''Shōgi'' ...
,
xiangqi ''Xiangqi'' (; ), also called Chinese chess or elephant chess, is a strategy board game for two players. It is the most popular board game in China. ''Xiangqi'' is in the same family of games as '' shogi'', '' janggi'', Western chess, '' ch ...
,
janggi ''Janggi'' (including romanizations ''changgi'' and ''jangki''), sometimes called Korean chess, is a strategy board game popular on the Korean Peninsula. The game was derived from xiangqi (Chinese chess), and is very similar to it, including th ...
, as well as a number of popular
chess variants A chess variant is a game related to, derived from, or inspired by chess. Such variants can differ from chess in many different ways. "International" or "Western" chess itself is one of a family of games which have related origins and could be co ...
like Ultima, Extinction chess, Losing Chess,
shatranj Shatranj ( ar, شطرنج; fa, شترنج; from Middle Persian ''chatrang'' ) is an old form of chess, as played in the Sasanian Empire. Its origins are in the Indian game of chaturaṅga. Modern chess gradually developed from this game, as i ...
,
Berolina chess Berolina chess is a chess variant using a popular fairy chess piece called the Berolina pawn (also known as ''Berlin pawn'', ''Anti-pawn'', or simply ''Berolina''). The Berolina pawn was invented by Edmund Nebermann in 1926''Funkschach'', August ...
,
Grand Chess Grand Chess is a large-board chess variant invented by Dutch games designer Christian Freeling in 1984. It is played on a 10×10 board, with each side having two additional pawns and two new pieces: the ''marshal'' and the ''cardinal''. * The ...
and others. It also include some puzzles, such as
15-Puzzle The 15 puzzle (also called Gem Puzzle, Boss Puzzle, Game of Fifteen, Mystic Square and many others) is a sliding puzzle having 15 square tiles numbered 1–15 in a frame that is 4 tiles high and 4 tiles wide, leaving one unoccupied tile position ...
,
Towers of Hanoi The Tower of Hanoi (also called The problem of Benares Temple or Tower of Brahma or Lucas' Tower and sometimes pluralized as Towers, or simply pyramid puzzle) is a mathematical game or puzzle consisting of three rods and a number of disks of va ...
,
eight queens The eight queens puzzle is the problem of placing eight chess queens on an 8×8 chessboard so that no two queens threaten each other; thus, a solution requires that no two queens share the same row, column, or diagonal. There are 92 solutions. ...
, and a variety of Solitaires. Not long after it came to market in late 1998, users of ''Zillions of Games'' began to program new games and puzzles for it, creating many of them themselves. Two large collections of Zillions Rules Files (ZRFs) soon began to appear. One was at the ''Zillions-of-Games'' website, and the other was at the ''Chess Variant Pages'' website. The former collected together every kind of ZRF, whereas the latter focused on ZRFs for
chess variant A chess variant is a game related to, derived from, or inspired by chess. Such variants can differ from chess in many different ways. "International" or "Western" chess itself is one of a family of games which have related origins and could be co ...
s. As of November 2017, the ZILLIONS interface had 2,577 ZRF's, created by 462 ZRF authors, and the Chess Variant Pages collection had 794 ZRF's of chess variants. The games programmed by the users include such games as 4D Tic-Tac-Toe, FreeCell,
Rubik's Cube The Rubik's Cube is a Three-dimensional space, 3-D combination puzzle originally invented in 1974 by Hungarians, Hungarian sculptor and professor of architecture Ernő Rubik. Originally called the Magic Cube, the puzzle was licensed by Rubik t ...
,
Teeko Teeko is an abstract strategy game invented by John Scarne in 1937 and rereleased in refined form in 1952 and again in the 1960s. Teeko was marketed by Scarne's company, John Scarne Games Inc.; its quirky name, he said, borrowed letters from Tic-t ...
,
Mancala The mancala games are a family of two-player turn-based strategy board games played with small stones, beans, or seeds and rows of holes or pits in the earth, a board or other playing surface. The objective is usually to capture all or some ...
,
Alice Chess Alice chess is a chess variant invented in 1953 by V. R. Parton which employs two chessboards rather than one, and a slight (but significant) alteration to the standard rules of chess. The game is named after the main character "Alice" in Lewis C ...
,
Chess960 Fischer random chess, also known as Chess960 (often read in this context as 'chess nine-sixty' instead of 'chess nine hundred sixty'), is a variation of the game of chess invented by the former world chess champion Bobby Fischer. Fischer announ ...
,
Hexagonal chess Hexagonal chess is a group of chess variants played on boards composed of hexagon . The best known is Gliński's variant, played on a symmetric 91-cell hexagonal board. Since each hexagonal cell not on a board edge has six neighbor cells, there ...
, Star Trek Tridimensional Chess and
Sokoban is a puzzle video game in which the player pushes boxes around in a warehouse, trying to get them to storage locations. The game was designed in 1981 by Hiroyuki Imabayashi, and first published in December 1982. Gameplay The game is played on a ...
. Besides various games and puzzles, there are also educational ZRFs, such as the
cellular automata A cellular automaton (pl. cellular automata, abbrev. CA) is a discrete model of computation studied in automata theory. Cellular automata are also called cellular spaces, tessellation automata, homogeneous structures, cellular structures, tessel ...
Game of Life, a calculator, and some
Turing machine A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer algori ...
simulations.


Uses

''Zillions of Games'' can be used for the following: *Playing any of the games or puzzles that come with it. *Playing any of the free games and puzzles that have been programmed for it by users. *Playing games with remote users through the internet or a dialup connection. *Playing games by emailing ZSG files back and forth. *Programming it to play new games and puzzles. *Using it as a development tool for the creation of new games and puzzles. *Testing new games for drawishness and other qualities by having Zillions play them against itself. *Solving puzzles or making sure that newly created puzzles can be solved. *Creating diagrams that can be cut out of screen captures.


Capabilities

Zillions represents boards and pieces with bitmap images; these can be remapped by the user. The boards may be arbitrary directed graphs, but standard grid-like boards are easier to produce and have built-in support for detecting
collinear In geometry, collinearity of a set of points is the property of their lying on a single line. A set of points with this property is said to be collinear (sometimes spelled as colinear). In greater generality, the term has been used for aligned ...
ity. The available win, loss, and draw conditions include checkmate, stalemate, repetition, piece capture, absolute configuration, relative configuration, and various types of piece count. These allow the creation of a variety of different games and puzzles. Besides defining how pieces move, ''Zillions'' can define how pieces may be dropped. This is for introducing new pieces into a game. It is not useful for shogi, which "drops" captured pieces stored on the sides of the board. It is for games like Go, Reversi, and Tic-Tac-Toe, which routinely allow users to add new pieces to the board. As with piece movement, this is defined algorithmically, and it can be something as simple as letting a new piece drop only on an empty space or follow more complex rules. Since version 2.0, Zillions has had the additional ability to enforce maximal capturing rules (used in some versions of
Checkers Checkers (American English), also known as draughts (; British English), is a group of strategy board games for two players which involve diagonal moves of uniform game pieces and mandatory captures by jumping over opponent pieces. Checkers ...
) and a full-featured Go-playing engine. Zillions includes a "random player" which selects from its available moves at random; this can be used to simulate dice in
race game Race game is a large category of board games, in which the object is to be the first to move all one's pieces to the end of a track. This is both the earliest type of board game known, with implements and representations dating back to at least t ...
s and
Backgammon Backgammon is a two-player board game played with counters and dice on tables boards. It is the most widespread Western member of the large family of tables games, whose ancestors date back nearly 5,000 years to the regions of Mesopotamia and Pe ...
relatives. The standard AI engine can, if need be, be replaced with user-created engines. These engines can then use
opening book A chess opening book is a book on chess openings. This is by far the most common type of literature on chess. These books describe many major lines, like the Sicilian Defence, Ruy Lopez, and Queen's Gambit, as well many minor variations of the ma ...
s or other features unavailable to the standard AI.


Limitations

Despite its versatility, ''Zillions of Games'' has a number of non-trivial limitations: * Zillions Of Games is designed to play
perfect information In economics, perfect information (sometimes referred to as "no hidden information") is a feature of perfect competition. With perfect information in a market, all consumers and producers have complete and instantaneous knowledge of all market pr ...
games exclusively. This renders it of little or no use in ''fairly'' playing imperfect or hidden information games against the AI, such as card games or board games with hidden piece values like
Stratego ''Stratego'' ( ) is a strategy board game for two players on a board of 10×10 squares. Each player controls 40 pieces representing individual officer and soldier ranks in an army. The pieces have Napoleonic insignia. The objective of the game ...
. Instead, the program will automatically use all information available to itself, including the cards in the deck and the cards in the hands of all other players. The games may still be played by human players, although there is no support for revealing information selectively to only one player. * Its programming language lacks support for arithmetic, for functions, and for variables beyond some boolean flags. * The engine does not have built-in support for connection-based goals such as in Hex; thus these goals must be implemented by hand. * There is also no support for having multiple pieces per location, or for pieces covering multiple locations at once. Thus, complicated workarounds are required for games that need these features, such as
Mancala The mancala games are a family of two-player turn-based strategy board games played with small stones, beans, or seeds and rows of holes or pits in the earth, a board or other playing surface. The objective is usually to capture all or some ...
,
Laska Lasca (also called Laska or Laskers) is a draughts (or checkers) variant, invented by the second World Chess Champion Emanuel Lasker (1868–1941). Lasca is derived from English draughts (American checkers) and the Russian draughts game bashni (T ...
or
Quoridor ''Quoridor'' is a 2 or 4-player intuitive strategy game designed by Mirko Marchesi and published by Gigamic Games. Quoridor received the '' Mensa Mind Game'' award in 1997 and the ''Game Of The Year'' in the United States, France, Canada and Belg ...
. * Like most AI game playing programs, the default engine plays poorly in games with large branching factors, such as
shogi , also known as Japanese chess, is a strategy board game for two players. It is one of the most popular board games in Japan and is in the same family of games as Western chess, ''chaturanga, Xiangqi'', Indian chess, and '' janggi''. ''Shōgi'' ...
. * In some vital respects, the program is too restrictive in what it allows. ** Although it can recognize repetition, the only kind it can recognize is
threefold repetition In chess, the threefold repetition rule states that a player may claim a draw if the same position occurs three times during the game. The rule is also known as repetition of position and, in the USCF rules, as triple occurrence of position.Article ...
. ** Although it can check for various win, loss and draw conditions at the end of a move, it cannot check for any of them when evaluating possible moves for a piece. Consequently, in shogi, for example, it cannot be programmed to always accurately enforce the rule against checkmating a King with a Pawn drop. ** Many multi-person chess variants cannot be played because it will immediately stop the game when the first player is checkmated or
stalemate Stalemate is a situation in the game of chess where the player whose turn it is to move is not in check and has no legal move. Stalemate results in a draw. During the endgame, stalemate is a resource that can enable the player with the inferior ...
d. * In some cases, the quality of gameplay is compromised due to the AI automatically calculating piece values inaccurately with no option available for manually overriding it with accurate piece values. Many of these limitations can be bypassed using extensions such as Axiom Development Kit.


References


External links

*
A review of Zillions of Games
by Hans Bodlaender {{DEFAULTSORT:Zillions Of Games Chess software Multiple-game video board games Video game engines Video game development software