FC2ブログ
汎用ヒト型決戦遊具はじめました。
対空日記2
2008年11月29日 (土) | 編集 |

やるやると言って全くできていなかっただけあり、対空に関してはミサイル以外は知らないことだらけであります。
PSPでいろいろ試しています。
以下、確定情報ではないですが、わかりつつあること。



【クラーケン】
・機雷は約60F周期で上下運動を繰り返す。
・高度30m~60m付近に滞在。バラツキあり。
・100m前後の高度で飛んでいる飛行型に、同XY座標のすべてのクラーケンが、
 機雷自身の高度にかかわらずほぼ同時にTGに引き寄せられた。
・クラーケンの引き寄せられかたは、まずTGと同高度付近まで垂直方向に動き、
 同高度付近に達したところで、水平方向の移動成分が付加される。

【ポーラーベア】
・発射後16F程度で分裂。放射状に7発の子弾が四散する。
・子弾は機雷を追尾し、機雷付近で爆発。
・除去範囲は子弾の爆発地点からの円柱型らしい。おそらく上下方向の有効範囲は無限。
 範囲内のすべての機雷を除去する。(処理上限なし)

【パタパタ挙動】
チァーイカの急速移動&特殊動作(例:右急速移動+右ローリングショット)で
数フレずつ相互キャンセル。
横方向に高速移動できる。
この挙動中の高度指定も反映される。



気づいたこと。
・クラーケンは機雷自身の高度にかかわらずTGを追尾してくれるので心配無用。
・ポーラーの威力は絶大。ポーラー持ちに地雷原作戦はおそらく無効。
・ポーラー使用に値しないと判断されやすい機雷の単発使用でポーラー封印できるか?
・高々度のTGに対する単発機雷の直当ては、機雷の上昇の時間がかかるため難しい。
・しかし、単発機雷は、ほぼ確実にTGの強制回避を促すことが出来る。
・機雷による強制回避→タイフーンという「KTミサイル」や「ATミサイル」が組めるか?
・横っ腹タイフーンは、ミサイルが上昇ベクトルを持っている場合に
 高度指定による下降で回避されてしまう。
・ひでさんからコメントいただいたパタパタへのカノン直撃は、
 高度指定を想定すると難しいかも?シンクロカノンなら当たるかも?

スポンサーサイト



対空日記
2008年11月28日 (金) | 編集 |

ファミレスにて、5歳になった娘の一言。

「・・・あのさぁ、おみそしる残してもいい?」

(娘よ、それを世間はコーンポタージュスープと呼ぶよ・・・



もの凄く長いブログを書いたのですがフリーズで消えてしまいました!
内容の結論は
「やっぱり対空がボトムネックにしてチョークポイント」
「挙動を最適化するシステムの導入は必要であるがあくまで作戦実現のための手段。
 つまり効果的な作戦を考えることが先決」
というものでした。



対地をカノンと格闘で何とかすると割り切れば、
副武装を全力で対空特化できます。

そこで、試そうと思っていた2つの作戦を入れてみました。



1)橋って追いつき、直当てのつもりでクラーケンを設置。
  フィールドを機雷で満たし、シンクロカノン。

これはポーラー無しの飛行型にはそこそこ効き目がありました。
少し旧型の機体であればほとんど行けます。(と信じられそうです。)
ガーっと走って飛行に追いつこうとすることで、自然と機雷がまんべんなく配置されますし、
機雷原とシンクロカノンとの相性もなかなか。
飛行型に対して距離を詰めるので見た目にも威勢がよく、インファイターのマングレオンにぜひ載せたい戦術です。
まんべんなく機雷を放出するなら、霧下でもなんら問題なくできますしね!

アラクネーには景気のよい話ですが、たった一つだけ課題であります。

みなさんポーラーは標準装備(しかもかなり昔から)

・・・ポーラー付きチームに、この作戦は無効です。
そして文字大きくするとものすごくブログっぽくなりますね。・・・ちょっと照れますねこれ。

さて、当方のクラーケンはチーム計36発、
対する飛行型のポーラーはおおむねチーム計6発。

なにかブレークスルーはないでしょうか。。。
ポーラーの出し方もいろいろ研究しつくされ、工夫されているでしょうし。。。

いまだポーラーやクラーケンの性質を正確に把握できておらず、
引き続き調査が必要のようであります。
クラーケンの調査、前やった気がしますが、どこに書いたか幻だったか忘れてしまいました。

以下、@wikiより抜粋。
--
機雷
アヴァランチ    高度90m以下にて被弾、高度100mで追尾振り切り可能
クラーケン      高度90m以下にて被弾、高度100mで追尾振り切り可能
ウィスプ       高度90m以下にて被弾、高度100mで追尾振り切り可能
フォレストスフィア 高度50m以下にて被弾、高度60mにて無反応
ヴァルキリー    高度50m以下にて被弾、高度60mにて無反応

地雷は飛行速度の遅いロータス、プリースト以外の3種は通常前進速度を
保っているなら高度30mでも地雷は無視して飛んでいける
速度的には200km以上あれば大丈夫か

機雷は打ち上げ時の浮遊高度はどれも45~55m付近を上下に漂っている模様
何気に驚いたのがアヴァランチもウィスプも追尾してくること
前作までもそうだったがクラーケンの追尾性能は他の2種より若干高め

ただし追尾型機雷の3種は追尾範囲外になった時点の高度を保つので
100mの高度を守っていれば当たらない、というわけでもない
射撃などでその場に留まっていればまず当たってしまう
それでも大きな円を描いてそれなりの速度で飛んでれば結構当たらない

