topページ

### Javardryの実行

#### インストール

Javardryはレジストリ等をいじくったりはしませんので、適当なディレクトリにぶち込んで実行し、不要になれば削除するだけです。
なお、Javardry本体のみでは遊べませんので、プレイしたいシナリオデータ（gameData.dat）を導入してから実行して下さい。

#### 起動

プログラム本体（classファイル）はJavadry.jarです。以下のいずれかの方法で起動して下さい。なお、jarのファイル名は変更しても構いません（拡張子は変更しないで下さい）。
起動直後のタイトル画面では、オートマップ表示のon/off（マップ表示/数値表示）を切り替えられます。デフォルトはonです。

- 実行ファイル（exe）からの起動
  Windows環境の場合には、Javardry.exeから起動することが出来ます。Javardry.exe、Javardry.iniのファイル名は変更しても構いませんが、拡張子以外は必ず同じ名前にして下さい（Wizmodoki.exe、Wizmodoki.ini等）。また、Javardry.jarのファイル名を変更している場合には、Javardry.ini内の記述も修正して下さい。
  なお、JavardryConsole.exeから起動すると、同時にコンソール画面も立ち上がります。自作シナリオのテストプレイ等でコンソール画面が必要で、下記のコンソールから起動とかよくわからん、もしくは面倒だという場合には利用して下さい。iniファイル等の仕様はJavardry.exeと同様です。
- jarからの起動
  jarがJavaに関連付けされている場合には、Javardry.jarをダブルクリックすることで起動出来ます。
- コンソール（コマンドプロンプト、端末）からの起動
  コンソール（コマンドプロンプト、端末）にて、以下のコマンドを実行することで起動することが出来ます。
  - java -jar Javardry.jar
  jarファイルの存在するディレクトリがカレントではない場合には、"java -jar hoge/Javardry.jar" のようにjarファイルへのパスを指定して下さい。

以下のような問題が発生する場合があるようです。

- レジストリ書き込み失敗の警告が出る
- MIDIファイル再生時に音が途切れる
- ヒープ領域エラーが出る
- LinuxでWAVE効果音を鳴らすとフリーズする
- LinuxでMP3効果音を鳴らし続けるとフリーズする、もしくは極端に再生開始が遅くなる
- ユーザーのホームディレクトリ直下に .gervillフォルダが生成される

#### 引数

実行時の引数により、起動時のウィンドウサイズ等を指定することが出来ます。
引数はJavardry.exeでの起動の場合はJavardry.iniの記述により指定します。その場合は「-jar Javardry.jar -errorText -size 800 -bgm on -se on」などと記述します。

- -?, -help
  コンソール（コマンドプロンプト、端末）に引数のヘルプが表示されます。コンソール（コマンドプロンプト、端末）からの起動でなければ意味がありません。
- -size [300, 450, 600, 800等]
  ウィンドウサイズを指定します。300以上の任意のサイズを指定出来ます。初期値は「-size 300」です。
- -debugWindowSize [400*300, 600*440, 750*630, 800*600等]
  デバグ用ウィンドウの初期サイズを width*height で指定します。初期値は「-debugWindowSize 750*630」です。
- -debugWindowFontSize [12, 14, 16, 18, 20等]
  デバグ用ウィンドウのフォントサイズを指定します。初期値は「-debugWindowFontSize 16」です。
- -sizeList [size list]
  Optionのウィンドウサイズ指定に表示されるサイズ一覧を指定します。[size list] は300以上の任意のサイズをカンマ区切りで記述します。初期値は「-sizeList 300,450,600,800」です。
- -bgm [on, off]
  音楽（BGM）のon/offを指定します。初期値は「-bgm on」です。
- -se [on, off]
  効果音（SE）のon/offを指定します。初期値は「-se on」です。
- -cg [normal(n), highReso(h), off]
  画像表示について指定します。normalは通常、highResoは高画質（高サイズ）です。初期値は「-cg n」です。
- -dungeon [wireFrame(w), graphic(g), graphicHighReso(h)]
  ダンジョン表示について指定します。wireFrameは線画表示、graphicは画像表示、graphicHighResoは高画質画像表示です。初期値は「-dungeon w」です。
