新しい回避。
オリバー・ツイスト(上)を読み終えました。
勢いがある作品でして、結構読み応えはあります。
しかし、主人公は何もせず、只流されているような気がします。
例えて言うなら、双六のコマの様な感じです。
でも時代背景を考えれば、
そうせざるを得ない状態だったのかもしれません。
と、読書感想文は兎も角、
セメタリーの急速移動に寄る回避ルーチンを見直しました。
上手く急速移動が出来ない理由として、
壁スイッチの判定で方向を決めていたのがあります。
これは弾の来た方向に対して回避するのではなく、
壁スイッチで定まった方向に回避するものでして、
この為に右方向から来た弾を右に回避するという、
無茶苦茶な状態になっていました。
ですので、これを改善しました。
今までは、
1)弾の方向→
2)壁or敵スイッチ判断→
3)機体状況判断→
4)ジャンプorジャンプ射撃
の4)に急速回避を入れていたのですが、
これを改めまして、
1)弾の方向→
2)壁or敵スイッチ判断(現在状況)→
3)弾の範囲判断→
4)壁スイッチ判断→
5)機体状況判断→
6)回避
としました。
図で書いたほうが分かりやすいのですが、
用意できなかったので、大まかな流れだけ書きました。
2)の現在状況といいますのは、
2)の実行時点でそこに壁と敵がいるかと言う物で、
過去に『いた』状態(この時点で存在『している』か)を、
壁or敵スイッチと同時に判断します。
これで、『いる』場合は有無を言わさずジャンプに移行させ、
そうでない場合は弾の範囲診断に飛ばす様にしました。
これにより、壁や敵の近くで急速移動回避を行わず、
スイッチに寄るジャンプ回避を行う事になります。
その後、弾の範囲診断を壁スイッチの診断より先に処理させ、
スイッチではなく、範囲で急速移動させる方向を決めるようにしました。
また、範囲外である場合には例によってジャンプ回避に移行させるようにしました。
更に、停止状態になる事を防ぐ為、
ガードする弾の射程を12mと、シビアにしました。
結果、ノップが増えてしまい、
処理は遅くなりましたが、
かなりの精度でジャンプと急速移動を併用でき、
回避率は上がりました。
が、それでも食らいます。
理由は範囲の調整不足と、弾の速度です。
徹甲弾であれば余裕で回避できるのですが、
ビームですと回避中に(狙撃なら尚更)食らいます。
ビームとの相性が悪いようですので、ここは要調整です。
ビームにはジャンプしかないのかな?と考えてもいます。
でも、このお陰で燃料消費が若干浮きました。
この技術を応用して、カノンセメタリーを新しく作って、
セメタリー部隊を復活させてみようかな~とも思っていたりしています。
でも、現実的に無理っぽいですね。
同じ機体ですと、欠点も同じになってしまい、
そこを突かれて駄目になってしまいますから。
因みに、壁スイッチとは何?と言う方はこちらを参照して下さい。
どうでもいい話ですが、
当初は急速移動orジャンプの判断を-1×で行おうとしていました。
例えば急速移動させる場合、ー1をかけて-にし、
ジャンプなら更に-1をかけて+にするといった具合で、
数字は方向に対応させるという物でした。
でも、これですと単純にスイッチにしかならないので、
状況に応じて判断できないという欠点があるのです。
でも、これ何かに使えそうですね。
-にーをかければ+、更にかければ-になるのですから。
勢いがある作品でして、結構読み応えはあります。
しかし、主人公は何もせず、只流されているような気がします。
例えて言うなら、双六のコマの様な感じです。
でも時代背景を考えれば、
そうせざるを得ない状態だったのかもしれません。
と、読書感想文は兎も角、
セメタリーの急速移動に寄る回避ルーチンを見直しました。
上手く急速移動が出来ない理由として、
壁スイッチの判定で方向を決めていたのがあります。
これは弾の来た方向に対して回避するのではなく、
壁スイッチで定まった方向に回避するものでして、
この為に右方向から来た弾を右に回避するという、
無茶苦茶な状態になっていました。
ですので、これを改善しました。
今までは、
1)弾の方向→
2)壁or敵スイッチ判断→
3)機体状況判断→
4)ジャンプorジャンプ射撃
の4)に急速回避を入れていたのですが、
これを改めまして、
1)弾の方向→
2)壁or敵スイッチ判断(現在状況)→
3)弾の範囲判断→
4)壁スイッチ判断→
5)機体状況判断→
6)回避
としました。
図で書いたほうが分かりやすいのですが、
用意できなかったので、大まかな流れだけ書きました。
2)の現在状況といいますのは、
2)の実行時点でそこに壁と敵がいるかと言う物で、
過去に『いた』状態(この時点で存在『している』か)を、
壁or敵スイッチと同時に判断します。
これで、『いる』場合は有無を言わさずジャンプに移行させ、
そうでない場合は弾の範囲診断に飛ばす様にしました。
これにより、壁や敵の近くで急速移動回避を行わず、
スイッチに寄るジャンプ回避を行う事になります。
その後、弾の範囲診断を壁スイッチの診断より先に処理させ、
スイッチではなく、範囲で急速移動させる方向を決めるようにしました。
また、範囲外である場合には例によってジャンプ回避に移行させるようにしました。
更に、停止状態になる事を防ぐ為、
ガードする弾の射程を12mと、シビアにしました。
結果、ノップが増えてしまい、
処理は遅くなりましたが、
かなりの精度でジャンプと急速移動を併用でき、
回避率は上がりました。
が、それでも食らいます。
理由は範囲の調整不足と、弾の速度です。
徹甲弾であれば余裕で回避できるのですが、
ビームですと回避中に(狙撃なら尚更)食らいます。
ビームとの相性が悪いようですので、ここは要調整です。
ビームにはジャンプしかないのかな?と考えてもいます。
でも、このお陰で燃料消費が若干浮きました。
この技術を応用して、カノンセメタリーを新しく作って、
セメタリー部隊を復活させてみようかな~とも思っていたりしています。
でも、現実的に無理っぽいですね。
同じ機体ですと、欠点も同じになってしまい、
そこを突かれて駄目になってしまいますから。
因みに、壁スイッチとは何?と言う方はこちらを参照して下さい。
どうでもいい話ですが、
当初は急速移動orジャンプの判断を-1×で行おうとしていました。
例えば急速移動させる場合、ー1をかけて-にし、
ジャンプなら更に-1をかけて+にするといった具合で、
数字は方向に対応させるという物でした。
でも、これですと単純にスイッチにしかならないので、
状況に応じて判断できないという欠点があるのです。
でも、これ何かに使えそうですね。
-にーをかければ+、更にかければ-になるのですから。
テーマ : カルネージハートポータブル
ジャンル : ゲーム