FC2ブログ
汎用ヒト型決戦遊具はじめました。
デバグ中に気づいた事メモ
2006年08月31日 (木) | 編集 |

エレガントなミサイル避けで、ジャンプを使う例がありましたが、しゃがみ→ジャンプを使うのもあるようです。
しゃがむ事でミサイルの軌道を若干下に振り、ジャンプでミサイル軌道の内側に回り込むようです。
アラクネーで探60M→しゃがみ5フレーム→ジャンプ(どの方向でも可)
で検証できました。

と、理屈では分かったつもりでも、実際のプログラムに上手に組み込むのが、初心者には難しいんですよねえ・・・。



熱量100%で「熱暴走」とはよく言いますが、その正体はあいまいでした。
今回のデバグでは、熱量100%に至った場合、チップが行動チップのところで停止しているらしいことに気づきました。行動したくても行動できないというのが機能停止の原因のようです。
というわけで、冷却使用をジャンプの前に置き直したところ、改善しました。

スポンサーサイト



おそろしいループ
2006年08月31日 (木) | 編集 |

CHPに欲しかった機能。
昨日どこまで考えたか、自分の脳もセーブしておいてくれる機能。



一生懸命調整したプログラムが、どうしてもうまく動いてくれません。
↓        ↑(1時間ループ)
プログラムと戦闘画面を睨みながら悩みます。

あ。

戦闘シミュレーションの僚機が、古いバージョンのやつで、それをずっと観察していたことに気づきました。



戦闘シミュレーションでそこそこ勝てるようになったので、いざ本番とマッチメイクに挑みました。

あっさり敗北しました。

相手のフォーメーションも正しく設定してシミュレーションで勝てるように調整しました。
↓        ↑(1時間ループ)
マッチメイクで負けます。

あ。

チーム登録が、古いバージョンだった事に気づきました。



調整用にマッチメイクの序盤だけを見たいのに、途中キャンセルできないので2分かかります。
↓        ↑(10日間ループ)
何とかならないかなあとイライラしながら、しぶしぶ2分間見ます。

あ。

試合時間の設定を60秒にすればよかったことにたったいま気づきました。



深呼吸。



熱管理なんですが、手数が大事なので冷却2機にしてみました。
1個目はメインで80度程度で大事にタイマー使用します。
2個目はメイン使用の他、100度を超えた時に1個目との同時起動ができるようにしました。



ECM解除用の定期ミサイルで困った事があります。
カウンターに分散用と集中用の認識番号をキープし、ミサイル発射時のみ分散用カウンタでターゲット、直後に集中用のカウンタターゲットに戻す、というような事を実行していたのですが、どうもうまくいきませんでした。
nas_Bさんのところの記事で納得。
射撃実行中でも、ターゲットが変わるとそれが即影響されるようです。

また、ミサイル集中砲火のムラフゥーンが目論見以上のダメージを与える事がありました。
これも、ターゲット切り替えが間に合わず発射された、無駄弾だったはずのミサイルが、ロックを変えて新しいターゲットに向かったことが原因だと分かりました。

対空は一発勝負
2006年08月30日 (水) | 編集 |

中学で習った数学が、はじめて人生の役に立っている気がします。
高校で習ったのも役に立つはずなんですが、一つも覚えてないのがネック。



ムラフーン3号が出来ました。
名前もバージョンアップしまして「ムラフゥーン」とさせて頂きます。
そんなコンボ10年前からあるよ!というご指摘があることも予想されますが、まあ遊びですのでご容赦ください。
テスト機体をジュピターにアップしました。ファイル名は「EK00MFA.CHP」です。

ムラフゥーン対空コンボの仕様:
・対空試合が始まると、障害物をお掃除します。
・定期ミサイルでムラマサを撃ちます。
・ムラマサがヒットすると、通信でムラフーンを一斉発動します。
・6発発動したところで、休止します。
・時間差で、余った3発を発動します。

ECM搭載機にも一応対応したつもりですが、現状、偶然ヒットするとECMがないものと判断して発動してしまいますので、事実上、ECM機には無力です。。。
弾数の都合上、6発で一区切りします。それをこらえられたら、ムラフゥーンの敗北はほぼ決定です。
残りの3発で、ヒコーキの修理オプションを使わせようとしています。
目論見のパターンは、
1)ムラフゥーン第一弾で1機撃墜。
2)ムラフゥーン第二弾でオプションを消費させる。
3)カノンを運まかせで撃ち、判定勝ちに。
という感じです。



ファントム12(バジリスク)に勝てる方法がないか、苦悶中です。もはや大会関係なしに、解きたい問題です。
画面を見ての印象ですが、その対地戦術は隙がなく合理的で、完璧です。

1)突進
2)ターゲットを左手にとらえ、ターゲットを周回。
3)ターゲットを中心とした円周に沿って、3方向から十字砲火。

反撃の隙がもらえません。
自分の実力ですと、せいぜい、1台をギリギリ倒せる程度です。
あれこれ考えてみましたが、自分の知恵×アラクネーの組み合わせでは実力が伴いません。
ムラフゥーンの発動が前提なので、武装もほぼ動かせません。

(1)距離をとって十字砲火パターンに持ち込ませない。

攻めのスピードが速すぎて、ちょっと難しい感じでした。

(2)1機を逃げ専門にして、避けまくる。

自分の実力だと30秒が限界です。
その間に味方のカノンが当たるかというと、早すぎて当たりません!

(3)壁際を利用して動きを封じ、十字砲火パターンをつぶす

