エンジョイ工業:OKEノート

「エンジョイ工業:OKE研究所」のニナガワが
OKE開発中に気づいたコトや、ブログにいただいたコメントを、
ノートとしてまとめているサイトです。
(2007.01.05up)

このノートは、確定的で信頼度の高い情報を集めたサイトとして、
- Chip Codex -を立ち上げてあります。
「OKEノート」の情報はだいぶ古く、間違いだらけだと思いますので、
ぜひ- Chip Codex -もご覧ください。 (2008.03.19追記)




■■■■■■■ 以下、01.05更新分 ■■■■■■■ 【スコア式行動判断】 原始的なチェスのプログラムで、取れるコマにスコアを設定しておき、 スコアの高いコマを取れる手を選ぶようにする、という手法があったそうなので、それをCHPに応用。 例えば、ジャンプするとして、左右の着地点予定地点に関して、 味方が近ければ  2点 壁が近ければ   1点 地雷があれば   3点 のようにスコアを加算し、 左右で比較してより合計危険スコアの低い方にジャンプするという手法。


【ひとり時間差撃ち】 アラクネーVSアラクネーで。 [1]相手がジャンプするのを待つ [2]相手のジャンプを検知したら数Fの間ディレイ [3]相手の着地硬直開始に、こちらのジャンプ射撃が発射される   タイミングでジャンプ射撃を発動 [4]相手の硬直解除直前に、着弾


【「狙撃チップ」の性能は?】 「狙撃チップ」による射撃は、TGの動きを「等速直線運動」と仮定して予測射撃を 行っているようです。 スピードが可変する動きや、垂直方向に曲線を描くジャンプに対して、狙撃が当たらないのは このためだと思われます。 また、射撃機体の砲塔旋回速度を超えたTGの動きも捉えることができないようです。


【武装を、残弾のある順に使っていく】 「ターゲットに射撃」のチップが、残段数が無い時に無効とされる使用を利用します。 [1]「武装1をTGに射撃(通過)」 [2]「武装2をTGに射撃(通過)」 [3]「武装3をTGに射撃(通過)」 こうチップを並べておくと、この一連のチップを踏んだ際、 武装3があれば武装3を、なければ武装2を、 武装2も無ければ武装1を使うようになります。 ジャンプ射撃でも同様です。 [1]「武装1をジャンプ射撃(通過)」 [2]「武装2をジャンプ射撃(通過)」 [3]「武装3をジャンプ射撃(通過)」 ※同一フレーム内であることが望ましいです。


【サブ領域を小分けして増やす】 サブ領域の1番目のチップに条件分岐を入れておくことで、 1つのサブ領域を2つ以上のサブ領域のように使うこともできます。


【ラッシュのタイミング判断】 相手が体勢を崩したところに手を休めず打ち込むラッシュ。 その判断は、動作コードの取得が便利のようです。 動作コードの後半は、 87 前小ダメージ 88 後小ダメージ 89 右小ダメージ 90 左小ダメージ 91 大ダメージ 92 ? 93 ?  94 ? 95 起きあがり 96 起きあがり となっており、97以上には割り当てが無いようなので、 [1]カウンタAにターゲットの動作コード取得 [2]Aが91以上ならラッシュ とすると、相手の硬直をまとめて判断できます。(たぶん) ※ただし、相手を撃破すると動作コードは固定となるので、  ループにする際はアンロック判断も併用したほうが吉。


【リロードについて】 射撃のリロード時間は、[射撃準備時間]と[リロード時間]に分けられるようです。 [射撃準備時間]は、射撃の1発目に必要になります。 ただし、射撃をリセットする行動(格闘・ガードなど)を挟まなければ、[射撃準備時間]は次の射撃には不要となるようです。 例えば、射撃→ジャンプ→移動→射撃という流れで行動を行った場合には、2回目の射撃は[リロード時間]のみで発射できます。 例1)射撃の合間に「移動」を挟んだ場合の発射間隔 [射撃準備時間][リロード時間]【発射】(移動)[リロード時間]【発射】・・・ 例2)射撃の合間に「ガード」を挟んだ場合の発射間隔 [射撃準備時間][リロード時間]【発射】(ガード)[射撃準備時間][リロード時間]【発射】・・・ ※各機体の[リロード時間]については、nas_B氏のサイトに詳しいデータがあります。 http://www.asahi-net.or.jp/~vw4k-kbys/chp/reload.html ※ [射撃準備時間]が復活する行動:格闘・ガード [射撃準備時間]が復活しない行動:移動・急速移動・ジャンプ ※未検証の部分もあるため、この説は間違っている可能性があります。


