= ゲームデータの作り方
このページでは、自力でゲームデータを作る方法を説明します。
== はじめに
!GameRandomizerのゲームデータは XML (extensible markup language) ファイル
で構成されます。
XMLデータはテキストなので、ファイルはテキストエディターを使えば編集できます。
XMLファイルはゲーム毎に、複数個のファイル ― '!__game.xml' (先頭は '_' 2つ)
および1個以上の拡張セットファイル ― を用意する必要があります。
XMLファイルはすべてUTF-8で記述して下さい。
== '!__game.xml' ファイル
'!__game.xml' では、ゲームの基本的な情報を定義します。
以下は、'!__game.xml' の記述例です。
{{{
<?xml version="1.0" encoding="UTF-8"?>
<game id="dominion"
revision="1" format_version="1" language="ja" country="">
<game_title>ドミニオン</game_title>
<selection_size>10</selection_size>
</game>
}}}
行の先頭の空白文字は、省略可能です。
2行目は次のように書くこともできます。
{{{
<game id="dominion"
revision="1" format_version="1" language="en" country="">
}}}
空白文字が許されている箇所では、改行文字を挿入することもできます。
{{{
<game id="dominion"
revision="1"
format_version="1"
language="en"
country="">
}}}
'__game.xml' ファイルの1行目は、XML宣言でなくてはなりません。
以下の行をそのまま書いて下さい。
{{{
<?xml version="1.0" encoding="UTF-8"?>
}}}
ファイルの残り部分は、<game>...</game> ブロックになっています。
開始タグ <game> はいくつかの属性 (アトリビュート) を持っています。
{{{
<game id="dominion"
revision="1" format_version="1" language="en" country="">
}}}
以下に、属性を簡単なまとめを載せます。
||'''属性'''||'''説明'''||
||id||ゲームのID||
||revision||XMLの改版番号||
||format_version||XMLファイルの形式バージョン||
||language||言語コード||
||country||国コード||
'id' 属性の値は、すべてのゲームで固有のものでなければなりません。
'revision' 属性は省略しても構いません。
!GameRandomizerはこの属性を無視しますが、ゲームデータを管理する
ために、この属性には適切な値を入れておくべきです。
始めは '1' とし、更新する度に一つずつ上げていって下さい。
'language' と 'country' 属性は、ゲームデータが指定した言語、指定した
国向けに記述されたものであることを表します。
!GameRandomizerは、Android deviceの言語・国の設定に適合したゲームデータ
だけを読み込みます。
(「設定」→「言語と入力」で、言語・国の設定を変更することができます。)
'language' の値は、ISO 639-1 言語コードの2文字形式を小文字で記述したもので
なければなりません。
この例で使用している言語コード 'ja' は日本語を意味します。
言語コードの一覧は、次の場所で参照できます。
* [http://www.loc.gov/standards/iso639-2/php/code_list.php]
'country' の値は、ISO 3166-1 言語/地域コードを大文字で表したものでなければ
なりません。
国/地域コードの一覧は、以下の場所で参照できます。
* [http://www.iso.org/iso/iso-3166-1_decoding_table]
'language' と異なり、'country' は空 ("") でも構いません。
多くのケースで、'country' にセットする値で最も適しているのは、空です。
もし、中国語 (zh) のゲームデータを作るなら、'country' に 'CN' (中国 = 簡体中文)
もしくは 'TW' (台湾 = 繁体中文) をセットして下さい。
ゲームの基本情報は、<game>...</game> ブロックの中に記述します。
{{{
<game_title>Dominion</game_title>
<selection_size>10</selection_size>
}}}
<game_title>...</game_title> には、ゲームのタイトルを記します。
<selection_size>...</selection_size> には、!GameRandomizerが何種類のカード
を無作為に選ぶのかを記述して下さい。
値は0より大きな整数でなければなりません。