かなりいけそうな計画でしたが、実際やってみると壁際で1機つぶされてピンチです。
味方のカノンは、動きを封じた分、かなり当たりやすくはなってました。

(4)格闘に持ち込む

近づくことさえ難しいです。

(5)集中砲火もしくは各個対応で燃やす。

自分の実力では、ナパーム当たりません・・・。


というわけで、非常に難しいクエスチョンな感じです。
nas_Bさんのヴェロニカ師匠がエレガントな動きで勉強になりますが、やはり距離をとって手数を増やすのが汎用性も考えると良さそうです。

「ああん、もうちょい気持ち右!」みたいな射撃のカユいところに手が届くような方法を何とか見つけたいのですが。。。



気づいたこと

単発ミサイルは120~90mぐらいのタイミングでジャンプすると、ECMなしでエレガントに避けられるようです。
ジャンプにつられて軌道を上方修正したミサイルが、着地への加速について行けず山なりにアラクネーのアタマをかすめる感じになります。
アラクネーでは検証できました。



PS:
ファントム12に付属のアラクネーがすごいらしいです。早速みてみます!

ナパームはじめました。
2006年08月28日 (月) | 編集 |

生まれて初めて経験しました。締め切りと戦はなくてはならないゲーム。



DLした最新機体たちがあまりに強いので、ムラフーンはもう置いておきまして、残った時間で対車両戦に挑みたいと思います。
お相手いただきますのは、いつかは越えなくてはならない壁、猫シリーズ様(NEKOFOOD.CHP)です。
ショットアングリフと突撃バジリスクとうちの動作確認最新号を鉢合わせてみます。
対策も半端なので、現状では文字通り瞬殺されています。

いままでの突撃対策は、電撃装甲でビビらせてそのまま格闘連打というものでしたが、相手が対スタンだったり電撃装甲だったりすると突然効力を失う&対ヒコーキ戦でも役に立たないということで、電撃装甲はできれば今回は使わない方向で調整したいと思います。

まず、かつイメージ作りということで、局地的にでも勝てる装備に変更してみました。

・カノン→ナパーム
・装甲100→装甲150
・電撃装甲→対徹甲装甲
・積極格闘→後ろジャンプ砲撃

これで、対ヒコーキでの問題点は・・・
カノンはどうせめったに当たらないので、ナパームに変えたところで全く問題なし。むしろ問題になるのは、ムラフーンを完成できるかいなか、つまり対ヒコーキをミサイルのみで簡潔できるかどうか。
装甲での廃熱リスクも、射撃の発熱がカノン168→ナパーム100と2/3以下に下がるのでおそらくセーフ。
電撃装甲も、格闘は緊急時以外は使わず、距離を中距離に保ちながら戦うことを選べば、なくても問題なし。メリットの大きさは言わずもがな。

これだけの変更で、もう絶対勝てないと思っていたショットアングリフになんとかギリギリ勝つことが出来ました。
装甲100ではドカドカ削られたショット被弾ですが、150に上げたとたん、くすぐったい程度のダメージで済むようになったのが救いでした。

あとは、少しでもエレガントな間合い&継続ヒットで熱暴走&ダメージを狙えれば吉です。

対車両の接近関連のルーチンは、この方針で進めてみようと思います。
対ヒコーキ、対ジャミング、対車両と来たら、あと、思いつくもので対策をしなくてはならないのはライバルのアラクネー&二脚たちです。ヒコーキ+ジャミングとかは思いつかなかったことにします。
DLしたアラクネーには現状全く勝てない&対策を全く思いついていないというところで不安が残りますが、お楽しみということにしておきます。



ムラフーンは置いておいて、などと言いましたが、実は未練がましくムラフーンの連携について考え中です。

1)ムラマサ→大ミサイルのコンボで、
2)撃沈のためにミサイルをふんだんに使い、
3)2機をキッカリ落とすつもりで挑む。

というところまでは決まりました。

一つ思いついたのは、いままでカノンがまぐれ当たりすることで使えなかったのですが、ナパームを使うとなると、事情は変わります。

・とりあえず定期的にナパームを撃てば、障害物を破壊できるので、
 ムラフーンの準備になる。
・ナパームは絶対当たらない、という前提で戦えば、
 ムラマサのヒットが=ECMが使われていない(切れたもしくは非装備)
 ということになる。
・ということは、ヒットさせた機体が、その旨をチャンネルに送信しつつ
 ムラフーン発動、僚機が受信し次第、時間差で追撃用のタイフーンを
 発射すれば、連携ムラフーンになる!

という皮算用もできました。
いままで開発中だったムラフーンは、

ムラフーン1号:
 個別対応方式。1対1で完結する。
 メリット:敵が真上にいる場合など、ムラマサを当てやすい
      タイミングを選べる。
 デメリット:全弾必中。全弾当ててもダメージ量が足りない場合も。

ムラフーン2号:
 時限設定連携式。時間タイマーで連携斉射。
 メリット:連携により弾数が十分なため、
      精度が若干落ちても成功の可能性が残る。
 デメリット:被弾状況などでタイミングがずれる、
       ムラマサのタイミングを選べない。

というものでしたが、現在脳内にある方式ですと、その2つのプランを良いとこどりで実現できそうです。
つまり、

1)敵が真上にいる時など、有利なシチュエーションで撃てる。
  (当たりやすい)