機雷を当てる側はほぼ真下付近から飛行型の射撃に合わせて
直接ぶち当てるのが確実っぽい

クラーケン以外の機雷の追尾だけど、
クラーケン以外は上下方向にだけ追尾だよね?
--

真下からの機雷というのは発売当初からの定石のようです。
クラーケンの追尾に関しては、手元でもう少し情報を集めてみたいと思います。

ひとまず、HIDさんのところにエントリを見つけました。
クラーケンは42mで発動とのこと!



2)単発タイフーンを横っ腹に当てる。

チァーイカが特殊動作を使って回避行動をする際、
ミサイルを特殊動作の進行方向、なおかつなるべくミサが水平に移動するように発射することで当てやすくする方法が知られています。
「横っ腹当て」とでも仮称します。
横っ腹判定の条件作りにチップがかかりすぎるかと思いましたが、
矩形指定を使えばうまくいくと2チップで判断出来るかも知れません。


[01] ターゲットから見た自機の位置が、

     ┌┐
     ││
     ││
     ││ の縦長な範囲外かつ、 
     ││
     ││
     └┘


[02]
┌───────┐
└───────┘ の横長の範囲内である。


と設定すれば、

┏━━┓ ┏━━┓
┗━━┛ ┗━━┛

このような、ターゲットから見て左右のカタチに自機がいる場合を判定できます。
ターゲットが自機に対して横腹を見せているとざっくりですが判断できるわけです。
[01]の縦長の判定の幅を調整すれば、横腹を見せたときの距離も設定できます。

2チップなので、コマメに横っ腹判断ができそうであります。
ただそれだけで当たるかというと話は別。
ミサイルの進行方向と逆に特殊動作されるとまず無効です。
進行方向にあわせて撃てたとしても、かなり水平に当てないとギリギリでかわされてしまいます。
唯一いいところは、単ミサにECMはまず発動されないということ。事実上のECM封印。
正しい当て方を見つけることができれば、少なくとも公開済み機体には対応できることになり、
大会はさておき、高レーティングを期待できそうです。
当て方を見つけることができれば・・・
投入できる大ミサは18発。これで1機ぐらいは落としてみたいものです。



カノン&格闘での対応範囲を広げる努力をしてきたのは、対飛行に副武装を残すためでした。
副武装をフルに使えばなにかしらブレークスルーがあるはずと思いたいのですが。。。

0FジャンプとZ軸監視とキャンセル可能モーション
2008年11月27日 (木) | 編集 |
▼ 『 0 F ジ ャ ン プ 』 な ん て 不 可 能 !

「硬直を完全カットできるワザなんてあり得るの!?ムリでしょ!?」
というわけで、
『0Fジャンプ』なるワードが現れ、混乱しておりました。
各ブログをさらっと見るに、みなさん完璧に理解されているようで、オチこぼれ気分を満喫しました。

ようやく時間ができたので、HIDさんのブログをじっくり閲覧。
読めばなるほど理解の範囲内におさまってくれました。


▼ 『 0 F ジ ャ ン プ 』 の 意 味 は ?

まず、
「『0Fジャンプ』は、ジャンプとジャンプの間の硬直を最小化するという意味。」
で使われているようです。

最小化してもBRAKIN終了直後の1フレームの「静止」をカットできないのが基本であるという話です。
それなら理解はできそうです。
結局このワードが自分にとっての混乱のもとであり、理解の最重要ポイントだったのであります。
(なぜ「0Fジャンプ」という名前になってしまったのかは後ほど。)


▼ 『 0 F ジ ャ ン プ 』 を す る に は ? 

どうやったら「ジャンプとジャンプの間の硬直を最小化」できるか。

一番簡単なのはジャンプ(通過)を実行し続けることのはずです。

しかし、それでは、ジャンプや着地硬直中に他の処理ができず、もったいない!となります。

だったら、
ジャンプ中ならジャンプの終了を待機して終わるなりジャンプすればいいだけ!
ジャンプ後すぐに状況判断を行うプログラムへと流し、次のジャンプの手前でプログラムをループなりで止めればよし!
とも思いますが、
そうすると、情報が待ち時間のフレーム数だけ古くなり、最適な行動がとれなくなります。


▼ 『 Z 軸 監 視 』 と は ?

そこで、出てくるのが『Z軸監視』。

ジャンプ後の自機のZ軸の差を毎フレーム求め、
Z軸の変化が無くなったら着地終了と判断。
着地終了後、状況処理へとプログラムを流します。
その際、状況処理が終わるなりドンピシャで次の行動チップ(ジャンプなど)を踏めるようにフレーム制御。
これが『Z軸監視』のテクニックのようです。

硬直時間を使って次になすべき行動を判断しているので、より最適な行動判断ができるというわけです。


▼ な ぜ 『 0 F ジ ャ ン プ 』 と 呼 ぶ か ?

自分でもいろいろ試しましたが、さすがにBRAKINが消えたと同時にジャンプを実行することはできないようです。つまりジャンプとジャンプの合間に「静止」が1フレーム挟まることになります。
これが実は、単なる見かけ上のもの(インジケーター表示の遅延)であるという分析があります。

>ゲーム上の処理順序が、
>「CPU時間>アクション実行>着地判定>着地硬直マーク表示>ポーズ>CPU時間」
>となっているため、ポーズしたタイミングでは、着地硬直マークは次のCPU時間に
>適用されるマークが表示されている(by 大犬太氏)

