Rusted WarfareのMODを作る(1:シンプルなTurret)

Rusted WarfareというRTS(リアルタイムストラテジー)ゲームは、かなり自由度が高く、MOD(改造データ)を自分で作って追加できます。
しかもファイル形式がシンプルで、プログラミングの知識がなくても始められるので、最初のMOD制作に挑戦しました。

modsフォルダにカスタムMODフォルダを作る

最初に、Steamのインストールフォルダを探します。
自分の環境ではここでした。

C:\Program Files (x86)\Steam\steamapps\common\Rusted Warfare\

中には unitsmaps といったフォルダが並んでいて、どうやらここにゲームの基本データが入っているようです。
そして mods フォルダ。
ここに自分のMODを作っていくことになります。

試しに、mods の中に HelloTurret という名前のフォルダを作りました。

Rusted Warfare/
 └─ mods/
     └─ HelloTurret/

Windowsでは右クリックから「新しいフォルダ」で簡単に作れます

MOD一覧に追加する(mod-info.txt)

次に、ゲーム内のMOD一覧に表示させるために、もう一つ小さなテキストファイルが必要です。

エディタは VS Code(Visual Studio Code) を使いました。
Windows標準のメモ帳でも書けますが、ファイル管理もできるのでVS Codeの方が圧倒的に楽です。

まず、VS Codeで HelloTurret フォルダを開きます。
次に、HelloTurret フォルダ直下に mod-info.txt を作り、こう書いて保存します。

[mod]
name: Hello Turret
description: My first mod for Rusted Warfare
author: yourname
version: 1.0Code language: CSS (css)

名前、説明文、作者名、バージョンを入力します。

テキストエディタで設定(.ini)を書く

次は、新しいユニットを追加します。
HelloTurret フォルダの中に units というサブフォルダを追加します。

そして、HelloTurret/units/ の中に turret.ini という新しいファイルを作り、次のように書きます。
.ini ファイルは、ユニットや建物の設定をテキストで記述したファイルです。

[core]
class: CustomUnitMetadata
name: hello_turret
displayText: Hello Turret
price: 400
maxHp: 800
radius: 16
isBuilding: true

[graphics]
image: turret_base.png
image_wreak: turret_base_dead.png
image_shadow: NONE

[attack]
canAttack: true
canAttackLandUnits: true
canAttackFlyingUnits: false
canAttackUnderwaterUnits: false
turretTurnSpeed: 5

[turret_main]
image: turret_head.png
x: 0
y: 0

[movement]
movementType: NONE
Code language: CSS (css)

このファイルは、ユニットのデータを項目ごとに入力していきます。

  • [core(基本データ)]、
  • [graphics(画像ファイル)]、
  • [attack(攻撃方法)]、
  • [turret_main(砲台部分の画像設定)]、
  • [movement(移動タイプ)]

たとえば、price はコスト、maxHp は体力。
「true/false」は、オン・オフを表すので、
isBuilding: true は「建物扱いがオン」ということです。
[attack] で攻撃可能にして、turretTurnSpeed で砲塔の回転速度を決めます。
radius:16(半径)は、ユニットの大きさ(ピクセル)を表しています。

.ini ファイルに必要な情報を並べて書きます。
ただし、スペルミスやファイル保存場所を間違えると全く読み込まれないので、構造管理は慎重に。

画像を用意する(AIでも可)

image: に指定したPNGファイルが、実際の見た目になります。
画像ファイルも HelloTurret/units/ に保存します。

ここでは、turret.ini では、以下の画像ファイルを使うことにしました。

  • turret_base.png(砲台の土台部分)
  • turret_base_dead.png(砲台が壊れたとき)
  • turret_head.png(砲台の動く部分)

Rusted Warfareは透明部分を認識するので、背景を透過PNGで保存します。

試しに無料のドット絵エディタ Piskel を使って、16×16ピクセルのタレットの絵を描きました。
AI画像生成を使うなら、シンプルな俯瞰ドット絵を出して、PhotoshopやPhotopeaでサイズを調整してもOKです。

実際に動かしてみる

準備が整ったら、Rusted Warfareを起動します。
メインメニューの「Mods」を開くと、「Hello Turret」が追加されているのを発見。
ここで有効化してから、スカーミッシュモードをスタート。

そして…建設メニューを開くと、「Hello Turret」のアイコンが!
クリックして設置してみると、ちゃんと地面に砲台が現れました。
敵ユニットが近づくと自動で回転して攻撃します。

今回の「Hello Turret」は、まだただの防衛塔ですが、これを応用して「動く戦車」や「生産工場」に発展させていくことができます。
書いたテキストがそのままゲーム世界を作る――その感覚がとても新鮮でした。

ワークショップMODの保存場所について

Steamワークショップから導入したMODは、以下の場所に保存されています。

【通常のインストール先】
C:\Program Files (x86)\Steam\steamapps\workshop\content\ゲームのID番号\ワークショップのID番号
【ライブラリを別ドライブに追加している場合】
D:\SteamLibrary\steamapps\workshop\content\ゲームのID番号\ワークショップのID番号