2)ECM非搭載のヒコーキに対し、無駄なムラマサを減らせる。
3)連携で発射するミサイルも、ムラフーン状態で撃ち込める。
4)若干発射のタイミングがずれても勝機がある。
5)敵1機に対するミサイル量も調節できるかも!


そうそううまくいくかはさてき、いいことずくめな感じです。
なんだか書くと考えがまとまります。
あとはプログラムに反映するだけです。それが難しい&めんどくさいのが楽しいことです。



気がついたら、特化戦闘用のサブルーチンだけで戦っていて、メインルーチンはほとんど使っていないことが判明してしました。。。

ムラフーン VS 酔拳
2006年08月26日 (土) | 編集 |

タモリ倶楽部を見るのも忘れるほど熱中。



飛行機部隊を攻略中です。

前回の自己課題ですが、

1)ECMを使い切らせて、
2)ムラサメあたりを甘当てして体勢を崩させて、
3)なおかつ甘当てで遠くに吹っ飛び過ぎないように留意しつつ、
4)修復装置の1発目の作動時間以内に大型ミサイルをたたき込み、
5)かといって無駄弾を撃たないように節約しつつ、
6)できれば自陣がフィールド全体に散開した状態で挑む。


いろいろ試してみましたが、この5)と6)が鬼門でした。
当たりやすいムラサメでちょい当てして、タイフーンで追い打ちをかけるというやり方(仮に「ムラフーン」としておきます)までは良かったのですが、問題はタイフーン×3を連続で当てなければ安定して落とせないということろです。
はじめは、タイフーン×3が1~2発はずれることを見越して、タイマーで味方とタイミングを合わせ、
・最初に集中ターゲットでムラサメ×2+タイフーン×5発
・次のタイミングでターゲットをチェンジし、ムラサメ×1+タイフーン×4発
という風にやろうとしていました。

結果は、作戦ミスです。
「ムラフーン」方式の良いところは、ムラサメのジャブで甘当てしたところで、敵飛行機がよろけるところです。
とくに嬉しいのはその後の展開で、敵飛行機が反動でまっすぐの軌道を描きながら、後発のタイフーンと同じ方向へと飛ばされるため、タイフーンがじっくりと近づきながらより正確な自動追尾が出来るところです。
というわけで、致命的な問題は、味方機と「ムラフーン」を連携するには、連携する味方がすぐそばにいないと、タイフーンのベクトルがそろわないということです。おおざっぱにでも方向が合えばよいのですが、縦横無尽に飛び回る飛行機に対し、こちらは地雷で足場もわるく、接近するのはそうそう簡単なことではありません。

というわけで、作戦はプランBです。

1)ECMを使い切らせて、(ムラサメ×5発)
2)「ムラフーン」(仮称)を発動する。(ムラサメ×1+タイフーン×3)
3)しかも、全弾あてる!!!


です。試してみると、不安定ですが、お馴染みの「BAP.CHP」や「ZEN01.CHP」のチームを仮想敵として試したところ、まだ確率は低いですが、コンボが決まって勝てることがあります。

あとは、いかに運の要素を減らせるか、です。

現在は、コンボ発動の間隔を調整中です。
ムラサメの後、1発目、2発目、3発目のタイフーンの間を何フレーム開けたら良いかを、コマ送りしながらボンヤリと画面を見ながら調整しているのですが、なんとか「BAP.CHP」&「ZEN01.CHP」の両方を相手にできる、それなりに安定したタイミングができあがりました。

と喜ぶのもつかの間。
果たし状を受け取った(?)RAVENさんの「デルタ隊」に挑んでみたところ、あっさり敗北。

デルタ隊は非常に重量が重いらしく、ムラサメの甘当てで急降下し、1発目、2発目のタイフーンが当たる瞬間は、地面にバウンドして華麗に回避し、タイフーン2発では当然沈まず、そのまま全回復、とやられながら避けるという、なんとも酔拳的な挙動をするのです。

というわけで現在、被弾硬直がとぎれる直前に当たるような、汎用性の高いタイミングを、発動タイミングを含め、鋭意、検証中であります。

味方同士の処理の順番は?
2006年08月24日 (木) | 編集 |

同じフレーム内の味方同士の行動処理の優先順位について。
チップごとなのかフレームごとなのかいまいち分かっていませんでしたが、nas_Bさんのブログによりますと、どうやら

1番機の1~5チップを処理
 →2番機の1~5チップを処理
  →3番機の1~5チップを処理
   →1番機の6~10チップを処理
    →2番機の6~10チップを処理
     →3番機の6~10チップを処理
      →1番機の11~15チップを処理・・・

のように、1フレーム(=5チップ)単位で処理をして、次に渡しているらしいです。
いえあの、集中・分散ロックの話題をしていた皆さんには常識だったのでしょうが、私にとってはいまいちあやふやだったのです。
(あやふやでしたよね!PSPからはじめたみなさん!)

氏のブログによりますと、シンプルな開幕分散ロックのチップの配列は以下の6~7チップにまとめられるです。

A=Ch1; A+=1; Ch1=A; T(A); if (T.unlock) { A+=3; T(A) }

※最初の3チップは同じフレーム内に置く。
※3対3でのみ。機体配置も見ないので、航空機かミサイル用。

だそうです。
ポケコンすら使いこなせなかった私にとっては、一瞬あっけにとられるプロっぽい書式であります。
記憶と憶測を総動員して、自分の脳に優しい書式にしてみます。

「Aにチャンネル1を受信」
 ↓
「A=A+1」
 ↓
「チャンネル1にAを送信」
 ↓
「Aをターゲットに設定」
 ↓               