【アラクネーのジャンプ射撃について】 最重量アラクネーでジャンプ射撃 ジャンプ最高高度:7.7m ジャンプ射撃1発:9F目、7.7mで発射 ジャンプ射撃2発:9F目、7.7mで発射 ただし、それぞれジャンプ射撃を連続させると、リロード時間が短縮され、 ジャンプ射撃1発:4F目、4.5mで発射 ジャンプ射撃2発:4F目、4.5mで発射 使い道は少ないかもしれませんが、高い位置で発射したい場合には、格闘チップなどを挟み[射撃準備時間]を復活させればOKです。


【「狙撃」の正体について】 射撃チップの「狙撃」がどのへんのデータを根拠に予測射撃を行われているのか検証してみました。 アラクネーのカノンの場合。 「狙撃」はチップが実行されてから8FまでのTGの動作は無視し、 9Fから発射直前の17FまでTGの移動データをもとに、予想射撃を行っているようです。 ※未検証の部分もあるため、この説は間違っている可能性があります。


【ジャンプ着地予測射撃(クロコダイル計画d 版)の概要】 1)TG(ターゲット)のジャンプを待つ 2)カウンター指定射撃(リロード消化用) 3)XY距離から、TGのジャンプ移動量を角度に換算 4)ジャンプの方向を判断 5)機体本来の射撃角度の補正 6)諸々のデータでカウンター指定射撃。2)にデータのみ上書き。 7)超遠距離の場合は、再ジャンプ後狙いで少し上目にする。 ・カウンター指定射撃の2枚踏みがポイントです。 ・再ジャンプ後も狙うことで、300mの狙撃も当たるかもしれません。 ・回避チェックを挟み、適宜、予測ルーチンを抜け出します。


【ミサイルについて】 ・ミサイルは発射後にターゲットを変更しても、  元のターゲットを追尾しつづける。 ・すでにECMを発動しているTGに対しミサイルを発射し、  かつ、追尾中に、TGのECMが切れた場合、  その時点から改めて追尾が始まる。 ・自機をターゲットしていないミサイルも、ミサイル判断に含まれうる。 ・味方のミサイルもミサイル判断に含まれうる。 ・もちろん、判断に含まれるのは自機との距離が近づいているミサイルのみ。


【戦闘画面の被ロックメーターのルール】 被ロック状況        被ロックメータ表示 ・OKE1機        →被ロック1 ・OKE1機+ミサイル1発 →被ロック2 ・OKE1機+ミサイル2発 →被ロック2 ・OKE2機        →被ロック2 ・OKE2機+ミサイル2発 →被ロック3 ・OKE3機        →被ロック3 ※ただし、TGロック+ミサイルロックで被ロックが2になっても、  「TGロック警戒判断チップ」では1機という判断。


【シンクロカノン】 対空のカノンです。 2〜3機のOKEの射撃のタイミングをシンクロさせます。 異なる複数の地点に同時着弾するため、回避する飛行型にも当たりやすくなります。 [1]カウンタAに経過時間を取得 [2]カウンタA=mod 1 [3]カウンタA=0か? Y→射撃(狙撃) N→[1]へ


【仰角取得のワナ】 「ターゲットのいる仰角」で取得した仰角は、自機から見たTGの仰角ではないので、注意が必要です。 図)CHPから見た角度の表し方のイメージ。 http://www.ghost.ne.jp/~whole/gyoukakuA.jpg 図)「ターゲットのいる方向」「ターゲットのいる仰角」のイメージ。 http://www.ghost.ne.jp/~whole/gyoukakuB.jpg


【決定版?仰角判断射撃】(by rosuko氏/暇人氏/するが氏/G-ONE氏/Stand.k氏/ヒデー氏) 三角関数のcosを利用することで、自機の高度にかかわらず、 ターゲットが仰角範囲内かを判断できます。 ・ターゲットまでの距離*100<ターゲットまでのXY距離*定数 ・定数=1/cosθ*100  (45°の場合の定数は「141.4」です。) [1]A=ターゲットまでの距離 [2]B=ターゲットまでのXY距離 [3]A=A*100 [4]B=B*定数 [5]A<=BがYESの場合、射撃する。 図) http://www.ghost.ne.jp/~whole/COSMAGIC.jpg (注:図の式では簡略化のため100倍にしていません。)


【パルスミサイル】 パルスでチップの流れを止めることで、ECMの発動を失敗させ、ミサイルを当てる。