とのことであり、この解釈に則ると、BRAKIN表示が消えたそのフレームは、実際にはBRAKIN状態であることになります。
ここで、インジケーターでの表示上でBRAKIN表示のない「静止」を1フレームだけ挟むことは、実質上、ジャンプとジャンプの間の無駄が0フレームであるという結論に至ります。
これが「0Fジャンプ」という呼称がその状況を言い得ているという理由です。
へぇ~~~


▼ 『 別 ア ク シ ョ ン に よ る 硬 直 解 除 判 断 』

ジャンプ実行後、ガードなど他の行動をさせ、それが成功したかどうかで硬直の解除を判断する方法です。
通常、着地モーション(ジャンプ中と見なされるモーション)は終了していても、着地硬直(BRAKIN)状態が続いて行動が規制されます。
この場合、行動可能であること=着地硬直(BRAKIN)の解除と見なすことができます。

・1フレーム内の処理は、矢印に従って順に実行される。
・ただし、1フレーム内で複数の行動チップが実行された場合、
 最後のチップのみ有効となる。
というチップの実行法則を利用します。

[00] ジャンプ(通過)

[01] STOP 1/30
[02] ガード(通過)
[03] 自機がガード中か? N→[00] へ
↓Y
[04] ジャンプ(通過)
[05] STOP 1/30
(外へ)

このように並べると、
ガードが可能なフレーム(硬直が解除されたフレーム)ではガードが命令され、ガード中と判断されますが、
そのフレームの最後に命令されたジャンプが有効な命令となるため、結果、ガードは行わずジャンプが実行されるというわけです。
ちなみに、ジャンプ状態で判断するとチップがそのまま流れてしまうため、プログラムをここで止めて流れを調整するためにも、ジャンプ以外のアクションで判断する必要が生じます。


▼ 『 ジ ャ ン プ 中 判 断 に よ る 硬 直 解 除 判 断 』

上記と逆の場合もあります。
搭載量が十分小さいのグラスホッパーの場合、
着地硬直(BRAKIN)よりも着地モーション(ジャンプ中と見なされるモーション)の方が早く終了します。
このため、着地後は自機がジャンプ状態かどうかを監視し、ジャンプ中であればループ、ジャンプが終了していれば、硬直解除のタイミングのフレームでジャンプチップを踏む、とすることで、隙を最小に出来ることになります。
・・・ということのようです。


▼ 結 局 、 キ ャ ン セ ル 出 来 な い 動 作 と は・・・

実質的な、空中(inAir)、あるいは着地硬直中(BREAKIN)である場合のみ。
インジケーター上では、(BREAKIN)が消えたそのフレームまで。
ということになり、その他の場合はすべてキャンセル可能と言うことになるそうです。



大犬太とCHPさん、
hid's_Factoryさんの情報の自分用のまとめでした。間違っていたらすみません。
毎度いろいろ勉強させていただいております。ぺこり。
HID氏・大犬太氏・nas_B氏・ライ氏・HIROY氏・スクリーン氏他諸氏に敬礼。

コメントと考察
2008年11月26日 (水) | 編集 |

コメントありがとうございます。

>16 EK081123.CHP,ニナガワ,ζマングダイル(試作a),有,アラクネー*3
>特徴:ほとんど動かず突っ込んできた相手を迎撃する砲撃戦アラクネー。

>300m以遠の敵もガンガン撃つアウトファイタースタイルの砲撃アラクネーです。
>着地予測射撃搭載機クロコダイル+対車搭載機マングースとのことです。
>待ち伏せ旋回や、そこからの先行格闘、中距離での対車バックジャンプ射撃など
>対車両用の色々とおもしろい機能があります。
>100mm耐熱盾盾盾冷と対車にしては思い切った軽装。これは
>150mm対徹盾盾盾冷に比べ、熱的、燃料的に非常に有利な装備です。
>その反面装甲が剥がれ易く、ショットガンで大きく削られるため瞬殺狙いの
>突撃車両には弱くなっている気が。
>残念なのが、稀に起こってしまうSUB2の左上の3x2で無限ループに入るバグです。

見所ナシの機体に、これだけのコメント、ありがとうございますの恐縮至極。
せっかくですからやろうと思っていたことをつらつらと書いてみます。



>特徴:ほとんど動かず突っ込んできた相手を迎撃する砲撃戦アラクネー。
>300m以遠の敵もガンガン撃つアウトファイタースタイルの砲撃アラクネーです。

カノンの搭載量の多さを頼りに、相手の予測射撃の範囲の前(300m超)から、集中砲撃でこちらの制圧圏から1機ずつはじき出すという目論見でした。
ご存じの通り、着地位置予測射撃では、硬直時間にヒットが見込めない場合は、次のジャンプの出がしらを狙うことになります。ジャンプ中のヒットということになれば、はじき飛ばすことができ、いつまでも距離を保てることになるハズです。
自陣中央の機体に合わせたターゲットへの集中攻撃とシンクロカノンで先制し、圏内に入られてからは予測射撃の撃ち合いで競り勝とうという皮算用でした。

制圧圏のイメージ図解しますと、こんな感じになります。

300R

と、ここで少し冷静になりますと、相手が積極的な最前列配置だった場合、いきなり相手はこちらの制圧圏内にいることになります。
ここで、おそるおそる相手側からの予測射撃必中圏をかぶせてみますと・・・

270R

あうあうあう、こ、これは最初から全然ダメではないですか!
最後尾に置いておけば300mは手堅いなどという妄想が災いしました。少し考えれば分かることです。
作戦立案の時は、いつも手元に540mのフィールドマップを置いておくべきでした。



