# 準備をしよう

まず、吉里吉里 SDK のフォルダ ( `krkr.eXe` のあるところ ) の下に、プロジェクト名をつけたフォルダを作りましょう。プロジェクト名は何でもいいです。ただし、"`data`" というフォルダ名は避けてください ( `data` というフォルダ名にするのは必要に応じて配布する時にそうします )。このフォルダをプロジェクトフォルダと呼びます。
そうしたら、そのフォルダの下に、KAG のシステムをコピーします。`template` というフォルダが、ダウンロードした KAG の LZH ファイルを展開するとあるはずです。その中身( `template` フォルダごとではなくて ) をこのプロジェクトフォルダにコピーします。
配置は以下のようになります。
ファイルをコピーした
そうしたら、`system` フォルダの中に `Config.~new` というファイルがありますので、それを `Config.tjs` に改名してください。それから、テキストエディタで `Config.tjs` を開いてください。
`Config.tjs` はそのほかにもいろいろと設定する箇所があって、後々いじる事になると思います。詳しい説明は `Config.tjs` 内に書いてありますのでそちらを参照してください。
なお、コピーしたフォルダの中に「～このファイルは削除してかまいません～」というファイルがある場合がありますが、これはアーカイブ展開ソフトが、空のフォルダを展開しない場合があるために置いてあるダミーのファイルです。削除してかまいません ( そのままにしておいても特に問題はありません )。
Note
KAG のアップデートをする場合は、基本的には、新しい KAG の `system` フォルダの中身を、既存の `system` フォルダに上書きするだけで OK です。新しくした後の初回の実行で自動的に古い `Config.tjs` の引継が行われますので、画面の指示に従ってください。

# フォルダの説明

コピーすると、いくつかのフォルダも一緒にコピーされます。各フォルダの説明をします。
これらのフォルダの通りにしなくても本当はいいのですが、フォルダの配置を換える場合は `Initialise.tjs` の内容も変更しなければならない場合があります。詳しくは `Initialise.tjs` の内容をご覧ください ( .tjs ファイルはテキストファイルですので、テキストエディタで開きます )。
なお、これらのフォルダのどこに何を入れても、KAG のファイル指定ではフォルダ名を指定する必要はありません。別に `bgimage` フォルダに MIDI ファイルが入っていてもかまわないです。ただ、便宜上、あらかじめフォルダが作ってあるだけですので`(^^)`
これらのフォルダは空のままでも問題はありません。必要のないフォルダは削除しても OK です。

system フォルダ
  `system` フォルダには KAG の動作に必要なシステムが入っています。
scenario フォルダ
  `scenario` フォルダには、シナリオファイルを入れます。シナリオファイルは、KAG で画面に表示する文章を指定したり、どの画像を表示するかなどの指示をタグを使って埋め込んだ、拡張子が .ks のファイルです。
  ちなみに吉里吉里を立ち上げたときに指定するのは「プロジェクトフォルダ」であって個々のシナリオファイルではありません。
bgimage フォルダ
  表示する背景画像を入れておくフォルダです。
fgimage フォルダ
  表示する前景画像 (キャラの立ちポーズなど) を入れておくフォルダです。
image フォルダ
  その他の画像 (たとえば一枚絵) などを入れておくフォルダです。
bgm フォルダ
  BGM (バックグラウンドミュージック)のデータを入れておくフォルダです。
sound フォルダ
  効果音のデータを入れておくフォルダです。
rule フォルダ
  ユニバーサルトランジションのルール画像を入れておくフォルダです。
others フォルダ
  その他。
video フォルダ
  動画ファイルを置いておきます。

# 扱える画像形式

KAG ( というか吉里吉里 ) で扱える画像形式は以下の通りです。
画像形式について もご覧ください。

BMP 画像
  拡張子は .bmp または .dib です。吉里吉里では、無圧縮の BMP のみサポートしています。
  32bit (32bpp) の BMP はアルファチャネル付きビットマップとして見なされます。
