カイヤン雑記帳

カイヤンがやったことを書いておいたり、ぼやきたいことを書き込んだりする場所

githubを114514年ぶりに再開してHoI4MOD作成に応用してみた

おはようございますまたはこんにちはまたはこんばんは.1か月以上ぶりです.カイヤンです.

さて,3月1日にはHearts of Iron 4がバージョンアップしましたね.MODの多くも改訂が必要になるでしょう.

今回は,githubを使ってMOD作成してみた話をします.

github.com

背景と経験談

まずHearts of Iron 4とかMODってなんだという話から.それからMOD作成で遭遇したある不幸と,それがしばしば起こりうることについて.

Hearts of Iron 4

Hearts of Iron 4 (HoI4) はコンピュータで遊ぶ戦略シミュレーションゲームです.スウェーデンのParadoxという会社が作ったもので,年1回くらいのペースで更新されていっています.

store.steampowered.com

WW2の世界を舞台にしており,ドイツ・イタリア・日本といった枢軸国やイギリス・フランス・アメリカといった連合国やソ連はもちろん,ポーランドハンガリーや中国やインドなど様々な国で遊ぶことができます.ブラジルやスイスなど,世界大戦に関わらなかった国でも遊ぶことができ,史実通りの観戦プレイから介入して覇権国家になったりすることもできます.歴史に沿って戦略を動かすというより,HoI4の世界の歴史をプレイヤー国の視点から作っていくという方が正確です.そのため最初にあげた7つの国(7大国,初期主要国)でも,ドイツが連合国とソ連を倒すのはもちろん,ヒトラーを倒してWW1で退位したヴィルヘルム二世を復位させたり,或いは日本が民主化してイギリスと同盟を復活させて独伊に対抗したり,闇落ちして共産化やファシスト化したアメリカが世界征服など様々な遊び方ができます.史実ではドイツに敗北したポーランドやフランスで生き残りをかけたプレイや敗北後の亡命政権プレイなど,史実方針でも楽しむことができます.

遊び方の例として,プレイ後のレポートをAARという形で公開しているものや実況動画もあります.

  • HoI4AARWiki

starlit.daynight.jp

  • 実況動画の例:

www.nicovideo.jp

www.nicovideo.jp

www.youtube.com

www.youtube.com

www.nicovideo.jp

このように多様な遊ばれ方をしているのですが,毎年1回ペースのアップデートがある程度には事実上未完成です. そしてプレイヤーごとに力を入れてほしい場所が異なるため,Paradoxとしてもすべてを拾い上げられません*1. そこで,一部のゲームファイルを公開&編集可能にしており,MODという形で改変したゲームを遊ぶことができるようになっています.

MOD

HoI4のMODは非常に多様です.以下はHoI4DataWikiのページですが,これは氷山の一角にすぎません.

starlit.daynight.jp

我々日本語ネイティブにとって最重要なのは,公式の日本語訳がないために作られた有志による日本語訳MODでしょう.

steamcommunity.com

DataWikiにもあるように大規模改変の例としては,WW1を扱ったもの,WW1でドイツが勝利したIF歴史モノ(カイザーライヒ),日本の都道府県モノ(????)など様々です.

  • WW1MODの実況動画の例

www.nicovideo.jp

  • カイザーライヒMODの実況動画の例

www.nicovideo.jp

  • 都道府県MODの実況動画の例

www.nicovideo.jp

上記のような大規模改変だけではなく,小規模なバランス調整や追加要素,グラフィック変更などもあります.例えば,HoI4は欧州のゲームなためハーケンクロイツを使うことができずドイツ国の国旗が当時の海軍旗からハーケンクロイツを鉄十字に置き換えたよくわからないものになっていますが,これをナチスドイツの本来の国旗に戻すものがあります.

steamcommunity.com

単純にフレーバーとしての楽しさとして,通知音をボイスロイドにした音声MODや,BGMを追加するものもあります.

  • 通知音が結月ゆかりさんになるMOD

steamcommunity.com

  • (拙著)通知音が琴葉姉妹になるMOD

steamcommunity.com

steamcommunity.com

steamcommunity.com

MODの導入とインシデント