>その反面装甲が剥がれ易く、ショットガンで大きく削られるため瞬殺狙いの
>突撃車両には弱くなっている気が。

150mm+盾2に対するアラクネーの格闘が通常部位52dmg、堅い部位38dmgということで、
格闘ヒットからのよろけ追撃を狙ってみました。
いくつかのベテラン車両に効き目が見られたので投入してみましたが、ツメが甘く汎用性には難ありと出ました。
ここはもうチョットがんばってみたいところです。


>残念なのが、稀に起こってしまうSUB2の左上の3x2で無限ループに入るバグです。

ここはループにならないようどうすべきか悩んだところでした。
着地予測射撃ルーチンで、ジャンプ監視を行っているパートです。

[05] ターゲットがジャンプ中か?→Y[06]へ/N→[01]へ
[01] カウンタA:Z軸を取得(初期)
[02] カウンタC:方向を取得(初期)
[03] 射撃(狙撃など・ジャンプを誘う)
[04] 【問題の1チップ】

[06] カウンタB:Z軸を取得(ジャンプ直後)
[07] カウンタD:方向を取得(ジャンプ直後)
・・・

となり、
5チップで簡易的に制御しようとした場合、
無限ループを防止できるのは1枚となり、
【問題の1チップ】にどのチップを採用するかが問題となります。
せっかくの機会なのでここで改めて考えてみます。

【TGアンロック】
○TGを破壊次第、抜けることができる。
×TGがジャンプしない場合、相手から一方的に攻撃されることも。

【自機が被弾】
△攻撃を受ける限り、いつかは抜けることができる。
×被弾のない場合に放置プレイ。

【高速飛翔体接近】
○1フレ毎に危機をチェックできる。
×被弾のない場合に放置プレイ。

・・・正解の1手がなかなか見つかりません。
そうなると、複合で行くというのは手です。

[05] ターゲットがジャンプ中か?→Y[06]へ/N→[01]へ
[01] カウンタA:Z軸を取得(初期)
[02] カウンタC:方向を取得(初期)
[03] 高速飛翔体が接近中か?Y→ 回避へ
[04] 自機が射撃中か? N→ [a1] へ
--
[a1] 射撃 1発
[a2] TGアンロックか?→(外へ)
[a3] 被弾中か?Y→(外へ)/N→[03] へ
--
[06] カウンタB:Z軸を取得(ジャンプ直後)
[07] カウンタD:方向を取得(ジャンプ直後)
・・・
--
これで堅牢性が増したかも知れません!

こういう小問題を考える時には、PSPをさわるよりワープロやノートで考えた方がはかどりますね~。
脳内カルポ万歳!ということで、開発は果てしなく続くのであります。

インパラ計画
2008年11月26日 (水) | 編集 |

大会の方はえーとえーと・・・
うちのチームはえーと、下から数えましてひぃふうみぃと・・・
4Dのようであります。
最終下から二番目のリーグが目標でしたので、一応目標達成であります。
とはいえ、今まで多少バグがあっても納得のいかない機体であっても中の中ぐらいの成績は取れていたので、改めて結果を見ると晩秋ですなという感じであります。



海より深く反省しつつ、
いつもなぜか後回しになってしまう回避関連をしっかりやってみたいと思います。
脳内ではあれこれとノウハウが蓄積されたつもりでも、いざ組むとなると何をやっているのか自分でもよく分からない昔作った回避を丸ごと放り込む始末。
ここは一つ絶妙で軽妙かつ堅牢にして簡便な作り上げたいところです。
題して「インパラ計画」っ。
対空、対車両、対足つき、予測射撃の攻撃ルーチンに加えた、動物シリーズの最後の1ピースです。
これを有機的に統合するのがまだ見ぬ「ラスカルシステム」であり、
省チップ化してファイリングするのが「統合整備計画」ときたもんです。
成果は出ていないわけではなく、みんなの成長が早すぎるのだ、と自分を納得させたい今日このごろであります。



最近気になっているのが「Oフレームなんとか」という技術。
イマイチ分かりませんが、複数のブログにある情報を脳内で連結すべく、時間のあるときに消化してみたいと思います。



上位リーグはアラクネー勢を応援!ということで楽しみたいと思います。
来年の初夢はアラクネーの1234フィニッシュで決まりぃ。

第10回大会に向けて・・・
2008年11月24日 (月) | 編集 |

大会主催のみなさま・運営のみなさま・参加者のみなさま毎度楽しい時間をありがとうございます&お疲れ様です。

過去最大の参加者数でありベテラン勢も本命機体が多く、また有力な新参加者も多数ということで、いよいよベスト版発売の期待が高まります。(期待だけ)
PSP2000および3000両方の発売のタイミングで出てこなかったので、期待しづらいところがありますが、欲しい方は是非GENKIに直メールで「売ってないんですけど」とお願いして下さいませ。



というわけで、一夜漬けであろうが参加できてよかった!!!と思っております。
一週間前にはもう全然間に合わないし今回はパスだなーと思っていたところです。

とはいえ、締め切りのお陰で遠回りの「統合整備計画」がやや軌道に乗ったのが幸いです。
実際、一夜漬けの制作ではそのサイトを見ながら組むことである程度の仮組みを手早くすませる事が出来ました。
そこから3時間かけて対車両と対二脚を組み上げて責了。
満デーイ・ストーム・ファントム・β-ELCID・のらんげりをん
などに合わせて受け身的に作りました。