【マングースジャンプ】 バジリスクやホイリーコーンの長距離格闘による格闘ハメをジャンプでかわす努力です。 あえて一度相手に真後ろをとらせることで、反撃のチャンスを作ります。 ※対策は簡単なので、対策されたらおしまいです。 図) http://www.ghost.ne.jp/~whole/mgjump1.jpg





■■■■■■■ 以下、いままでのものを混ぜた情報 ■■■■■■■


□□□□□ 基 本 的 な 情 報 / 用 語 □□□□□ 【フレームとは?チップとは?】 1秒間は30コマあり、その1コマを1フレームと呼びます。 また、最速のCPUは1フレームにつき5枚のチップを処理します。 つまり、最速のCPUは、1秒間に150チップを処理できます。


【同じフレーム内の味方同士の行動処理の優先順位について】 (1フレーム目)   1番機の1〜5チップを処理    →2番機の1〜5チップを処理      →3番機の1〜5チップを処理 (2フレーム目)    →1番機の6〜10チップを処理      →2番機の6〜10チップを処理        →3番機の6〜10チップを処理 (3フレーム目)      →1番機の11〜15チップを処理・・・ のように、1フレーム(=5チップ)単位で処理をして、チーム登録時の機体番号順に次に渡しています。


【バースト射撃とは?】 バースト射撃とは、以前のカルネージハートのテクニックで、射撃動作の最後の硬直時間を、 次の動作で上書きすることで硬直時間を短縮(キャンセル)し、連射にするテクニックです。 CHPでは使えないとされています。 (nas_B氏によると、グレネードのみ可能とのこと。)


【キャンセルとは?】 伏せや格闘など、動作チップ1枚で実行される動作には一定の時間が存在しますが、 その動作中に別の動作チップで命令を出すことで、前の動作を切り上げ(≒キャンセル)て 次の動作をさせることです。 行動の時間短縮や、特別な効果を狙って行われます。 (例:格闘キャンセル突進、伏せキャンセルジャンプミサイル避け) ▽狙撃キャンセルの例(カノンアラクネー) 「ターゲットを狙撃(通過モード)」 ↓ 「STOP:16/30s」 ↓ 「右へ急速移動」 とすると、撃ち終わってすぐに移動することができます。 一時停止モードと比べて、狙撃後の硬直6フレーム分をキャンセルできているコトになります。 狙撃の命中率が下がることもないようです。


【熱暴走について】(06.10.31訂正) 熱量100%でのペナルティは、熱ダメージのみ。 「行動チップ」が実行できなくなるなど暴走に見える状況は、被弾状態が原因。 被弾状態でも「オプション」は使用できるので、行動不能状態でも「冷却オプション使用」や「シールドオプション使用」で対応可能。


【時間カウンター】:定期ミサイルなどに利用。 レシピ:メインループ内 『行動を行うか?(ミサイル発射・オプション使用など)』NO→(外へ)  ↓YES  「カウンタAに経過時間を代入」(←新鮮な時間を取得、代入)  ↓ 「カウンタBがAよりも小さいか?」NO→(次の行動へ)  ↓YES  「行動(ミサイル発射・オプション使用など)」  ↓ 「カウンタB=A+(インターバルしたい秒数)」  ↓ 「RETURN」


【同オプション複数使用】 レシピ・メインループ内 『オプションを使うか?(タイマーなど)』NO→(次の行動へ)  ↓YES 「オプション4の残弾は1以上あるか?」NO→(次の行動へ)  ↓YES 「オプション1の残弾が1以上か?」YES→「オプション1を使う」  ↓NO 「オプション2の残弾が1以上か?」YES→「オプション2を使う」  ↓NO 「オプション3の残弾が1以上か?」YES→「オプション3を使う」  ↓NO 「オプション4を使う」  ↓ (外へ) 複数スロットのオプションをすべてなくなるまで順番に消費できます。


【カウンタのやりくりについて】 1)取得した数値をキープしておくタイプ   ・定期ミサイルタイマー用/分散ロック用など 2)計算直前に数値を取得するタイプ   ・現在時間/敵の距離や方角など/集中ロック用など おそらく2)に分類されるものの方が使用頻度が高いので、そこを意識するとがしやすく なりそうです。 ※カウンタ指定ターゲットは、小数点以下を無視するようです。(by gaw氏)


【戦闘画面の被ロックメーターのルール】 被ロック状況        被ロックメータ表示 ・OKE1機        →被ロック1 ・OKE1機+ミサイル1発 →被ロック2 ・OKE1機+ミサイル2発 →被ロック2 ・OKE2機        →被ロック2 ・OKE2機+ミサイル2発 →被ロック3 ・OKE3機        →被ロック3 ※ただし、TGロック+ミサイルロックで被ロックが2になっても、  「TGロック警戒判断チップ」では1機という判断。





