ブラインドゲーム用プラグイン by さかみち

タイトルのようなモジュールを作ってみましたので紹介します。
varonさん作のシュペー号のモジュールの中で、[索敵]ボタンに利用していただいております。

使っていただければ光栄です。

入手方法


コマンドから配布されているvaronさん作のシュペー号のモジュールに含まれるものには、不備があり、探索対象になるユニットがスタックしている場合に、正常に動作しませんでした。

修正版を用意し、このページに添付しておきました。
VASSAL本体のライセンスをそのまま引き継ぐ形なると思いますので、自由にご利用ください。

モジュールへの追加方法


  1. 追加したいモジュールをZIPが解凍できるファイルで解凍し、上記ZIPファイルに含まれるcmjディレクトリ以下を、モジュールを解凍したディレクトリににコピーして、モジュールを再度圧縮してください。
  2. VASSALのモジュール編集画面のツリービューで、"Global Key Command"を追加できる場所(たぶんモジュール自体のみ)を右クリックして、メニューの最下部にある"Add Imported Class"を実行してください。すると何か入力するように促されるので、"cmj.spee.ScoutingCommand"と入力してOKボタンを押してください。

機能と使い方

この機能はGlobal Key Commandを拡張したもので、ツールバーにボタンを配置して、ユニットなどのコマに設定されたコマンドを、一度に使用するものです。

通常のGlobal Key Commandはユニット自身に指定されたプロパティ(ユニット名やMarkerで指定した値など)を使ってコマンドを実施するユニットを制限することができます。

このScoutingCommandは、条件として、コマンドを実行するユニットの条件として、別のユニットからどれくらいの距離にいるのかを条件として指定することができます。

ScoutingCommandの名称はブラインドゲームなどで、隠匿されているユニットの存在を知る場合などに利用することを想定したもので、上記の"別のユニット"には隠匿されているユニットも対象にします。

別のユニットとその条件を絞り込むことは、このボタンの"Properties"で指定できます。Global Key Commandの設定項目に加えて、"Scountiing Mathcing Property"と"Scouting Range"の二つが設定できます。

Scouting Matching Propertyは、探索対象のユニットの条件です。
Scouting Rangeは探索できるヘクス数です。

前者の条件を満たすユニットが、後者で指定したヘクス数以内にいるユニットにのみ、設定したコマンドが適用されることになります。

使い方の例

一方がブラインドになるゲームの場合

ブラインドにならない側のユニットに、敵を発見したことを表す、AreaOfEffectやLayerあるいはSoundなどを呼び出す用にしておきます。そしてブラインドになる側のユニットにMarkerで"target"という名前で値が"true"など、この探索の対象になるユニットを識別するプロパティを追加しておきます。
最後に、ScoutingCommandを使って、このコマンドを呼び出すボタンを作ります。このときScouting Matching Propertiesで"target=true"など、ブラインド側のユニットを特定する条件を指定します。そして同一ヘクスで発見なら"0"、隣接ヘクスなら"1"を指定します。

双方がブラインドになるゲームの場合

基本的には一方がブラインドになるゲームの設定をお互いにやればOKです。双方の陣営のユニットに陣営を示すMarkerなどを追加して、これをScouting CommandのMatching PropertyやScouting Matching Propertyに設定することで、それぞれの陣営用のコマンドにできます。

その他の例

制限地形などを考慮しなければ、マストアタックのゲームで戦闘を行わなくてはならないすべてのユニットを表示できると思います。

注意点

  • 現在はヘクスマップ上でしか使えません。
  • 探索の距離について、他のプロパティを参照することはできません。
  • 現時点では移動可能とか探索可能などの地図での通行禁止や移動コストなどを考慮することはできません。
  • 最大の注意点ですが、この機能をブラインドゲームで利用することは、相手の位置を知らせる効果を持ってしまいます。ですので、何らかの方法で対戦相手にこの機能が使われたことを通知する方法がないとインチキが可能になってしまいます。
    • たとえば、シュペー号では、隠匿されているシュペー号の索敵に利用していますが、ルール上、索敵に成功した場合、やはり隠匿されている索敵に成功したユニットの隠匿が解除されますので、これを同時に実行することで、インチキを防いでいます。


最後に

やはりプレイしやすくしようとすると、地形など地図のデータを扱えたほうがいいですね。
VASSALのサイトの記述を見ると、VASSALの開発者はこれをやろうとはしているようです。
ネックは地図上のデータを汎用的に持とうとすると、膨大なデータ量になってしまうのがネックとなっているようです。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2008年11月21日 10:26
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。
添付ファイル