- 499: 名前:枯れた名無しの水平思考 :2007/03/11(日) 00:04:15 ID:PvLUv0S30(10)
- みんな、準備はできてるか?
できていなくてもシラネーゼ。
読むのに使うのは実機とか、
http://www20.tok2.com/home/tofu102/ のCHPSoftReaderとかな。
ここ http://ameblo.jp/ca-chp/ のがそのうちいいものになるんじゃないかと
期待株。
ちょっと手元で動かしてみた。
大会コメントでは「燃料が厳しいな」とか言われていたが、
ECMって使うだけでこいつの燃料3割以上もっていくのな。
こりゃ大変だ。 - 501: 名前:枯れた名無しの水平思考 :2007/03/11(日) 00:14:29 ID:PvLUv0S30(10)
- よし、本番。
メインが45チップ+SUB1が20チップでサイズは手ごろかな。
えーとチップの座標は
左上隅がA01で、右に向かって、B01, C01, D01...
下に向かって、A02, A03, A04...
というのが君と僕との約束だ!
じゃあ、STARTだ。D01からスタートな。
始めはアンロック時で分岐している(D02)から、まずはロック処理を見ていこう。
一連の処理は、
・タゲロック
・H←ターゲット識別番号
・判断 Hが4以上?
・・YES H←敵機数、H+3、カウンタHでタゲロック
・・NO H←敵機数、カウンタHでタゲロック
だ。ふむふむ。自分がホームのときはタゲロックすると、
敵の識別番号が4〜6になるから、そのときは、敵機数+3をロックすんのね。
つまり、敵の3番機の奴をロックする作戦ね。
このロジックは、自分は3機いないとまずいから、シミュレーションで
1対1で動かすときは要注意だ。 - 503: 名前:枯れた名無しの水平思考 :2007/03/11(日) 00:31:33 ID:PvLUv0S30(10)
- 次、ターゲットが済んだから、自動旋回ONね。(D01, E03)
うお、旋回角は正面か。敵に向かって一直線か。男気だのお。
んで、次は32m以内にミサイル1以上(C03)の場合はECM起動と、そして、
え・・、これだけか。ミサイル避けロジックは別なのかな。
ミサイルが来ていないときは、自機のZ座標をカウンタAに取り込むのか。
これは上下振動用かな。つーことは、ミサイルが来ている時は
上下振動を中断して、上か下かに動きっぱなしということか。なるほどね。
次はターゲットが飛行型か否か(D04)。大きな分岐になりそうだな。
まずは、飛行型から見ていこう。(E04へ)
★
・高度100m、自動旋回6度か、浅く敵の右側から攻める方針か。
でも6度は浅過ぎないかな。
・ミサイルが32m以内に来ていたらOP1起動、さもなくば前進。
・エネルギーが10%以下ならSUB1
・ターゲットがいなくなったらSTARTに戻る
・★に戻る
短っ!なんてシンプル。
>>502
おぅ、すまん。 - 505: 名前:枯れた名無しの水平思考 :2007/03/11(日) 00:47:32 ID:PvLUv0S30(10)
- そういえば、攻撃していなかったな。対空はオートガン任せか。
SUB1に分岐したから、ちょっと見てみよう。
エネルギー10%以下で呼ばれるんだったな。
節約モードかな。
★
まず高度100mと。
お、残弾1以下で寝る、と。ん?1以下?
んで、ミサイルが来てなかったら、武器1狙いに変更して★にもどる。
まさに低燃費だな。何もしていない。
だが、前進命令が残っているから、一応動き続けるわけか。
ミサイルが40m以内に来たら、OP1が残っていたら、OP1起動ね。
(エネルギーが切れかけてんのにECM起動したら墜落しそうだな・・・)
OP1が切れていたら、機動力で回避か。
ミサイルが16m以内で、被ロック数が1以上なら
高度50mに変更。高度54mに降下するまで待って、リターンと。
なるほど、でも、これでどれくらい避けられるのかは、ロータス使ったことが
ないから判らないや。
しかし、ミサイルが16m以内まで近寄ったら、被ロック数
に関係なく避けていいんでないかな。
敵が集中ロックだったら、ターゲットはミサイル撃ったらすぐきり変わるだろうし。 - 506: 名前:枯れた名無しの水平思考 :2007/03/11(日) 00:55:32 ID:PvLUv0S30(10)
- まさに、SUB1は節約モードだった。
よし、次は対地処理を見ていこう。E05からな。
お、ここでもエネ10%以下でSUB1に行ってる。
節約モードは対地対空共用か。
★
前進、Z軸100m未満なら、高度100m設定にしてメインループの起点のC03に戻る。
敵が80m以内に居れば
◆
・ミサイルが32m以内にあればOP1
・高度80m設定
・Z軸80m以下なら★、それ以外なら◆
なるほど、地上機が近いときは高度100mと80mの間で上下動する、と。
- 507: 名前:枯れた名無しの水平思考 :2007/03/11(日) 00:59:44 ID:PvLUv0S30(10)
- じゃあ、次は敵が近くに居ないときを見よう。A04からな。
武器1狙いに変更か。
お、あとは、さっきのと大体同じロジックだな。
高度100mと65mとの間で上下動を続けるループだ。
敵が80m以内に入ってきたら、このループは終わり。
お、とりあえず読み終えた。
- 508: 名前:枯れた名無しの水平思考 :2007/03/11(日) 01:06:29 ID:PvLUv0S30(10)
- まとめると、
◆共通
・攻撃はロジックは一切なし。オートガン任せ
・エネが10%以下で節約モード
・ミサイル回避はECM頼り。通常はミサイル回避ロジックは無い
ただし、節約モード中には下降でミサイル避けがある
◆対空
・敵に浅い角度(6度)でオフセット接近
◆対地
・敵に向かって前進
・武器1狙い
・80m以内で小さく上下動(100m〜80m)
・80m以遠で大きく上下動(100m〜65m) - 509: 名前:枯れた名無しの水平思考 :2007/03/11(日) 01:38:20 ID:PvLUv0S30(10)
- んー、
> ミサイルが来ている時は
> 上下振動を中断して、上か下かに動きっぱなしということか。なるほどね。
つーのは無さそう。
対空・対地・遠近それぞれに局所ループを作っているので、実は見かけよりも
ロジックは少なかった。
今のPGの特徴を生かした改良点として、思いつくのは、
・単発ミサイル避けのメインへの導入
・自動旋回角をもっと大きめに、または場合によって切り替え
・真上に攻撃できない地上機の上に取り付いたら、高度を落として命中度を上げる
だろうか。
====
さて、のんべんだらりと読んできたが、どうかね?
やはり最初に粗筋が判っていないと、書きにくいし
読みにくい気がする。
あと、全チップを(はしょりながら)読んだが、
まじめに読む必要はないかな?
想定より少ないロジック量だったので、予想より早く終わったが、
このペースで、フルチップPGは読めんよなあ。
とりあえず、この辺で第0回読み会を終了。
>>504 参加ありがとう。
- 511: 名前:枯れた名無しの水平思考 :2007/03/11(日) 02:01:03 ID:WMXHrlR/0(4)
- >>509
おつ。
ソフトの流れを丁寧に書いてくれたからわかりやすかったよ。
参加者が多い場合に、てんでバラバラに語りだすと収拾がつかなくなるから
ある程度順番に見ていく必要もあるのかな。
あるいは、あらかじめ参加者が予習をしておいて、キーになりそうな部分に
ついて、みんなであーでもないこーでもないと話してみたり、の2パターン? - 514: 名前:枯れた名無しの水平思考 :2007/03/11(日) 08:53:19 ID:KvAP+Ow70
- >>509
同じ挙動を半分以下のチップ数でできそうな気もするけど、その辺は言うだけ野暮かな。
単に閉鎖型のプログラムを組みたかっただけかもしれないし。
あえて難を探すとすれば、この程度のプログラムならもっと小型のCPUで十分、てあたりか。
ただでさえ燃費が厳しい機体なんだから、抑えられる重量は少しでも抑えなければ。
自動旋回角の問題は、ちょっと微妙。
このままのほうが、左右にぶれるので敵の狙撃に当たりにくいかもしれない。
ともあれ、面白い企画、お疲れ様でした。
- 520: 名前:枯れた名無しの水平思考 :2007/03/11(日) 18:54:26 ID:PvLUv0S30(10)
- >>518
お、楽しそうになってるね。
基本戦略やサブウェポンの使いどころぐらいも教えてくれると
さらに読みやすくなると思う。
モロパクリ予測射撃、と言いつつ、この実装は見たことないな。
パクリなのは実装?アルゴリズム?
ところで、ぶっちゃけ、この予測射撃の効果はどうよ?- 521: 名前:枯れた名無しの水平思考 :2007/03/11(日) 18:58:29 ID:aNpC7JQf0
- >>520
教えて君登場
パクる気満々だなw- 522: 名前:枯れた名無しの水平思考 :2007/03/11(日) 19:03:11 ID:PvLUv0S30(10)
- >>521
おう、予測射撃のPGの読み会なんて為になるぜ。
- 532: 名前:言いだしっぺATK305 :2007/03/12(月) 00:09:06 ID:ma2X+3C/0(2)
- >>520
戦略等は実機の動きで察してあげてください。遠くからゆっくり距離を詰めてくタイプです。
予測射撃は勝手に敬愛してるISAさんの公開機体のを無断で拝借。ほんとすんません。
少しいじって敵機がジャンプ始める前から射撃体勢入ってるから有効射程は伸びてるけど、敵の回避ルーチンの距離設定やらキャンセル具合やらによっては全く当たらない。- 533: 名前:枯れた名無しの水平思考 :2007/03/12(月) 00:35:34 ID:CdQ4EZbC0(5)
- >>532
おお、さんきゅ。
> 敵機がジャンプ始める前から射撃体勢入ってるから有効射程は伸びてる
これいいね。でもこの予測処理の中でバグっぽい問題を見つけた。
読み会の時にでも指摘しよう。
ところで、読み会っていつ始まるんだろう?- 537: 名前:言いだしっぺATK305 :2007/03/12(月) 01:32:59 ID:ma2X+3C/0(2)
- >>533
おお、それはありがたい。もしかしてあそこの妙なチップ配置の事かな・・・。
しかし、そうか読み会の開始宣言があんましうまくいってなかったな。
もう一人で開始してるつもりだった。
■◇■◇■◇■◇■◇■◇■◇■◇■◇■◇■◇■◇
◇■◇■◇■◇■◇■◇■◇■◇■◇■◇■◇■◇■
第一回PG読み会を開始します。
お題目:ATK305.CHP(ロケットアラクネ)
中身概要:>>515、>>518
期間:どうなるかわからんので未定(大会時期はなるべく避けるつもりで)
■◇■◇■◇■◇■◇■◇■◇■◇■◇■◇■◇■◇
◇■◇■◇■◇■◇■◇■◇■◇■◇■◇■◇■◇■
堅苦しい事は何もありません。思いついた事を適当に書いてみて下さい。
初めての試みですが上手く盛り上がって次回に繋がればなぁと思っとります。
あと、作者の存在は適当に無視で。(そうしないと作者のオレオレ話になりそうだ)
・・・これでいいかな。緊張するぜ。
- 538: 名前:枯れた名無しの水平思考 :2007/03/12(月) 02:43:31 ID:CdQ4EZbC0(5)
- 《読み会》
こんな時間に始めても誰も乗らなかろうよ。
まあ、前言の手前、口を出すかな。
ジャンプ予測射撃のところを読むぞ。
E09カウンタ判断が起点だ。ここで、16未満なら多脚・二脚。
次にジャンプ中か判断して、ジャンプしていなければ、
D10から予測射撃スタートだ。
まず、D10の乱射。これは敵のジャンプを誘う囮撃ちだな。
で、次のSTOP1でフレーム同期を取ると。
B11から始まる11チップのループ(長さは10フレーム)が敵の
ジャンプ待ちだ。待っている間は、
敵の方向、仰角、Z軸の最新値を取得している。
このPGの予測射撃の面白いのは、
ジャンプを見てから撃つのではなく、
あらかじめどんどん撃っておいてる点だ。
これなら、かみねこさんが言っていた、
ジャンプを見てから撃つ射程の限界190mを超える可能性がある。
まあ、実際は>>532に書いてあるとおり、
そういつもうまくいくわけではないらしいが。
もう一つ面白いのは、このループに入ってすぐの時点で、
敵がジャンプすると、D10の乱射が生きているうちに狙撃ルーチン
に移行することだな。これにより、囮撃ちが本撃ちに化ける
可能性があって無駄が避けられそうだ。
B12の分岐で、遠近で狙撃・通常を分けているけど、この意図は
よく判らん。遠いときは命中精度を高めたいということだろうか?
さて、ここで問題。このループだが、フレームの切れ目が、
A14とB14の位置に無い。一個前にずれている。
これでは、毎フレームジャンプ検出しなくてはいけないのに、
一方のフレームではジャンプ検出無しで、もう一方のフレームは
ジャンプ検出を二回している。これは恐らくバグだろう。
チップをずらしてフレーム境界を調整する必要がある。
さて、ジャンプを検出したら、A15。あとはISAさんの圧害の
実装と同じだな。特に目新しいことはない。
アルゴリズムは、するがさん方式だな。
アルゴリズムの説明はするがさんのブログを読めばいいだろう。
http://www.tcn.zaq.ne.jp/akdqy203/CHP/yosoku.html
実装については、昔のかみねこさんの記事も読むといいだろう。
気になるのは、F14のC←61だが、これはかみねこさんは210だった
気がしたが、いいのかな。これは調整した実装者に聞かないと
判らん話だな。
以上。予測射撃終わり。
■TOP■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- ツリー解除 dat