「ターゲットがアンロックか?」→YES 「A=A+3」
 ↓NO
「Aをターゲットに設定」

こんなシンプルな式で本当に動くのか理解不能ですので、
さらに、さきほど書いた、5チップ処理しては次の味方の5チップを処理するの法則を当てはめて、実際の処理過程として考えてみます。



【味方1号機の1フレーム目】

 「Aにチャンネル1を受信」(Aは0)
  ↓
 「A=A+1」(Aは1)
  ↓
 「チャンネル1にAを送信」(1を送信してチャンネル1は1)
  ↓
 「Aをターゲットに設定」
   (自機認識番号が1ならターゲット失敗、4なら認識番号1の敵をターゲット)
  ↓               
 「ターゲットがアンロックか?」→YESorNO

  ↓
【味方2号機の1フレーム目】

 「Aにチャンネル1を受信」(1を受信してAは1)
  ↓
 「A=A+1」(Aは2)
  ↓
 「チャンネル1にAを送信」(2を送信してチャンネル1は2)
  ↓
 「Aをターゲットに設定」
   (自機認識番号が2ならターゲット失敗、5なら認識番号2の敵をターゲット)
  ↓               
 「ターゲットがアンロックか?」→YESorNO

  ↓
【味方3号機の1フレーム目】

 「Aにチャンネル1を受信」(2を受信してAは2)
  ↓
 「A=A+1」(Aは3)
  ↓
 「チャンネル1にAを送信」(3を送信してチャンネル1は3)
  ↓
 「Aをターゲットに設定」
   (自機認識番号が3ならターゲット失敗、6なら認識番号3の敵をターゲット)
  ↓               
 「ターゲットがアンロックか?」→YESorNO

  ↓
【味方1号機の2フレーム目】

(「ターゲットがアンロックか?」)→YES 「A=A+3」()
  ↓                  ↓
 「Aをターゲットに設定」(認識番号)
  ↓

【お昼休み終了】途中ですみません。

飛んでいるカラスに石つぶてを直撃させる夢
2006年08月24日 (木) | 編集 |

機動戦士ガンダイバー。支援機ダイバーキャノンのパイロットは「貝・シデン」。



ジャミング対策がちょっとだけ進んだので、飛行機を落とすプログラムを組み込むべく研究中です。
2週間前の飛行機であれば、カノンが結構当たっていたのですが、最新の飛行機にはもうほとんど当たりません。というわけで、突撃バジリスク対策を後でやることを考え、機雷を積むという選択肢をあえて外すと、今のところミサイルを当てるしか落とす方法が思いつきません。
それに当たっての問題点。

1)ECMを使う機体がある。
2)ミサイルの旋回軌道を越えた回避行動で、もう、理論上当たらない。
3)ちょっと当てると大げさに吹っ飛んで射程の外に出る。
4)気がつくと修復装置×2で完全回復している。
5)こちらのミサイルの量が足りない。
6)なんか頭上にいて振り切れない。

という感じでしょうか。

1)ECMを使い切らせて、
2)ムラサメあたりを甘当てして体勢を崩させて、
3)なおかつ甘当てで遠くに吹っ飛び過ぎないように留意しつつ、
4)修復装置の1発目の作動時間以内に大型ミサイルをたたき込み、
5)かといって無駄弾を撃たないように節約しつつ、
6)できれば自陣がフィールド全体に散開した状態で挑む。

という対策を今のところ考えています。
チャンネルを使って定期ミサイルのタイミングを共有し、ECMを外したりムラサメ甘当て→ミサイル大量発射の発動コンボのタイミングを調整したりしています。
中堅の航空部隊を試合中1機だけは落とせるようになりましたが、まだまだこちらの弾数管理が甘くてなんともなりません。調整に調整をかさね、うまくいけば2機落とせれば、優勢勝ちを狙えるかも、というのが弱腰ですが対策です。
もうひとつ、集中ロックした敵機から、こちらのアラクネーを1機でも遠ざけることが出来れば、カノンやミサイルの当てやすさが変わってくるのではないかと思っています。

航空機を上手に落とす地上機も探して参考にして見ておきたいところ。

やってみたいことが山ほどあります。全く時間のかかる楽しいゲームであります。

風上に目を開け
2006年08月23日 (水) | 編集 |

wiki大会運営おつかれさまでした。ぺこり。



このゲームは、本屋の「大人の科学」とかのコーナーに置いておけば、何本か売れると思います。



ずっと自分の課題だった「拡張性のある基本ソフト」がだんだんとが出来てきました。
マグネットコーティングの理想に向けて、心臓は7チップです。

「スタート」
 ↓
(初期設定もろもろ。ターゲットルーチンなど)
 ↓
1)『ターゲットしているか』→ターゲットルーチンへ
 ↓
2)『敵が近すぎたらターゲット』→緊急ターゲットへ
 ↓
3)『敵が格闘範囲か?』→格闘ルーチンへ
 ↓
4)『飛来物がある?』→回避ルーチンへ
 ↓
5)『被弾状態か?』→オプションルーチンへ
 ↓
6)『足下に地雷は?』→回避ルーチンへ
 ↓
7)『射程範囲か?』→射撃ルーチンへ
 ↓
1)にもどる。



基本構造が出来てきたので、スピードを保ちつつ、状況対応のマクロを組み込んでいこうと思います。
今までは対空、対突撃を仮想敵にしてばかりいたので、対多脚と対ジャミングを意識気味に組み立てはじめています。

