[Diamond Game]

Zillions of Games (ZoG) のすすめ

Visit Zillions of Games

INTRODUCTION

Zillions of Gamesは、アブストラクトゲーム、ボードゲームなどのメタ・ゲームエンジンです。制作は、Jeff Mallett と Mark Lefler です。1998年の終わりに発表され、現在の最新バージョンは2.01pです。

ゲームを利用者自身が開発することもできますが、いわゆる「ツクール」系のツールのように統合型の開発環境はなく、エディタを使ってプログラムを作り挙げることになります。

はじめから、40本あまりのゲームがインストールされていますが、 ZoGのオフィシャルサイトThe Chess Variantsなど、多くのサイトからフリーのゲームを1,000本以上ダウンロードできます。 チェスやアブストラクトゲームの研究サイト, ファンサイトでは世界的な標準ゲームエンジンといえるポピュラーなソフトウェアです。

当館でも、オリジナルゲームをZillionsプログラムとして配布しております。

HOW TO GET THE SOFTWARE

オフィシャルサイトから、Demo版をダウンロードできます。Demo版が気に入れば、同サイトから$24.98でライセンスを取得して、フルバージョンにすることができます。 CDパッケージを注文できますが、日本からだとダウンロードしてライセンス取得するのが便利です。

HOW TO CREATE GAMES

ZoGは、配布されているゲームで遊んだり、リアルゲームを購入前にゲームを評価するだけでも十分楽しめます。

自作のゲームを作ると、よりZoGの価値が上がります。館長も、RinneTenseiやFlipFlopなどのゲーム製作において、ゲームの不備やおもしろさを向上させるためのモニタ環境として、ZoGのプログラムを書いて、ルールやボード・ピースの配置、強さを調整して仕上げました。人相手で、こうしたゲームを調整するのは大変ですが、ZoGなら簡単ですし、人には見つけられないようなルール上の不備が顕著になります。

さて、ゲームの開発は、専用のLISP-likeな言語(Zillions Rules File)を使っておこないます。すでにあるアートワークだけですむゲームなら、エディタがあれば、他になにもいりません。独自のボード背景や、駒のアートワークが必要なら、別途用意しましょう。