□□□□□ 応 用 的 な 情 報 / 用 語 □□□□□ 【オプション使用に関する法則】 ・オプションの作動中に、同じオプションの発動命令が実行されても、無効となります。 ・従って、同じオプションを使用するというループを組んだ場合、最小の隙で、連続使用されます。 ・オプションの残数判定は、発動時点で0となります。 ・従って、「オプションの残数が1以上あるか?」という指示の時、  最後の1つが発動後であれば、作動中はNOに分岐します。


【ミサイルとECMの関係について】 ECMが発動された後、ミサイル軌道は小刻みにランダムで方向が変化するらしいです。 つまり、場合によっては、十分な距離でECMを発動しても、偶然機体に直撃することもあり得ます。 ECMはなるべくミサイルから距離を置いて発動した方が、ミサイルの方向変化の回数が増える分、 当たりづらくなると言えそうです。


【「狙撃」の考察集】 「狙撃チップ」による射撃は、TGの動きを「等速直線運動」と仮定して予測射撃を行っているようです。 スピードが可変する動きや、垂直方向に曲線を描くジャンプに対して、狙撃が当たらないのはこのためだと思われます。 また、射撃機体の砲塔旋回速度を超えたTGの動きも捉えることができないようです。 射撃チップの「狙撃」がどのへんのデータを根拠に予測射撃を行われているのか検証してみました。 アラクネーのカノンの場合。 「狙撃」はチップが実行されてから8FまでのTGの動作は無視し、 9Fから発射直前の17FまでTGの移動データをもとに、予想射撃を行っているようです。 ※未検証の部分もあるため、この説は間違っている可能性があります。


【リロードについて】 射撃のリロード時間は、[射撃準備時間]と[リロード時間]に分けられるようです。 [射撃準備時間]は、射撃の1発目に必要になります。 ただし、射撃をリセットする行動(格闘・ガードなど)を挟まなければ、[射撃準備時間]は次の射撃には不要となるようです。 例えば、射撃→ジャンプ→移動→射撃という流れで行動を行った場合には、2回目の射撃は[リロード時間]のみで発射できます。 例1)射撃の合間に「移動」を挟んだ場合の発射間隔 [射撃準備時間][リロード時間]【発射】(移動)[リロード時間]【発射】・・・ 例2)射撃の合間に「ガード」を挟んだ場合の発射間隔 [射撃準備時間][リロード時間]【発射】(ガード)[射撃準備時間][リロード時間]【発射】・・・ ※各機体の[リロード時間]については、nas_B氏のサイトに詳しいデータがあります。 http://www.asahi-net.or.jp/~vw4k-kbys/chp/reload.html ※ [射撃準備時間]が復活する行動:格闘・ガード [射撃準備時間]が復活しない行動:移動・急速移動・ジャンプ ※未検証の部分もあるため、この説は間違っている可能性があります。


【「自機の状態を調べて分岐する」チップについての考察】 ▼【STUMBLE】なら分岐: 「自機が被弾状態ならば分岐。」と表記されていますが、どうやらパネルのSTUMBLEという表示通り、 「被弾状態」ではなく「被弾によるよろけ」のことのようです。 被弾して小ダメージとは言い難いダメージを受けていても、よろけていない場合は検知されませんでした。 ▼【WAIT】なら分岐: 「自機が静止状態ならば分岐。」と言っても、慣性で動いているかとか、動こうとしても動けないのか、 などという判断とは無縁のようです。 どうやら、「実行命令が機体に出力されていない状態」のことが静止らしいです。 射撃命令を出しているけど、被弾で打てない!という状況は、静止としては検知されないようでした。 ▼【JUMP】なら分岐: たとえば、「ジャンプ(通過モード)」と「ジャンプ状態なら分岐」を使うと、 ジャンプ後にプログラムを動作させつつ、ジャンプ中に再ジャンプや狙撃など出来ない動作の チッププログラムをムダに踏ませないように出来ます。


【飛来物検知のZ軸判断は?】 飛来物の範囲判定はZ軸を含む球型ではなく、XY軸のみの円形のようです。 戦術画面でターゲット表示される距離もおそらくXY軸。(by RAVEN氏) よって、真下から撃たれたミサイルに対し、航空機が距離を正確に判断できないという場合が生じ得ます。 逆に、真上から落とされた爆弾に対して、地上機が距離を正確に判断できないとも言えます。


