艦戦 ~かんせん~ 開発

MODの作り方や、MOD等の使い方の説明用のページです。
説明が下手ですみません。

MOD使用

このゲームはMODが使えます。

MODとは…。

導入することによって、そのゲームソフトのグラフィックエンジン、物理エンジンなどの基本システムを用いて、本編とは別のシナリオやグラフィック、
モデル、システムのゲームを楽しむことができるもの。そのゲームをModificationするのである。 Wikipediaから引用。

このゲームでは造艦に使うブロックや、砲の性能の変更が主になります。

MODの基本的な使い方説明(MODが無いと使用できません。)

Modファイル(MODが入ったフォルダ)は基本、「5_艦戦r.exe」のあるフォルダ階層に置いて下さい。
艦戦 ~かんせん~ 説明01  
図のようにゲームのショートを作ります。
 艦戦 ~かんせん~ 説明02
出来上がったショートカットを右クリックで選択
艦戦 ~かんせん~ 説明03  
5_艦戦r.exeの後ろに使用したいMOD名を入れます。
*注意 5_艦戦r.exeの後ろに半角スペースを絶対に入れてください。  艦戦 ~かんせん~ 説明04
分かる方向け、バッチファイルでも同じようにMODを使えます。
*注意 MODが無い場合や、MODに必要なファイルが足りない場合等はMODが使用されません。

エディタモード

 

主に下記の任務製作等で使用するモードです。
 基本的に通常のゲームと画面は同じですが、艦の保存、読込画面がWindows標準のダイアログに変わり、保存するファイル名が自由になります。
エディタモードでは、資金が100000、海域レベル(普通は見えない値)が9999になります。  
開発者もこのモードで敵、味方艦を作りました。  
エディタモードでの起動の仕方は、MOD使用とほぼ同じで、5_艦戦r.exeの後ろに半角スペースと:を入れます。
下の画像のように  艦戦 ~かんせん~ 説明05
成功すると、画像の画面のようにタイトルバーにEditModeと付きます。  艦戦 ~かんせん~ 説明06
なお、Modを使用して、エディタモードで艦を作りたい場合は
「5_艦戦r.exe 使用したいMOD名:」とのように、MOD名の後ろに:を付ける事で可能です。  

任務製作(海域ファイル作成)


出撃で表示される任務を自作する事が出来ます。

ゲームフォルダの「Data\Sea\」以下に自作した海域ファイルを入れるとゲーム内で表示されます。
ファイル名は、下記に記載しているヘッダでファイルか判別するので、任意に決めれます。
「Data\Sea\」以下にファイルがあるのでそれを参考にすれば、理解が早まるかもしれません。
この海域ファイルは、CSVテキストで構成されているので、メモ帳等で編集可能です。
表計算ソフト等で見やすくなります。

===海域ファイルのフォーマット===
knSea,Ver,1.0
===海域ファイルのフォーマットここまで===
以下の画像のように、ファイルの先頭にこのヘッダがあれば、海域ファイルとして認識します。
艦戦 ~かんせん~ 海域ファイルのフォーマット 説明  このヘッダ以下に海域スプリクトを記述する事で敵を出現させたり出来ます。

海域スプリクト


   

ADVの会話作成

   

上記の任務開発(海域ファイル作成)に少し出てきましたが、作戦の開始時、作戦の失敗時、作戦の成功時に話を流すことがが可能です。
   @SeaOPAdv,Data\\Sea\\Sea00\\Sea_00a_OPAdv.txt
   「Sea_00a_OPAdv.txt」のファイルがADVファイルです。
 

ADVスプリクト


MOD作成

MODの実態は、「BlockList.txt」と「CannonList.txt」をMOD名(命名自由)のフォルダに入れたものです。
「BlockList.txt」と「CannonList.txt」両方とも、CSV形式です。
「BlockList.txt」は造艦に使うブロックを定義しているファイルです。
「CannonList.txt」は砲の性能定義ファイルです。

「BlockList.txt」の作成


構成

識別子,名称,タイプ,モデルパス,耐久値(硬さ),重さ,価格,形状 0=ブロック 1=それ以外,爆発力,開発レベル,名称表示,説明文,フラグ用(32byte)

識別子 これは、「Block」しか現状ありません。

名称 これは、ブロックの名称
タイプ ブロックのタイプです。 整数
    ブロックのタイプ

    -1=梯子ブロック
    0=普通ブロック
    1=砲塔ブロック
    2=主機関ブロック
    3=司令部ブロック
    4=弾薬庫ブロック
    5=燃料槽ブロック

モデルパス モデルのパスを記述します。
  読込める形式 mqo,mv1,xFile
  大きさは、メタセコイアで、高さ、奥行き、横幅、10.0が基本です。
耐久値 ブロックの耐久値です。 整数
重さ ブロックの重さです。 実数
価格 ブロックの価格です。 整数
形状 ブロックの形状フラグです。 0=ブロック 1=それ以外
爆発力 ブロックが破壊された時の爆発力です。 実数
開発レベル ブロックが使用できる海域レベルの事です。 整数
  開発レベル以下の海域レベルだと造艦時、そのブロックを配置出来ません。

