SASにEngine MOD 2.8.1wとかいろいろ出してきた

表がEngine MOD 2.8.1wとWeapon pack Generation2016-iiiとF/A-18なUSMC pack。
裏がF-14。

全部一緒の配布にしないと相互に新機能使ってる・追加した機能が無駄になるので。
これまで着陸前のトラフィックパターン飛行中に墜落しがちだったAI操縦の現代重量ジェット機も墜落せずに旋回続けるんじゃないかな。
とりあえずA-4、A-6、F-4、F/A-18は問題なかった。
ソ連機は試してない、手元に最新状態ないんで下手にいじれない。

最後に難敵だったのがF-14だったが、いろいろAI専用パラメータを持たせて回避。
ていうか今のβなフライトモデルだと、着陸前の主翼可変最前でフラップ全出しするとエンジン出力90%ぐらいしないとどんどん減速して機首上げしようが高度落ちて墜落しがちなんだけど(プレイヤー操縦でも)。
抵抗大きすぎるのかしらん…… このへんIL-2 1946が想定してない重さっぽくてうまく飛べない。

Tu-95の課題など未解決なこともあるけど、いったん出さないと他のMODまわりでごちゃごちゃになるので、「今この状態、こういうパラメータを用意する」っての基準点作らないとで、ふう。
スポンサーサイト

艦これウィークリークリア2017/11/20

今週(ってか先週?)も、なんとかかんとかウィークリーをクリアしてネジ稼ぎました。
IL-2 1946のMODにかまけてて、うっかりろ号も東方も逃すところでした。
もっと完全にダメそうなら捨ててたんですが、微妙に50%や80%がついたので諦めきれず。
そこで粘ったので両方クリアになってネジ10個回復しましたけれども。

20171120艦これウィークリークリア1
20171120艦これウィークリークリア2
20171120艦これウィークリークリア3

んで、こんな調子なので、いままだイベント海域に出かけてません。
間に合うかな……

Engine MODのAI挙動を少しずつ改善

少しずつEngine MODのAI挙動を改善していってるのですが。

いっこ変更したら、変更したところが狙ったとおりに動作してくれてるか、いじったせいで変なバグが追加発生してかえってまずいことになってないか、といった観察をゲーム内で等速でしないといけなくて、そのたびに10分ほど外部視点で眺めてたりするわけで。
前段階から順番にAIが変えたところまで挙動が遷移するか見たかったら、その手前段階からミッション開始しないといけないし。
少しずつ良くはなってる自信あるんですけど、時間がかかり速度は遅々とはしております。