JPEG 画像
  拡張子は .jpeg または .jpg です。様々なグラフィックツールの出力する JPEG 画像を扱うことができます。
Portable Network Graphic 画像 ( PNG 画像 )
  拡張子は .png です。様々なグラフィックツールで出力できます。アルファチャネルや透明色指定にも対応しています。
Entis Rasterized Image format 画像 ( ERI 画像 )
  拡張子は .eri です。Leshade Entis 氏 により開発・考案された可逆画像圧縮技術・フォーマットです。通称「恵理ちゃん」です。
  画像コンバータなどのユーティリティ類は「恵理ちゃんclub」 http://www.entis.gr.jp/eri/ から入手できます。
  この画像圧縮形式を用いる場合は、著作権関係で特に注意が必要です。詳しくは 吉里吉里 SDK Help の「使用条件等」および上記「恵理ちゃん club」をご覧ください。
TLG5 画像
  拡張子は .tlg です ( .tlg5 ではありません )。吉里吉里独自の可逆画像圧縮形式で、高速に展開できるのが特徴です。フルカラー画像と、アルファチャンネル付きのフルカラー画像に対応しています。
TLG6 画像
  拡張子は .tlg です ( .tlg6 ではありません )。吉里吉里独自の可逆画像圧縮形式で、高い圧縮率と比較的高速な展開が特徴です。フルカラー画像と、アルファチャンネル付きのフルカラー画像に対応しています。
その他の画像
  Susie Plug-in を使えば、これら以外の画像形式にも対応できます。Susie Plug-in は、吉里吉里の実行可能ファイル krkr.eXe と同じフォルダか、その下の `plugin` フォルダか、プロジェクトフォルダに置いてください。(それと、後述の「プラグインについて」を参照してください )

# 扱えるオーディオ形式

KAG ( というか吉里吉里 ) で扱えるオーディオ形式は以下の通りです。
効果音には PCM のみを使用できます。
BGM にどの形式を使うかによって、KAG の Congif.tjs の変更が必要になります。詳しくは Config.tjs の内容をご覧ください。

PCM
  標準では、無圧縮の RIFF-WAVE ( 拡張子は .wav ) を再生することができます。
  無圧縮の RIFF-WAVE 以外には Ogg Vorbis ( *.ogg ) 、TCWF ( *.tcw )、Microsoft ADPCM ( *.wav ) などを再生できますが、プラグインが必要になります。
  プラグインは吉里吉里２配布ファイルとして、Ogg Vorbis用 ( wuvorbis.dll )、TCWF用 ( wutcwf.dll )、Microsoft ADPCM用 ( wumsadp.dll ) が添付されています。
  Ogg Vorbis は、特許・特許料フリーの圧縮音楽形式で、MP3 と同等の使い方をすることができます。エンコーダは http://www.vorbis.com/ から入手できます。
  そのほかのプラグイン ( もし、あれば ) を使用して再生可能な形式を増やすこともできます。プラグインについては各プラグインの説明書の他、後述の「プラグインについて」を参照してください。
  無圧縮 Wave, Ogg Vorbis, TCWF, Microsoft ADPCM の各形式は、Loop Tuner ( サポートページから入手可能 ) を用いてループの情報を作成することにより、ループ位置を細かく指定する事ができます。これにより、ループのつなぎ目を感じさせないループ演奏が可能になります。
MIDIシーケンスデータ
  Standerd MIDI Format ( 拡張子は .smf または .mid ) を再生することができます。クロスフェードを行いたい場合は若干の注意が必要です、詳しくは 吉里吉里 SDK Help の「MIDI サウンドバッファについて」をご覧ください。