名称表示 ブロックが破壊された時に名称を表示するかのフラグ。 0=無効 1=有効
説明文 ブロックの詳細な説明文。|を入れる事で改行が可能。
フラグ用 32byte分のフラグを記述出来ます。

  ブロックのタイプ解説

    梯子ブロック
      プレイヤーが垂直に上り下り出来ます。
    記述例
    Block,梯子,-1,Media\\Model\\Tara2.mqo,1,1.0,10,1,0.0,0,0,梯子

    普通ブロック
    機能の無い、普通のブロックです。
    記述例
    Block,装甲1,0,Media\\Model\\Cube1.mqo,10,150.0,10,0,0.0,0,0,装甲1

    砲塔ブロック
    攻撃に使用するブロックです。
    モデルを作る際は注意が必要です。
    以下モデリングソフト メタセコイアでの説明になります。
    砲塔のモデル自体は幾つかのパーツ/パーツ名、マテリアル/マテリアル名、で構いません。
    プログラムは、砲塔のモデルの何処が門なのか分からないので、パーツ名で判断します。
    下の画像は、1門搭載の砲塔の場合で、「FirePos0」と付いているパーツを門と認識します。
    「FirePos0」は画像のように、非表示にして下さい。
艦戦 ~かんせん~ 砲塔モデルの説明1
    「FirePos0」は普通に動かすのではなく、メタセイコイアの機能である、「ローカル座標」で動かして下さい。
艦戦 ~かんせん~ 砲塔モデルの説明2
    ゲーム上では、この「FirePos0」から砲弾が発射されます。
    また、2門以上の砲塔の場合は「FirePos0」、「FirePos1」と「FirePos」の後ろの数字を加算してください。
    ゲーム上で扱える砲門数は4門までです。 現実で4門以上搭載した砲塔が無い為です。
    砲塔ブロックの場合、フラグ用の部分に実数で消費弾薬量を記述する必要があります。
    0.25が標準の値

    記述例
    Block,二十式砲,1,Media\\Model\\Cannon0.mqo,10,100.0,1000,1,55.0,0,0,標準の砲,0.25

    主機関ブロック
      船を動かす原動力。
    主機関ブロックの場合、フラグ用の部分に実数で出力、消費燃料量を記述する必要があ
    ります。
    「出力:消費燃料量」のように「:」で二つの値を分けています。
    記述例
    Block,主機関零号,2,Media\\Model\\En1.mqo,1,10,800,1,55.0,0,1,船を動かす原動力,0.6:0.5

    司令部ブロック
    これが無いと艦が機能しない。
    司令部ブロックの場合、爆発力を9999.9にして下さい。
    記述例
    Block,司令部,3,Media\\Model\\Darin.mqo,10,1.0,10,0,9999.0,0,0,司令部 これが無いと艦
    が機能しない,0

    弾薬庫ブロック
    弾薬供給が可能なブロック。
    弾薬庫ブロックの場合、フラグ用の部分に実数で供給弾薬量を記述する必要がありま
    す。
    記述例
    Block,弾薬庫,4,Media\\Model\\Dan.mqo,10,90.0,950,1,120.0,0,0,弾薬が入っている,1.0

    燃料槽ブロック
    燃料供給が可能なブロック。
    燃料槽ブロックの場合、フラグ用の部分に実数で供給燃料量を記述する必要がありま
    す。

    記述例
    Block,燃料槽,5,Media\\Model\\Ta1.mqo,10,50.0,600,1,90.0,0,0,燃料が入っている,1.0

「CannonList.txt」の作成


構成

識別子,名称,砲弾種 現状 0のみ,再装填時間(フレーム数),砲門数,門の発射時差(フレーム数),砲弾モデル,砲弾の初速,砲弾の爆発力,砲のブレ度 0.0-1.0,砲弾の貫通力,砲の発射音,砲弾の爆発音,発射音の複数回許可,反動の有効フラグ

識別子 これは、「Cannon」しか現状ありません。

名称 これは、砲の名称で、「BlockList.txt」で付けた同じ名称の砲とリンクされます。

砲弾種 これは、現状0のみ、で予約されています。

再装填時間 砲弾の再装填の時間をフレーム単位で記述します。 整数

砲門数 砲門数を1~3の間でで記述します。 整数

門の発射時差 砲弾の発砲の時間差をフレーム単位で記述します。 整数

砲弾モデル 砲弾モデルパスを記述します。

砲弾の初速 砲弾の初速を実数で記述します。

砲弾の爆発力 砲弾の爆発力を実数で記述します。 1.0にする事で対空砲になります。

砲のブレ度 砲の命中誤差を0.0~1.0の実数で記述します。

砲弾の貫通力 砲弾の貫通力を記述します。整数
  貫通力が当たったブロックの耐久度以上だとそのブロックを破壊して先に進みます。
  貫通時にブロックの耐久度分貫通力が弱まり、貫通力が0になると砲弾が爆発します。
  貫通力が高すぎると、装甲を貫通して損害をほとんど与えれない場合もあります。
  逆に、貫通力が高いと装甲を無視して、弾薬庫、燃料槽等に効果的に損害を与える事も出来ます。
砲の発射音 砲の発射音パスを記述します。 wav、mp3、gooが使用できますが、wav形式が推奨です。

砲弾の爆発音 砲弾の爆発音パスを記述します。 wav、mp3、gooが使用できますが、wav形式が推奨です。

発射音の複数回許可 0=有効 1=無効。
  連砲の場合、発射音が門数の数だけ鳴るのですが、発射音自体が複数回鳴るようにな音の場合だとおかしいので無効にするなど対処が必要です。

反動の有効フラグ 砲の反動の有無を記述します。 0=有効 1=無効
  反動が有効だと、艦が揺れ、速度等にも影響します。

    記述例
    Cannon,二十式砲,0,65,1,10,Media\\Model\\砲弾.mqo,85.0,20.0,0.35,5,Media\\SE\\CannonFire1.wav,Media\\SE\\exp1.wav,0,1