The sims4のmod開発環境の話
日本語での情報が極めて少ないので. 逐次追記予定.
- modの開発環境構築で少々手間取ったのでメモを残す.
- 必要なもの
- Python 3.7.0(必ず3.7.0を用意すること. これを最新版の3.14.0でやろうとしてたのでどうやってもコンパイルが通らず3時間以上悩む羽目になった...)
- 何らかのエディタ. VScodeでもPyCharmでもVimでも.
- こちらのサイトで配布されている開発環境構築セット
- (書くまでもないが)The sims4本体(以下ts4と略記)
- まず上記を全て用意したら開発セットを展開する.
- おそらくこのままだと動かない. まず展開したセットのsettings.pyを開き, "game_folder = ..."の行を書き換える. どのように書き換えるかはts4のインストールされているディレクトリに依存.
例として私の環境では
C:\Program Files (x86)\Steam\steamapps\common\The Sims 4
にインストールされているが, この場合は
game_folder = os.path.join('C:', os.sep, 'Program Files (x86)', 'Steam', 'steamapps', 'common','The Sims 4')
とする. この変更を行ったうえでdecompile_all.pyを実行. ゲームのスクリプトがデコンパイルされて出てくる.
- 実行時に変数が未定義などといわれて実行できない場合はPythonのバージョンが間違っている可能性がある. 必ず3.7.0を用意すること.
また「ファイルが見つからない」的なエラーはts4のディレクトリ指定が間違っている可能性がある.
- デコンパイル中, 一部のファイルでFailedといわれることがあるがこれは正常動作. あまり気にしない.
- ひとまずこの状態で一度テストコードのmodをコンパイルする. コンパイルはcompile.pyを実行することで自動的にやってくれるが,
おそらくこれも「モジュールが見つからない」みたいなエラーで詰まる.
- セット内にあるUtilitiesというディレクトリとsettings.pyというファイルをcompile.pyと同じディレクトリにコピーすると解決する.
- おそらくts4scriptみたいな拡張子のファイルが生成する. このファイルの実態はpycファイルをまとめたzipファイルである. ts4のModsフォルダーに置くことで動作する.
なおゲーム本体の設定画面で「スクリプトmodを許可する」の項目にチェックを入れる必要がある.
- あと, コンパイルしたのに空のファイルしか生成されないというケースがある. 私が試した限りだと, VSCodeの実行ボタンからcompile.pyを動かすとこういう現象が起こるようである. シェルを起動して正式にpython.exeに引数としてcompile.pyを渡すと治る.
なぜこのような現象が起こるかは不明. 少なくともフォーラムにはこの現象の報告はないので俺環?
- minecraft forgeのようなわかりやすいAPIみたいなものは存在しないが, Pythonに自信があるならいろいろやってみるのも面白いだろう.
もどる