スキル実装開始&バグフィックス&パフォーマンスアップデート (Fantia)
Published:
2022-11-13 13:25:23
Imported:
2023-02
Downloads
Content
さて体調も戻ってきたのでバリバリ実装を再開していきます!(フラグ) 今回はスキル機能実装のとっかかりがついたのがすごく大きいです。 あとはバグフィックスとシステム周りの大きな変更があります。重要なのでご確認のほど。 もし起動できない場合.net framework4.7.2が入ってない可能性があります。(windows updateしたことないwin10やそれ以前のwindows) その場合は https://dotnet.microsoft.com/en-us/download/dotnet-framework/net472 でDownload .NET Framework 4.7.2 Runtimeってところからインスコしてみてください。 〇変更履歴 20221113 追加 〇スキル機能の一部を実装開始(スキル機能、値の扱い方の整理がある程度ついた) 〇スキルによるピストンエンジンのディルドの長さ、太さ、ストローク、振動 〇マシンの機能ボタン内にスライダーを実装 〇マシンのストローク調整機能、振動調整機能(対応する穴も同時に振動) 〇スキルの値を保存するように処理を追加 〇シーンデータに勃起状態パラメータを追加、サラに抱えられている場合にはちんちんが前を向くように 変更 〇フォントを見やすく 〇実現可能っぽいスキルの整理 〇Update処理ループ内でのメモリアロケーションを大幅に削減(ガベージコレクタの頻度と時間が減ってFPSのスパイクが減ってるかも) 〇ガベージコレクタ設定の見直し(非同期ガベージコレクタへ変更) 〇ローディング処理を細かい単位に分けてローディング画面が動くように 〇ローディング画面を新しいものに作り替え 〇ピストンエンジンの「スピン」を「シェイク」に名称変更 〇メモリ上のモデルデータのうち、使用しない可能性のあるものを削除することでメモリ消費量を大幅減(バグる可能性あり) バグ修正 〇マシンを二つ用意した状態で挿入を実行し、それが終わる前にもう一方で挿入を実行すると落ちる問題を修正 〇マシンアルケミー画面を開いたときにサラが歩いている場合、サラが移動不可能になりその場で歩き続ける問題を修正 〇マシン組み合わせ中に一旦キャンセルするとマシンのボタン処理がおかしくなる可能性があった問題を修正 〇スライム産出物が描画されていない問題を修正 〇産出シーンでちんちんの勃起度合いにあわせて侵入ルートが生成されるよう修正(ちんちんに変な角度から入らないように) 〇産出速度が速く、連続出産状態の場合、産出物が暴れてどこかへ飛んでいく問題を修正 〇侵入モード時にいきむかオートモードになっていると産出物が変な動きをするのを修正 〇侵入モード時に穴付近でヘルミンスがねじれておかしな見た目になる問題を修正 システム 〇.net Framework4.7.2に変更(重要) 〇ネイティブコンパイラ導入(重要?) 〇スキル機能 スキルは内部的にPassive,Active,Deployというように分類があるのですが、それぞれの扱いかたに対する方針と値取得の処理がおおむね決定したのでこれから実装していけます。 まずはピストンエンジンのディルドの機能で、それぞれのボタンのアクティブ化と、速度と振動調整機能、長さ太さの変更です。 クランク機構ってピストン幅の調整ができないのが問題だったのですが、ディルドの長さを可変にした関係でどうしてもその機能が必要になりました。ディルドの長さに応じてピストンする際にエンジン本体位置をオフセットするという方法でディルドの長さ変化に対応できました。なんかそれっぽく動いてるはず。 問題としてはクランクアームのモデルがキャラにめり込んでるのでそのうちモデルを変更するかも。 なおスキル画面で実装状況も表示しています。画面右下のスキル説明に動作まで確認したものは「Works」たぶん動くのは「May works」、確認してない/実装してないのは「Unfinished」と表示されます。 スキル構成については継続して再構成していきます。単体マシンに載せるのが困難なスキルなんかは単体のマシンそのものとして実装したい。とくに絶頂同期機能なんかは絶頂の仕様的にどのマシンによる絶頂かというのを判別できない(というかできるけど意味がない)ので、「全 体に影響を与えるもの」として単体装着マシンとして実装した方が分かりやすいはずなのです。 また、それぞれスキル解放が必要です。マシンアルケミー画面で必要なものをアンロックと値割り当てをしてください。今回からはデータとして保存されるのでゲームを終了させても保持されます。 個人的には振動機能が良いなと。穴がディルドの太さに連動するという仕様上、ディルドだけ震えると見た目がおかしなことになるので、ちゃんと穴も振動させています。 〇メモリ メモリ使用量が常に心配事でした。x64の実行ファイルにすると問題ないのですが。 まあそれでもメモリは無尽蔵に使っていいわけではないのでメモリを見直ししました。モデル内で保持している頂点関連のデータで、必要ないと判断したものを削除。 地下室のシーンでメモリ使用量を50MB以上減らしました。 x86だと使用可能なメモリって最大で1GB程度ですので(全体では2GBですが、.net frameworkの分があるらしくプログラム側から使えるのは1GBくらいっぽい)、節約できればできるほど良いわけです。 まだまだ多くのx86環境があると思われます。その環境だと確実に動作しなくなるので、ゲームをリリースしたときに初動で★1爆撃が発生する可能性が非常に高いのです。 ただ、実装が進んでどうしてもメモリが足らずx64ビルドにする必要が出てきたらその時は両方の実況ファイルを同梱し、x86は動作保証外(途中でメモリ不足になるかもしれないので)という扱いにしようかなと。 〇GC対策 動作させているとときおり起こるFPSスパイク。これはガベージコレクタという使われていないメモリ掃除処理が発生してゲーム処理が一瞬止まるという減少です。 なので設定を見直し。ガベージコレクタを非同期で実行するように。 ゲームループ内でのメモリアロケーションする処理に対策して、たとえガベージコレクタが走ったとしても処理量が少なく済むように。 また、このゲームではローディング時間短縮のためにテクスチャの読み込みに遅延読み込みの仕組みを実装していて、低解像度→高解像度へ段階を踏んで読み込みを行うようになっているため、シーンが始まってから少しの間はそれによるスパイクは起きる可能性があります。 このGC対策は継続して立っていきます。とくに産出シーンがまだ見直しをかけていないのでそこではまだスパイクが発生しまくってる可能性はあります。 デバッグ関係の処理は内部的に大量にはいっているのですが、実際にはなにも実行されていないようでGCの発生要因となっていました。 〇ローディング画面 すこし処理を見直したのでローディング画面も作りなおしました。時計がモチーフ。ロード状況に合わせてくるくる回ります。 〇バグ修正 産出処理のバグが多くて申し訳ないです。 スライム産出物が描画されてなかったのは2Dメタボール描画処理に問題があったためです。なぜこうなっていたかは不明。 ちんちん侵入モード時には勃起状態が侵入ルート計算に反映されておらず、変な動きになっていました。うーん。 そして産出処理のうち、連続産出モードにして産出速度を上げて大量に産出しようとすると産出物が暴れていてシュールでした。これは産出中に不定期にブリっと加速されるバースト産出機能が絡んでいて、長い産出物には特に強い力がかかるようになってしまっていてとくい暴れやすくなっていました。値を制限することで対応。 〇フォント フォントはお手製のビットマップ化ツールを使ってフォントマップを作成しているのですが、それの処理を見直してフォントのゴミを減少させました。あと少し見やすくなっているはず。 〇ちんちんの向き サラに抱えてもらっている状態だとちんちんが胸のあたりに埋まって微妙だったので勃起状態の情報を作って向きを変更できるようにしました。なのでアイキャッチ画像のように股間でいえば4連装砲(ちんちん膣尿道肛門)で前方に産出できます。 他のシーンにもあとで適用します。 〇システム関係(重要) 今回から.net frameworkのバージョンを4.7.2にしました。以前までは4.6.2。 さらにネイティブコンパイラも導入。 このネイティブコンパイルされたバイナリは環境によってネイティブ動作できないらしいのですが、その場合には通常通り,net framework上で動くようになるらしいので、たぶん問題にはならないかも。なるかも。わからないかも。 っていうかネイティブコンパイルとは言われていますが、実際の効果は初回起動が早くなる程度で、ダメっぽかったら元に戻しますので、ダメっぽかったらご報告を。 通常win10ならWindowsUpdateしていれば.net frameworkの更新も行われているはずなので、バージョン的なところは問題ないはずですが。。動作しない環境は無くしたいので、起動できなかった場合は情報提供にご協力を。 4.6.2でも大きな問題はないので。 〇何かありましたら コメントへ! 〇次の予定 スキル実装を継続。今月はもう一回以上アプデを出したい。あ、膣やアナルでの絶頂処理をまだ作っていないのでそれもやります。 現状実装しているマシンのスキルが実装できたら、次は祭壇プレイ中のヘルミンスやお薬注入と産出についてのインターフェースを考えます。 ここが肝で、産出と薬剤自体が国際版では削らないといけない要素になるはずなので、そこも考えつつ。 触手はNGですがたぶんおそらくきっとスライムはOKな気がする(気がするだけ)ので、国際版はスライム注入産出というところに落ち着くかも。スライム以外にも柔らかい超ロングディルド入れて出す、というようなのもイケるはず。 スキル実装が終わったら本格的なマシン実装開始。戦いはこれからです。