| 開発者 | ジリオンズ開発株式会社 |
|---|---|
| 安定版リリース | 2.0.1 / 2003 |
| オペレーティング·システム | マイクロソフトウィンドウズ |
| タイプ | 一般的なゲームプレイ |
| Webサイト | ゲーム |
Zillions of Games [1] [2]は、 1998年にジェフ・マレットとマーク・レフラーによって開発された商用の汎用ゲームプレイシステムです。 [3]ゲームのルールは、Zillionsルール言語であるS式で指定されます。主に抽象的な戦略 ボードゲームやパズルを処理するように設計されています。[4]ゲームのルールを解析した後、システムの人工知能は1人以上のプレイヤーと自動的に対戦できます。パズルはソリティアゲームとして扱われ、AIを使用して解くことができます。
スクリプト言語
Zillions-of-Gamesのスクリプト言語はS 式を使用します。ルールは拡張子が「.zrf」のテキスト ファイル (Zillions ルール ファイル) に保存されます。ユーザーは独自の ZRF ファイルを作成し、Zillions-of-Gamesの AI に新しく作成したゲームをプレイさせることができます。ゲームの定義には通常、次のパターンが含まれます: [5]
- ゲームタイトル。1 つの ZRF には複数のゲームを含めることができ、ゲームタイトルを使用すると、ユーザーは特定のゲームを選択できます。
- ゲームの説明、歴史、戦略。これは、ゲームのルールや歴史を説明し、一般的なゲームプレイのアドバイスを提供するために、ユーザーの要求に応じて表示されるテキストです。
- プレイヤー。これはゲーム内で使用されるプレイヤー名のリストです。たとえば、チェスの場合はWhite、Blackになります。プレイヤー名は、初期位置やゲーム目標の定義など、さらにいくつかの場所で使用されます。プレイヤーは 1 人だけの場合 (パズルなど) もあれば、2 人以上の場合もあります。
- ターン順序これは、プレイヤーが行う移動の順序を指定します。上記の例では、プレイヤーX が開始し、プレイヤーOが移動し、その後、シーケンス全体が繰り返されます。ターン順序の定義はより複雑になる場合があります。たとえば、バランスの取れた 2 移動チェスの場合は、次のようになります: (ターン順序 白 繰り返し 黒 黒 白 白)。これは、白、黒、黒、白、白、黒、黒、白、白、白、など、次の移動順序を指定します。