Steamで入手している場合は,Steam WorkshopにあるMODはサブスクライブするだけで導入されます.とてもお手軽!

もしMOD側でアップデートがあっても,インターネットにつながっている限りは自動でローカルのMODも更新されるのです.便利!

ではもしWorkshopからMODが消えてしまったら? 或いは前のバージョンで遊びたいときは?

ゲームファイルとしてのローカルにしかMODを保存していない場合,諦めるしかありません.MOD著者がいちいち前バージョンや消したくなったMODの元データを渡してくれるとも限らないどころか連絡が付くかもわかりません.

また,MOD製作者としても,過去のバージョンをいちいち手元に置いておきたいとは思いません.更新するたびにファイルが増えてしまいますし,yyyymmddなんていちいちつけるのも大変です.

実際,そんな不幸がありました.バニラのHoI4には少なくともv1.5.xまではソ連の構成国家はほとんど存在せず,崩壊することはもちろんドイツが戦勝後に傀儡として考案していたモスクワ共和国などもありません. ソ連を解体したい需要はあるようで,いくつかMODがありました.私としては単に国家追加さえしてくれれば,そしてシベリアやドン・クバンなどロシア連邦部分もある程度細分化できるようなものを求めていました.

Fully Dissolvable Soviet Unionという私の需要にぴったりなMODがかつてあったのです.これは外国の有志が作成したものなため,私は日本語訳を作っていました.

steamcommunity.com

しかしあるとき突然,元にしていた「Fully Dissolvable Soviet Union」が削除されてしまいました.手元にあるのは翻訳ファイルのみで,肝心の国家追加ファイルなどはありません.お気に入りのMODで遊ぶことが二度とできなくなってしまいました.

この事件を境に,せめて自作のものについてはMODをバージョン管理して製作し保存しておきたいと考えるようになりました.そこで役に立つのが 設計図共有サイト githubです.

方法と結果

結果と考察

githubGoogle Driveなどのようにある種クラウドにデータを保存しておけるのですが,上書きする際に編集コメントを付記しておくことができる上に,その上書きする前のバージョンに戻ることができます.バージョン管理システムとして有名なgitが利用されているがゆえに可能な技です.ここではgitの仕組みなどは解説しません*2が,手元のファイルをバージョン管理しながらクラウドに保存していくことができるのです.公開も簡単に行えます.

このgithubを用いて,自作MODのバージョン管理を行うことにしました.実はアカウント自体は学部3年生の終わりに作っていたのですが,実際にそれらしく活用するのはこれが初めてです.社会に出てソフトウェア開発をかじるようになり,gitを使うようになったからこそこういった選択肢がとれるようになりました.学習コストはそこそこありますが実際便利です.自分も知識を忘れないための勉強がてらに試しました.

上記のFully~に代わるMODを自作するのは難しかったので,他のMODの邦訳をし始めましたのですが,翻訳の更新をすることがあればそれを残しておけるので便利と思います. また,今後より複雑なMODを作るときにも活用できるかもしれません.

チームでMODを作るときにもメンバーがgithubを使えるのであればスプレッドシートの共有よりもスムーズに管理できるのではないでしょうか.

方法の詳細

導入

開発

上記のように導入しておけば,後はWindowsでファイルを編集して上書きした後,add->commit->pushをするだけでした.

  • 必要ならばdevelopブランチを作成してそちらで作業し,公開する段にmasterにマージしてもいいかもしれません.規模が大きくなり開発者が増えるほどおそらく必要になるでしょう.

できたMODファイルをゲームファイルの方にコピーしてからは,HoI4側でMODの更新などを行いました.参考:MODを作ろう!HoI4編 第1回――MOD、作りました! | Simulationian.com

本日3月2日も早速,v1.6.x対応のための.modファイル更新をしました.

カイヤンのHoI4MODリポジトリ

github.com

総括

HoI4MOD作成にgithubを使ってみたが便利そうだ.githubの練習にもなる.現状小規模MODばかりだが,より大きなMODの開発では真価を発揮するだろう.

*1:むしろ拾い上げる気がないように見える

*2:筆者の知識ではできないと思う.

*3:HoI4自体はUbuntuMACOSXでもバージョンが合えば動く