【ヴァイパーの飛距離】 ヴァイパーの誘導距離は174m(by Nas_Bどの)となっています。 が、噴射が切れた後でも、弾頭だけならば350mぐらいまでがんばって飛びます。 弾速がタイフーンと近く弾数も多く搭載できるので、ジャブミサイルとして最適と言えます。 ちなみに、噴射が切れたミサイルは、センサーにはミサイルと認識されないようです。


【カノン100m理論】 アラクネーの着地硬直が8フレーム。 カノンの弾速が11.9m/F。 そう考えると、 TGの着地硬直開始時に発射したカノンが、ジャンプ前に着弾できる距離は、 8F×11.9m=95.2m 理屈上は、95.2m以内であれば、絶えずジャンプ回避射撃を行うカノンアラクネー同士の 撃ち合いでヒットする場面が生じることになります。 実際には回避ジャンプに1F以上の隙を持つ機体が多いため、100mから当たり始める 可能性がでると考えられる。


【急速移動時のプチワープについて(未確定)】 ジャンプや急速移動など、1F(フレーム)に何メートルも移動する動作では、 フレームとフレームの間には当たり判定がないと思われます。 ジャンプ回避が優れているのはこの要素が関係している模様です。


【シールド2枚のよいところ】 100m装甲(80mでも可)でシールドを2枚貼ると、バジリスクの格闘にを食らってもコケません。 ただし、足などコケやすい部位に当たった場合はNG。 シールド1枚では、150m装甲でもコケます。 ※nas_B氏のサイトに詳細情報があります。 「ダメージ計算ツール」「機体の安定度」 http://www.asahi-net.or.jp/~vw4k-kbys/chp/


【ミサイルについて】 ・ミサイルは発射後にターゲットを変更しても、  元のターゲットを追尾しつづける。 ・すでにECMを発動しているTGに対しミサイルを発射し、  かつ、追尾中に、TGのECMが切れた場合、  その時点から改めて追尾が始まる。 ・自機をターゲットしていないミサイルも、ミサイル判断に含まれうる。 ・味方のミサイルもミサイル判断に含まれうる。 ・もちろん、判断に含まれるのは自機との距離が近づいているミサイルのみ。





□□□□□ プ ロ グ ラ ム 技 術 /マ ク ロ □□□□□ 【同一PG機体での分散ロック(nas_Bさん方式)】 「Aにチャンネル1を受信」  ↓ 「A=A+1」  ↓ 「チャンネル1にAを送信」  ↓ 「Aをターゲットに設定」  ↓                「ターゲットがアンロックか?」→YES 「A=A+3」  ↓NO 「Aをターゲットに設定」 ※最初の3枚のチップは同じフレーム内に処理が行われなければ絶対に動作しないので注意。 -- 同じフレームに収めるには、START直後のほかにも、 (1)SUBのSTART直後 (2)SUBチップの後ろ (3)STOPチップや動作完了待ちの後ろ におくと、フレーム同期が自動的に取られているので便利です。 STOPチップはフレームの終わりまで待つ性質があるので、STOP1はたまに役に立ちます。 (nas_B氏注)--


【汎用分散ロック】:敵味方の数に関わりなく分散ロック A=Ch1 A+=1 Ch1=A B=敵数 A=mod(A,B) B=自機Y if (B>=0) { // 青側 B=味方数 B+=2 A+=B } else { A+=1 } target(A) (nas_B氏、RAVEN氏)


【単発ミサイル避け1】 単発ミサイルを、しゃがみフェイントジャンプで避けるコトが出来ます。 ▽アラクネーでの例。 「ミサイルが来ているか?(何mでもOK)」  ↓    ↑N(適当に暇つぶしループ) 「ミサイルが14m以内か」  ↓Y 「しゃがむ(通過モード)」  ↓ 「STOP1フレーム」  ↓ 「ジャンプ」(通過モード。好きな方向へジャンプ)  ↓ 「STOP1フレーム」  ↓  回避成功! 調整することで、航空機からのミサイルもジャンプすることができる。


【単発ミサイル避け2】 また、単発ミサイルを120〜90mぐらいのタイミングでジャンプしても、ECMなしで避けられます。 ジャンプにつられて軌道を上方修正したミサイルが、着地への加速について行けず山なりに アラクネーのアタマをかすめる感じになります。


【カウンタ指定射撃チップの2枚踏み】 「カウンタ指定射撃」は、チップを2枚使うことで、リロード時間を消化しつつ、 最新の角度を代入して射撃することが出来るようです。 実験: 1)カウンタAに方向代入 2)カウンタBに0度と仰角を代入 3)カウンタC=C+1(フレーム測定用) 4)カウンタ指定射撃(射角A、仰角B) 5)カウンタBに40度の仰角を代入 6)カウンタ指定射撃(射角A、仰角B) 7)行動停止 結果: 10フレームで、仰角40度に発射。 実際には、射撃直前に角度を更新しても砲塔の旋回速度が間に合わず正確に打てない という事態が起こりえるようです。が、調整すれば大丈夫なようです。


