開発ストーリー(11~15)
11)オーマイガッ!(Oh my God!)
最後のバグ取りの段階に入ったとき、私のPCにとんでもないことが・・・
グラフィックボードがいかれてしまいました。!
Shockwaveのソフト開発にこれがないと難しい。!なんで、こんなときに。!
・・・
バグ取りも中断。
・・・
まあ、バグ取りもきりがないのも事実。ひとつのバグをフィックスすると、それが原因で、どこかがおかしくなる。・・・どこかで見切りをつけないとリリースできないし。・・・
・・・
で、とりあえず
「EZ FLIGHT 327 Ocean Republic BA」・・・2012年3月公開
としてリリースしました。
まもなく、Vectorさんでダウンロードができると思います。
12)馬とニンジン(4)
さて、馬とニンジンの話にもどりましょう。この人工島をぐるりと回るパターンは新しいNav Pointを探すなかで4回のうち1回程度、起こるように設定してあります。
左のような人工島をぐるりとまわる時計の文字の位置に12個の仮想点をつくり、編隊が人工島の外にあるときに次にNav Pointを含むどの点に行こうかと、オートパイロットは計算をはじめます。そして、人工島を回ると決定したら、次に人工島の右端に向かうか、左端に向かうかを決めます。現在のプログラムでは人工島の細長い両端でよく発生します。
次に決めるのは、人工島を右回りに回るか、左回りに回るかの決定です。「あーそんなもん簡単じゃん。・・・!」と思われるかもしれませんが、私たちには目があって、左のような図を見て、自分の脳で判断しているからそういうことが言えるのです。これを編隊にどのように伝えるのかのアルゴリズムが必要になります。
現在のプログラムでは上の一連の流れを以下のように決定しています。
1)まず、人工島に回るとプログラムが決定したら、人工島の楕円上にならんだ1番から12番までの点に対して、計算をはじめます。そして、人工島の中心「C」とその1から12番までのポイントの角度が一番大きい点を次に向かう点として指定してやります。これは編隊が人工島の中央をつっきりその点に至るのではなく、どちらかの端に向かうようにするための方策です。
2)その点に達したら、次に右回りするか、左回りするかを編隊に教えてやらねばなりません。人工島を内側に見るような形で編隊を飛行させたいのです。・・・そのために向かうべき人口島の回りの点(図では8番)と次の点(番号9番)の二点について編隊との距離を計算してやります。L(8)、L(9)
3)それで L(N+1)>L(N)ならば、(図ではL(9)>L(8) )人工島を右旋回に回してやります。また L(N+1)<L(N)ならば左旋回のルートを取るようにしてやります。
本当は人工島をぐるっと一周させたかったのですが、今のプログラムではそこまでできていません。しかし、何か変化を作るために旋回の際にはどの程度、内側に傾けて旋回するかをランダムに決めて、旋回のパターンに変化をもたせるようにしています。
13)オートパイロット(2)
オートパイロットに話を戻します。オートパイロット、マニュアルの操作においても同じですが、どうやってなめらかに本物に近い操縦パターンを作ることができるかが、問題です。これを研究するためにLock On というソフトで作られたフライトシミュレータのムービーをずっと見続けました。(クリックするとそのサイトに飛びます。) そして、どのような操縦にしたら自然かを研究しました。それには同じように目標に向かうにも手順が必要ということがわかりました。 | |
1)まず、目標点が定められたら、機を傾け(Roll)させ、目標点を機の真上にもってくるようにします。 | |
2)次に操縦桿を引き(Pitch )上に機を向け、目標点が機の前方(目の前)に来るようにしてやります。 | |
3)そして、最後に機の前方の目標点に対して、機がどれくらい傾いているかを計算し、再び機を傾け(Roll)て水平線に平行(まっ平らになるという意味ではなくて左右の傾きを持っていないという状態)にもっていきます。 | |
機は常に目標点に向かって上に向かうように操縦すべきです。機を下に向ける(Pitchを下げる)ということはマイナスのGがかかり、人間に非常に不自然な状態になります。そして、この上の1から3までの流れをそれぞれの段階に優先順位を決め、できる限り滑らかに動くようにしてやります。上の操縦の中で左右の旋回(Yaw)については書いていてありませんが、左右旋回はRollにある程度引き起こされる、従属的な操縦要素です。ですからそのあたりは車の操縦とは少し異なります。 |
14)Thunderbirds Model
15)びびり現象