- -perspectiveView [on, off]
  ダンジョン画像表示時の遠近表示効果のon/offを指定します。初期値は「-perspectiveView on」です。
- -alias [on, off]
  アンチエイリアスのon/offを指定します。初期値は「-alias on」です。
- -textAlias [on, off]
  文字のアンチエイリアスのon/offを指定します。初期値は「-textAlias off」です。
- -render [quality(q), speed(s)]
  レンダリング設定です。画質優先か速度優先かの設定です。初期値は「-render s」です。
- -gamepad [on, off, none]
  ゲームパッド操作のon/offを指定します。初期値は「-gamepad on」です。
  none にするとゲームパッド情報の取得を行いません。ゲームパッドのドライバがインストールされていなかったり、Linuxで共有ライブラリ等が未設定の場合などにはゲームパッド情報の取得が出来ずにエラーが出るため、エラーが邪魔な場合には活用して下さい。
- -mouse [on, off]
  マウス操作のon/offを指定します。初期値は「-mouse off」です。
- -mouseOnColor [on, off]
  マウス操作時にクリック範囲にマウスを載せた際の色変更のon/offを指定します。初期値は「-mouseOnColor on」です。
- -mouseRuledLine [on, off]
  マウス操作時のクリック範囲を示す罫線のon/offを指定します。初期値は「-mouseRuledLine off」です。
- -encoding [UTF8, SJIS, EUC_JP等]
  Javardryで扱うテキストファイルの文字コードを指定します。文字コードは、UTF-8ならばUTF8、Shift_JISならばSJIS、EUC-JPならばEUC_JPといった文字列で指定しますが、詳しくは「サポートされているエンコーディング」を見て下さい。初期値は「-encoding UTF8」です。
- -errorText
  この引数をつけると、エラー発生時のエラーメッセージがテキストファイル（error.txt, error.log）に出力されるようになります。出力先ディレクトリは下記引数で指定可能です。
- -dir [path]
  ゲームデータ（gameData.dat等）の場所（ディレクトリ）、及びゲーム中に作成されるファイル（設定ファイル、セーブデータ、転生データ、エラー記述ファイル）の保存場所（ディレクトリ）をまとめて指定します。絶対パス（C:\hoge\fuga、/home/hoge/fuga 等）でも相対パス（hoge\data、hoge/fuga 等）でもどちらでも指定可能です。未指定、または起動時に指定したディレクトリが存在しない場合には初期値になります。初期値は「-dir data」です。
  個別に指定する場合は以下の引数を使用して下さい。
  - -gameData [path]
    ゲームデータ（gameData.dat等）の場所を指定します。指定方法は -dir と同様です。未指定、または起動時に指定したディレクトリが存在しない場合には -dir での指定ディレクトリと同様になります。
  - -config [path]
    ゲーム中に作成される設定ファイル（config.ini）の保存場所を指定します。指定方法は -dir と同様です。未指定、または起動時に指定したディレクトリが存在しない場合には -dir での指定ディレクトリと同様になります。
  - -save [path]
    ゲーム中に作成されるセーブデータ（save.dat, save.bak 等）の保存場所を指定します。指定方法は -dir と同様です。未指定、または起動時に指定したディレクトリが存在しない場合には -dir での指定ディレクトリと同様になります。
  - -character [path], -chr [path]
    ゲーム中に作成される転生データ（拡張子が chr のファイル）の保存場所を指定します。指定方法は -dir と同様です。未指定、または起動時に指定したディレクトリが存在しない場合には -dir での指定ディレクトリと同様になります。
  - -error [path]
    ゲーム中に作成されるエラー記述ファイル（error.txt, error.log）の保存場所を指定します。指定方法は -dir と同様です。未指定、または起動時に指定したディレクトリが存在しない場合には -dir での指定ディレクトリと同様になります。
- -otherConfig [path]
  その他設定ファイル（defaultMessage.txt, font.txt, keyConfig.txt, spell.txt）の場所を指定します。指定方法は -dir と同様ですが、未指定、または起動時に指定したディレクトリが存在しない場合には初期値になります。初期値は「-otherConfig data」です。