【ジャブミサイル判断(ECM削り対策)】 1)「ミサイル1発以上接近か?」→N(ミサ回避ルーチン抜け)   ↓Y 2)「より広い範囲にミサイル2発以上か?」→N(単発回避ルーチンへ)   ↓Y 3)「50m以内にミサ4発以上か?」→Y(単発回避ルーチンへ)   ↓N 4)(ECM起動ルーチンへ) ミサイルコンボに対してはECM起動、単発ムラマサ系に対してはECM非起動にすることで、 ECM削りにある程度対応できそうです。


【着地狙いタイフーン】 理屈上は、 1発目のジャブミサイルで相手のジャンプを誘い、 2発目を、「着地した瞬間に相手の約26m前※に本命ミサイルが到着しているようなタイミング」 で撃てば、相手の着地硬直間にヒットすることになります。 着地硬直8Fの間に、静止したTGに向けて本命ミサイルがホーミング完了するという皮算用です。 ジャブミサイルをしゃがみジャンプ回避するタイミングはTGのプログラム次第ですので、 いろいろな機体を相手に調整することが必要です。 ※タイフーンの弾速は初速2.7m/F〜最高速6.0m/F(by Nas_Bどの)とありますが、 古いデータの3.8m/Fと仮定した時の数字です。


【チャンネル&カウンタ援護要請について】 受信側(支援射撃機) ・常にヘルプチャンネル(ターゲット番号)を受信 ・ターゲットを撃破したらヘルプチャンネルに「7」を送信 送信側(接近戦闘機) ・カウンタが「7」ならヘルプ要請 ・それ以外ならヘルプ要請しない こうすることで、ヘルプ要請と集中キープを両立できます。


【味方狙撃防止について】 1)「一時停止」(フレーム整理)    ↓ 2)「ターゲットの方向をカウンタAに代入」    ↓ 3)「射撃範囲内の一番近い味方をターゲット」    ↓ 4)「ターゲットの方向をカウンタBに代入」    ↓ 5)「カウンタA=A−B」    ↓ 6)「カウンタA=absA」    ↓ 7)「さっきの敵ターゲット」    ↓ 8)「カウンタAが1以下」Y→撃たない    ↓ 9)「撃つ」 一番近い敵と一番近い味方の方角を比較し、同じ方角だったら撃たないという方法です。 3)の範囲をうまく指定すれば精度があがるかもしれません。


【格闘ハメ抜け】 バジリスクなどに格闘ハメを受けた場合、 1)「自機が被弾しているか?」→N(ループを出る)   ↓Y   ↑N 2)「自機が静止状態か?」→Y 「ジャンプ!」 とすると、1フレの隙を逃さずジャンプを実行できます。 が、逃れられるとは限りません・・・。


【スコア式行動判断】 原始的なチェスのプログラムで、取れるコマにスコアを設定しておき、スコアの高いコマを取れる手を選ぶようにする、 という手法があったそうなので、それをCHPに応用。 例えば、ジャンプするとして、左右の着地点予定地点に関して、 味方が近ければ  2点 壁が近ければ   1点 地雷があれば   3点 のようにスコアを加算し、 左右で比較してより合計危険スコアの低い方にジャンプするという手法。


【ひとり時間差撃ち】 アラクネーVSアラクネー、100m以内で。 [1]相手がジャンプするのを待つ [2]相手のジャンプを検知したら数Fの間ディレイ [3]相手の着地硬直開始に、こちらのジャンプ射撃が発射される   タイミングでジャンプ射撃を発動 [4]相手の硬直解除直前に、着弾


【武装を、残弾のある順に使っていく】 「ターゲットに射撃」のチップが、残段数が無い時に無効とされる使用を利用します。 [1]「武装1をTGに射撃(通過)」 [2]「武装2をTGに射撃(通過)」 [3]「武装3をTGに射撃(通過)」 こうチップを並べておくと、この一連のチップを踏んだ際、 武装3があれば武装3を、なければ武装2を、 武装2も無ければ武装1を使うようになります。 ジャンプ射撃でも同様です。 [1]「武装1をジャンプ射撃(通過)」 [2]「武装2をジャンプ射撃(通過)」 [3]「武装3をジャンプ射撃(通過)」 ※同一フレーム内であることが望ましいです。


