レー妨研 多機能開発事業団 2001/12/10

ここでは多機能に関する激しくいまさらな、講座のように見えなくもないものを公開しております。


#というよりも
多機能に関して思いつくままに書いていると

#いつのまにやらフライド作成講座になっているのがなんとも (^^;;;

#さらに書き進めていると、
途上に省チップ講座まで発生して、既になんだかよく分かりません(ーー;)


本来ならまくんさんのようにきちんと系統だててやるのが良いのでしょうけど
こうなったらとりあえず
「Dumbo流OKE製作のコツ?」とでもしておきましょう。

それでも感想なんかをメールやらBBSにでも連絡下さるととっても喜ぶみたいです

関連資料
Dumboフライド教材一括DL
(zip圧縮winpsmデータ)


50ディスティニー T1
50ディスティニー T2
ブルーディスティニーT3
ブルーディスティニーR5
4x4フライド

「Dumbo流OKE製作のコツ?」

なお、ゼウス2におけるPRGの設計開発にはその設計者の数だけ多くの考え方や
進め方があります。ここの挙げたのはあくまで一例という事を覚えておいて下さい

あくまで自分のスタイルを守りつつ、これまで気付かなかったポイント等を取り入れて
あなたのOKE作りに役立てるのが得策でしょう。

<<多機能とは>>

多機能とは何か?ざっくり大きく3つに分けて見ました。
(正しい事が書いてあるとは限りません)
レベル1:様々な状況を想定した細かい設定を充実させる(多機能)

これは例を挙げると
「敵との距離や熱量に応じて発射弾数を変える」
「ミサイルを定期&閉幕&格闘迎撃&被弾追撃とマルチに使いこなす」
「ミサイル接近時のみ回避を別ロジックに切り替える」
といった
各所で細かい設定を設ける事です。