- ボードの定義。このセクションでは、プレイボードのジオメトリ、ボードの個別の位置、およびそれらの間の接続を指定します。上記の例のボード定義では、まずボードに使用するビットマップ イメージを指定します。2 次元のボードは、ビットマップのピクセル座標を使用して定義されます。定義("top-/middle-/bottom-" (0 112)) では、行に使用する表記法と、行間のオフセット (ピクセル単位)を指定します。テキスト表記法は、移動リストで使用されるほか、プレイしたゲームを ".zsg" (Zillions 保存ゲーム) ファイルに保存するときにも使用されます。ボードの位置間の接続は、(directions ...) ステートメントで指定します。上記の例では、4 つの方向が定義されています。n (北) - 1 ステップ上、e (東) - 1 ステップ右、nw - 斜め上左、ne - 斜め上右です。方向は、移動定義とゲーム目標定義で使用されます。
- ピースの定義。ゲームで使用するピース、その名前、および移動方法を定義します。上記の例では、ボード上の任意の空いている位置にドロップできる 1 つのピース Man が定義されています。X および O プレーヤー用の 2 つのビットマップ イメージも指定されています。
- ボードのセットアップ。ゲームの初期位置を指定します。上記の例では、最初はボードが空で、各サイドにボード外にドロップできる 5 つのピースがあることを定義しています。
- ゲームの目標。プレイヤーの 1 人が勝利するか、引き分けになる条件。三目並べでは、勝利条件 (3 連続) は、ボード定義の方向n、e、ne、およびnwを使用して、相対的なピース構成として定義されます。
実装されたゲーム
Zillions of Games は、ユーザーがプログラムした多数のゲームをプレイできるため、このように呼ばれています。システムには、300 を超えるゲームとパズルが付属しています。これらには、Alquerque、Fox and geese、Go、Gomoku、Jungle、Halma、Nim、 Nine men's morris、Reversi、Tafl、Tic-tac-toeなどの人気のボード ゲームが多数含まれています。パッケージには、ロシアチェッカーやトルコ チェッカーなど、多くのチェスのバリエーションが含まれています。標準的な FIDEチェスの他に、Zillions of Gamesには、 shogi、xiangqi、janggiなどの多くの国のチェスのバリエーションや、 Ultima、Extinction chess、Losing Chess、shatranj、Berolina chess、Grand Chessなどの人気のチェスのバリエーションが多数含まれています。また、 15 パズル、ハノイの塔、8 つのクイーン、さまざまなソリティアなどのパズルも含まれています。
1998年後半に市場に登場して間もなく、Zillions of Gamesのユーザーは新しいゲームやパズルをプログラムし始め、その多くを自分たちで作成しました。すぐに、Zillions Rules Files (ZRF) の2つの大きなコレクションが登場し始めました。1つはZillions -of-GamesのWebサイトで、もう1つはChess Variant PagesのWebサイトでした。[6]前者はあらゆる種類のZRFをまとめて収集しましたが、後者はチェスのバリアントのZRFに焦点を当てていました。2017年11月現在、ZILLIONSインターフェースには462人のZRF作成者によって作成された2,577のZRFがあり、[7] Chess Variant PagesコレクションにはチェスのバリアントのZRFが794ありました。
ユーザーがプログラムしたゲームには、4D 三目並べ、フリーセル、ルービックキューブ、ティーコ、マンカラ、アリスチェス、チェス960、六角形チェス、スタートレック三次元チェス、倉庫番などがあります。さまざまなゲームやパズルのほかに、セルオートマトン ゲームオブライフ、電卓、チューリングマシンシミュレーション などの教育用 ZRF もあります。
用途
Zillions of Games は、次の目的で使用できます。
- 付属のゲームやパズルをプレイします。
- ユーザーがプログラムした無料のゲームやパズルをプレイします。
- インターネットまたはダイヤルアップ接続を介してリモート ユーザーとゲームをプレイします。
- ZSG ファイルを電子メールでやり取りしながらゲームをプレイします。
- 新しいゲームやパズルをプレイできるようにプログラミングします。
- 新しいゲームやパズルを作成するための開発ツールとして使用します。
- Zillions に新しいゲームを自分自身と対戦させることで、引き分け傾向やその他の特性をテストします。
- パズルを解くか、新しく作成されたパズルが解けるかどうかを確認します。
- スクリーンキャプチャから切り取ることができる図を作成します。
機能
Zillions は、ボードとピースをビットマップ画像で表現します。これらはユーザーが再マップできます。ボードは任意の有向グラフにすることができますが、標準のグリッドのようなボードの方が作成しやすく、共線性を検出するためのサポートが組み込まれています。利用可能な勝ち、負け、引き分けの条件には、チェックメイト、ステイルメイト、繰り返し、ピースのキャプチャ、絶対配置、相対配置、およびさまざまな種類のピース数があります。これらにより、さまざまなゲームやパズルを作成できます。
ピースの動きを定義するだけでなく、Zillions ではピースをドロップする方法も定義できます。これは、ゲームに新しいピースを導入するためのものです。これは、ボードの横に保管された捕獲されたピースを「ドロップ」する将棋には役立ちません。これは、ユーザーがボードに新しいピースを定期的に追加できる囲碁、リバーシ、三目並べなどのゲームに適しています。ピースの動きと同様に、これはアルゴリズムで定義され、新しいピースを空きスペースにのみドロップするなどの単純なものから、より複雑なルールに従うものまであります。
バージョン 2.0 以降、Zillions には、最大キャプチャ ルール ( Checkersの一部のバージョンで使用) を適用する追加機能と、フル機能の囲碁プレイ エンジンが搭載されています。
Zillions には、利用可能な動きをランダムに選択する「ランダム プレーヤー」が含まれています。これは、レース ゲームやバックギャモンの類似ゲームでサイコロをシミュレートするために使用できます。[4]
標準AIエンジンは、必要に応じてユーザーが作成したエンジンに置き換えることができます。これらのエンジンは、標準AIでは利用できないオープニングブックやその他の機能を使用できます。 [8]
制限事項
多用途であるにもかかわらず、Zillions of Games にはいくつかの重要な制限があります。
- Zillions Of Gamesは完全情報ゲームのみをプレイするように設計されています。そのため、カードゲームやStrategoのような隠れた駒の値を持つボードゲームなど、AIに対して不完全情報や隠れた情報ゲームを公平にプレイするのにはほとんど役立ちません。代わりに、プログラムはデッキ内のカードや他のすべてのプレーヤーの手札を含む利用可能なすべての情報を自動的に使用します。ゲームは人間のプレーヤーによってプレイされる可能性がありますが、1人のプレーヤーだけに選択的に情報を公開する機能はサポートされていません。[4]
- そのプログラミング言語は、算術、関数、およびいくつかのブールフラグ以外の変数をサポートしていません。[4]
- このエンジンにはHexのような接続ベースのゴールに対するサポートが組み込まれていないため、これらのゴールは手動で実装する必要があります。[4]
- また、1つの場所に複数のピースを配置したり、複数の場所を一度にカバーするピースもサポートされていません。そのため、マンカラ、ラスカ、クオリドールなど、これらの機能を必要とするゲームでは複雑な回避策が必要になります。[4]
- ほとんどのAIゲームプレイプログラムと同様に、デフォルトのエンジンは将棋のような大きな分岐要素を持つゲームではうまく機能しません。[4]
- いくつかの重要な点において、このプログラムは許可するものを制限しすぎています。
- 繰り返しは認識できますが、認識できるのは3 回の繰り返しのみです。
- 手番の終わりに勝ち、負け、引き分けのさまざまな条件をチェックすることはできますが、駒の可能な手番を評価するときにそれらの条件をまったくチェックすることはできません。その結果、たとえば将棋では、ポーンを落としてキングをチェックメイトしないというルールを常に正確に適用するようにプログラムすることはできません。
- 多くの複数人チェスのバリエーションは、最初のプレイヤーがチェックメイトまたはステイルメートになるとすぐにゲームが停止するため、プレイできません。
- 場合によっては、AI がピースの値を自動的に不正確に計算し、それを手動で正確なピースの値に上書きするオプションがないため、ゲームプレイの品質が損なわれることがあります。
これらの制限の多くは、Axiom Development Kitなどの拡張機能を使用することで回避できます。[9]
参考文献
- ^ 検索ベースの手続き型コンテンツ生成: 分類と調査、Julian Togelius、Georgios N. Yannakakis、Kenneth O. Stanley、Cameron Browne、IEEE Transactions on Computational Intelligence and AI in Games 3(3):172 - 186 · 2011年10月doi :10.1109/TCIAIG.2011.2148116
- ^ ドイツ中将棋協会
- ^ David NL Levy (2006). Robots unlimited . AK Peters, Ltd. ISBN 1-56881-239-6。
- ^ abcdefg 「Zillions はこのゲームをサポートできますか?」Zillions Development Corp. による FAQ
- ^ Zillions-of-Gamesスクリプト言語の完全な仕様については、 Zillionsインストールに含まれる『Zillions Language Reference』を参照してください。
- ^ Zillions of Games - The Chess Variant Pages は、Zillions of Gamesのチェスのバリエーションのコレクションです。
- ^ Zillions-of-Games の無料アドオンゲーム
- ^ Zillions の機能、バージョン 2.0 で追加された機能
- ^ Greg Schmidt (2016年4月16日). 「Axiom Development Kit」 . 2016年8月4日閲覧。
外部リンク
- 公式サイト
- ハンス・ボドランダー著『Zillions of Games』のレビュー