【サブ領域を小分けして増やす】 サブ領域の1番目のチップに条件分岐を入れておくことで、 1つのサブ領域を2つ以上のサブ領域のように使うこともできます。


【ラッシュのタイミング判断】 相手が体勢を崩したところに手を休めず打ち込むラッシュ。 その判断は、動作コードの取得が便利のようです。 動作コードの後半は、 87 前小ダメージ 88 後小ダメージ 89 右小ダメージ 90 左小ダメージ 91 大ダメージ 92 ? 93 ?  94 ? 95 起きあがり 96 起きあがり となっており、97以上には割り当てが無いようなので、 [1]カウンタAにターゲットの動作コード取得 [2]Aが91以上ならラッシュ とすると、相手の硬直をまとめて判断できます。(たぶん) ※ただし、相手を撃破すると動作コードは固定となるので、  ループにする際はアンロック判断も併用したほうが吉。


【ジャンプ着地予測射撃(クロコダイル計画d 版)の概要】 1)TG(ターゲット)のジャンプを待つ 2)カウンター指定射撃(リロード消化用) 3)XY距離から、TGのジャンプ移動量を角度に換算 4)ジャンプの方向を判断 5)機体本来の射撃角度の補正 6)諸々のデータでカウンター指定射撃。2)にデータのみ上書き。 7)超遠距離の場合は、再ジャンプ後狙いで少し上目にする。 ・カウンター指定射撃の2枚踏みがポイントです。 ・再ジャンプ後も狙うことで、300mの狙撃も当たるかもしれません。 ・回避チェックを挟み、適宜、予測ルーチンを抜け出します。


【シンクロカノン】 対空のカノンです。 2〜3機のOKEの射撃のタイミングをシンクロさせます。 異なる複数の地点に同時着弾するため、回避する飛行型にも当たりやすくなります。 [1]カウンタAに経過時間を取得 [2]カウンタA=mod 1 [3]カウンタA=0か? Y→射撃(狙撃) N→[1]へ


【仰角取得のワナ】 「ターゲットのいる仰角」で取得した仰角は、自機から見たTGの仰角ではないので、注意が必要です。 図)CHPから見た角度の表し方のイメージ。 http://www.ghost.ne.jp/~whole/gyoukakuA.jpg 図)「ターゲットのいる方向」「ターゲットのいる仰角」のイメージ。 http://www.ghost.ne.jp/~whole/gyoukakuB.jpg


【決定版?仰角判断射撃】(by rosuko氏/暇人氏/するが氏/G-ONE氏/Stand.k氏/ヒデー氏) 三角関数のcosを利用することで、自機の高度にかかわらず、 ターゲットが仰角範囲内かを判断できます。 ・ターゲットまでの距離*100<ターゲットまでのXY距離*定数 ・定数=1/cosθ*100  (45°の場合の定数は「141.4」です。) [1]A=ターゲットまでの距離 [2]B=ターゲットまでのXY距離 [3]A=A*100 [4]B=B*定数 [5]A<=BがYESの場合、射撃する。 図) http://www.ghost.ne.jp/~whole/COSMAGIC.jpg (注:図の式では簡略化のため100倍にしていません。)


【パルスミサイル】 パルスでチップの流れを止めることで、ECMの発動を失敗させ、ミサイルを当てる。


【マングースジャンプ】 バジリスクやホイリーコーンの長距離格闘による格闘ハメをジャンプでかわす努力です。 あえて一度相手に真後ろをとらせることで、反撃のチャンスを作ります。 ※対策は簡単なので、対策されたらおしまいです。 図) http://www.ghost.ne.jp/~whole/mgjump1.jpg


【格闘ホーミング】 格闘動作は、相手を正面に捉える旋回行動を兼ねる。 よって、格闘動作を適宜入れることで、省チップかつ高性能の旋回を実現できる。 例: 1)「敵が正面にいるか?」   N↓ 2)「格闘(通過)」