今大会では発揮できなかったようですが、個人的には対ストーム時に空手チョップ連打で対抗するのが見所であったと思っております。調整中にハタと思いつきそのまま搭載しました。運にもよりますが苦手なロケットを克服します。ってあれ、ストームのバージョン08だったかな?じゃあ意味ないか。そんなところですが、この手でもう少しがんばれるかもしれません。
検証が必要ですが、100mm装甲だと結構手が早いので、格闘アラクネーの基本形になれるかもしれません。
というわけで、この調子で煙幕格闘アラクネーという変な進化もアリかもしれないと思いつつあります。



単一機体×3でいうと、上位陣は当然の進化として複数設計図がメインにしつつあるようです。実質上の混成編成であり、こちらとしても設計図1枚にこだわる必要はもうないよなと思いつつも、なんとなく設計図1枚の殻の中でどこまでいけるかやってみたいという気もします。
というわけで、決めました。今決めました。設計図1枚にこだわるのは次大会までっ!
やっぱり主武装にしたっていろいろ混ぜた方が回避判断も難しくなりましょうし、
対空にしたってミサイル複数種とか機雷とかいろいろ混ざっていた方が可能性が広がるに違いありません。
というわけで、次回の期待こそ、設計図1枚の卒業制作にふさわしいものにすべくがんばろうと思います。



というわけで、まずは対空です。
というこの対空地獄。今回のアラクネー勢には期待大であります。

大会に参加!
2008年11月23日 (日) | 編集 |

全然つくれていなかったのですが、一晩で強引に組み立てました。
あと1ヶ月、せめてあと1週間あればと思うのは毎回のことであり、これすなわち実力であります。



朽ちし刃からパクった機能はほとんど排除する結果となりました。
素手でロケットホイリーに立ち向かったりするのですが、たまに勝ったりもあるので、ちょっと見た目が新鮮だと思います。
また、対多脚用に着地予測射撃を詰め込みましたが、調整が至らず、まったく機能しません(笑)
また、チァーイカの横っ腹にタイフーンを打ち込むつもりマンマンでしたが、それも絵に描いた餅でございます。



予測射撃を積んでしまったので、マングレオン改めマングダイルとなりました。
マングース計画+クロコダイル計画であります。
100mm装甲は格闘の動きが心なしかキビキビしているのと、動きまくっても燃料切れにほとんどならないということで、がんばればのびしろがありそうな気がしています。
一番厳しそうな対車両を克服しそうな感じになっているので、
死蔵してるミサイルポッドの運用など、いろいろできることが残っております。
ミサイル回避も古いのをコピペしてちょっといじっただけですし、やりたいことだらけで困ります。



100mmで対多脚にインファイトをしかける方法が見つかれば、ぜひ本命「ζマングレオン」も完成させたいところです。
ちなみにζは「ゼータ」と読みます。PSPでは「じーた」を変換すると表示できます。



今回のポンコツ度はいままでに増してがっかりな感じです。
目標は、最下位リーグより上、ということで、試合を楽しみたいと思います。
みなさま、よろしくお願い致します。
10回大会こそ、がんばりますぞ。

問答無用の斬り捨て御免
2008年11月18日 (火) | 編集 |

最近、カウンターでやたらと細かい数字を扱うようになっております。
どこかで読んでいたに違いないのですが、忘れていたのが「小数点第二位以下の切り捨て」。
0.1度単位の角度調整となると、近似値を出すときにこの切り捨てがかなり効いてきます。
ので、いろいろ作り直さざるを得ない状況になっております。

皆様もカウンタの小数点第二位以下切り捨てには十分ご注意ください。ぺこり。

スイートスポット探し
2008年11月18日 (火) | 編集 |

ああもう時間切れ~という感じであります。
このモチベーションを次につなげるためにもと、
使い道により汎用性のある弾道計算を進めたいと思います。



しゃがみトリンカーと棒立ちアラクネー、中間としてアングリフを用意。
仰角を固定して、その3タイプのすべてにヒットする距離を測り、
その数列から、
距離に応じて実用的な仰角で発射できる計算式を逆算しようという試みです。

・・・地道です。



アンテナはこちらでも追っていますし、巡回しているブログで触れられている場合には
積極的に回収させていただいております。
が、それでも見落としがあることが多く、
もしCHP関連のブログをお持ちの方がいらっしゃいましたら、
ぜひご一報いただければと思います。
また、更新情報取得の設定も逐次改訂しておりますが、
反映が遅すぎるという方がいらっしゃいましたらこれまたご一報いただければ、
最善を尽くしますのでよろしくお願い致します。

モジュールとコアブロック
2008年11月16日 (日) | 編集 |

散歩中もCHPのことばかり。
久々にこの楽しい感じが戻って参りました。
油断していたのですが来週は多忙ウィークで、満足のいくもので大会に出られるか心配です。
本当はパーツの見通しがついてから全体を組みたかったのですが、
週明けすぐから全体の組み立てを始めないと間に合わなさそうです。



着地位置予測射撃を若干シェイプアップしました。
各行で何をやっているのかを分かりやすくし、
「統合整備計画」の方にアップしました。
消費カウンタ4個、必要チップ28枚と、かなり実用的になっております。
回避や弾道補正がなく、もちろんこのままでは使い物になりませんが、いいところまできていると思います。
ちょっと小細工すれば、かなり使えるものになると思います。