見た目とっても賢くなり作る分にはとっても楽しいのですが、戦うOKEにとって(^^;は
あんまり反応が遅くなると迷惑がられます。しかし装備を無駄なく適切に使ったり
適切に回避出来たりと
各行動の精度が上がるので能力はUPすると見ていいです。
  
レベル2:敵種、戦法に対応した対策PRGを組み込む(個別対処)

これは例を挙げると
「飛行x3なら集中ロック」
「車両がいるなら強引に突撃して格闘に持ち込む(冥界)」
「混成ならば車両を狙う」
「レーダー妨害ならば集結し壁周回」

などのPRGが代表的で、
特定の敵に対してあらかじめ対処法をインプットしておきます
効果は抜群ですがあまりメジャーになると裏をかかれる危険性も出て来たりしますし、
マイナー機相手に妙に苦戦する場合も出て来るかも…。
とはいえ基本的に入れれば入れる程特定とはいえ
メジャーな戦術、機体に対して
強くなりますから総合力はUPする
と見ていいでしょう。
  
レベル3:違う戦術を組み合わせる事で新たな強さを創造する(複合戦術)

それぞれの
戦術の長所を延ばし短所をカバーする事を狙います。
代表的なのは突撃と逃げを切り替える事でやり逃げ、などですね。
また、単一戦術用の対策をあざ笑う効果も期待出来るでしょう。

状況を判断し最適な戦術行動に切換えが出来るなら、能力UPは計り知れません。
それは究極的には人間のプレイに近づく事にもなります。
  
しかしながら注意しないといけないのは多機能を追い求めるあまり反応が低下してしまっては
元も子もない、という事です。極力反応速度を保ちつつ色々な機能を追加して賢い機体を
作っていきましょう。

<<Dumboの多機能フライド講座>>

ここでは分かり易く簡単にそこそこ強い機体を作ってみよう、という事で
フライドを例として多機能機体の作成過程を追って見ましょう。
「僕はまだ初心者かな〜」という方は実践で身に付けて頂くのが一番早い
ですから、なんとか時間を見つけて以下の過程で実際に開発してみましょう!

1:SUB内50チップ機を作ってみよう

まずは省チップ機に挑戦してみましょう。50チップもあれば基本は全て押さえた
機体を作るには十分です。というよりそれくらいの技術はないと仮に多機能を作っても
反応が遅過ぎたりして使い物にならない場合も考えられます。

さらなる高みを目指す為にも、ZEUS2で強くなりたいならとにかく省チップ技術の習得が
第一歩で最短距離だと個人的には思っています。

ちなみにSUB内に収めるのはスムーズに次のステップに移行する為と7x7の全周囲に
PRGを逃がす事ができるのでメイン内で作る場合に比べて各段に簡単だからです。
50チップの取捨選択と収めるパズルの楽しさを知って下さい。

<っていうか、省チップ技術ってどないやねん!?(^^;>

これが何か分からない状態でひたすら組むだけでは学習効率が悪いので
目標をイメージするべく無理矢理まとめてみる事にしました。
突然ですがDumboの省チップ設計講座〜っ

#省チップとは、なにやら少ないチップで必要な動きを全てまかなう事らしい
まずは必要な動きとはなんでしょう?

そしてチップ数が制限されていますのでその範囲に収めなければ
なりません。具体的にはどう進めればいいのでしょうか?

省チップで重視すべき点は何なのでしょう?

チップ数が規定されている場合どうするか、例を挙げながらみていきましょう。
  
レベル1:戦闘の様子をイメージする
まずはこれから作るOKEにどんな戦闘をさせたいか、頭の中である程度
イメージを作りましょう。
イメージははっきりしていればはっきりしている程
製作はスムーズに進みます。最初は
「戦闘距離」を特に意識しましょう。

貴重な時間を設計に使うのですから、それが短くて済むに越したことは
ありませんよね。手っ取り早く強くなりましょー。
  
レベル2:必要な機能を絞り込んで作る
OKEが行動する際には必要な最低限の機能は限られています。
まずは必要な機能を抽出してそれら
「OKE動作の基本」全てを
カバーしたPRGを作れる事がまず最初の一歩です。

機種、戦術によって異なりますが基本的には
「OPT管理、索敵、移動、回避、攻撃(主射)」ですね。
あなたのイメージした戦闘に最低限必要な物を洗い出しましょう。

まずはこれら必要な機能を付けなければいけません。ですから
とりあえずこれで組み上げて、イロを付ける(機能を色々追加する)
のはチップが残ってからにしましょう。
  
レベル3:NOP使用を最小限に抑える
使える数が少ないのにNOPなどにチップを食われていてはいくらあっても足りません
それにNOPは
反応の低下要因にもなりますから、後々の為にもNOPを極力使わない
PRG作りを心掛けましょう。

これでNOPのない必要な機能を押さえたPRGがまず出来ました。
  
レベル4:優先度を考慮して機能を追加する
さて、余ったチップを何に活かしていくかがいよいよあなたの腕の見せ所です!
色んな細かい設定や機能を追加していきましょう。

しかし効率良く強い機体を作りたいなら、
重視する機能と戦闘スタイルの
関係にまず着目
して下さい。つまり、あなたが作ろうとしているOKEにとって
何が一番大事か、どこを強化すれば最も強くなるのか考えましょう

そして
最も効果的機能から順番に追加していきましょう。

どういう事か例を挙げてみましょう
-------------------------------------------------------------
(機体形式より)

例えば
車両型は前後進のみで敵の弾を避けなければなりません。
戦場には敵ばかりか地雷機雷やら
とにかく障害だらけで、敵を思った角度に
捕捉しつつ、しかもコンスタントに動いて回避するには
移動PRGは非常に重要です。
また
ホバー型も耐久力が低くジャンプも不可という要素から同じく移動は重要です。

このような機体の場合、地味ながら
移動を充実させるのが強くなる近道です。

一方
脚型は移動ではそんなに迷う事はありませんが、敵弾をジャンプで
確実に避けなければなりません
。飛ぼうとする方向が危険なら別の方向に
変えなければなりませんし、一方向のみだったりすると味方全てが壁際に
追い詰められたりと、
なにかと問題が起こります。

このような機体なら
ジャンプの設定を充実させるのが生存率を上げる近道です。

また
飛行型では耐久度の低さからミサイル対策の完成度が生存性に直結
します。ここが充実していないとあっさり落ちてしまうので欠かせません。

-------------------------------------------------------------
(戦術から)

敵との戦闘距離によって優先項目も当然変わります
例えば同じ脚型でもなるべく前に飛んで撹乱し、
白兵戦に持ち込みたい機体は
回避ジャンプはもちろん、格闘戦や接近戦のPRGを一番充実させたい所ですし、
砲戦主体ならば格闘よりも主射とミサイルの連携などにチップを割いた方が
強くなります。
待ち機体なら散開を維持しつつの牽制やトラップの展開
組み込む必要が出てきますし、
逃げ機体なら敵につかまらない移動PRG
一番重要になってきますね。

-------------------------------------------------------------
ここでポイントなのは
攻撃に凝りたい気持ちを抑えて、少々地味ですが
まず
移動や回避などの「生存性」を重視する事ではないかと思います。

余談ですがDumbo的には、
次に重視するのは散開などのチーム行動傾向かな?
攻撃はその後にくるでしょうね。
  
レベル5:同じような働きを極力少ないチップで達成する
なぬ、チップが足りない!?

ならばチップを減らしましょう。てめぇ簡単に言いやがってという気持ちはひとまず
抑えてPRGを見直してみましょう。例えば
TG距離チップ!
敵角度距離チップを使えば精度は少々落ちますが
距離に加えて角度まで指定可能
おまけに敵種まで判定できる
とあっては使わない手はありません。

もっと使えるのが
普通の射撃チップで、上記の設定に加えて弾の発射数まで
思いのまま
です。「遠い敵に撃っちゃって困る」ならば、TG前方のときだけ射撃
チップにながれる様にすれば
別方向から問題は解決できますよね。
またどーしても「70m」がええねんという人は1チップ犠牲にするのも結構ですが、
80mや60mと比較してそんなに絶大な効果があるかは疑問です。

定期&一斉ミサイルだって、何チップも使って精密なタイマにするのもいいですが
十分なシミュレーションをすれば
乱数チップ1個でだって役目を果たせるのです。

細かい設定に固執せず、あくまで「同じような」を目指すのが豪快に減らすコツです。

#もっとも、それでも
綾影格闘30mは譲れないですけど(^^;
  
レベル6:チップと行動の取捨選択を身に付ける
ええっそれでもチップが足りない!?

ならばやむを得ません。どうしても追加したい機能と既に追加したいくつかの機能を
比較して
いらない回路を削りましょう。全くなくすくらいなら機能をはしょってでも残した
方がいいでしょうから、
そういう覚悟で改めてひとつひとつのチップを見直しましょう。

それでも無理なら開発は終了ですが、納得いかないなら機能違いの機体を作って
実戦テストで検証
し、どちらか良い方を採用する他なさそうです。
  
レベル7:限定エリアにPRGを詰め込む
中級者以上の方になると、メインの5x5や6x6のエリア内にPRGを収めてしまいます。
これは見た目にスッキリしていて、技術力のアピールになったりしていますが、この
時に必要になってくる
圧縮とパズル解き要素は非常に重要です。

PRGが大きく機能が複雑化するほど、それをエリア上でNOPなしに構成するのは
至難となってきます。
NOPの分だけ使えるチップが減り反応が遅くなるのでこれを
巧く構成しきるにはこの「圧縮とパズル解き」の技術が必要不可欠になってきます。

これなしで多機能フルチップに挑むのは無謀ですから、是非身に付けましょう。
  

#ぜえぜえ(^^;;;えらく脱線しちまったぜ
#っていうかさ、こっちが多機能なんかより前に来るんだよね、元来(--;)


さて話をSUB内省チップ機に戻します(^^;

まずは「爆撃のみの50チップフライド」を作って見ましょう。

オプション管理、最低限のミサイル回避、敵弾を避けつつ敵上空におもむろに
移動し、地雷投下するタイプを作ってみて下さい。

近距離では目標の位置で前後左右に移動させれば旋回→前進より早く
敵の頭を取れるのでお勧めです。もちろん高度調整も忘れずに。

完成したらこれと比べてみましょう。

次に「射撃のみの50チップフライド」をつくってみましょう。

同じくオプション管理、ミサイル回避、敵との距離を保ち射撃を繰り返すタイプを。
左右のスイッチ移動に加え隙を見て後退もすれば手堅く距離を維持出来るでしょう。
それに被弾追撃なんかがあれば格好いいですよね。

完成したらこれと比べてみましょう。

2:2つ出来たら頭で分岐させてみよう

以上で作って見た2つのプログラムをメインで分岐させます。
3番武装があるならば爆撃SUB、なくなったなら射撃SUBへ分岐させれば
イージーに爆撃突入+中距離射撃戦の2モードフライドの完成です!
さらにPRG冒頭に敵が飛行x3なら地雷を捨てる回路かなんかを入れれば
飛行相手に一生懸命当たらない地雷をまかずに済みますよね。

3:共用部分を共通化、充実させてみよう

さて、この2つのSUB内ですが既にあなたもお気付きの様にオプション管理と
ミサイル回避部分が重複しています。無駄なのでこれを空いているメイン内に
移動させましょう。ミサイル回避は先程は少ないチップで妥協して組まざるを
得ませんでしたが今回は空いているメインを好きに使って存っ分に避けて下さい。
「よっしゃこれなら妨害はいらないぜっ!」と豪語出来るくらいにしておきましょう。
これでオプション選択にも迷わなくて済むようになりますね。

メインに移動するとSUB内にスペースが出来ましたね?
先程はチップが足りず泣く泣くあきらめた回路を組み込んで
さらに爆撃と射撃を充実させてみましょう。
これで各モードやミサイル回避の充実した2モードフライドが完成しました。

早速自分のこれまでの機体と軽く戦わせてみると良いでしょう。

4:反応序列を考えてみよう

飛行の場合はそれ程問題になりませんが、多脚や2脚だと特にプログラムの
反応速度と並べ方が大事になって来ます。機体の特長によりけりですが、概ね
攻撃よりも回避を、遠距離砲戦より至近白兵戦を優先した回路作りをする事で
総合力をUPさせましょう。

レーダー妨害時にどう動くかなんてのは一番どうでもいい類ですので最後に回しましょう。
(一通り組んだ後レー妨状態ならPRGがどこに逃げてしまうかチェックし、
そこに行動を入れるのも一つの手です)


このフライドの場合、距離的に余裕のある射撃戦時より危険と隣り合わせの爆撃時の、
またそれ以上に命に関わるミサイル回避の為の反応を重視するのが良いでしょう。
「ガンガンいこうぜ」より「命を大事に」がこのゲームでは有利みたいですから。

また細かい部分についても同様です。例えばメインにて格闘チェックをする場合、
敵前方→敵飛行→敵30m以内→格闘とするより
敵30m以内→敵飛行→敵前方→格闘とした方がいいのです。

理由は敵が30m以内に居る確率が一番低いからです。
前者では普段の戦闘中にも高い頻度で毎回3チップ目までチェックする為
反応がその分低下してしまいます。ここだけだと2チップ分しか違いませんがこれが
各部で重なっていくと全体の反応が重くなってしまいますよね。複数の条件を並べる
場合、より確率の低い条件を前にするのがコツです。

また、必要頻度の低い処理は空いた時間に行うのもいいですね。
残機比較や味方との通信、左右スイッチ回路の味方判定などを毎回やっていては処理が
重いので脚付きのジャンプ中や飛行の射撃中といった空き時間に組み込んで見ましょう。

またループ回路を組むときは極力ループ突入時のチェックで済ませ、ループ内での
チェックを減らしましょう。例えばバースト射撃の場合などで、ループには敵至近や
敵弾チェックのみ入れて味方や障害物のチェックは射撃直後にだけ入れれば
機能を損なわずにバーストのスピードを僅かながら上げる事が出来ます。

5:SUBにこだわらずに構成してみよう

今度は上記のフライドのプログラムにさらに逃げを加えてみましょう。
敵に比べて優勢であれば、あるいはメイン武器が尽きた場合に逃げをうてば
勝率が上がる事ウケアイですよね。

只しもうSUBはありませんから、回路はメイン内に作る必要があります。
もっともフライドならばそんなに苦労せずに逃げる事が出来るのでやって
みましょう。よく出来た逃げ木琴などを参考にMAP周回させれば理想的ですが、
敵の数がこちらより少ない事も考えれば単純な壁周回の逃げだけでも地上の
相手はそうそう捉えられないでしょう。

これで対地が充実したやり逃げ3モードフライドの完成です。
また、自分のこれまでの機体と軽く戦わせてみると色々分かると思います。


この調子で「敵がロータス以外の飛行ならば至近距離まで肉迫して攻撃」
する対逃げ木琴用の回路も設ければ爆撃・射撃・逃げ・対空戦の4モードを
状況に応じて使い分けて戦う、なんとも賢い4モードフライドが完成します。

とはいえ、これを加えるとなると今までの追加方法では厳しいですよね。
そこで対空戦で必要な要素を考えてみて下さい。先ほどSUBに作っていた
中距離射撃戦回路と多くの部分は共用出来る事に気付くと思います。
つまり、距離を保つ部分を通らない様に組めば自然と肉迫するのでその
部分に小細工を施す事にしましょう。

完成したらこれと比べてみましょう。

この調子で地上機を作る場合、SUBは回避ジャンプなどに使うのが一般的かつ便利
ですのでこれは解放し、敵の捕捉や旋回の回路といった共用部分を巧くメイン内に
作りましょう。

フライドのイロハが分かった今、16チップ機に挑戦してみるのもいいでしょう。
腕試しも兼ねて4x4に収めて作って見たら、これとくらべてみましょう。

6:自然に〜する回路

余談ですが、先程の「自然に〜する」というのはDumbo的にはとっても重要と思います。

例えば左右ジャンプの回避回路にほどよく味方チェックを入れると
自然に散開するというのが最も基本的かつ極めて有効なPRGです。

また、混成の場合敵との戦闘距離を変えれば敵の攻撃をひきつける囮役と
砲撃に徹する支援役と自然に役割分担が出来ます。


もしこれをPRGでわざわざ再現しようと思うと…例えば
「直近右方向に味方がいるなら散開して距離をとる為左にジャンプ」
「敵をロック後前方に味方機いるならそちらに寄って囮にする」
などとなる訳ですが、こんな事いちいちやっていたらきりがないばかりか
危ない場合も出てきますし動きも鈍くなる事ウケアイです。


このようにわざわざその為に行動設定するよりも、パラメータを調整する事で
戦っているうちに自然に狙った陣形、連携が取れるようなPRGを組む事を心掛けましょう。

「なんとなく狙った陣形や戦法を取る事が多くなる」程度に調整できればいいのです。
定期ミサイルだってチップがないなら調整次第でランダムで十分事足りますから。


もっとも、皆さんももう既に上記のような形での連携は意識せずにされているとは思います。
ここで「なんとなく」ではなく意識して設計する中でこれを積極的に活用する事で
一回り強くなれるかと思うのです。

特に多機能機を組むのが好きな方は特にその機能の拡張に目を奪われがち(っていうか僕やね(--;)
になりますから、今ある回路の流用あるいはパラメータ調整で狙った動きが出来ないか
検討しながら設計をすすめる事をお勧めしておきます。

6:各部で反応を上げて見よう

フライドの場合、旋回がとても早いです。この為、捕捉角度をシビアに
設定していたり、敵との距離が近かったりすると右左右左と回り続けて
狙った角度になかなか収まらない場合なんかも出て来ます。だいたい
旋回自体、飛行型にとってはその空間に留まる状態になる為もっとも
危険な瞬間なのでなるべく早くその状態から抜けたい所です。

そこで旋回回路として小さなループを作ると反応が向上し、方向決めも
一発で決まるようになります。ただしループを設ける場合は抜ける条件を
キッチリ設定しましょう。よくある失敗では旋回中にターゲットが死亡すると
回り続けてしまったりミサイルが迫っているのにのんきに回っていたりといった
ケースに注意しましょうね。

余談ですが、フライドが射撃戦をさせる場合よく使われるのは角度ヒステリシス
と呼ばれるテクニックです。これは通常は前方160度以内に敵を捕捉、敵が範囲を外れて
こちらが旋回し始めた場合は前方96度以内に収まるまで旋回、とさせると動きが良くなり
被弾率が減少するのが見てとれると思います。
(カクカクと細かい角度修正を繰り返してしまうような事がなくなる訳です)


今回はあくまで動作を制御する為にループを用いましたが、こういったループ作りを
普段の設計に導入すると飛行の場合はもちろん、地上機(特に脚型)においては
大幅な反応の向上が期待出来ます。


*余談ながらヒステリシスには他にも熱ヒステリシスなどがあります。
これの場合は「射撃中、熱量70%以上になったら射撃を中止して以降40%以下に
下がるまでは射撃は一時待機する」ですが、過去の履歴によって行動条件を変更
する事をヒステリシスと呼ぶようです。

以上なんかまとまりのない内容になりました。どうやら全体の構想もなしにいきあたり
ばったりでやってしまったのが原因ですが、面倒なのでこのまま公開します。

しかし文中のポイントを探して身に付ければより充実したPRGが組めると思いますので
実際の製作の中で活かせて頂ければ幸いです。

そして反応の早い多機能機の作成を目指して精進しましょうっ!

戻る