Raal's Tome of Destruction

主にroguelikeのことを書くブログです

なんとなくLOSトリック講座〜初級編〜

LOSトリック。それは敵と自分の視線が非対称であることを利用して一方的に攻撃すること。
なのだが。

そう言われてもピンと来ない人は多いかもしれない。
かつての私はそうだった。今はちょっと分かるし、それなりに活用できている。と思う。
知っていると知らないとでは遠距離攻撃の活用に雲泥の差が出るので、ぜひ覚えてもらいたい。


そもそも、視線が非対称と言うが、視線とは何のことだろうか。
=2から変更できる、魔法や矢の軌跡を表示する(display_path)オプションをオンにすると分かりやすい。

......@******.............
.............******J*****.

Jを狙って射撃や魔法を使おうとするとこのように軌跡が表示される。これが視線だと思ってもらってかまわない。
このとき、@とJの間の*上に障害物がないとき、@とJの視線が通っている状態である。
すなわち、@からJが見えている状態であると言うわけだ。
#厳密には視線と射線は異なる。

仮にこの*のどこかが1マスでも壁などで遮られているならば、@からJは見えないということになる。

......@*******.............
..............#*****J*****.


さて、この状態でJと@の位置関係を入れ替えるとどうなるだろうか。
視線はこのように通る。

.*****J******.............
.............*******@......

Jが@を狙う視線は、位置を入れ替える前の@の視線と同じであるから、こうなる

......J*******.............
..............******@*****.

重ねるとこうなる。かえって分かりにくくなるかもしれないが、重なっている部分を青くしてみた。

.*****J*******.............
.............*******@*****.

両者の視線は対称でないことがわかるだろう。(対称ならば、@とJの間の*は全て青く見えるはずだ)
さて、ここでこの位置に壁があると@の視線のみが通ることがお分かりいただけるだろうか。

.*****J******#.............
.............*******@*****.


これが基本である。
ちなみに、@とJがあと一歩近かったり遠かったりすると視線は完全に対象になる。

...@******..........
..........******J...

この視線の非対称性は@とJの座標のズレが(2n,1)であるときに生じるのだ。(90度ずつまわしても同じ)
すなわち、

@*. @**.. @***... @****.... @*****..... @******...... @*******....... @********........
.#J ..#*J ...#**J ....#***J .....#****J ......#*****J .......#******J ........#*******J

このようなケースでは@からJが一方的に見えているわけだ。(@とJのy座標のズレが大きくなる場合は後述)
特に、最初のケースは重要だ。いわゆるケイマの位置関係である。
これは曲がり角などでよく発生する。

##### #####
#.J.. #..J.
#.### #@###
#@#   #.#

この二つの位置関係を比べてみよう。前者は@がJを一方的に見ているが、後者はJが@を一方的に見ている。
待ち伏せするなら明らかに前者の方がお徳だ。

さて、変愚以外の*bandならコレだけの話で済んだのだが。
このLOSトリックがあまりにも強力かつゲームバランスを崩壊させまくるので、変愚ではこれを封じるいくつかの策が施されている。
#そもそも視線自体が改良されていたりするのだが、視線はdisplay_pathオプションで簡単に把握できるからいいだろう。


まず、モンスターは@が見えていなくても@の隣のマスが見えていれば範囲攻撃魔法や召喚を使ってくる。
これによって、一方的に攻撃する位置を確保するのが難しくなっている。

さらに、モンスターは@も隣のマスも見えていない状態でも、@からの遠隔攻撃を食らうと報復として召喚を行う。
このため、一方的にモンスターをハメ殺すのが非常に難しくなっていると言えるだろう。

次回はこれを踏まえて基本的LOS戦術の話でも。