□□□□□ ア ラ ク ネ ー 機 体 情 報 □□□□□ 【アラクネー身体測定結果】 ▼旋回角度 左ネイル 旋回:52.4度(特殊動作) 左ネイル 旋回:52.4度(特殊動作) 右旋回     55.1度 左旋回     55.1度 旋回ジャンプ      移動:28.6〜28.7m     /旋回:106.8〜107.0度 ※ジャンプ方向と旋回方向はどの組み合わせでも同じ ▼移動量 前ジャンプ 28.6〜28.7m(前後左右とも同じ) 前ダッシュ 8.0m(前後とも同じ) 右ダッシュ 8.7m(左右とも同じ) 上段格闘  9.8m 下段格闘  8.9m 遠距離格闘 21.3m ※前方掃射の射撃範囲は目測で、右2度ほどから左70度ほどにかけて。 ▼重量別のジャンプ力 ・重量11300/32100の時  ジャンプ1回 時間30F/距離30.9m/高さ16.6m/着地ブレーキ8F ・重量34160/26322の時  ジャンプ1回 時間28F/距離23.0m/高さ14.3m/着地ブレーキ8F ※重い方が距離が短い分、微妙に所要時間も短くなるところです。 ▼カノンの射撃スピード 乱射  行動時間13F 発射まで5F 通常  行動時間15F 発射まで10F 狙撃  行動時間21F 発射まで15F J狙  行動時間29F 発射まで4F J1回2発射撃   1発目まで4F/2発目まで17F 上記を3回繰り返す (1)4F(2)17F(3)32F(4)42F(5)60F(6)73F ※ジャンプ射撃で2発発射を繰り返すと 4F→13F→15F→7F→13F→15F→7F…の間隔で発射される模様。 ※ジャンプ射撃で2発発射は、手数的にはかなりお得な印象を受けます。 ▼「連射機能オプション」を使用してのカノン射撃スピード 狙撃ループモード 連射機能不使用:13Fに1回射撃 連射機能使用 : 9Fに1回射撃 ▼アラクネーの大きさ(目測) 足を入れたXYサイズ  約10m×10m


【アラクネーのギリ回避】 カノン射撃を安全に回避できるタイミング。 ジャンプチップまで0フレーム → 34mでジャンプ ジャンプチップまで1フレーム → 44mでジャンプ ジャンプチップまで2フレーム → 56mでジャンプ ジャンプチップまで3フレーム → 68mでジャンプ (測定方法:重量ギリのアラクネーをくるくる同位置旋回させながら、バジからのカノン発射をジャンプ。)


【アラクネーのジャンプ射撃について】 最重量アラクネーでジャンプ射撃 ジャンプ最高高度:7.7m ジャンプ射撃1発:9F目、7.7mで発射 ジャンプ射撃2発:9F目、7.7mで発射 ただし、それぞれジャンプ射撃を連続させると、リロード時間が短縮され、 ジャンプ射撃1発:4F目、4.5mで発射 ジャンプ射撃2発:4F目、4.5mで発射 使い道は少ないかもしれませんが、高い位置で発射したい場合には、格闘チップなどを挟み[射撃準備時間]を復活させればOKです。


【各機体の横ジャンプ距離性能】 機体名   軽量時横ジャンプ(m)/重量時(m) ネグローニ 40.2/29.0 ジェイラー 17.3/12.0 エッグ   20.0/14.1 綾影    27.2/19.2 ラスティー 26.7/17.2 ノーランダ 40.7/33.0 トリンカー 43.6/31.4 月影    33.9/24.5 セメタリー 36.3/24.6 ドッグ   38.7/25.6 グラス   32.0/22.0 アラクネー 32.8/21.0 冥界    32.5/21.3








□□□□□ 脳 内 用 語 集 □□□□□ 【マグネットコーティング】 エンジョイ工業用語。ただ単に、「動作チップ」を(通過モード)で使用すること。 場合によっては、「動作チップ」の後に「STOPチップ」を置き、実行したい動作を 確実に実行されるように工夫。


【風向きセンサー】 ジャミングされた時、打たれた弾の方向に移動するようにすると、ジャミングの霧の中、 レーダーなしで敵に接近しやすくなります。 例:右から打たれたら右旋回ジャンプする。


【ムラフゥーン】 エンジョイ工業用語。航空機に対し、ムラマサを当て、よろけたところにタイフーンを重ねて当てる、 を繰り返すミサイルコンボ。


□□□□□ 参 考  □□□□□

ZEUS時代の、参考になるサイト集 はじめての飛行型OKE製作講座(著者:sin,Dumbo,そにっく,涼格朱銀) http://www.kcat.zaq.ne.jp/kd/oke/log/kouku/index.htm 二脚型研究棟(by暇人さん) http://www.alpha-net.ne.jp/users2/fjwrhryk/twolegs/twolegstype.htm クマでもできるOKE(by髭レッドさん) http://www.eonet.ne.jp/~terry/manji/oke-room001.html