特に悩ましいのがジャミング対策。
こちらもレーダー強化を搭載して、というやり方がてっとり早いですが、対空・対突撃に対する汎用性を考えると、相手によって無用となるオプション装備はなるべく避けたいところです。

仮想敵としてDLしたファイルを見ると、ジャミング機はサブウェポンにジャミング1~2機、オプションもレーダーを数台搭載しているようです。となると、メイン武器のカノン・レールガンとなります。ここ数日のマグネットコーティング化研究でだいぶ動きが軽くなったので、実験機の回避性能も向上しています。ピョンピョン跳ね続ければ1分ぐらいは逃げ続けられるかもしれません。

仮想敵の防御力はどうでしょう。
レーダー強化でスロットがふさがり、防御系にオプションはほとんど装備していないようです。
装甲も連射性能を重視して、薄目に設定しているようです。

となると、なんとか近づくことができさえすれば、若干なりとも勝機を見いだせるのでは?と思えてきます。

あとはいかに霧の中で敵の位置をかぎつけるか。
・・・消去法で答えのようなものが見えてきました。

闇の中での敵の位置の手がかりで、思いつくのは・・・

1)敵の弾道(しかもかなりの確率でカノンかレール)から逆探知する。
2)ジャム発射直前の位置情報を取得する。
3)味方の1機をおとりで突撃させ、味方の位置の付近に集合する。
4)効率よく動き回って見つける。

となるとやはりシンプルに「敵の弾道」を手がかりにするのが汎用性が高そうです。
自機が嵐のように降ってくるペレットの風上を向くようにすれば、あとはジリジリとジャンプすればなんとかなるかもしれません。
アナログな方法ですが、手段はともあれ敵の本丸にたどり着きさえすれば、本陣は手薄(のはず)です。

【風向きセンサー】

「飛来物が正面からか?」→「横にジャンプ」
 ↓NO
「飛来物が右からか?」→「前にジャンプしつつ右に旋回」
 ↓NO
「飛来物が左からか?」→「前にジャンプしつつ左に旋回」
 ↓NO
「飛来物が後ろからか?」→「右に旋回ジャンプ」
 ↓NO
「前にジャンプ!」
 ↓
「索敵」→(見つけ次第攻撃)
 ↓
(もどる)



・・・なんとも原始的な方法です。が、18日にDLしたhooku氏の「GGH2.CHP」というジャミングアラクネーにそこそこ安定して勝つことができるようにました。Y.N氏の「YAMIUCHI.CHP」にもごく希に勝てているようです。日進月歩のゲームなので、最新のジャミング機には勝てないとは思いますが、ジャミング対策に小さな光明が見えてきた気がしました!



参考機体をジュピターにアップしてみました。

「EK000T2B.CHP」
機体:アラクネー×3
機体名:動作確認2号b
レギュレーション:電撃杯向け
実装ソフト:7チップコア/格闘ルーチン/風向きセンサー(対ジャムルーチン)/地雷回避ルーチン
未実装:対空ルーチン/対突撃車両

撃つやいなや次のことを始めたい
2006年08月21日 (月) | 編集 |

「中島美嘉」は大の蝶マニアで、蝶の標本を集めることはもちろん、生まれ変わったらアゲハになりたいとまでいっていると聞きました。
が、その趣味ですとおそらくカマキリに生まれ変わることでしょう。前世もカマキリ。



自機の状態を調べるチップについて、調べてみました。

【STUMBLE】:
「自機が被弾状態ならば分岐。」と表記されていますが、どうやらパネルのSTUMBLEという表示通り、「被弾状態」ではなく「被弾によるよろけ」のことのようです。
被弾して小ダメージとは言い難いダメージを受けていても、よろけていない場合は検知されませんでした。

【WAIT】
強制旋回で足止めしたい
2006年08月20日 (日) | 編集 |

「あんなの飾りです!偉い人にはそれが分からんのですよ」と言ったジオン兵の家には、いろんなガンプラの足だけが飾ってあるんだと思います。



「照準箇所の変更」というチップ。
突撃車両と戦う時など、うまく使えば敵機体にかするように攻撃を当てることで、体制をスピンさせるように崩せるのではないかと思い、検証してみました。
正面から突進する車両に、本体狙いと武装1狙いで回転の差を見たところ・・・武装1狙いの方が1発目での回転が大きいようでした!
ただ、2発目以降、相手が微妙に体制を崩した後では、どちらの狙いでも相手が大きくスピンしました。全く使えないとは決めつけられませんが、スピン効果目的での使用は微妙な感じでした。

気づいたこと
武装2や武装3を狙うと、機体によっては左右どちらかに寄った部位に当たるため、たとえばアラクネーの左手にある1番武装で バジリスクの3番武装(左肩に設置される)を狙撃で狙うなどすると、射撃にちょっとした味がつくため、敵の動きとの相性によっては当たりやすくなることもありそうでした。一方、多くの場合、機体の端を狙うことになるので、ハズレやすくなる、ということもあるかもしれません。ご報告まで。




今日の身体測定

アラクネーの大きさ(だいたいの目測)
・足を入れたXYサイズ  約10m×10m

※2台のアラクネーを何度か正面から衝突させ、足同士で接触した瞬間をカウンターに出力しました。



気づいたこと1
 範囲指定の時に中央に表示されるOKEのサイズは、
 けっこう信用できるサイズ感のようです。接近格闘の設定の際に目安に出来そうです。

気づいたこと2
 範囲指定の時にアナログパッドでOKEの裏側まで見えました。