- -gameDataFile [file]
  ゲームデータ（gameData.dat等）のファイル名を拡張子無しで指定します。未指定の場合は初期値「-gameDataFile gameData」になります。場所（ディレクトリ）については上記の -dir か -gameData で指定します。
- -defaultMessageFile [file]
  表記文字データ（defaultMessage.txt等）のファイル名を拡張子無しで指定します。未指定の場合は初期値「-defaultMessageFile defaultMessage」になります。場所（ディレクトリ）については上記の -otherConfig で指定します。
- -midiPlay [sequencer(s), ac, acNone]
  MIDIファイルの再生方法を指定します。s にすると Sequencer で再生、ac にすると AudioClip で再生します。ac 指定時にはMIDIファイルを先読みさせているため、起動に時間がかかります。また、AudioClip再生時にはヒープ領域エラーが出る場合があるようです。先読みさせず、都度読み込ませるには acNone を指定して下さい。
  未指定の場合には Sequencer で再生しています。
- -sePlay [clip(c), ac]
  効果音（WAVEファイル）の再生方法を指定します。c にすると Clip で再生、ac にすると AudioClip で再生します。
  未指定の場合は Clip で再生しています。

#### Option

ゲーム実行中にウィンドウサイズ等を変更することが出来ます。

- Size [Adjust, 300*300, 450*450, 600*600, 800*800]
  ウィンドウサイズを指定サイズに変更します。ここで指定出来るサイズの一覧は、起動時の引数（-sizeList）にて変更可能です。Adjustは、縦長・横長になったウィンドウを調整します。
- Render
  - Graphic [チェック無し, Normal, High-Reso]
    背景画像、モンスター画像等の非表示、通常表示、高画質（高サイズ）表示を切り替えます。
  - Dungeon [Wire Frame, Graphic, Graphic High-Reso]
    ダンジョン表示を、ワイヤフレーム表示、通常画像表示、高画質（高サイズ）画像表示から選択し切り替えます。
  - Dungeon graphic: Perspective view
    ダンジョン画像表示時の遠近表示効果のon/offを切り替えます。
  - AntiAlias
    アンチエイリアスのon/offを切り替えます。
  - TextAntiAlias
    文字のアンチエイリアスのon/offを切り替えます。
  - Render [Quality, Speed]
    レンダリング設定を、画質優先、速度優先から選択し切り替えます。
- Sound
  - Bgm
    音楽（BGM）のon/offを切り替えます。
  - Bgm Volume [100, 95, 90, 85, 80 ...]
    音楽（BGM）の音量を設定します。100が最大音量です。
    この設定が有効なのはMP3のみで、MIDIで鳴らしている場合は音量調整が出来ません。
  - Se
    効果音（SE）のon/offを切り替えます。
  - Se Volume [100, 95, 90, 85, 80 ...]
    効果音（SE）の音量を設定します。100が最大音量です。
    この設定はMP3とWAVEの両方に有効ですが、WAVEに関しては Clip での再生時のみ有効で、AudioClip での再生時には音量調整が出来ません。
- Operation
  - Key Config
    現在設定されているキー設定を表示します。確認用に表示するだけで、設定変更は出来ません。
  - Gamepad
    ゲームパッド操作のon/offを切り替えます。ゲームパッドからの入力をキーボードの入力に変換する類のフリーソフト等を利用する場合には入力が被ってしまうため、この設定はオフにして下さい。
  - Mouse
    マウス操作のon/offを切り替えます。
  - Mouse: on color
    マウス操作時のクリック範囲にマウスを載せた際の色変更のon/offを切り替えます。
  - Mouse: ruled line
    マウス操作時のクリック範囲を示す罫線のon/offを切り替えます。
- Key test
  ここにチェックを入れると、キーボードの各キーやゲームパッドの各ボタンに対応する識別名を表示させることが出来ます。キー設定を行う際に活用して下さい。チェックを入れている間はゲーム操作は効きませんので、ゲームに戻る際にはチェックを外して下さい。
