ドンパチmodを作ってみる 番外編 「動物召喚」
半年以上失踪した理由は、ダイヤモンドシティ辺りでNPC増えすぎると棒立ち多くなっちゃって萎えて辞めてました。
敵があまりにも多く出現するものだから、こっちもたくさん出さないと勝てないので結果的に100体制限かかってる感じですかね。
戦闘外でも抗争してるところありますし。
でもまあ、定期的にドンパチやりたくなるんですよね。
そんなわけで次は動物で召喚mod作ります。
大量の動物たちが結託して大群のレイダー共に襲い掛かるの見ててなんかシュール。
戦闘後も大量の死体が凄くシュール。
やったこと
前作ったミニッツメンのmodをほとんど流用。
1秒毎に1体、最終的に5体スポーンさせるスポナーで動物たちを出します。
正直こんな一発ネタで作るの面倒くさい召喚弾が面倒なので、1つだけ作り、あとはLchar使って動物をランダムに出します。
強すぎる動物は小っちゃくして弱体化もかける。
武器にkeywordsを使って、好きなパーツを組み入れた武器を手に入れる方法
正直、今まで全く知らなかったけど、やりかたがようやく判ったので、自分なりに解説していく。多分、英語サイトとかだと解説してるところあるんだろうけど…自分が調べた限りだと、日本語では全くない。
- keywordsでなんでもいいので作る(デフォではif_...)
- 武器のプロパティを開き、真ん中上らへんにあるObject Templateを開く。
そこを開くと、ゲームでよく目にする武器名(ショート・レーザーマスケットとか)が出てくると思います。これらが、NPCが所持するランダム武器を構築している鍵です。まさにKeywords。余談ですが、欄の一番上に設定されているものが俗に言うデフォルトとなっております。 - 左上の欄の開いてるところで右クリ→New
これで、新たに自分が作りたいパーツ群を作ります。下のTemplate Item Dataに入れて、設定をします。左側のKeywords欄に1.で作ったkeywordsを入れる。 - LL_...(LeveledItem)を使って確実に作ったパーツ群の武器を入手できるようにします。
左の枠には、Object Templateで設定済みの武器を入れ、右の欄には設定した自分が作った1.のKeywordsを入れます。 - Preview Calculated Resultをクリック
どうでしょう、自分が設定したパーツが乗っているはずです。これにて完成です!後はこのLeveledItemでLeveledListみたくしてみたり、このままNPCに突っ込んで楽しみましょう!
余談
ちなみに、Object Templateでパーツを選ぶものでは、通常では付けられないようなパーツを付けられます。…なんでもです。
ただ、ビジュアル的に変わるだけではあるので、例えばミニガンのバレルを付けたからと言ってとんでもない弾速になるかと言ったら違います。もしステータスを変えるとしたら、mod_から付く武器modを弄って楽しみましょう!
武器本体のステータスを弄っても弾数くらいしかまともに変わらないので、武器modを弄った方がはるかに楽です。この方法を使って自作武器で大戦争を起こそうぜェ。
例:パイプガンにミニガンバレルを取っつけて、本体を魔改造、fspeedを100にしてアホみたいなレートのパイプ・ミニガンに
projectlesを30にして極太レーザー、あるいは超広範囲レーザーをぶっ飛ばすレーザーマスケットに
Creation kitを使う上で大事な事。
8月2日から8月5日分のデータが吹っ飛んでその分までの作業が消えてしまいました。
まぁ、被害はメインESPだけだから書いたスクリプトなどは無事だったけど…とりあえず気を付けなければまたこういう目に遭うので、まとめておく。
- セーブ中は絶対にCKを消したりしないこと。
フリーズしたりして消したことが今回の事件を生んだ。尤も、フリーズから脱却しても、ESPファイルが無事かと言われたら分からない。
なので、バックアップを取ることが何よりも重要だと思う。
追加した銃のマガジンをどのようにVisual Reloadで適用するか?
追加した銃のマガジンをどのようにVisual Reloadで適用するか?
通常はバニラ武器のみマガジンが落ちる。これだけでリロードしてる感あるね。
このmodは大戦争をする上で重要。色んな銃が出た方が楽しいし、自作銃もあるので、それにどのようにして適用するのか、という課題。やっぱり薬莢だけじゃ物足りないから。ググって見たけど何故か日本語での解説はおろか、英語でもあんまり見かけないので、まとめてみました。
--
とりあえず、既存のmodを見つつ、やっていきたい。
1.まず最初にpkkeywordsを設定
基本何でもいいのでkeywords作る。
2.mod_○○の武器modに1.のkeywordsをぶち込む
3.落ちる空弾倉、弾の設定をする。
PD_VReload_ってとこ。
このように、data/meshes/Effectsに直接入れないと適用してくれないので注意。
私が使っているのはMO2だけど、とりあえずFallout4のフォルダにmeshesファイル入れた状態で、どこにそのモデルファイルがあるかを指定する必要がある。
これで言えば、Weapon/Grenadelauncher/40mm...が該当したので、そちらを入れました。画像とは違うw
4.武器本体にPDスクリプトを入れる
ConfigurationCustomってとこ。とりあえず既存に従っておけばおけ。
ボルトアクションか否かとかそういうのもあるので。注意。後は、何秒後に弾倉が落ちるかとか。基本これだけで良いみたいね。
……と思ったが、何故か適用できない。PD_VisualReload.espをマスター指定してみる。
恐らくこれが原因だと思われるが。
マスター指定した後、
mod導入前にインベントリに入れてある武器は適用されないっぽい。consoleで取得したらできた…。
どっと疲れたw
ちゃんと空弾が落ちるようになりました!
使用している、使用しようとしているmodリスト、未実装、課題リスト
正直、自分がどのようにしてmodの問題に辺り、解決したか書くのが面倒になって記事を書いていなかった。備忘録だというのに。。。
とりあえず、自分の為に伝えておくと、詳細はCreation Kitで何かしら見れば何をしていたのか分かるはず。エピソード記憶で思い出せる。
8/2
まだまだ完成は程遠い感じかなぁ。ただ、なにも知らなかった頃よりもpapyrusを弄れるようになったので、バンバン新しいのを作っていける感じではある。
大規模戦闘modの土台がしっかりつくることができれば、このまま他にやりたいことにも応用できるので、着実にやりたいですね。
modder(笑)になってわかったことは、結構自分が求めるmodは少ないということ。自分でmodを作る、弄れるようになって初めて本当の求めた「Fallout 4」ができるのかも。
More Killing - Random Edition by Aerin
More Killingを自分なりに改造して使います。
バニラのLvlのNPCレコードを変更しているので、競合など良くはない部分ありますが…。かなりシンプルなmodだったので自分で改造して使用。
具体的には、敵が増える人数を1~3人ランダムで決め、死体近くのランダムな位置にスポーン…と言った感じ。
元々のmodに不具合があったり、DLCに対応していなかったりなども変更。
戦ってる最中に大量に敵がいると、それだけで負荷がえげつないことになり、AIが止まったりする。しかし、こういった戦闘中に徐々に増えるmodはPCに優しい敵増加modなんですよね。戦闘時間も増えますし。
ランダムでどっかに出てくるのは増援が来た感じで良いんじゃないですかね(適当)
More Enemies
こちらも改造して、認知する条件を緩くしたりしてます。スクリプト関係弄るのが若干面倒くさいのでそのままで。More Spawnsみたいに最初から追加していないのでセーブデータにダメージを残しません。
大規模戦闘mod環境の中心にして良い敵増加mod。
SKK Combat Stalkers (hostile spawns)
プレイヤー近くに敵がストーキングして襲ってくるmod。
緊張感が味わえますね。こちらが大量のNPC連れてると弱いですけどね。
More Enemies側でこのmodの敵を増やさないように変更しているようです。おせっかいだなぁ。
Grenade Expansion Pack 2 + Minutemen Pack by Aerin
そして、これがメインのmod。
M79が入っているこのmodを改造して、ミニッツメンを召喚するmodにした。
召喚弾は今のところ6発、内1発は不具合あり(同時に3発射出するところを1発しかできてない。)。
M79に入っているスクリプトを改造して、召喚弾も即時変更できるようにしたので、非常に便利となった。やったぜ。
私の中でミニッツメンはレーザーマスケットとパイプガンが大好きなすぐ死ぬ市民兵なイメージなので、そちらを大幅に延長して仲間NPCを作成しています。
よくいる雑魚兵として、武器もこれ系統以外は使わないように…(ただ、戦闘中に拾っちゃうのはどうすればいいのか検討中)
ミニッツメン Ver0.3
Raceは全てのキャラクターから引っ張っているので、色々なボイスを楽しんでいる(笑)
寄せ集め軍団。
まだ実装未定もいます。
Tier1 ミニッツメン : 新人
通常のパイプガンとレーザーマスケットを使います。
レベルはレベル依存0.5倍で与ダメを0.5倍にしています。本気で死にまくる雑魚兵。
それ以下でもそれ以上でもない。
コストは非常に安く、鉄くず1個。
Tier2 ミニッツメン : 戦士
戦士…とは良い言い方で、肉壁ですね。こいつは。とにかく体力を高くして、他はなにも強くしていない職種。
木2個と鉄1個で生成可能。
Tier3 ミニッツメン : エリート
将軍衣装とハットの風貌の駆け出しエリート。
幾戦にも渡る戦いを生き残った中堅で、拡散型レーザーマスケット(1回で8発射出)とパイプガンを改造した、パイプ・マシンガンを使用。
スティムパック1個所持。
新人を招集するビーコンLv1を投げる。
主戦力として戦う。
Tier4 ミニッツメン : エンフォーサー・エリート Done!
長年勤めたミニッツメンの生き残りであり、殺しのエリート。いかにも硬そうなアーマーで身を固めている。
ぶっ飛んだ改造をしたセミオート拡散型レーザーマスケットとパイプ・マシンショットガンを使用。
また、新人を招集するビーコンLv1を投げる。
スティムパック2個所持。
レジェンダリーHP持ち。
Tier5 ミニッツメン : ジェネラル・エリート<将軍補佐> Done!
強力なパワー・アーマーを身にまとった一期ミニッツメンの生き残り。
将軍を補佐する右腕であり、限界を超えた改造をした魔改造パイプ・ミニガンを装備する。
画像は30発拡散型極太レーザーを放つセミオート・レーザーマスケット。レーザーガトリングの一部を流用して改造されている。
なお、これら武器は有限式シグネチャーウェポンという括りとして、弾が無くなったら別の武器に持ち替えることにする。
新人を招集するビーコンLv3を投げる。3体。
レジェンダリーHP持ち。
切り札的存在。
Tier? ミニッツメン : 広報官(スポークスマン) Done!
ミニッツメンを招集する通常よりも強力なビーコンを投げ、スポーン地点を生成する。
6秒ごとにミニッツメンが召喚され、合計5体。
本人自体はミニッツメンと風貌は変わらないが、異様に硬く、そしてBB弾のような威力。
未完成リスト……
新人を招集するビーコン Done!
インスティチュートビーコン(インスメインクエのグレネード)を改造して結構楽に作れた。Navmeshのある場所に設置して、そのまま時間を置いて3体ビーコンの上に出現させるというものにしました。…正直、完成度かなり高いので、このままこのビーコン型で召喚グレにしてもいいくらい。後は、ビーコン自体を時間が空いたら消したり…。
今後はSwarm系のグレネードでこれを使おうかなと。
追加した銃のマガジンをどのようにVisual Reloadで適用するか? Done!
大戦争をする上で、これは重要だと思われる。色んな銃が出た方が楽しいし、自作銃もあるので、それにどのようにして適用するのか、という課題。やっぱり薬莢だけじゃ物足りないのがね。
https://aerin-fallout4.hatenablog.com/entry/2020/08/02/083415
結構楽だったね!よかったよかった
More Enemiesのスポーンのやりかた変更 Done!
戦闘中はスポーンが無効化されてしまう設定がされてあるmodです。…つまり、戦闘が続きまくってロケーションにたどり着いてしまったら、初期配置数のまま戦闘というかなり味気ない場面に遭遇します。
これを避けるためにも、スクリプトの改変が求められるかなと思います。
とりあえず、距離制限解除と戦闘中でも増えるように改造。
スクリプト中にも戦闘状態でquestを止めてしまう効果があるので消します。
見事、戦闘中でも敵が増えるようになりました!屋内であっても距離制限がないのでしっかり増えます。
作者はこの規制について、理由は戦闘中に負荷がかかることだとか、不自然だとか言っていたけど…たいていの人は邪魔に思ってると思う(笑)
今後は、More Enemiesで基本の敵増加、More Killing+で奇襲の敵を演出。
ドンパチmodを作ってみる vol.3 「ドンパチの負荷に耐えうる環境とは」
余談ですが、テスト運用中にCTDが頻発しまくりだったので、問題点と具体的な解決策についてまとめていきたい。
Q. Fallout 4は最適過不足で、GPU使用率が常に30~40%くらいしか使ってくれていない
A. 私のGPUはRTX2070sですが、このせいで常にVRAM3000行くかどうかくらいでプレイしています。ボトルネックということもない。CPU使用率も40%くらい。ENBoostを使えば効率的になるのかもしれない。
Q.戦闘中は大量のスクリプトが動く関係か、重くなくてもすぐにCTDを引き起こす
A.スクリプトの容量を増やせば問題ないのかもしれない。要チェック(Baka ScrapHeap) ←意味なし
または、高負荷がかかっている可能性。これも最適過不足のせいで、大して重くもないのに簡単に落ちる。
とにかくパフォーマンス系modを追加して様子を見てみる。
VRAM使用率3000以上を超え始めるとランダムCTDが起きる感じ。
VRAM使用率2300前後まで設定を落としたら80体出しても問題なかった。
継続して検証していきたい。
→と思ったらPack Attack NPC Editionのせいだった模様。
→これを外してやったらCTDは一切起こらず大戦ができるようになった。
→いくら出来が良くてもやたら高負荷なスクリプトは、大規模戦闘においては非常に危険。
戦闘向けのAI改良modといえば、
Arbitration - Combat AI
https://www.nexusmods.com/fallout4/mods/2037
これは古いmodでcombatAIを弄っているだけだけど、攻撃性上がるし、カバーも積極的にするようになるので戦闘が楽しくなる。
とりあえずこれを入れとけばいいと思う。
Papyrus Scriptについて勉強中の私が無事マスターすることができたら軽量なAImod関連も考えてみたい。
そもそも追加でScript組むのが良くない気がするけどね。。。
軽量な敵増加modについても触れていきたい。
More Enemies
https://www.nexusmods.com/fallout4/mods/30765
比較的新しい敵増加mod。
一言で言えば、出来が素晴らしい。
Questを使って敵を増加させているので、元々の敵のレコードを傷つけていない。
具体的にどのように増えるのかと言うと、Playerが非戦闘状態(HIDDEN)かつ1024unit以上離れた読み込みされているmob敵1体につき設定分だけ増殖するというもの
間違えちゃいけない。1体につき増えるので、例えば4体増やす設定にしておくと3体のグループが12体に増える。