Fallout4でドンパチmod研究部

備忘録兼日記。

ドンパチmodを作ってみる vol.2 「mod紹介and自作modの構想」

先駆の召喚mod作成者を探してみた。

結構少ない。需要がないのか…?多分、美形のコンパニオンと無双する人の方が多いのかも。。。

 

「PokemonNPC」

https://www.nexusmods.com/fallout4/mods/10110

敵対するクリーチャーを人造人間リレーグレネードの爆撃に埋め込んで出してるのかな。かなり雑(笑)

 

「Summon Ghoul Pistol V0.3」

https://www.nexusmods.com/fallout4/mods/7816

中立のグールを召喚して、敵を混乱させるmod

CK以前のmodで、CKで分析することができなかったけど、これが一番好印象。

この方はCK登場前に失踪しているので、「Junk jetのように切り替えして召喚対象を切り替える」という試みがなされてないので、こちらをやってみたいと思った。

 

使えるかもしれないMOD

「Syringer and Junk jet recievers」

https://www.nexusmods.com/fallout4/mods/23225

私が構想しているmodが実現した場合、このレシーバーを元にmodが作れれば、色んな武器で使えるようになりますね。

 

 アイデアだけパクって頑張って自作modを作っていきます。

 

方針としては、

  1. 切り替えのできるフレアガンタイプの召喚銃を作成。
  2. 弾はケミストリーステーションで、キャップなどを代償に作成。
  3. テンプレができたら、いよいよ使っていきたいNPCを作成。

こんな感じかな。

ちなみに、私は2年くらい前にPokemonNPCの応用版を作ったことがあるので、うろ覚えながら頑張って生きたい。

 

※丸一日、CKが起動できないので色々試行錯誤してみたら、Windows Defenderが邪魔してたことが判明したので、念のため書いておきます。ググっても出なかった情報でした。

 

シリンジャ―をCKで見てみた。

f:id:skyrimriftenaerin:20200724090249p:plain

 

ありゃ…どこにも弄れるようなスクリプトがないぞ…。

 せいぜいKeywordくらいしかない。

 

 https://forums.nexusmods.com/index.php?/topic/4997610-question-on-scripting-and-custom-weapons-how-do-the-junk-jet-and-syringer-work-script-wise/

ググって見た感じ、どうやらシステムに組み込まれているのかな。ハードコーティングされていたらどうしようもないか…。

 

しょうがないので、シリンジャ―をぶっこ抜いて使うことに。

f:id:skyrimriftenaerin:20200724091917p:plain

弾はこれかな、ポーションというアビリティで構成しているらしい。

 

ここでもまた挫折、弾関連のDefault Objectsを使うには既存のものを潰す必要がある。

duplicateすると、その複製されたものがnoneになって使い物にならない…。

replace系は今のご時世気に入られないから、スタンドアローンの方が良いなぁ。

 

ここで、弾薬交換を実現しているmodを紹介。

「Grenade Expansion Pack 2 -- M79 Grenade Launcher and New Explosives」

https://www.nexusmods.com/fallout4/mods/16404

これはバッシュをすることで、弾薬を変更することに成功したみたい。

多分この人も四苦八苦して、自作スクリプトで作ったのだろうな。

非公式modならば、ハードコーティングもないはずなので、パク…真似していきたい。

f:id:skyrimriftenaerin:20200724120211p:plain

ずらっと弾薬が並んでおります。ここに召喚弾を追加するだけでもいけそう。

スタンドアローンって言った傍から、このmodに組み込む形でもいいかもしれない!

(M79かっこいいし)

 

f:id:skyrimriftenaerin:20200724121700p:plain

弾薬変更スクリプトありました。これで弾薬swap設定をするようです。

 これは凄いですね、ただ今回はM79の爆撃自体を使うのは個人的にNGなので参考程度に改変したい。

f:id:skyrimriftenaerin:20200724124155p:plain

scriptを抽出したらこれが出てきた。pexファイルをpscに変換したり…結構面倒くさくなってきた。

 

f:id:skyrimriftenaerin:20200724124820p:plain

抽出!……ぐわああああああ死ぬうううううう!!かなり文字量があるぞ!?