ある程度まとまって「これだけ変わりました」ってなった時点でリリースします。
今時点で、ここは完成扱いにしていいだろってやつ。
17日時点でできたって書いた ( http://il2itaki.blog135.fc2.com/blog-entry-3336.html ) のに追加。

・ジェット機が着陸前のファイナルで急減速してのろのろ降りていく
 →ファイナルに入って脚を下ろしたときの飛行速度から、滑走路端の通過速度までゆるやかに一定の減速するようにした
  またフレアかける直前の速度も遅すぎたので実機なみに速目にした

・着陸時に灯火をつけるのがファイナル入ったとき
 →航法灯(機体側に用意があれば衝突防止灯も)をダウンウインドレグに入った時点で点灯するようにした

これだけです、すみません。
テストの時間が足らなくて、陸上飛行場だけで確認して、まだ空母への着艦の確認がとれてません。

次にやろうとしてるのが…
・重量級機体が着陸前などにどんどん高度を下げて地面や水面に激突する

それがちゃんと済んだら
・Tu-95(と未公開だがKC-10も)がウェイポイント無視してフルスロットルでどんどん上昇する

このへんも解決できたらなあと思います。
すぐにできなかったら、Tu-95のほうはいったん未解決のままでリリースするかもしれない。

SASにSu 26 M2の4.12-4.13版出してきました

SASのAircraft - USSR_Singles見てください。

こないだSASの新着トピックざざざっと見てってたら。
1986年頃から飛んでたソ連スホーイ製曲芸飛行機Su 26 M2のMOD(これ自体は2009年ぐらいからあったっぽい)が4.10.1m時代からバージョンアップがなされてなく、4.12.2mで地上スタートしようとすると脚が折れて出現してエンジンかけられないって相談がされてまして。ちょっと気にかかってました。

んでEngine MODが一段落ついたので、さらっとバージョンチェンジできるんじゃないかと思って。
ダウンロードして4.12.2mにインストールして、ああなるほどたしかに問題あるねって確認して。
Javaクラスファイル覗いて原因すぐ分かって(トピック読んだ時点でそのへんだろうって見当ついてた)、さらさらっと直して出してきた。
ついでに4.13.4m環境でもエラー無く飛ぶの確認。

もしオーバーヒートしやすいといったフライトモデル・エンジンモデルに問題がある場合、それらはbuttonに入ってるので私じゃ手が出せません。4.12や4.13向けのSAS buttonで対処されてるんじゃないかと思いますけども。


かかる手間と時間が少ない割に、ユーザーのみなさんを楽しませる度合い高そうに思えたのでやってみました。
そのへんやっぱ私のモチベに関わります。

IL-2 1946いじっててtickループの罠にはまる他

前エントリのやりたいこと

Engine MODとミサイルコードまわり

・取り付け取り外し可能増槽なんだけど空中投棄はできないやつ
 →複数の実装形態が可能だが、どの手段をとるのがスマートで分かりやすいかなあ


たぶん実装完了した。
2通りの実装手段のどちらでも機体側Modderが選択可能として両方同時に入れ込んだ。

んでどっちの手段使ってもいいんだけど。
機体の方に「このハードポイントに装着した増槽は落とさないよ」扱いするか、もしくは
増槽のほうで「この増槽はどの機体のどこに装着されても落とさないよ」扱いするか。
各機体もしくは増槽のModderが指定選択可能なように実現。

たとえばテスト機体にA-4M使って、センターパイロンの増槽は固定で主翼下は従来通り落とせるようにしてみたら、こうなる。
20171118A4MdroptankTest1.jpg
20171118A4MdroptankTest2.jpg
20171118A4MdroptankTest3.jpg

しかし、これバグ取るのにすごい苦労した。
原因を理解したら後は対処は早かったけど、とにかく原因がつかめなくて。
改造後、従来通り落とすようになってるはずのドロップタンクが、ビジュアル上では切り離されて落下してってるのに、燃料消費を監視してると引き続き存在しないドロップタンクから燃料吸い続けて胴体内タンク内の燃料が減らないままだったり。
F/A-18などのコックピット画面に増槽に積んでる燃料残も表示する機能をつけてる機体で、従来通りの切り離されたドロップタンクに対して、切り離し後もその燃料残を読もうとして例外起こして動作停止したり。
なんでーーー!?ってなって。

最終的に解決に繋がった理解は、tickループ制にあった。
tick、アナログ時計の秒針が(あるいは振り子時計の振り子でもいいかもしれない)、1秒ごとにチク!タク!チク!タク!と段階的に進むことを指した英語の擬音語。から意味が転じて、リアルタイムシミュレーションゲームのプログラムコードなどで、決められた一定時間内に処理されるひととおりの入力受付・判定・実行・表示といったものを順番にこなしてまた最初に戻る、その1回分というような内容を指して、そのループの大本をプログラムコードで tick() と書いたりする。
IL-2 1946だと1 tickが33msかなあ。逆の単位では30fps、たぶん。
PCの処理能力が遅い時代の基準なのでかなりゆるやか。
ビジュアルだけはtick()の外でやってそうだから、fps表示すると60とか100とか出るけど、それとtick()は一致してないはず。

まず増槽を落とすところで、増槽は落とすってしてたところを、「ここのは落とさない」か「これは落とさない」がぶら下がってたら落とさなくて、どっちでもない従来のは落とすっていうふうな処理に書き換えて。
んで増槽落としたら「もう落としたから今後は増槽周りの処理スキップね」フラグを立ててたのも、落とさないやつが残ってた場合はスキップしないよって変更して。
しかし冒頭に書いたようなバグが起きて。
落とした増槽が落ちてない扱いされて例外が。なんでだー!?と悩んだ。

エラーでないときも毎周ログを書き出してみたら、落とす指示した直後にたしかに内部的にはまだ増槽は取り付いたままで、しばらくしてから落ちてた(Jettisonキー押してから見た目で落ちるまでも0.03秒かかってたりする、たぶん)。むぅ。
そのあたりもtickループ制ゆえでして。
 キー入力ひととおり受け付けるよー
  ↓
 Jettison Fueltanksキー押されてたら「次に増槽落としといてね」依頼フラグを立てる
  ↓
(いろいろ処理する)
  ↓
 爆弾や増槽の投下を処理する順番が回ってくる
 爆弾や増槽を落とせフラグが立ってたら実際に落として、フラグは寝かす
  ↓
(いろいろ処理する)
  ↓
 1tick終わって最初に戻る
という流れになってたわけだー

そのせいで
 Jettison Fueltanksキー押されてたら「次に増槽落としといてね」依頼フラグを立てる
  ↓ ←ここで増槽がもう落ちてる前提で残った増槽の再計算しようとする
という追加コードを書いても、実際に落とす処理する段階が来てなくて、エラーになってた。
なるほどーーーー! 分かってしまえば、そりゃエラーになるわ、という。

ってことでこう変更。
 Jettison Fueltanksキー押されてたら「次に増槽落としといてね」依頼フラグを立てる
 同時に増槽計算メソッド向けに「増槽落とす依頼だしたからね」確認フラグも立てておく
  ↓ ←増槽が落ちてなくても依頼出した確認フラグが立ってたら「落とさない扱い」だけ残っててあと落ちてる想定の計算を行う

なんか付け焼き刃な感じもするけど、確実に動くのはこれでしょ。
すぐやらないと、次のループ待ってられないし。


他にもいくつかいじりたいことあるので、1週間ぐらいかけて、もうちょっといくつか改良点がまとまったらEngine MOD 2.8の更新します。
プロフィール

western0221

Author:western0221
2010年7月30日にIL-2 1946を始めました。
好きなアニメは「ボールルームへようこそ」「つうかあ」「ブレンド・S」「魔法使いの嫁」「宝石の国」「このはな綺譚」「Just Because!」「妹さえいればいい。」「結城友奈は勇者である2」「少女終末旅行」「しょびっち」「タイムボカン逆襲の三悪人」「クジラの子らは砂上に歌う」「UQ HOLDER!」「アイカツスターズ!」。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2アフィリエイト
アフィリエイト・SEO対策
検索フォーム
RSSリンクの表示
リンク
訪問数
Twitter