- Debug Window
  デバグ用コマンドが使用可になっているシナリオでのみ利用可能で、デバグ用コマンドの結果表示用の別ウィンドウを表示させます。別ウィンドウの初期サイズやフォントサイズは起動時の引数で指定可能です。

#### フォントの変更

実行環境によって、フォントの違いから表示がズレてしまうことがあります。基本的にWindows環境に合わせてありますので、その他の場合は、dataディレクトリ内にある font.txt でフォントを指定して下さい。起動中には反映されませんので、font.txt を書き換えた場合はJavardryを再起動して下さい。
フォントは等幅（固定幅）フォントでないと表示が崩れます。論理フォント名（monospaced）か、物理フォント名（MS Gothic, MS Mincho, IPAGothic, IPAMincho, VL Gothic 等）で指定して下さい。Linuxの場合、Java側の設定の問題によりフォントの指定がうまくいかないことがあるようです。一応の対策として、font.txt と同ディレクトリに入れたTrueTypeフォント（拡張子がttfのファイル）を直接指定出来るようにしてあります。その場合には、Font = "ipag.ttf" などと、ファイル名を指定して下さい。
デフォルトの指定は Font = "monospaced" です。
font.txt の文字コードは UTF-8 にしておいて下さい。UTF-8以外にしたい場合は起動時の引数で文字コードを指定して下さい。

#### シナリオデータ

シナリオは dataディレクトリに入れられた gameData.dat を読み取って実行されます。このデータが古い（起動したJavardry本体に対応したエディタよりも古いバージョンのエディタで作成されたデータの）場合、読み込み時に整合性チェックが行われるため、通常よりも若干（シナリオデータのサイズや環境によってはかなり）読み込み時間が長くなります。古いデータの読み込みに成功した場合には、古いデータは gameData.bak にリネームされ、修正済みのシナリオデータを新しく gameData.dat として書き出します。二回目以降の起動時には整合性チェックがスキップされるため、通常通りの読み込み時間になります。通常からして読み込みが遅いのは仕様です。

#### 表記文字（文章）

シナリオデータに依存しないほとんどの文字（文章）は、内蔵のデータでは英語（風）の表記になっていますが、dataディレクトリ内に defaultMessage.txt があればそれを読み取り、その内容に応じた表記に変更されます。特にいじっていない状態ならば、最初から日本語の表示がされていると思いますが、それは日本語表記用の defaultMessage.txt が置かれているためです。defaultMessage.txt の変更は起動中には反映されませんので、defaultMessage.txt を書き換えた場合はJavardryを再起動して下さい。なお、defaultMessage_eng.txt は、内蔵の英語（風）表記と同じ内容のデータです。使用する場合は defaultMessage.txt と差し替えて下さい。defaultMessage.txt を削除するだけでも内蔵の英語（風）の表記にはなりますが、あくまでも英語っぽい、英語風の表示というだけなので、ガチで英語版にしたい人は、defaultMessage_eng.txt を自分なりに修正し、defaultMessage.txt と差し替えるのがよいかと思います。
面倒なので各設定項目の詳しい説明はしませんが、元データを見れば大体わかる……といいですね。defaultMessage.txt を書き換えても、種族名や職業名、アイテム、モンスターの名称などはシナリオデータに依存するので変更されません。ですので、プレイユーザではなく、シナリオデータの作成者が、自身のシナリオに合わせて雰囲気を変えた文章にするなり、全英語表記にするなりといった使い方が良いかと思われます。
defaultMessage.txt の文字コードは UTF-8 にしておいて下さい。UTF-8以外にしたい場合は起動時の引数で文字コードを指定して下さい。
いくつか特殊な項目がありますので、以下に説明します。