Data-Orientedなスクリプト言語で、 プログラマは宣言的にゲームルール(Board, Piece', 勝利条件など) を記述するだけで、コンピュータはゲームを矛盾なくゲームをプレーし、 ネットワーク越しにZoGを持っている別の人と対戦することができます。

Zillions Rules File (ZRF)

ZRFの記述について、詳しくはプログラム中のドキュメントファイルや、オフィシャルサイトからの情報に譲りますが、 ZRFプログラムを作成してみた経験から、言語とエンジンの特色について少しだけコメントしておきます。

ZRFは、言語と書きましたがC言語などのプログラミング言語のような自由度はありません。 基本は、ゲームエンジンの機能を呼び出すための仕組みと、マクロ定義ができるだけだと考えるとよいでしょう。 変数の定義や演算機能は乏しく、強い制限があります。

ZRF中でできることは、ざっと以下のようなことです。

  • Boardの定義 (どんな大きさ、形、つながり方)
  • Pieceの定義 (駒の働き、名称など)
  • Playerの定義 (一人、二人に限らず、何人も定義することができます。)
    • 特殊な機能としてRandomに選択するPlayerを定義できる -- Random関数がないので、サイコロすらふることができません。Random Playerに手番を与え、合法手をRandomに選択させることでRandomを実現できます。
  • Description, History, Helpなどの記述
  • 予約機能
  • マクロの定義
  • whileによる繰り返し
  • flagの操作
  • flagや内部状態でのif判定

変数を持ったり、演算したり、クラスを定義したりは... [sad]...

というと、プログラミングを積極的にやろうと考えている人は、「なーんだ」と思うかもしれません。でも、一度ゲーム*1をZRFで記述してみてください。簡単なルールの定義だけで、それなり対戦相手ができあがるのは驚きですよ。 [bigsmile]

ZRFが向いているのは、Chessやその派生型ゲームで、逆に向かないのは数を数える必要のある囲碁などのゲームです。数を数えるなど、いわゆる変数や演算能力が必要なプログラミング技術は、マクロやZRFで定義できるflagを駆使しないと実現できません。また、3Dのゲームは容易にボード表現やピースの定義ができますが、2Dゲームに比べて表示やインターフェースのデザインに窮することになりがちです。

ZoGをインストールすると、導入されているゲームに苦手なはずの「囲碁」が入っています。実は、はじめから囲碁用のPlug-inエンジンを組み込んであり、地を数える等の問題を解決しています。

ZRF表記だけでは苦手なゲームでも、囲碁と同様にPlug-inをC言語等で記述すれば、克服できます。ZoGのオフィシャルサイトでは、ZRFでのプログラミングのための資料以外にも、Plug-in開発のための資料や、Plug-inのサンプルソースも公開しています。 そういったZoGのサイトでも配布している、AxiomというZoG上の開発実行環境は、専用のPlug-inによってFoth-likeな独自のゲーム記述言語を提供しています。Axiom Scriptは、ZRFの苦手な陣取りConnectionゲームを記述することが容易です。

AIも同様にC言語などを使って開発したengineをPlug-inとして追加し、特殊なゲームへの対応や能力の強化ができるようになっています。標準の組み込みAI engineに加えて、標準のパッケージで、Reversi, 囲碁, 二抜き連珠のPlug-inが提供されています。

ZRFでゲームを定義すると、同種のゲーム(Variant)の定義を、ZRFの継承機能を使うことで簡単にできます。オリジナルの配布ゲームでも、一つのゲームファイルに、たくさんの派生が含まれています。(将棋, Mini将棋など)

専用ゲームコンピューター

Chessコンピューター

com_chess1.jpg

Chessの専用マシンをご存知でしょうか。日本でも、お店で取りあつかっているところがあります。 コンピュータと対戦するソフトを内臓した専用のコンピューターです。 本格的な木調のボードとピースからポータブルな小型のものまでいろいろな種類があります。米国内だと、$20〜$500ぐらいで入手できます。 レベルの設定が細かくできるようになっています。

だいたいの物は、乾電池やボタン電池などのバッテリーで動く仕様になっています。CPUには組み込みようの小型省電力のものを用いています。 メモリ容量もROM, RAMとも数KB〜数十KB、CPUのクロックも数十MHzですので、汎用のPCに比べるとスペック上は非力に感じるかもしれません。

しかし、Ratingでは、デスクトップタイプのもので1,800〜2,500ぐらいなので、ちょっと腕に覚えのある人でもかなりいい勝負になると思います。

近年のPCソフト*2は、コーチングの機能や棋譜の検索などとても充実した機能があって、トレーニングにはとてもよいのですが、実物のピースを使って対戦するのは一味違います。ポータブルタイプの物だと、移動中や旅先でもゲームができることも吉です。

複合ゲーム・コンピューター

com_games1.jpg

写真は、日本のメーカーから発売されている、ゲームマシンです。Chessだけでなく、Checker, Reversi, nim, Four-in-a-Row, Grass hopper の6種類のゲームが遊べる優れものです。 いろいろと機能が入っている分、同程度の価格帯の専用Chessコンピューター(同時期に発売されている)と比べると、Chessの実力は少し犠牲になっているかもしれません。 [wink]

シャンチー・コンピューター

com_xiangqi1.jpg

こちらの写真は、シャンチーのコンピューターです。しかもポータブル!! 上の抽出しの部分に駒を収納できます。 シャンチーもChessと同様に強いソフトウェアの研究が進んでいます。こちらのマシンも十分に*3強いようです。

Chessとシャンチーは、その競技人口*4からも市場の大きさが推測できます。 こういった、専用のコンピュータやデバイスの市場もあるのだと思います。残念ながら、将棋はソフトウェアこそありますが、専用のコンピューターを見たことがありません。市場規模から採算を取りにくいこともあるかもしれませんが、将棋ソフトの開発はChessやシャンチーよりも複雑で、人との対戦で低いリソースのシステムに載せて、十分な強さを実現する困難を克服しないといけません。

ポータブルChessコンピューター

com_chess_mini1.jpg




ポータブルなチェスコンピューターは、旅先で人相手にプレーする時も便利です。 駒や盤面を液晶に表示するものも発売されていますが、小さい駒を使ってプレーするものがおすすめです。その際、白番、黒番どちらもプレーしやすい形状のものがよいと思います。黒でプレーすると蓋が邪魔になったり、ボタンが押しにくいものはちょっとがっかりします。

com_chess_mini2.jpg


これらの専用マシンを選ぶときには、多くの機能がある物より、思考時間が強いレベルでも待てる程度に短いものがよいでしょう。人と対戦しているときに相手の手を待つのは、相手の感情を推し量ったり番外戦術もあったりといいのですが、コンピューター相手に待たされるのは愉快ではありません [sad]。高速なマシンは、どうしても高価なものになりがちですが、それなりの価値があります。また、ポータブルシステムは、電源の制約もありあまり高速なものはありませんので、覚悟しましょう [huh]

Chessデバイス

com_chess_pc1.jpg

専用Chessマシンの中にも、高級なシステムはPCと接続して、PCにインストールしてあるソフトと連携したり、対戦結果をPCに送信してセーブしたり印刷したりできるものがあります。写真は、チェスコンピューターではないのですが、PCに接続して使うチェスボードです。ボードにはコンピューターが入っていないので、PC上のソフトを使って対戦します。また、人と対戦する時に使うとChess Clockの機能を活用したり、棋譜を自動で記録してくれるなど便利です。

com_chess_pc2.jpg

SEE ALSO

Feedback

選択肢 投票
おもしろい 4  
役に立つ 1  
興味ない 0  
理解できない 0  
やってみたい 0  
食べてみたい 0  

*1 ZRFが得意とするものが良いでしょう
*2 PCソフトは、近年ハイエンドPCに十分なメモリを搭載した状態で、Raiting 2,600〜3,000ぐらいですから、ほとんどの人は勝てません
*3 あまりシャンチーは強くない館長よりも
*4 どちらも5億人ほどといわれています。

TOP   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS   [Privacy Policy]  
Last-modified: 2016-11-15 (火) 19:00:32 (310d)