サイトをアップすると、機体を作った気持ちになってしまう、それがマズイところであります。
「コアブロック構想」なるものを夢想中であります。
はじめて間もない頃、
「こうやって組んでいます」
というのを書きましたが、今だにこの青写真に沿って遊んでおります。
この図の「メイン」というところは毎回状況に応じて作り直していたのですが、
ちゃんと作ればある程度堅牢になるのではないかと思います。
プログラムに詳しくない私はメイン領域を「カーネル」とか「OS」とか脳内呼称して雰囲気を楽しんでいたのですが、むしろ「コアブロック」と思った方がよりゴッコ感が強いのであります。

「コアブロック」をご存じない方は少ないと思いますが、
初代ガンダムのコクピット部分を共用として、状況に応じてガンダム、ガンキャノン、ガンタンクのボディをハメかえて運用できるというものです。
ガンダムで考えるとドッキング超合金を売るための仕掛けでしかないわけですが、
CHPとなるとぐっと実用度が増します。
インファイトモジュールを組み込んだアラクネーをマングレオン、
そのモジュールを遠距離砲撃モジュールに換装したものをマングダイルとして運用できたりするわけです。
そんなこんなで脳汁でまくりの深夜3時でありました。お休みなさい。

着地予測射撃の一部
2008年11月14日 (金) | 編集 |

予測射撃の途中段階ですが、バグを修正中です。
予想自体はある程度成功するようになってきました。
省チップ簡略バージョンと、完全バージョンの2種類ぐらいは作っておきたいと思います。

が、一点重大な点がまだ残っています。
前回のブログの通り、弾道補正がまだ終わっていません。
ので、下に書いたものは、弾道補正を固定値でごまかしています。



カウンタA:Z軸(初期)
カウンタB:Z軸(1F後)
カウンタC:方向(初期)
カウンタD:方向(1F後)
カウンタG:XY距離

(着地方向予想)
・STOP 1/30(フレーム同期用)

・カウンタ:Z軸を取得(初期)
・カウンタC:方向を取得(初期)
・射撃(通常の射撃・ジャンプを誘う)
・ターゲットがアンロックか?
・ターゲットがジャンプ中か?→N 最初へ
↓Y (ジャンプと判断)

・カウンタB:Z軸を取得(1F後)
・カウンタD:方向を取得(初期)
・特殊動作3(射撃のリセット)
・狙撃1発(狙撃属性付加)

・カウンタB=B-A(Bは1FZ軸増分。Aは初期Z軸)
・カウンタB=B×10(Bは対空予想時間)
・カウンタD=D-C(Dは1F方向増分。Cは初期方向)
・カウンタD=D×B(Dは増分×滞空時間=ジャンプから着地までの増分)
●カウンタC=C+D【C=着地予想方向(初期方向+増分)】

(砲身補正)
・カウンタGにターゲットのXY距離を入力
・カウンタBに200.5を代入
●カウンタB=B/G【B=砲身補正値】(GはXY距離)

◎カウンタC=C+B【C=発射方向(着地予想方向+砲身補正値)】(Bは砲身補正値)

(地形仰角補正)
・カウンタB:自機Z軸
・カウンタA=A-B(自機とターゲットのZ差)
・カウンタA=A/G
●カウンタA=A×57.3【A=地形仰角補正値】

(弾道補正)
◎カウンタA=A+0.5(適当な数字)【A=発射仰角(地形仰角補正+弾道補正)】

・カウンタ射撃:方向C・仰角A



距離を2乗したものをちょいちょいと加工してある程度使えそうな感じのものはできましたが、
模範解答のような仕上げにしたいので、もう少し粘ってみます。
また、ループ関連で若干の誤作動がおきる(ジャンプを見逃すことがある)ので、
その辺も堅牢にしていきたいと思います。

勘定が合わない
2008年11月13日 (木) | 編集 |

ひきつづき着地予測射撃を実装中であります。
ちゃんと計算してパーフェクトな状態にしておきたいのですが、
なかなか勘定が合いません。

「滞空時間概算は初F高度x10[F]」

という裏ワザがあるのですが、
(過去に2chで発表され、ChipCodexの掲示板に保管してあります)
それを利用しています。

ジャンプ中の横方向の移動に関しても、
全フレーム同じ距離ずつ横移動という法則がかなり前に発表されていたので
それを利用します。


つまり
1)ジャンプ前の高度と方向を監視
2)ジャンプした瞬間、つまりジャンプ1フレーム目の
 高度と方向を取得。
3)高度×10で滞空時間を予測。
4)予想滞空時間に1Fでの方向の増分をかける。
これで、着地位置をドンピシャ当てられる・・・はずなのですが、
微妙に位置がずれてしまいます。

着地方向の予測と結果をチャンネルに表示するプログラムを作って見ていますが、
数値としてもずれているのが確認できます。

すでに実用性もあるレベルではあるのですが、
ここはなんとかロックオンストラトスのようにドンピシャと中心を射抜きたいものです。
そんな状況であります。



2chで「ユニットを借りて大会に出る」のようなことが話題になっていますが、
けっこう面白い案だと思います。というか、できればやろうと思っていました。

同PGアラクネー×3をチマチマといぢりつづけていますが、
本命は混成です。というか混成に手をだしてから本番だと思っています。
納得のいくアラクネーができた時点で、
混成への過渡期として、ユニットを借りるというのは面白そう!
と思っていました。
PGが公開されているユニットならば、○×カスタムというカタチで
リスペクトしつつチームに編入して大会に参加もありだと思っています。
さすがに全機拝借というのはチームとしてどうかとも思いますが、
そのへんはモラルに任せても問題なしと思います。