- 一部の項目（RIP、MARKS）は、"none" にしておくと対応するゲーム中の項目が非表示になります。
- _STATUS_COLOR を "on"（デフォルトでは "off"）にすると、ステータス表示時に状態異常の冒険者は色付き文字で表示されます。色は状態異常ごとに _STATUS_COLOR_???? の項目で指定出来ます。16進数でRGB値を指定して下さい。
- _SELECT_COLOR で選択肢の選択色を指定出来ます。16進数でRGB値を指定して下さい。デフォルトは "FF0000" です。
- _FACE_GRAPHIC_STATUS を "off"（デフォルトでは "on"）にすると、ステータス画面での顔画像表示を非表示に出来ます。
- _FACE_GRAPHIC_BATTLE を "off"（デフォルトでは "on"）にすると、戦闘中のコマンド選択時の顔画像表示を非表示に出来ます。

####

#### 呪文名の変更

呪文名はシナリオデータで設定されていますが、dataディレクトリ内にある spell.txt を書き換えることによりプレイユーザが任意の呪文名に変更することが出来ます。起動中には反映されませんので、spell.txt を書き換えた場合はJavardryを再起動して下さい。
指定方法は、呪文系統を0～3、呪文レベルを0～9、各呪文を0～5の数字で指定し、以下を参考にしてテキトーにやって下さい。呪文名の文字数は半角換算で24文字までです。

SPELL0_0_0 = "呪文名"　（一つめの呪文系統の、1レベルの一つめの呪文）
SPELL1_6_3 = "呪文名"　（二つめの呪文系統の、7レベルの四つめの呪文）
SPELL3_9_5 = "呪文名"　（四つめの呪文系統の、10レベルの六つめの呪文）

spell.txt の文字コードは UTF-8 にしておいて下さい。UTF-8以外にしたい場合は起動時の引数で文字コードを指定して下さい。

#### 画像・音楽・効果音

- 画像
  画像データはgraphicディレクトリ内にあり、適当に差し替えることが出来ます。使用出来る形式はBMP、GIF、JPEG、PNG、及びそれぞれをJavardryEditorで暗号化したもの（拡張子dat）です。動作を軽くするための苦肉の策として、通常画像（サイズの小さい画像）と、高画質（サイズの大きい画像）の二種類を用意するようにしてあります。高画質画像はファイル名の最後に「_HR」をつけて下さい。Option の cg で Normal を選ぶと通常画像（通常画像が無い場合には高画質画像）が、highReso を選ぶと高画質画像（高画質画像が無い場合には通常画像）が表示されます。画像ファイルなし、あるいは通常画像のみでも動作には支障ありません。
  以下、それぞれに画像サイズの目安を書いていますが、表示時にはゲームウィンドウのサイズに合わせてリサイズ（拡大・縮小）されるため、無理に合わせる必要はありません（縦横の比率は合わせた方がいいです）。大きすぎる画像を表示させる場合に、マシンパワーが低いと動作がえらく重くなるために製作者の感覚で決めた目安に過ぎません。とにかく綺麗な画像を表示させたい（小さい画像を拡大表示とかさせたくない）場合には、目安など無視して大きいサイズの画像を用意して下さい。
  - icon.gif
    Javardryのウィンドウの左上（ゲームタイトルの横）に表示されるアイコン用の画像です。この画像に関しては形式はGIFのみ、サイズは16*16にして下さい。高画質画像は不要です。
  - boxClose、boxOpen
    戦闘後に宝箱を発見した際に表示される、閉じた状態と開いた状態の宝箱の画像です。画像サイズは通常で100*100、高画質は200*200くらいが目安です。
  - restInPeace
    全滅時に表示される画像です。画像サイズは通常で70*70、高画質は140*140くらいが目安です。
  - [bg]
    bgディレクトリ内にある画像は背景用の画像です。画像サイズは通常で220*210、高画質は440*420くらいが目安です。ただし、訓練場用の画像（trainingGround）はウィンドウ全体に表示されるため、通常300*300、高画質600*600くらいが目安となります。
  - [dungeon]
    dungeonディレクトリ内にある画像はダンジョン用の画像です。画像サイズは、床・天井は通常で200*200、高画質は400*400くらい、遠景は通常で220*210、高画質は440*420くらい、その他は通常で150*150、高画質は300*300くらいが目安です。
    - 壁の側面
      壁の側面も通常150*150、高画質300*300くらいが目安ですが、表示方法がやや特殊なので解説します。
      壁の側面として指定された画像は、画像の左端を縦長に切り取って表示されます。切り取りの横幅は画像の横幅の 1/15 です。切り取り部分以外は使用しませんので、塗り潰しておいても問題ありません。最初から15*150の画像を用意するようにしろよ、という気もしますが、他のダンジョン画像の処理との兼ね合いでこんな仕様にしてます。特に反省はしていない。
      壁の側面が未指定（空欄）の場合には切り取りではなく、壁として指定された画像が横に 1/15 に縮小されて表示されます。元々壁として用意された画像のために切り取り位置を決められず、ヘタに切り取るよりも縮小表示させた方がなんぼかマシな（気がする）ので、切り取りではなく縮小して表示させています。
    - 梯子
      梯子画像も通常150*150、高画質300*300くらいでよいのですが、壁画像などに比べると表示部が小さくなっているために粗さが目立つ……かもしれません。気になる場合は通常300*300、高画質600*600くらいにしておくとよいかと思われます。
      この画像は、階段画像（上り下り用の穴の画像）に重ねて表示させますので、透過画像にして下さい。用意するのは下り用の梯子のみで、上り用はこの画像を180度回転して表示させています。
  - [face]
    faceディレクトリ内には、必要ならば冒険者用の顔画像を置いて下さい。ステータス画面と戦闘中のコマンド選択時に、冒険者名と同じ名前の画像ファイルが表示されます。例えばJPEG画像を用意する場合（もちろんGIFやPNGでも構いません）、Fighter という名前の冒険者ならばファイル名は Fighter.jpg（高画質用は Fighter_HR.jpg）、戦士 という名前ならば 戦士.jpg（高画質用は 戦士_HR.jpg）が表示されます。冒険者の名前を変更した場合には、画像ファイル名は手作業で変更する必要があります。
    画像サイズは通常で60*60、高画質は120*120くらいが目安です。
  - [monster]
    monsterディレクトリ内にある画像はモンスター用の画像です。画像サイズは通常で150*150、高画質は300*300くらいが目安ですが、数枚程度ならばともかく、大量のモンスター画像を通常・高画質用と二種類用意するのは面倒ですので、150*150～300*300くらいの画像を通常用として用意しておけば十分かと思います。