まるで油を差したよう
2006年08月20日 (日) | 編集 |

ジーパンのポケットの前後左右にタバコの箱などを入れて気分はガンダム。



チップの知識が増えてきたので、たまには他人様のプログラムを読んでみようと思いつき、PSP内のファイルを見てみたところ、Yak氏の「YsfanDiyar++」という機体のプログラムが公開でした。

ありがたく拝見させて頂いたところ、所々に「自機が○○状態なら分岐」というチップが組み込まれていることに気づきました。一瞬はてなと思ったのですが、ナルホドこれで、射撃(通過モード)がジャンプなどでキャンセルされてしまったり、ジャンプ(通過)中に射撃動作(通過)に入って無駄にチップを踏んだりするのを防げるわけですね。

ためしにうちの「動作確認1号」にも便宜的ながら導入してみたところ、油を差したように格段に動きがよくなりました!
戦闘中のプログラムもグルングルンと回転しており気持ちよいです。
こういうのって、中級以上の人には初歩の初歩の基礎知識というところなのでしょうが、分からん人には分からんものなのであります。
おかげさまで「ジャンプしながら次の行動を考える」という理想のプログラムにグッと近づけた気がします。
めざせ、マグネットコーティング!!

同一PG機体での集中ロック
2006年08月19日 (土) | 編集 |

電撃杯用の同一機体同一プログラムで集中ロックが可能か考えてみました。

答えは意外やシンプル。
試しに、フォーメーションを3機横一列に並べ、開幕直後にカウンターに自分のX座標を出力してみました。
すると、左の機体は-60、中央の機体は0、右の機体は60と表示されました。

つまり、たとえばカウンター送受信による集中ロックであれば、開幕の機体位置から判断し、カウンターにフラグを送る(たとえば自機の位置がX座標0ならば旗艦ということにしてカウンターAに1を代入する)ことで、カウンターAが1ならターゲット認識番号を送信するマスター機、0なら認識番号を受信するスレーブ機というふうに振り分け、その後の戦闘に役立てることが出来そうです。



開幕の集中ロックの場合

「800mを索敵ロックオン」
 ↓
「カウンタF←(自機のX座標)」
 ↓
「カウンタFが0か?」→YES 「カウンタH←ターゲット認識番号」
 ↓NO              →「チャンネル1にHを送信」
「WAITなど」(一時停止射撃などで発信と受信のタイムラグ調整)
 ↓
「チャンネル1からHを受信」
 ↓
「カウンタHをターゲット」


※中央の列に自機を1機しか配置しないフォーメーション(例えば横一列)の場合のみ有効。



初期位置のX座標を利用すれば、理屈上、同一機体同一プログラムでありながら3種類別々の働きをする機体を作ることも可能ということになります。
ただし、縦1列のフォーメーションを使う場合は、


シンプルかつ確実な分散ロックについても考えてみたいのですが、パズルの気分で考えてみたいと思います。

とりあえず飛んでからどうするかを考えたい
2006年08月18日 (金) | 編集 |

まだまだ練習中ということで、アラクネーを調整し、各チームにスポット勝利できるチームを組み、次のチームにまた特殊対策、という風に遊んでおります。
また、大会に向けて、基本構造の方も進めております。



一週間前の宿題をいくつか片付けました。

・各機体の性能検証プログラム「SOKUTEI1.CHP」を作りました。

・基本構造を「格闘」→「回避」→「ターゲット」→「射撃」
 になんとなくかため、流れを作りました。

・プログラムのメインストリームを、円の形に並べるように
 しました。
 スタートから円までは初期設定や開幕処理、メインの円に入って
 からはなるべく最小チップになるように、サブに出る諸処理も
 ループで円に戻るように工夫するようになりました。

・フレーム数を意識するようになりました。
 1秒を30フレームに分けて条件判断されていると過程し、
 1フレーム5チップ進むことから、2フレームに1回は条件判断
 できるよう、メインループを10チップ以内に収める方向で。

・オプションはジャンプ中でも使えることが検証できました。
 というわけで、チップコストのかかるオプションの条件判断
 などは、ジャンプ中(通過モード)に判断し、
 オプションの使用も着地までに終わらせてしまうようにしました。



今後の課題

・対戦を見ると、一時停止を使わず常にチップが動いているチーム
 ほど鮮やかな動きをしているように見えました。
 ので、こちらもマネをしたいと思ったのですが、いまだ動作、
 所要チップ数、キャンセル優先順位などを把握できていないので
 検証したいところです。

・通常の活動中は一時停止を使わないでまわせるようにして
 みたいです。

・ジャンプしている間に、次の瞬間どうするかまで考えるように
 するのが理想です。
 逃げつつも心の中では攻めの姿勢で!

基本構造キットが出来たので、小技開発×タクティクス開発という中級の楽しみかたも出来そうです。



今日の身体測定

大会用のアラクネーのアクション時間のフレーム測定(目測)
射撃の火花が出てから、次の火花が出るまで。

【アラクネー/カノン/重量黄色】

射撃(方向指示)13フレーム
射撃(乱射)  13フレーム
射撃(通常)  15フレーム
射撃(狙撃)  21フレーム
ジャンプ射撃  29フレーム

格闘からの追い討ちには、方向指示で数回射撃→狙撃などにすると、場合によってはコンボっぽくつながりました。調整すれば実用できそうです。

「SOKUTEI1.CHP」エンジョイ工業;身体測定ソフト
2006年08月17日 (木) | 編集 |
▽動作テスト用ファイル「SOKUTEI1.CHP」