要は、面白そうな要素はとりいれなきゃ損!ということであります。
一刻も早く混成であそべるよう、アラクネー作りをがんばりますぞ。

弾道の不易性
2008年11月11日 (火) | 編集 |

三角関数を利用した射撃補正は、真上から見るとそれはそれは気持ちよくターゲットの中心を射抜きます。
しかもチップ数も現実的な枚数で済んでしまいます。

ただ一つ悩ましいのが、ターゲットのいる仰角は発見できていても、重力の影響を計算できていないことです。
適当な数字を補正値として代入して使っているのですが、
マヨコから見ると、残念な感じでターゲットの頭上をかすめることもしばしばです。
上級演習場は微妙なデコボコがあるので、これはぜひ克服したいところであります。



カノンを撃った時の重力の影響ですが、このへん、いかにも「物理」!という感じで閉口してしまいます。

まあでもポーンとボールを放り投げた弧のカタチのはずですから、いわゆる「放物線」を描くわけであります。
「放物線」といえばそれなりに聞きなれたものですからメジャーなものであり、理解の範疇に収まるものと期待できます。



しかし、懸念があります。
弧を描いて飛んだ弾が、思ったより高い位置、低い位置にいるとき・・・
見た目上の角度でターゲットの角度を把握していたとして、
それが役に立つのかどうかということです。



結論から言いますと、大丈夫のようです!
「弾道の不易性」というのがあるらしく、
図のイメージは以下のURLにあります。
http://navgunschl.sakura.ne.jp/koudou/riron/shokyu/dandou/tougai_ketsuron.html

これを見る感じ、チップで求めたターゲットの仰角をそのまま生かせそうだという気にさせられます。

おまけに、そのサイトは弾道に関するよいまとめページになっています。
「砲術講堂」
「射撃理論解説」などのコンテンツがとても充実しています。
数式ばかりでちょっと理解はできませんが(笑)、
文字のところだけを読んでもなかなかためになりそうです。

射撃の名手まで、あと一歩であります。

arctan角度補正
2008年11月11日 (火) | 編集 |

基本的かつそれなりの精度の着地予測射撃をつくってみました。
そこで、モンハンで遊んでいたら忘れてしまっていたarctanでの線形近似を復習するはめになりました。
復習がてら、Chip Codexにもまとめてみました。

arctan角度補正

かなり直感的にわかるようになったのではないかと思います。



というわけで、100mm装甲でやってみようかなと思うのですが、
さすがにこうなるとインファイトへのハードルが高すぎます。

いまさら通常の着地予測射撃の打ち合いでは芸がないので、
かつてチャレンジした超ロング着地予測射撃を現代風にアレンジした新機能を
搭載してみようかと思う次第であります。



予測射撃の最後のピースとして、カノン砲弾への重力の影響をどう織り込むかについて、まだ知恵がありません。
せっかくのチャンスなのでそれも勉強してみたいと思いますが・・・機体開発、間に合いますでしょうか。

廃熱とオプションと装甲
2008年11月05日 (水) | 編集 |

以前もやりましたが、アラクネーのハードウェア構成を再考であります。
総廃熱量でランキングしてみました。



※冷却1個の廃熱量:910p×5回=4550p
※100mm装甲の廃熱量:4p×120秒×30f=14400p
※150mm装甲の廃熱量:3p×120秒×30f=10800p
※耐熱装甲の廃熱量:1p×120秒×30f=3600p(&被弾熱量70%)
※215mmカノンの発熱量:168
※カノン100発の発熱量:16800

×[100mm][耐熱装甲][冷却2個]:27100p(&被弾発熱70%)
 14400p+3600+9100p=27100p
 [盾2]カノン:53× 格闘:61×
 [盾1]カノン:82× 格闘:93×

×[150mm][耐熱装甲][冷却2個]:23500p(&被弾発熱70%)
 10800p+3600+9100p=23500p
 [盾2]カノン:42○ 格闘:49×
 [盾1]カノン:68× 格闘:93×

×[100mm][対徹装甲][冷却2個]:23500p
 14400p+0+9100p=23500p
 [盾2]カノン:33○ 格闘:61×
 [盾1]カノン:53× 格闘:93×

◎[100mm][耐熱装甲][冷却1個]:22550p(&被弾発熱70%)
 14400p+3600+4550p=22550p
 [盾3]カノン:33○ 格闘:39○
 [盾2]カノン:53× 格闘:61×
 [盾1]カノン:82× 格闘:93×

△[150mm][対徹装甲][冷却2個]:19900p
 10800p+0+9100p=19900p
 [盾2]カノン:24○ 格闘:49×
 [盾1]カノン:42○ 格闘:78×

◎[100mm][対徹装甲][冷却1個]:18950p
 14400p+0+4550p=18950p
 [盾3]カノン:11○ 格闘:39○
 [盾2]カノン:33○ 格闘:61×
 [盾1]カノン:53× 格闘:93×

◎[150mm][耐熱装甲][冷却1個]:18950p(&被弾発熱70%)
 10800p+3600+4550p=18950p
 [盾3]カノン:24○ 格闘:29○
 [盾2]カノン:42○ 格闘:49×
 [盾1]カノン:68× 格闘:93×

◎[150mm][対徹装甲][冷却1個]:15350p
 10800p+0+4550p=15350p
 [盾3]カノン:11○ 格闘:29○
 [盾2]カノン:24○ 格闘:49×
 [盾1]カノン:42○ 格闘:78×



