バージョンアップしたときに、どのあたりが進化したのか追従できないことがあると思います。一応、公式サイトにはモジュールの更新履歴を載せていますが、まったく使い方が書かれていません。
ということで、更新ポイントを適当に選びつつ、機能強化した意図や使い道を説明していこうと思います。
記事は、新しいものが上の方に来ています。
当ページは、アップデートに必ず更新が追従するは限りません。また、アップロードに先行して更新を行うことがあります。あらかじめご了承下さい。
画像設定に暫定対応してみました。エネミーと壁・床・天井の画像に対応しています。
画像に関する共通情報ページもご参照下さい。
エネミー画像は cg\enemy\ 配下に画像ファイルを入れておきます。enemy0001 〜 enemy1000 がベースファイル名で、ツール側のエネミー設定画面から確定名用と不確定名用を設定することができるようになっています。
壁・床・天井画像については、マップ編集の終盤部分を参照してください。
データファイルにリセットがかかっています。
v1.12.01までに作成したセーブデータ K3DSave.dat と K3DInit.dat、プレイヤー向けゲームデータファイル K3DGame.dat は、v1.13からは読み込めません。セーブデータについては、過去のデータは破棄ということになります。K3DGame.dat については、最新の K3DGameD.exe からファイルを生成し直すことで読み込めるようになります。
これは、壁CGの組み込みに対応する準備を行う際に、内部的にバージョン管理されていない情報をバージョンアップさせたためです(要するにこちらの都合です……)。
編集ツールが作成するファイル K3DEdit.dat については影響がありません。
アクションの命中力・威力について、対象者の能力値倍する設定ができるようになっています。
この機能は、たとえばスケルトンに対してメイス攻撃が命中しやすくなったりと、相手モンスターの種類によって性能が変化する武器を作りたいときなどに利用します。現状のサンプルゲームを例にすると、基本技能「攻撃M」のダメージ倍率用能力値の設定に、スケルトンだけ1.5で他が1に設定されている能力値を指定することで、メイスを装備した場合のスケルトンへの攻撃力が1.5倍になります。
対象者が指定された能力値を持たない場合、1倍となります。
属性ごとに状態を設定できるようになっています。転向により属性が変わると、状態もそれに応じて変化します。
属性の状態は排他の設定を無視します(装備品と同じく、付加されている状態は無条件でONとみなされます)。
K3DGame.iniに更新がかかります。歩行画面の下部に表示されるキャラクタ一覧の情報に何を表示するかを、制作者およびプレイヤーが変更できるようになります。
示した画像にあるとおり、レベルや属性を追加できるようになっています。また、表示エリアの大きさや文字サイズもある程度設定可能です。
制作者が非表示に設定した能力値は表示できません。
また、暫定ではありますが、Vキーでこの表示そのものをON/OFFできるようになっています。
類似の方法で、いずれ戦闘中の一覧情報もカスタマイズできるようにしたいと考えていますが、v1.12の時点ではここまでです。
K3DEdit.iniファイルの下の方に、「MODIFIER=80」と書かれている項目があります。v1.10以前のデフォルトのサンプルゲーム(K3DEdit.datを上書きしたことがない状態)のままこの値を変更してK3DEdit.exeを起動すると、各アイテム称号の上限数を変更した状態で起動できます。
この方法による上限数の変更は、v1.10以降でセーブされた編集データでは無効です。v1.10に同梱されているサンプルゲームのデータは古い形式であるため、未編集の状態であればこれが可能です。
このときK3DEdit.iniファイルのバージョンは合わせてください。v1.10の頃は「MODIFIRE」と誤ったスペルが記述されており、ツールはその名称で読み込みます。v1.11以降では「MODIFIER」に修正されています。
実はいい加減な判断でMODIFIER=80という値に決めてしまったのですが、機能の参考にしているDiabloという市販ゲームでPrefix/Suffix合わせて180前後あることが分かり、デフォルトをそこに合わせるならば最低でもMODIFIER=90程度欲しいと感じたため、この項を記述しました。
次バージョンから、デフォルトを200に設定する予定です。
出現させるアイテムの性能と名前をランダムで変化させる仕組みです。以下、ざっと概要を説明します。
従来のアイテムに、ランダムで生成されるオプションを付加することで、たとえば同じ剣であっても、その剣を壊れにくくしたり、アイテムを使用できるようになったり、威力を強化したりします。また、価格も変化します。
称号には、接頭辞1・接頭辞2・接尾辞の3種類あり、確率によって個別に付加されます。称号が付加されると、それぞれ名前が通常のアイテム名と結びつきます。称号が付加されたときの鑑定済みのアイテム名称は以下の通りになります。
[接頭辞1][接頭辞2]ベースアイテム名[接尾辞]
「ベースアイテム」は、従来設定していたアイテムと同じです。
例を挙げます。ベースアイテムに「Sword」、接頭辞1が「Lightning 」、接尾辞が「 of Power」だとすると、以下の通りになります。
Lightning Sword of Power
称号が付かなければただのSwordで、性能はアイテム設定画面で設定された生のものとなります。ここに、上記のような称号が付加されることで、Lightningによって攻撃した相手に追加のステータスを与えたり、Powerによって持ち主の筋力を強化したり、といった効果が得られます。そして、それぞれには価格が設定されているので、ベースアイテムとは異なった評価額として売却したり、鑑定したり、修理したりします。
アイテムの最大耐久度と最大使用回数(スタック最大数)には乱数値を設定できるようになっています。これはアイテムの生成時に解決される乱数です。このため、この二つの情報についてはアイテムごとに最大値をセーブデータに保存しています。
このことから、編集ツール側で耐久度や使用回数の設定を変更しても、すでにセーブされているプレイヤーデータ内の生成アイテムに対しては反映されません。
装備品の耐久度の話です。アイテム単位で耐久度の値が設定できるようになっています。また、アクションの命中判定の設定で、装備品を損傷させる設定ができるようになっています。
(余談ですが、ブログに予定を書いていたときには、装備部位ごとに被害の割合を設定できるというものでしたが、これは無いほうが設定しやすいと判断しました。実は将来的に「装備部位の割合」は用意するつもりでいたため、情報の実装だけ行っています。装備部位ごとに被害の大きさに差を出そうとする場合、耐久度の設定値で差別化をするしかありません。この結果、修理費用の調整がしづらいことに気づくと思います・・・)
アイテムの性能設定ですが、これまでは一カ所あたりひとつの能力値にしか加減算できなかった設定項目に、能力値グループ単位で指定ができるようになっています。
これまでも8つまでは能力値に対して効果を指定できたわけで、一見するとそれほど有用ではないとも取れますが、後に予定しているアイテムの称号機能ではこの機能を使わないと実現できない設定の形があるため、その準備として実装されています。
状態については、状態間で排他関係を設定することができるようになっています。これは、状態Aが状態Bを削除するかを取り決める機能です。
この機能について、この場で簡単に説明しておきます。
状態Aの排他設定に状態Bが設定されていると、状態Aは状態Bよりも付加優先権を持つようになります。キャラクタに状態Bが付加されていても状態Aを付加できますがその逆はできません。そして、状態Bが付加されているときに状態Aを付加すると、状態Bが取り除かれます。
これは当初から実装されている機能なのですが、問題を抱えていたのは装備品に設定されている付加状態です。これまでは装備品についても機能していました。装備品間で状態の排他関係が発生している場合、排他される側の状態を隠すという処理によって、キャラクタに付加されないようにしていました。そして、A→B→C→Aの関係で排他するなどの“循環排他”が発生する場合、最初に現れた装備品の状態を優先させるという方針をとっていました。
しかし、次バージョン(v1.10)以降は、装備品に関する状態排他仕様が取り除かれ、装備品に付加された状態はすべて有効であると判断されるようになります。
削除の理由は、処理速度です。
実はコンパイルオプションによって取り除くだけなので、将来的にこの仕様は制作者選択という形で復活させる可能性があります。
エネミーグループの最大人数を、エネミー単位で変更できるようになっています。エネミーが設定人数を超えて「仲間を呼ぶ」ことをしても失敗します。
エネミーの思考ロジックに、「最大数に達していたら仲間を呼ばない」というオプションが加わっています。これがチェックされていない場合、現在の人数を気にせず通常の優先度で仲間を呼びます。
チェックされていても、一人でも呼ぶことが可能であれば、現在は通常通り判定されます。この仕様は将来、優先度を「現在のグループ人数÷呼び込み可能人数」倍するよう変更を掛けるかもしれません。
配布可能バージョンが出るまではエネミーの思考処理は暫定であるため、仕様変更が行われることがあります。
エネミー設定画面から追加アクションごとに回数を指定できるようになっています。残回数がゼロになると選択候補から外します。
将来、エネミーをパーティの仲間に加える機能が搭載されたときは、戦闘突入のたびにこの残回数が最大値まで回復します。平時にも使えるアクションについて、平時における扱いは未定です。
最大9体から26体に変更されています。これがいいのか悪いのかは不明ですが、ひとまず現在の仕様です。
エネミーが仲間を呼ぶ場合も、合計26体を限度人数とします。
ただし、蘇生呪文等でエネミーが復活する場合はこの制限を超えて復活します。これが仲間が呼ばれることで増えたあとであれば、エネミー名称が重複することがあります(古い名前が復活するため)。
Wizardryでもおなじみだった、戦闘中に仲間を呼ぶ機能です。アクションのタイプとして選べるようになっています。仲間を呼ぶとグループ人数が一体増えます。これが使われると、グループが限度人数に達していない限り、必ず成功します。
Wizardryとは異なり、沈黙したエネミーが仲間を呼んでも、沈黙ステータスはコピーされません。
テレポート用の呪文(アクション)には、以下の3種類があります。
マップ編集画面から「移動先として選ばせない」ブロックと「移動アクションを使えない」ブロックを設定できますが、これはいずれのアクションにも適用されます。
マップの範囲外に移動しようとすると、アクションは失敗します。石の中に飛び込んだり、空中に放り出されたりはしません。
相対移動については、0階が街という設定になっています。1階から上に移動する場合、1階上は2階、2階上は3階になりますが、下に移動する場合、1階の1階下は街になり、1階の2階下が地下1階になります。
そして、フロアは1階ごとに存在するとは限りません。存在しない階に移動しようとすると移動アクションは失敗します。例えば、地下1階の下は地下30000階かもしれません。この場合、地下1階から相対ジャンプで地下30000階に移動するには下に29999と入力する必要があり、それ以外を指定するとアクションは失敗します。
これらの規則は、瞬間移動の罠(いわゆるテレポーター)にも当てはまります。テレポーターには、現在のフロアから最高何階先にまで飛ばされるか指定する機能があります。テレポーターの場合、強制移動先として有効なブロックのみをジャンプ対象とするため、「失敗」は通常ありません。ただし、すべてのブロックが移動先禁止ブロックに指定されているなどして、まったく移動の余地がない場合は移動しません。
キャラクタ情報画面から移動できる「O)ther」ですが、マウスカーソルをいろいろ動かすと、時間・金・経験値を編集できるようになっています。キー操作を受け付けない操作があるので、マウスで選んで下さい。
タイトルからゲームを再開したときに、エリア(フロア)には更新がかかりません。玄室の処理状況や宝箱や罠の設置状況は、セーブする直前の状態がそのまま再現されていて、時間も経過していません。
ただし、迷宮内で解散して、街からResumeで再開し直すと「フロア更新」がかかって、玄室が復活します。また、エリアの設定によってはエリアの更新がかかります。
アクションを使用する対象に、同じ「相手一人」でもこの二つの選択が用意されています。これは、PC側が習得するアクションとしてはまったく差がありません。
エネミーのアクションとして使用される場合、「相手一人」だと射程の設定にかかわらず最前列にいるPCのみが対象となります。「相手一人自由選択」ならば射程内にいる全員から選びます。いわゆる「バックアタック」を行いたい場合、適当に射程を伸ばして「相手一人自由選択」を選んでおきます。
制作者向けのログについて。
log0.txt や log1.txt を覗くと、エネミーの思考のところが例えば以下の通りになっています。
---------- [ダークメイジ(ダークメイジ)]の思考処理 ----------
>>>>>>>> 値対象[HP][11]
>>>>>>>> 値対象[HP][11]
>>>>>>>> 値対象[HP][11]
>>>>>>>> 値対象[HP][10]
>>>>>>>> 値対象[HP][11]
>>>>>>>> 値対象[HP][11]
0:[逃走][Nothing][0.20]
1:[仲間を呼ぶ][Nothing][1.00]
2:[マジックアロー][スタッカートガーランド][1.00]
3:[マジックアロー][ダントン][1.00]
4:[マジックアロー][エーデルガルトスタイナー][1.00]
5:[マジックアロー][ラムラムニコラシカ][1.00]
6:[マジックアロー][ルメイン][1.00]
7:[マジックアロー][クインシーシルビア][18.00]
8:[スリープ][スタッカートガーランド][1.74]
9:[ウィーク][スタッカートガーランド][1.74]
>>>>>>>> [7]の[マジックアロー][クインシーシルビア]/sp[詠唱速度][37.8]を選択
「0:」というように数字・コロンで始まっている行は、エネミーの行動選択候補です。このリストに表示されていない行動はとりません。例えば使用可能数が残りゼロであるとか、行動の邪魔をするステータスが付加されている場合は、候補から除去されています。
アクション名の隣に表示されている名前は、対象のキャラクタです。右横の数字は、選択の優先度です。選択する比率を表し、大きいほど選択される可能性が高くなります。
上記ダークメイジは、逃走・仲間を呼ぶ・マジックアロー・スリープ・ウィークという選択をとりうる可能性がある、ということが分かります。そして、その中でも、特に選択率の高いものが以下です。
7:[マジックアロー][クインシーシルビア][18.00]
逃走0.2、スリープ1.74に対して、18もの優先度が算出されています。最後の行を見ると分かりますが、実際にこのときのダークメイジは「クインシーシルビア」に対して「マジックアロー」を使っています。
頭の方にある「>>>>>>>> 値対象[HP][11]」の羅列は、この場合はマジックアローの「試し打ち」です。仮想的にマジックアローを打ってみて、死んでくれる相手を探しています。あまり意味のある情報ではないので無視しましょう。
エネミーの思考ロジックは優先度算出の理論で動いており、最終的にはランダム選択です。優先度を算出する部分が「思考ロジック」になります。Desigeonではあまり頭のいい処理は行いません。将来的に、複雑になりがちなエネミーの思考ロジックの拡張は考えていません。
思考ロジックを無効にしたい場合、無効にしたいエネミー設定のところで思考ロジックのチェックボックスをすべてオフにします。こうすると、選択候補のアクションに設定されている優先度がそのまま使用されます(対象者人数倍されることはあります)。
「○○gpを払いますか?」というメッセージを表示し、支払うとイベントOKと判定されます。足りない場合に銀行から補うことのできる判定と、所持金のみで解決させる機能が用意されています。
支払い能力がない場合、支払うか否かのメッセージが出ずにNGと判定されます。
全エネミーグループが鑑定済みになっていると、エネミーパーティ名が画面の上部に表示されます。この機能は、基本設定1からON/OFFできます。
F1で表示されるシステムメニューから、戦闘時のメッセージウェイト時間を設定できます。0〜9の値が設定でき、入力値×400msのウェイト時間が取られます。0ならば無限です。
壁の種類を参照してください。
基本設定2で、エンディングの条件を設定できるようになっています。
Wiz#5のリトフェイト相当の機能がありませんので、マップ編集画面から直接配置できる簡易のシュートや、ターンテーブルのブロックに突入すれば有無をいわさず強制移動もしくはターンです。
シュートの回避条件を設定するためには、一つにはエリアを定義して、罠を設置することで対応する方法があります。罠には、特定の座標にテレポートさせる機能があり、必要なら回避判定も設定できます。
もしくは、シュートイベントやターンテーブルイベントを定義します。Desigeonのイベント機能はパーティのステータス有無を判定できるので、リトフェイト相当のステータスをアクションで付加すれば、判定後のジャンプやターンが可能です。ただし、ランダムな方位にターンさせるイベントはありません。要望があれば考えます。
FC版Wizardryと異なり、「一瞬の画面の切り替わり」がないため、ワープやターンテーブルに突入したことがプレイヤーに伝わりづらい描画動作になっています。もちろん、とつぜん景色が変わってしまえばワープかターンテーブルを真っ先に疑われることは確かでしょうが、迷路構造と視界の調整次第ではまったく気づかれずにワープ、ターンさせることができます。
パーティが空のとき、街に「Resume」ボタンが現れます。迷宮内のキャラクタを一人パーティに加えた状態でゲームを続行します。迷宮内の酒場メンバもResume可能です。
罠の設定。
宝箱の罠を鑑定するときに、鑑定者がどの罠の中から罠を間違えるのかを指定する必要があります。それが「宝箱罠候補」です。
誤判定する可能性のある罠はチェックボックスをオンにします。たとえば、A,B,Cの罠に宝箱罠候補フラグが設定されているとき、鑑定者はこの3つの中から間違えます。実際に仕掛ける罠に選ばれる条件としては無関係です。
全員が行動不能状態となっているとき、もっとも解除までの時間の短いキャラクタが、解除まで残り何ターン以上要する場合に全滅とみなすか、そのターン数を戦闘ターン数で指定します。設定が0の場合、残り時間が無限ターンの場合のみ全滅となります。基本設定2です。
パーティ全員が無限ターン数分の行動不能ステータスを帯びている場合、設定にかかわらず即刻全滅となります。
迷宮内でパーティメンバを分けるときの条件を基本画面2から設定できます。迷宮内で別れられない設定になっていると、迷宮内に酒場を配置してキャラクタの保管機能を用意する価値が生まれます。
メンバの合流は解散設定の影響を受けません。
キャラクタ情報画面から移動できるSkill画面ですが、キャラクタの場合とエネミーの場合で表示非表示を切り替えられるようにしてあります。ツールの基本設定2です。
「光源消滅」の機能は消しました。また、本作ではWizardryと異なり、ダークゾーンでロミルワ相当の呪文が解除されることはありません。
ロミルワ相当の呪文を解除するには、状態を付加または削除するイベントを用います。