ジュピターに「SOKUTEI1.CHP」という、動作テスト用ファイルをアップさせていただきました。
出来ることは、
1)各OKE、各アクションの旋回角度の測定
2)各OKE、各アクションの移動距離の測定
です。


▽使い方
0)「SOKUTEI1.CHP」をダウンロードし、搬入します。
  「機体情報設定」から「機体設計図コピー」を選択し、
  コピーされた設計図を使用します。

1)ファイルの機体はエッグノックで登録されていますので、
  調べたい機体に変更してください。

2)アクションの角度を調べたい場合は、プログラム内の左端中央にある
  急旋回チップを、角度を測りたいアクションのチップに交換
  してください。

3)「戦闘シュミレーション」を実行すると、アクション終了直後、
  カウンタAに角度が出力されます。これは繰り返されます。
  計算の都合上、数回に1回、変な値が出力されますが、ご容赦
  ください。

4)アクションの距離を調べたい場合は、プログラムのスタート位置を
  左から3番目のチップに移動してください。

  また、プログラム内の中央にある格闘チップを、移動距離を知りたい
  アクションチップに交換
してください。

5)「戦闘シュミレーション」を実行すると、アクション終了直後、
  カウンタAに移動距離が出力されます。これは繰り返されます。


些末なソフトですが、自分のような初心者の方にお役立ていただければと思います。
また、ミスを発見されましたらご一報いただけると幸いです。

己を知りたい
2006年08月17日 (木) | 編集 |

アラクネーでの出場に向け、いろいろ知りたかったデータがあったので、自分で測定することにしました。
まずは、それぞれの行動の旋回、移動距離について調べるため、ちょっとしたテストプログラムを組みました。
カウンターを利用して制作しました。
・旋回については、旋回後の角度から、旋回前の角度を引き、結果をカウンターに出力しました。
・移動についても、移動後のXY座標から移動前のXY座標を引き、
 それを三平方の定理に代入し、結果をカウンターに出力しました。



アラクネー身体測定結果

左ネイル 旋回: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度ほどにかけて。



移動距離を求めるチップ構成。
「1秒停止」(念のため。メモるための時間。)
「カウンターEに自機X座標を入力」
「カウンターFに自機Y座標を入力」
「(ジャンプなど、移動距離を測りたいアクション)」
「一秒停止」(念のため。)
「カウンタGに自機X座標を入力」
「カウンタHに自機Y座標を入力」
「カウンタG←GーE。」(X座標の差を求める)
「カウンタH←HーF。」(Y座標の差を求める)
「カウンタG←G×G。」(ΔXの2乗を求める)
「カウンタH←H×H。」(ΔYの2乗を求める)
「カウンタG←G+H。」(ΔXの2乗+ΔYの2乗)
「カウンタG←sqr(カウンタG)。」(平方根、つまり距離を求める)
「カウンタA←カウンタG。」(カウンタAに答えを出力。)

先人の足跡
2006年08月16日 (水) | 編集 |

公式大会に参加させていただくべく、メカを一機にしぼる方向で製作中です。
「亜門(宮本専用)」「亜星(小林専用)」「亜土(水森専用)」という亜シリーズ3機に、控えで「亜紀(八代専用)」というのまで考えてのデビューをもくろんでいたのですが、そんなことはさておきまともな機体を設計するのが先決でありますね。



初心者ということで、カノンアラクネー×3にて調整中です。
「BAP.CHP」に勝つべく調整し、定期ミサイル集中砲火で強引に勝てるようにはなりましたが、もちろん、他のチームと戦わせると勝てません。
「BAP.CHP」と「yamiuchi.CHP」の双方と互角に勝てるアラクネー編成というのが未だ思いつきません。



今作での有用性はわかりませんが、「バースト射撃」とか「キャンセル」というテクニックの内容を知りたくなり、調べてみました。
以下のサイト様に詳しく紹介されていました。目うろこです。
機体測定用のプログラムなんかも用意してあり、前作までのファンの熱意に驚かされます。
と思ったら、CHPでも現役バリバリ最前線でプレイされている方でした。エンブレム変換ツールなども公開されてます。敬礼。

http://www.asahi-net.or.jp/~vw4k-kbys/zeus/zeus.html
http://www.asahi-net.or.jp/~vw4k-kbys/zeus/howto-burst.txt

苦悶あれこれ
2006年08月14日 (月) | 編集 |
お盆ということで子供や甥っ子の世話でさっぱりPSPで遊べません。
とはいえ、頭の中では気づけばカルネージのことばかり。

・プログラムは上から下へとメインプログラム、
 左右に向かってサブプログラムと枝葉を分かれるように設計し、
 せめて自分だけにはわかりやすく、と思っているのですが、
 1日あけて見るとゴチャゴチャでわけわかりません。
 フローチャートは紙に残しておきたいところです。
 となると、フローチャートの記号も覚えたくなりつつ、まだ覚えて
 いません。明日に先送り。

・現在、ジャミング&レーダー強化の「yamiuchi.CHP」
 動きの絶妙な航空機×3の「ALOE01.CHP」
 火力突進車両の「POO.CHP」の3ファイルを仮想敵に練習中。

 とりあえず飛行機を1台入れて突進&空爆&上下移動させ、
 2台の砲台アラクネーでゴリうち、という作戦(?)でそれぞれの
 ファイルにたまに勝てるチームが出来ました。
 でもそのチームで試しに「G1001.CHP」と戦わせると、あっさり
 負けてしまいます。(航空機撃たれる→数で不利になり押し負ける)
 仮想敵の3ファイルも対空などを強化していると予想されますし、
 厳しいものです。