対スプーノーランでの限界を考えると、盾×3は欲しいところ。
となると、現実的なのは以下のチョイスとなりそうです。

◎[100mm][耐熱装甲][冷却1個]:22550p(&被弾発熱70%)
 [盾3]カノン:33○ 格闘:39○ [盾2]カノン:53× 格闘:61×

◎[150mm][耐熱装甲][冷却1個]:18950p(&被弾発熱70%)
 [盾3]カノン:24○ 格闘:29○ [盾2]カノン:42○ 格闘:49×

◎[100mm][対徹装甲][冷却1個]:18950p
 [盾3]カノン:11○ 格闘:39○ [盾2]カノン:33○ 格闘:61×

◎[150mm][対徹装甲][冷却1個]:15350p
 [盾3]カノン:11○ 格闘:29○ [盾2]カノン:24○ 格闘:49×
 [盾1]カノン:42○ 格闘:78×

100mm装甲は燃費がよく、ジャンプ回避なども使いやすいため、魅力的です。
予測射撃での遠距離での打ち合いには間違いなく向いていますが、
インファイトを仕掛けるとなると実質戦闘時間は18秒と短命になります。
対カノン車両でも戦えるのは18秒。
むーむむ。

【ムラマサ判定】
2008年11月05日 (水) | 編集 |

実際に使えるか自信がなく、また必要かどうかも怪しいのですが、
単発のミサイルがムラマサかどうかの判定式を夢想いたしましたのでメモとさせていただきます。



【ムラマサ判定】

[00] STOP 1/30

[01] Xm以内にミサイル1発以上? N→(外へ)
↓Y
[02] 54m以内にミサイル5発以上? Y→(ムラマサの可能性大)
↓N
[03] Xm以内にミサイル2発以上? Y→(ミサイル2発以上の可能性大)
N↓
[04] 至近距離にミサイル1発以上? Y→(単発ミサイルの可能性大・回避行動へ)
N↓
[05] STOP 1/30
 ↓
([01]へ)


解説:

Xmは相手のミサイル連射間隔×ミサイル速度+54m?
だいたい90~160m程度??

[01]~[03]は同一フレーム以内に処理。
1)Xm圏内にミサイルが1発でループに入る。
2)まず、54m以内のミサイル弾数をチェック。
  ムラマサが分裂していれば、ここで少なくとも4発を認識するはず。
  54mという数字は、ムラマサの分裂距離に多少のりしろを取ったもの。
3)2)のムラマサチェックを通過して、なおXm圏内に2発以上ミサイルがあれば、
  複数のミサイルが飛んできている可能性が高い。
4)1)~3)の条件をくぐり抜けてくれば、単発ミサイルの可能性が高い。



ムラマサ判別・回避について真剣に考えたのははじめてかも知れません。
もう2年前からやろうやろうと思っていまやっと基本機が見えたかも、という感じであります。

暴発するムラマサ
2008年11月02日 (日) | 編集 |

ミサイル回避をいじっていたら、ムラマサ判定ってどうやるんでしたかな、ということになり、ムラマサについて思い出しがてら再考となりました。



ムラマサの詳細を調べようと「CarPort」を見ますと、どこで分裂するのかの記述がさっとは見あたりません。

しかし、
>初級演習場のフロアタイルが30m四方であることを利用し、
>画面に表示される フロアタイルの一辺が30mmになるように
>拡大・縮小して調整する。
>これにより、画面上の1mmがゲームの1mに相当することになり、
>位置を1mの精度で求めることができる。

とありますので、縮小拡大&定規を使って計測してみることに。
互いにムラマサを発射するバッドドリームを2台並べて試してみました。
実際やってみるとフロアタイルの境界線が若干分かりづらいところもあり、なかなか手間がかかる作業であります。
目標(ターゲットの中心にある赤丸のマーカー)まで48mや52mという地点が多い感じがしましたが、時折70m超で分裂する場合も確認。
これはと思い発射した瞬間を確認すると、発射後50m(ターゲットまで190m)で暴発的に分裂しているムラマサも確認されました。
ちなみにこれはバッドで8連「乱射」した場合に生じた現象です。
もしやと思い「狙撃」や「通常射撃」でも試してみますと、
今度は発射直後に暴発という極端な例は確認できませんでした。
しかしながら通常射撃でも目標まで84mで分裂するムラマサも確認され、なかなかに悩ましい結果となっております。

「ムラマサの最大誘導距離は276mでその後分裂する」
というデータもあります。
暴発には誘導距離が関係しているのかもしれません。
しかし、240mの距離で打ち合い、ノックバック含めても280mでの現象でした。
180mでの打ち合い(ノックバック含めて220m内)でも、70m超で分裂する場合を確認できたので、やはり暴発は存在するようです。

今日の結論としては、
「ムラマサは、だいたい目標前45mごろにはさすがに分裂している」
といったところでしょうか。
水平のムラマサだと、暴発したムラマサの子弾が地面に吸収されている場合もありえるため、子弾で判断する場合にはその辺も含めての注意が必要のようです。



ムラマサに暴発が多く含まれ、もし乱射でその可能性がアップしていると仮定すると・・・
発射速度が同じと思っていたミサイル発射ですが、乱射より狙撃を使った方が命中率がアップする、ということになると思います。
この当たりは導入しつつ、検証のヒマがあったら自分のところでも追試してみたいと思います。



兵器の性能なんて、それぐらいポンコツな方がリアリティあるでしょ!
現実のハイテク兵器なんて実際にはもっとポンコツでしょ!
という開発者の意図があるような気が、ちょっとだけしました。