自分なりの解釈では、グレネードをM79用に変換して、M79にそのアタッチメントmodを追加するって感じだと思う。

これなら、グレネード作ってからM79用にも作って良いかもしれないな。

 

f:id:skyrimriftenaerin:20200724201621p:plain

 思ったよりも一筋縄ではいかない模様。

これもう、スクリプトに直接自分がやりたいものを入れるのが簡単で楽かもしれない。

 

なにが分かったというと、弾薬変更modはレジェンダリー効果で担っており、「Saint Sean's Special」という武器に入れてあります。

 

そして、この「Saint Sean's Special」はゲーム上でオーバーライド(上書き)して作られるものであり、コンソールでも取ることはできない代物。Quest属性を利用して、出現させております。直置き禁止と書いてありますし、開発段階で不具合でもあったのでしょう。

 

あまりにも複雑すぎるので、今後はこのmodのスクリプトを上書きする形で作っていきたい。

もし仕事が非常に楽になったら、スタンドアローンで作るかもしれないし作らないかもしれない。

 

ということで、次回はやっと自作に一歩踏み切っていきたい。

 

 

 

ドンパチmodを作ってみる vol.1 「多人数プレイをする上で覚えておくべきこと」

 2015年発売当初に購入したFallout4だが、mod構成を作ってたすぐ辞めてアンインストールの繰り返しだった。

 これではいかんと思い、これを機に自作modを作って理想のFallout4を作ってみようという日記。

 

 高画質化+ゲームプレイ改善modを全部入れる勢いでやると、ゲームにならないくらい重くなったりCTDをするため、今回は多人数ドンパチのみできるような環境にしてみたい。

 発売当初の頃はGTX970でプレイしていたので、負荷に耐えられなかったかもしれないが、今はRTX2070sを積んでいるので、なんとかなると感じたら更なる負荷を積んだドンパチも研究してみたいと思う。

 

私の考える「ドンパチ」とは

 お気に入り不死NPCを引き連れて大戦争!…というのも良いんですけど、大群と戦ったはずなのにこちらは毎回戦死者0って…なんかおかしいよね。

 色々考えた結果、私が求めたい「ドンパチ」は、こちらも犠牲者が出るようなドンパチ戦争。名無しNPCのようなキャラをこちらが召喚して、大戦を起こすわけです。大量の弾痕や、薬莢、死体の山…想像しただけでもたまりませんね。と、言うわけで自作modスタートです。

 

多人数プレイをする上で覚えておくべきこと

 さて、多人数ドンパチに必要なものは何か?私の知識で考えられることをまとめていきます。
  • 稼働できるAIの上限がある
     現在でもどうしようもない仕様です。ちなみに、SkyrimとFallout4は同じゲームエンジンでできているので、どちらも上限があります。Wrye Bashで引き上げても
    通常AIの稼働上限が100体、戦闘AIの稼働上限が80体
     それ以上はどうしようが無理なのです。exeファイル自体にハードコーティングしているという噂もあるので、これからもこの問題を乗り越えることはないでしょう…。

     これちょっとわからなくなってきました。Skyrimなら確かに制限があるみたいだけど、CPUの性能次第で硬直せずに動かせる可能性もあるかもしれない。が、やっぱり80体制限もあるかもしれない。
  • これを極力回避するために、累計AI数に含まれる空を飛んでる鳥等を削除するのも検討するべき。
     NPC追加mod等も本気でドンパチする上では不要。敵スポーンを増やすくらいで抑えるべき。各地にNPCを増やすとすぐに上限に引っかかってしまいます。
  • 大量のAIの処理に耐えられるPCの性能
    当たり前のことですが、高スぺPCが必要です。上記の80体制限がありますが、正直40体でも集まったら恐ろしく重くなります。これに割ける資金が無い場合は設定を落とす必要があるでしょう。

 

こんなところかなと。次はドンパチさせるためのmodでも作っていきます。

 

8/9

やはり80体制限はある感じする。マップ内に大量にスポーンさせてしまうと、味方NPCが一向に動かなくなってしまう。対策が必要かなと。