アットウィキロゴ

MODの作り方

このゲームはGPLで配布されているので、自由にソースコードをいじれます。
Tremulousの大きな特徴の一つなので是非色々いじってみましょう。

基本的にhttp://tremulous.net/forum/index.php?topic=3408.0を参考にしながら準備を進めます。
大まかな流れは、Linuxエミュレータのインストール→Linux用WinAPIをコピー→ソースをダウンロード→makeとなります。

1. http://tremulous.net/forum/index.php?topic=3408.0のMSys MinGW w32api-なんとかをダウンロードし、保存します。

2. http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 から1.4.2以上のものをダウンロードします。
 俺はsvn-win32-1.5.5.zipを落としました。

3. http://pub.risujin.org/tremulous/tremulous-dxsdk.zipからダイレクトXのヘッダファイルを落とします。後で使います。

4. subversionをインストールします。2で落とした奴です。

5. MSysをインストールします。ここで、MinGWがインストールされているかを聞かれますが、Noといえる日本人になりましょう。

6. MinGWをMSysフォルダの下の\MSys\1.0\MinGWにインストールします。MSysがインストールされていれば、このフォルダは既に存在してるはずです。

7. これでLinuxエミュレータのインストールが終わりました。次はそれにWindowsAPIをいれてやります。
 こいつはtar.gzというLinuxではお馴染みの、Windowsでは馴染みのない拡張子で圧縮されています。
 winrarなら解凍できるので、解凍してMsys/1.0/mingwフォルダにぶち込んでやりましょう。
 解凍できない人は、このファイルをMsys/1.0/mingwに置いてやって、msys.batを実行しLinuxエミュレータを起動
 cdコマンドでmingwディレクトリに移動して、tar xzf w32api~と打てば解凍できます。

8. 3.で落としたダイレクトXのヘッダファイルを7.のフォルダのinlucdeにぶち込んでやります。

9. えーここから先ですが、フォーラムの方法通りにやると古いバージョンのソースファイルが落とされてしまいます。
 最新のソースコードを得るためには、http://tremulous.net/files/からtremulousのインストーラを落とし、
 インストールする際にソースコードもインストールするという設定にしてください。
 また、fstab.sampleの設定ですがこれはTremulousのインストールされているフォルダをLinuxエミュレータから見えるようにする作業なので
 コンパイルだけする分には多分スルーして大丈夫です。多分ね

10. Msysフォルダのhomeを開くと、ユーザ名のフォルダがあるはずです。
  そこに9で得た1.1.0のソースコードを解凍してください。
  そして、Msys.batを実行し、Linuxエミュレータを起動
  cdコマンドで、ソースコードを解凍して出来たディレクトリにカレントディレクトリを移し、makeと打ちこみましょう。
  すると色々コンソールに出てきて、待っているとコンパイル終了はい完成おめでとう!

11. コンパイルが完了すると、ソースコードのフォルダのbuild/releaseなんたらフォルダにtremulousx86.exeとでてくるはずです。
  これがコンパイルしてできたクライアントですが、実はこれは見かけ上だけのプログラムで本体はbaseの中のdllファイルです。
  しかし、dllファイルというのはWindows特有の形式でありLinuxやMacでは駄目なので、マルチプラットフォームにするためにqvmという形式が取られています。そして、そのファイルがvmフォルダの中にあります。
  Modを作るときはこのvmフォルダを圧縮(ファイルを直接圧縮ではなく、あくまでvmフォルダをzip圧縮)します。
  そしてModname.pk3とリネームしてのtremulousがインストールされているフォルダにModnameフォルダを作り入れます。
  そして、サーバー起動時に+set fs_game Modnameと記述して鯖を建てればおkです。後はallowdownloadが設定してあれば、クライアントは勝手にModをインストールしてくれます。

12. 各ユニットのパラメータなどについてですが、C言語の知識がなくても/src/game/tremulous.hの#define 丸々 数値 の数値をいじれば変更できます。
その他gentityの考え方などは、ikanatto大明神様のページを見るなりして学んでください。
gameフォルダは、サーバーサイドのソースコードで、実際のゲームの設定などです。
cgameフォルダは、クライアントサイドのソースコードで、Hudやエフェクト、モデルを動かしたりしてるはずです(こっちは非常にめんどくさいので俺は調べてません)
最終更新:2009年03月20日 05:26