・砲台×2+ヒコーキという組み合わせが堅実な路線という印象をうける
 ので、改めてヒコーキの回避プログラムに取り組みたいと思います。

・と思っても、まず特殊動作の動きや角度なんかを調べるために、検証用の
 プログラムを作らなくてはならないのでこのゲームは大変です。
 地上機の水平射撃角度もずっと調べたいと思いながらいまだに未決。
 そのうえ、いざ検証用のプログラムを組もうにも、角度の検証のやり方に
 またトンチが必要な感じで大変です。

・結果、当てずっぽうにプログラムを組んでは、漫然と試合を眺める
 という、進歩のきっかけのない遊び方になっております。
 でも面白いです。ご報告まで。

飛行機対策は白紙からスタート
2006年08月12日 (土) | 編集 |
ここ数日、重戦車やアラクネー対策で、ジュピターにあるGーONEさんの「G1001.CHP」やぷーさんの「POO.CHP」を仮想敵に練習中です。
チーム戦の前にまずは1対1でなんとか勝てる機体を何とか作った(もちろんチーム戦ではまだ勝てません。)と思ったら、aloeさんの「ALOE01.CHP」という航空機チームの手厳しさ!
ひらりひらりとかわすので、それ対策専用のマシーンを組んだとしてもまったく勝てる気がしません!ミサイルガンガン打ち込んだら勝てるでしょうか。
まんべんなく勝てるチームを目指す前に、
特定チーム対策特化のプログラムを作りつつ、経験値を上げていきたいと思います。

追記:
かなり強引ですが、グラスホッパーのビーム連射&機雷連射で1対1のフライドを倒しました。
同じ機体でチーム戦しましたが、当然ですが負けました・・・。

【同オプション複数使用】
2006年08月10日 (木) | 編集 |
ゴリ押し車両を作っていたのですが、冷却オプションを使いまくる必要があったので、モジュールを作りました。
たとえば4つ冷却オプションをつけて、常に使う場合に使えます。
ただ、分岐で重くなったので、極力簡略化したつもりです。


【同オプション複数使用】

レシピ・メインループ内

『オプションを使うか?(タイマーなど)』NO→(次の行動へ)
 ↓YES
「オプション4の残弾は1以上あるか?」NO→(次の行動へ)
 ↓YES
「オプション1の残弾が1以上か?」YES→「オプション1を使う」
 ↓NO
「オプション2の残弾が1以上か?」YES→「オプション2を使う」
 ↓NO
「オプション3の残弾が1以上か?」YES→「オプション3を使う」
 ↓NO
「オプション4を使う」
 ↓
(外へ)

『』の部分が、メインストリームに組み込む分です。
こうすると、メインストリームへの負担を1チップ、チェックを含めて2チップで、複数スロットのオプションをすべてなくなるまで順番に消費できることがわかりました。

肝心の戦える機体の方は、まだまだであります。

【時間カウンター】
2006年08月09日 (水) | 編集 |
『ミサイルの発射から、5秒待ち、次のミサイルを発射する』
というようなことをするときに、カウンターでの時間の取得を利用します。
カウンターに取得した時間は、取得した瞬間の値で固定されますので、メインプログラムのループ中で毎回取得しなおす必要があります。

【時間カウンター】モジュールのミニレシピ


レシピ:メインループ内

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


メインストリームのプログラムに2チップほど負担となります。カウンタに数値を加算していくよりも、秒数を目安にできる分、便利だと思います。

【長持ち集中ロック】
2006年08月09日 (水) | 編集 |
リーダー機のロックを、僚友機で共有し、倒すまで(orジャミングされるまで)固定する仕組みのレシピです。

【長持ち集中ロック】モジュールのミニレシピ


レシピ1:発信側OKEのループ内

『全方位800M以内にロックターゲットがいるか?』
 ↓YES   NO→「全方位800M以内の敵をロック」
『ロック機をカウンタHに代入』
 ↓
『カウンタHをチャンネル1に送信』


レシピ2:受信側OKEのループ内

『チャンネル1を受信し、カウンタHに代入』
 ↓
『カウンタHでロック』



シンプルなシステムですが、この仕組みに気づいてからプレミアムバトルですべて金をとれました。単細胞なごり押しでしたが。。。

当方の進捗状況
2006年08月09日 (水) | 編集 |
まだまだ初心者ですが、なんとかプレミアムバトルをクリアできたという状況です。
ほとんど車両の「バジリスク」に「カノン」を搭載してのごり押しでした。
1)右斜め前に移動しつつ(オフセット移動というらしい)攻撃
2)ターゲットが飛行機なら後退しつつ攻撃
3)ターゲットが格闘機の場合には、ナパームに武器を交換(設定にて)
4)負けたら初期フォーメーションをいぢって再戦
という感じでした。

現在は、ダウンロードしたチームを相手に、車両で戦いを挑みつつ、
メインとしては空手エッグノックの活躍を夢見ております。

ブログはじめました。
2006年08月09日 (水) | 編集 |
はじめまして、ニナガワ所長と申します。
当方ド文系ですが、カルネージハートをマイペースながら楽しませていただきたいと思います。
思いついたことや調べたことなど、メモ代わりに利用させていただきます。
ブログシステムの利用も初めてです。
対戦の折には、なにとぞよろしくお願い致します。