- 音楽（BGM）
  音楽用ファイルはmusicディレクトリ内に置きます。形式はMIDIとMP3、及びそれぞれをJavardryEditorで暗号化したもの（拡張子midDat, mp3Dat）に対応しています。
- 効果音（SE）
  効果音用ファイルはsoundディレクトリ内に置きます。形式はWAVEとMP3、及びそれぞれをJavardryEditorで暗号化したもの（拡張子wavDat, mp3Dat）に対応しています。
  LinuxでOpenJDKを使用している場合には、MP3での効果音再生時にフリーズしてしまったり、再生開始が極端に遅くなったりする場合があるようです。Linuxでの実行時には効果音はWAVEにしておいた方が良いかもしれません。

#### プレイデータの保存

プレイデータは、プレイ中に自動セーブされます。自動セーブのタイミングは以下の通りです。ダンジョン内（キャンプ、階移動、戦闘終了、全滅、冒険の中断時）のセーブに関しては、シナリオの設定によりオフになっている場合があります。

- 城下町の各施設から出たとき
- ダンジョンから出たとき（地上に戻ったとき）
- キャンプを開いたとき、閉じたとき
- 階を移動したとき（他のダンジョンにテレポートしたときも同様）
- 戦闘を終了して移動画面に戻ったとき
- 全滅したとき
- 冒険を中断したとき

セーブデータはdataディレクトリ内に save.dat という名前で保存されます。各シナリオデータには、シナリオの識別用文字列を設定するようになっており、セーブデータにも反映されます。そのため、セーブデータは識別用文字列が一致するシナリオ以外では読み込めません。
なお、セーブデータは10分ごとに save.bak、シナリオの識別用文字列が一致しなかった場合は save0.bak、その他セーブデータの読み込みに失敗した場合は save1.bak というバックアップファイルが作成されますので、必要に応じて save.dat と差し替えて下さい。