Freeciv.org ジャパン
(本記事は英語公式wikiでKernigh氏が執筆された記事の和訳です。(本記事の翻訳、及び投稿先選定にあたり、それぞれ定期鯖のJames氏、KINOKO氏のアドバイスを頂きました。ありがとうございました)


Introduction (バーバリアンの特徴)[]

 蛮族の親分の一人のGenseric[1](ガイセリック) は、世界の富を欲しがりました。彼は、無償のユニットを数多く徴兵できる特殊な能力を持っており、いくつかの都市に侵攻する方法を思案して、ある単純な作戦を思いつきました。

この作戦下では、全ての彼のユニットは狂戦士として活動し、最も近い都市を襲撃するでしょう。

そして、これこそが蛮族共が立ち行かなくなる理由なのです!

 彼らは攻撃しすぎで、ユニットを無駄に溶かしてしまうでしょう。また、征服済みの都市の防衛はおろそかになります。あなたが彼らを手助けしない限り、必ず誰かがバーバリアンを打ち破るのです。

蛮族軍団への亡命[]

Barbaricum

Fig.1 Barbaricumはバーバリアン達の首都です。

 あなたは以前、世界の主立った文明の参謀の内の一人でした。しかし、今やあなたは蛮族軍団に移籍しました。そして、他の文明に対して、蛮族文明が持っている永久的な強みについて既に理解しています。
 これからは、作戦を変え、手持ちのユニットを大切に使い、そして自分達の都市を防衛して世界を征服することになるでしょう。

亡命方法(Freeciv version 2.1.x用)[]

ちょっとした不正作業で、あなたはバーバリアンのユニットを操作出来ます。(このガイドはFreeciv 2.1.x のためのものです。他のバージョンでは上手く動くかもしれないし、違う結果になるかもしれません。)

サーバーオプションの'allow take'欄に"b"の文字を付け加えて、/take Gensericを入力するのが基本的な方針ですが、Freecivのゲームプログラムは、AIによるバーバリアン操作を無効化させてくれないでしょう。
(訳者注:version 2.4.2では単純にこの方法で上手くいくはず。
どんな /aitoggle Gensericの試みも"Cannot toggle a barbarian player." との反応を得るだけに終わるでしょう。
そのため、あなたはセーブデータを編集することが、バーバリアンAIを無効化するただ一つの方法であることを納得しなくてはいけません。

必要とされるセーブデータについて[]

バーバリアンが1つ以上の都市を既に掌握済みである世界のセーブデータが必要です。
(このような状況は、リモートサーバー設定として"蛮族の奔流": /set barbarians 4 が選択されている時により起こりやすいでしょう。)
もし、バーバリアンの都市が含まれない世界のセーブデータしか無ければ、普通にゲームをして、バーバリアンの都市が視界に確認できたらセーブをして下さい。

各々のバーバリアンの国家は二種類:陸の蛮族と海の蛮族 の内の1つとなります。海の蛮族はFreeciv ver 2.2ではpirates(海賊)になります。


セーブデータの編集方法[]

セーブデータは普通は圧縮されたテキストファイル(gzipもしくはbzip2圧縮)であり、展開(解凍)して、テキストエディタで編集を行うことができます。

  1. セーブファイルの保存場所を探し出して下さい。場所はOS毎に異なります。
    • UnixやLinux,BSD:
      ~/.freeciv/saves
    • WindowsXP以前:
      C:\Documents and Setting\(ユーザー名)\Application Data\.freeciv\saves
    • Windows7,8:
      C:\Users\(ユーザー名)\AppData\Roaming\.freeciv\saves
  2. 編集するセーブデータを展開しましょう。saveファイルは、
    • Freeciv 2.1 では、".sav.gz"の拡張子を持つgzipファイルです。
    • Freeciv 2.2 では、".sav.bz2" の拡張子のbzip2 ファイルです。
      (Windowsでは例えば"7-Zip"という名前のソフトを使用すれば展開出来ます。)
  3. テキストエディタで展開したセーブデータを開きます。(.savの拡張子のファイルです。)
    windowsでは"TeraPad"等のUTF-8形式のテキストファイルを取り扱えるテキストエディタを使いましょう。
  4. 開いたら allow_take= で始まる行を見つけ出して下さい。そして、bを付け加えて下さい。
    例:
    変更前:allow_take="HAhadOo"
    変更後:allow_take="HAhadOob"
  5. 次に、いくつかの都市を支配していて存命中のバーバリアンプレーヤーに関する情報がまとまっている節 (nation="Barbarian" の付近にある)を見つけ出してください。AI playerの名前をメモして、ai.control=1ai.control=0に変更してください。(数字では無くTRUEと書いてあればFALSEに変更)
  6. 編集した.savファイルを保存します。.sav形式でもfreecivは読み込めますので、再圧縮する必要性はありません。

Fig2.実際のセーブデータの編集箇所の実例、先頭に"-"記号が付いている行を"+"記号の行に変更している。変更したのは2行のみ

$ zdiff game5-turn270.sav.gz barbarian5-turn270.sav
--- -   Tue Jan 19 23:12:09 2010
+++ barbarian5-turn270.sav      Fri Jan  8 17:29:52 2010
@@ -72,7 +72,7 @@
 occupychance=0
 autoattack=0
 demography="NASRLPEMOqrb"
-allow_take="HAhadOo"
+allow_take="HAhadOob"
 borders=4
 happyborders=1
 diplomacy=2
@@ -28715,7 +28715,7 @@
 city_style_by_name="European"
 is_male=1
 is_alive=1
-ai.control=1
+ai.control=0
 ai={ "love","spam","countdown","war_reason","patience","warn_space","ask_peace","ask_alliance","ask_ceasefire"
 1,0,-1,5,0,0,0,0,0
 1,1,-1,5,0,0,0,0,0


バーバリアンプレーヤーの情報が記された節を探し出す[]

セーブファイルの中の、バーバリアンプレーヤーに関する節の中にはnation="Barbarian"ai.is_barbarian=1もしくはai.is_barbarian=2の行が存在します。以下に例を示します。

[player20]
name="Genseric"
username="Unassigned"
ranked_username="Unassigned"
nation="Barbarian"
...
is_male=1
is_alive=1
ai.control=1
...
ai.skill_level=7
ai.is_barbarian=2
gold=2806
tax=100
science=0
luxury=0
...

AIによる操作を無効化するために、ai.control=1ai.control=0に変更します。

変換したセーブファイルを読み込む[]

セーブファイルを変換(保存)し終えたあとの手順を以下に示します。

  1. クライアントを起動して、セーブファイルのロードをクリック。
  2. さっき編集したセーブファイル(.sav)を選択して開きます。ウインドウ中のセーブデータの一覧に無ければ、ブラウズ(B)ボタンを押して選択してください。
  3. "民族を選択する" このリスト中にはバーバリアンは含まれていないので、他の国を選んでゲームを開始してください。
  4. チャットコマンド(チャット欄)の中で、/list と入力して国の情報を一覧表示させて、その中にバーバリアンが含まれる事を確認してください。
    例: Genseric (user Unassigned, Barbarian, difficulty level hard, Barbarian, Team 19)
     ↑赤色下線部分がバーバリアンの名前です、ゲーム毎に異なります。
  5. ここで、"/take バーバリアンの名前 "をチャット欄に入力する。
    例: /take Genseric
  6. バーバリアン以外の全ての国を、AIが操作できるようにします。
    一例: /set autotoggle 1 と入力後 /set autotoggle 0と入力する
  7. 必要有れば以下の項目を変更しましょう。
    • 国家の税率
    • 各都市の生産物[2]
    • その他いろいろ

ToDo (その後やること)[]

  • game glitches(ゲームのバグ取り?)
  • 宮殿を建てる。(建築の技術の取得が必要)
  • 敵の侵攻に対する防御
  • あなたのユニットを使用する。

脚注[]

  1. ガイセリックは、本文中ではバーバリアンの指導者の内の一人である。史実では、ヴァンダル王国の王様でローマの土地を占拠し、北アフリカに侵入し、ローマを略奪したらしい。(wikipedia(jp)wikipedia(en))
  2. 訳者注:建物についてはその時点の自身の所有技術で建てられるものは全て建てられる。
    ユニットについては、「rulesetで指定されたユニット」 かつ 「世界で既に研究済みの技術で生産可能なユニット」しか生産できない仕様である。
    この現行の仕様下では、例えば、ある文明が火薬を研究済みであれば、蛮族が火薬の技術開発を終えていなくても、マスケット兵を生産してきたり、スポーンさせてくるので注意が必要。