CD-DA
  CD-XA の CD-DA 部分を再生することができます。CD-XA は、CD-ROM としてコンピュータ用のデータと、CD-DA としてオーディオのデータが同居する形式の CD です。吉里吉里は、使用可能な CD-ROM ドライブの検索に CD-ROM のコンピュータ用のデータとしてのボリュームラベルを元に検索を行うので、CD-XA 形式の CD でないと扱うことができません。 ( もっともこのチュートリアル内で行うようにドライブ名を明示するならば再生できますが・・・ )

# 扱えるムービー形式

MPEG I
  一般的な MPEG I に対応しています。
  ただし、配布時には、 krmovie.dll を吉里吉里実行可能ファイルと同じ場所に置いておく必要があります。また、ムービーの再生には DirectX 8 が、再生する環境側に必要になります。
  Note
  オーディオとマルチプレクシングを行っていない、ビデオのみの MPEG I ストリームの拡張子は .mpeg/.mpg ではなくて .mpv にしてください。吉里吉里は 拡張子でビデオ形式を判断します。
WMV
  WMV に対応しています。
  再生可能な WMV のバージョンは、システムにインストールされている Media Player や DirectX に依存しますが、DirectX 9 以降がインストールされている環境を推奨します。

Note
吉里吉里はReleaserで作成したアーカイブや実行可能ファイル内にビデオが格納されていても、直接アーカイブから (テンポラリファイルを介することなく) ムービーを再生できます。ただし、Releaser ではムービーファイルは「圧縮しない」に分類する必要があります (デフォルトの分類では圧縮しない設定に自動的になります )。
Note
AVI形式のムービーはサポート外です。

# Flash

SWF
  Macromedia Flash の再生に対応しています。
  ただし、配布時には krflash.dll を吉里吉里実行可能ファイルと同じ場所に置いておく必要があります。また、SWF の再生には Flash Player がインストールされている必要があります。
  Flash の再生方法はビデオと同じ扱いです。

Note
Flash への対応は完全なものではありません。キーボード入力を必要とするような Flash コンテンツは正常に動作しない可能性があります。また、XP3 などのアーカイブ内に SWF ファイルが格納されていた場合は、いったんテンポラリファイルに書きだして使用するため、大きな SWF ファイル ( 3～5MB を越えるもの ) はアーカイブに格納しない方が良いかと思います。
Note
作者は Flash の制作環境を持っていないのでテストしていませんが、Flash コンテンツの制御で KAG シナリオの任意のラベルにジャンプさせることができます。Action Get URL ( URL 表示のアクション ) に、URL として `FSCommand:Go` を、表示先のウィンドウとして 「シナリオファイル/ラベル」の形式で文字列を指定します ( 例: `first.ks/label2` )
`FSCommand:Eval` で、表示先ウィンドウとして TJS 式を指定すると、アクションが発生したときに任意の TJS 式を実行することができます ( 変数に値を代入するとか )。
openvideo タグまたは playvideo タグで、storage 属性でファイル名に続き ? を書き、その後に Flash に渡すパラメータを指定することができます ( 例 : `hoge.swf?name=value&param=content` )。

# 扱えるアーカイブ形式

XP3 と PEXP3
  吉里吉里独自のアーカイブ形式である XP3 形式を扱うことができます。
  PEXP3 は「吉里吉里実行可能ファイル」と XP3 形式が組合わさった形式で、単体の実行可能ファイル中に作品を納められるものです。
  どちらの形式も吉里吉里 SDK 付属の Releaser で作成できます。
その他のアーカイブ形式
  Susie Plug-in を使えば、これら以外のアーカイブ形式にも対応できます。(後述の「プラグインについて」を参照してください )

# レンダリング済みフォント

レンダリング済みフォントは、制作者側で作成したフォントデータです。これを使用することで、常に制作者側の意図したフォントで、OS や環境に影響されることなく表示をすることができます。また、外字も自由に使用することができます。
レンダリング済みフォントは krkrfont.exe で作成します。作成するとき、縦書きに使用するフォントは @ の頭に着いたフォントにしてください。
レンダリング済みフォントファイルは .tft の拡張子を持っています。使用する場合は others フォルダなどにおき、mappfont タグで任意のフォントに割り当ててください。
Note
レンダリング済みフォント作成ツールの使い方は吉里吉里 SDK ヘルプを参照してください。

