	$Id: npc_snake.txt,v 1.1.1.3 2002/11/19 11:43:21 Yoshizawa1 Exp $



		スネークのアルゴリズム





2001/3/8



・スネークのモードに、ライデン待ちモードとライデンお迎えモードを追加。

  スネークがライデンよりかなり先行してしまった場合は、ライデン待ちモードになり、

  そこから先には進まない。ライデンが前になかなか来ない時は、ライデンお迎えモードになり、

  ライデンの場所まで戻ってきて、ライデン後方援護モードになる。



                                           ----------------------------

                                           |                          |

                                           V                          |

  ---- スネーク自己判断モード  ...	敵検出、掃討 ----> 次地点へ移動 ---

  |            |

  |            |

  |            |

  |    ライデンが前方にいる、もしくは前方に進み続けている。

  |            |

  |            |<-----------------------------------------------------------------

  |            V                                                                 |

  |    ライデン追跡モード                                                        |

  |            |                                                                 |

  |            |                                                                 |

  |            |                                                                 |

  |    ライデンが立ち止まった。                                                  |

  |            |                                                                 |

  |            |                                                                 |

  |            V                                                                 |

  |    ライデン後方援護モード(ライデンのわずか後方でライデンの後ろの敵を攻撃)    |

  |         ^  |                                                                 |

  |         |  |--- ライデンが前方にいる、もしくは前方に進み続けている。----------

  |         |  |

  |         |  |--- ライデンの後方に敵がいない、もしくは攻撃できない位置(二階)に

  |         |       敵がいる。

  |         |                                 |

  |         |                                 |

  |         |                                 V

  |         |       ライデンの前方に移動。自己判断モードに移行。

  |         |

  |         |

  |         |

  |    ライデンの位置まで戻ってきた。

  |         |

  |         |

  |         |

  |    ライデンお迎えモード

  |         ^

  |         |

  |         |

  |    ライデンを待ってかなり時間が経った。

  |         |

  |         |

  |         |

  |    ライデン待ちモード

  |         ^

  |         |

  |         |

  ---> ライデンよりかなり前方に進んでしまった。





  また、上記のモードをサポートするためのサブモードとして、

  移動系モード(STAY,MOVEPOS,MOVEZONE,FLWRAIDEN)、攻撃系モード(NONE,SHOOT_USP,SHOOT_FMS)、

  隠れ系モード(NO_HIDING,MOVE_TO_HIDE,SITDOWN_TO_HIDE,HIDING,ATTACK,PEEPING,BACK_TO_HIDE)を

  用意し、それぞれの組み合わせで動作を表すように考慮する。隠れ系は、移動系モードSTAYのための

  モードで、その場に留まりながら敵を倒していくモードである。

  モードの遷移は、隠れ系以外は一意に定まっていない。移動系、攻撃系は前アクション終了時に

  どのモードにでも遷移できるが、隠れ系は下の遷移順を守る必要がある。



  隠れ系モード遷移図



        NO_HIDING ( NO_HIDINGへは、下のどのモードからでも移行可能 )

            |

            |

            V

        MOVE_TO_HIDE --------------------

            | ( 隠れ場所に移動 )        |

            |                           V

            |                     SITDOWN_TO_HIDE

            |                           | ( 隠れるために座らなくてはならない場所の場合 )

            V                           |

  -----> HIDING <------------------------

  |         | ( 立ち、座りビハインドモーション )

  |         |

  |         V

  |      PEEPING ------------------------

  |         | ( のぞき込みモーション )  |

  |         |                           V

  |         |                         ATTACK

  |         |                           | ( ビハインドからの飛びだしモーション )

  |         |                           |

  |    BACK_TO_HIDE <--------------------

  |         | ( のぞき込み、飛びだしからの復帰 )

  |         |

  -----------





2001/2/28



・スネークは、勝手に自己判断して、前に進んでいく。

  その時、敵が出現したら敵を攻撃するために、そこに留まり、前方の敵を掃討したら、

  前に進む。

・スネークのライデンサポートレベルにより、敵を倒していくスピードを変化させる。

  レベルが高い時は敵を瞬殺し、レベルが低い時は敵を倒すのに時間をかけるようにする。

・ライデンがかなり先行していった場合、ライデンのすぐ後ろを追いかけるようにする。

  そして、ライデンが立ち止まったら、後方の援護を行い、それから前方に移動して、

  通常のスネークの自己判断モードに戻る。



                                       ----------------------------

                                       |                          |

                                       V                          |

  スネーク自己判断モード  ...	敵検出、掃討 ----> 次地点へ移動 ---

          |

          |

          |

  ライデンが前方にいる、もしくは前方に進み続けている。

          |

          |<-----------------------------------------------------------------

          V                                                                 |

  ライデン追跡モード                                                        |

          |                                                                 |

          |                                                                 |

          |                                                                 |

  ライデンが立ち止まった。                                                  |

          |                                                                 |

          |                                                                 |

          V                                                                 |

  ライデン後方援護モード(ライデンのわずか後方でライデンの後ろの敵を攻撃)    |

          |                                                                 |

          |--- ライデンが前方にいる、もしくは前方に進み続けている。----------

          |

          |--- ライデンの後方に敵がいない、もしくは攻撃できない位置(二階)に

               敵がいる。

                                         |

                                         |

                                         V

               ライデンの前方に移動。自己判断モードに移行。





2001/2/13



・ライデンに近いラインの目標点に移動

・高速リロードの使用／非使用

・ライデンが隠れたまま進まない時(敵の攻撃によって進めないの時)、

  FA-MASで掃射する。

・ライデンのLIFEが少ない時、ライデンのやや前方にスネークを進める。

・敵に対しての攻撃の正確さ(Head Shot) -> ライデンのレベルに応じる。



・攻撃の優先

  1) 一番近い

  2) ライデンに近い(ライデンには弾が当たらないこと)

  3) 後方 (ライデンの方が前方にいる場合)

  4) 前方

