準備をしよう

 まず、吉里吉里 SDK のフォルダ ( krkr.eXe のあるところ ) の下に、プロジェクト名をつけたフォルダを作りましょう。プロジェクト名は何でもいいです。ただし、"data" というフォルダ名は避けてください ( data というフォルダ名にするのは必要に応じて配布する時にそうします )。このフォルダをプロジェクトフォルダと呼びます。

 そうしたら、そのフォルダの下に、KAG のシステムをコピーします。template というフォルダが、ダウンロードした KAG の LZH ファイルを展開するとあるはずです。その中身( template フォルダごとではなくて ) をこのプロジェクトフォルダにコピーします。

 配置は以下のようになります。

Folders.png
ファイルをコピーした

 そうしたら、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 です。

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

扱えるアーカイブ形式

XP3PEXP3
 吉里吉里独自のアーカイブ形式である 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


 と記述します。

 また、プラグインは、 のいずれかに置いておく必要があります。プロジェクトフォルダに置いた場合は Releaser でアーカイブ内あるいは実行可能ファイル内に含まれる事になりますが、推奨されません。できればアーカイブ内には含めず、本体と一緒のフォルダに配置して配布するのが良いでしょう ( アーカイブ内に含めると CD-ROM 上から直接実行する際などにエラーになります )。

 krmovie.dll や krflash.dll はプラグインではないので、loadplugin タグで指定する必要はありません。

 吉里吉里 SDK ヘルプの「プラグインについて」もご覧ください。

Note
 吉里吉里1の場合は実行可能ファイルと同じ場所に置くだけで使用可能になりましたが、吉里吉里2の場合は明示的にプラグインを指定する必要があります。

UNICODEへの対応

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

 日本語文字以外の言語を表示するためにはいくつか条件があります。


 どの場合も、日本語以外の文字を表示できるのはゲームの画面内ぐらいで、ウィンドウのタイトルバーやメニュー項目など、Windows 標準のユーザインターフェースを使用している部位には日本語文字しか表示できません。また、edit タグで生成されるエディットに入力できる文字は日本語文字だけです。


Note
 上では日本語文字と書きましたが、基本的に吉里吉里はそれが実行されている OS の言語ロケールに従います ( 日本語版 Windows ならば 日本語文字、中文版Windowsならば中文など )。ただし作者はチェックしてません。


Note
 現在の吉里吉里/KAG は Windows 上でのみ動作するため、とりあえず UNICODE というとリトルエンディアンの UTF-16 のことです ( ただしサロゲートペアは使用できません )。
 また、吉里吉里は、UNICODE テキストはリトルエンディアンの UTF-16で、さらに BOM ( Byte Order Mark ) が先頭にないと文字コードを正常に識別できません ( 現状ではビッグエンディアンの UTF-16 はたとえ正式な BOM がついていたとしても読み込むことができません )。