# プラグインについて

Susie-Plugin あるいは PCM の再生可能な形式を拡張するためのプラグイン、もしくはその他のプラグインは、loadplugin タグで指定しないと使用可能になりません。
たとえば、wuvorbis.dll を使いたい場合は、
`@loadplugin module=wuvorbis.dll
`
と記述します。
また、プラグインは、

- 吉里吉里実行可能ファイル ( krkr.eXe ) と同じ場所
- 実行可能ファイルのあるフォルダ以下の plugin フォルダ
- プロジェクトフォルダ

のいずれかに置いておく必要があります。プロジェクトフォルダに置いた場合は Releaser でアーカイブ内あるいは実行可能ファイル内に含まれる事になりますが、推奨されません。できればアーカイブ内には含めず、本体と一緒のフォルダに配置して配布するのが良いでしょう ( アーカイブ内に含めると CD-ROM 上から直接実行する際などにエラーになります )。
krmovie.dll や krflash.dll はプラグインではないので、loadplugin タグで指定する必要はありません。
吉里吉里 SDK ヘルプの「プラグインについて」もご覧ください。
Note
吉里吉里１の場合は実行可能ファイルと同じ場所に置くだけで使用可能になりましたが、吉里吉里２の場合は明示的にプラグインを指定する必要があります。

# UNICODEへの対応

シナリオファイルや TJS スクリプトを編集するため、テキストエディタが必要になります。
普通は普段お使いのお手持ちのテキストエディタで問題ありませんが、吉里吉里が出力するコンソールのログファイルや KAG のセーブデータは UNICODE で出力されるため、UNICODE テキストを編集したい場合は UNICODE に対応したテキストエディタが必要になります。
また、シナリオファイルや TJS スクリプトに日本語文字 (ここでいう日本語文字とは日本語版 Windows で通常使える文字) 以外を記述したい場合は、これらを UNICODE テキストで記述する必要があります。
日本語文字以外の言語を表示するためにはいくつか条件があります。

- 該当するシナリオファイルや TJS スクリプトファイルが UNICODE で記述されていること ( UNICODE で書かれたテキストファイルとそうでないテキストファイルが混在していてもかまいません )
- レンダリング済みフォントファイルを使わない場合は、ゲームをプレイする側の OS が Windows NT 系 ( Windows 2000 や Windows XP, Vista 以降 ) であること ( レンダリング済みフォントファイルを使用する場合はプレイする側の OS は関係ありません )
- 表示しようとする言語の文字を含んだフォントを指定すること
- 表示しようとする言語が左から右へ書く(横書き)言語あるいは上から下へ書く(縦書き)言語であること

どの場合も、日本語以外の文字を表示できるのはゲームの画面内ぐらいで、ウィンドウのタイトルバーやメニュー項目など、Windows 標準のユーザインターフェースを使用している部位には日本語文字しか表示できません。また、edit タグで生成されるエディットに入力できる文字は日本語文字だけです。
Note
上では日本語文字と書きましたが、基本的に吉里吉里はそれが実行されている OS の言語ロケールに従います ( 日本語版 Windows ならば 日本語文字、中文版Windowsならば中文など )。ただし作者はチェックしてません。
Note
現在の吉里吉里/KAG は Windows 上でのみ動作するため、とりあえず UNICODE というとリトルエンディアンの UTF-16 のことです ( ただしサロゲートペアは使用できません )。
また、吉里吉里は、UNICODE テキストはリトルエンディアンの UTF-16で、さらに BOM ( Byte Order Mark ) が先頭にないと文字コードを正常に識別できません ( 現状ではビッグエンディアンの UTF-16 はたとえ正式な BOM がついていたとしても読み込むことができません )。