Original: CVS-1.2 Translator: SAWADA Katsuya 市民管理エージェント (Citizen Management Agent, CMA) ======================================================== CMA は Freeciv 1.12.1 の GTK+ クライアントへ組み込まれた新しいツールで、 都市管理を助けるように設計されています。即ち、労働者を周りのタイルに配 置し(もしくは労働者を科学者や徴税者、芸人にさえし)、都市の効率が最大に なるようにします。どの都市でも好きな時に CMA を有効・無効にできまが、 CMA下の都市と非CMA下の都市が近くにあると不都合な場合があります(後で説 明します)。どんな場合でも 1.12.1 以上のサーバが必要です。 CMA は 1.12.0 サーバでは動作しないでしょう。 CMA の中心は最適化アルゴリズムです。ユーザが定義した目標をできるだけ成 し遂げるような方法で、都市の労働者を配置しようとします。都市ウィンドウ を開いてミニマップのタイルの中心(都市シンボル)をクリックした時、ある種 の最適化が行なわれるのを御存知かと思います。この最適化は科学の出力をほ ぼ最大にしようとしますが、混乱については気にしません。 新しい市民管理エージェントはこの古い最適化の方法を越えるものです。第一 に、都市に何らかの変更があるごとにCMAが行なわれます。都市が大きく/ 小 さくなったり、軍隊が都市の中に入ったり出たり、タイルが潅漑や資源化され たり、都市が敵によって占領されたら、CMA が動作します。第二に、CMAはど んな種類の(例えば製作物(シールド)、金、科学、贅沢)最適化でも行なえます。 第三に、 CMA でプレイヤーはきめ細かい管理ができます。どの都市出力でも 制約の設定を行なえます。これには、祝福の制約も含みます。これは都市の拡 大が難しい時でさえとても簡単にします。第四に、そしておそらく戦争で最も 役立つことは、革命を避けるために市民を満足させることです。 使用法 ========== 都市ウィンドウを開いて CMA タブをクリックすることで、その都市の CMA を 設定できます。左側では特定のゴールに向けてのプリセットを選ぶことができ、 右側ではスライダを動かすことでより複雑なゴールを指定できます。まずプリ セットを選んでからそれを修正することもできます。一旦新しい設定を行なっ たら、それをプリセットに追加できます。これは必須ではありませんが、とて も有益です。プリセットに名前を与えたら、都市レポート内である都市の設定 を見て、さらに変更することもできるからです。新しいプリセットを作ったら、 (ゲームメニュー内の)「設定を保存」を忘れないで下さい。 スライダは二種類あります: 右側のスライダは因子です。これはある生産が他 と比較してどのぐらい値打ちがあるかを評価します(例: シールドがその他と 比較してどのくらい重要か)。左側のスライダは制約です: 都市を自在に操る ことができます。例えば食料の黒字制約を0に設定することで食料を失なうこ とはありません。金の黒字を -3に設定することで都市の金を失なわせること もできます。ターン毎に最低5のシールドを作るように強制するには、生産の 黒字を5に設定します。しかし、最も強力な制約は祝典です。これ一つで都市 を祝典にできます。(通常、これを変更した後のラウンドで効果を得ます。) 明らかなのは、CMA が全ての場合に全ての制約を満たすことができるわけでは ないということです。制約を満たすことができなければ、 "エージェントは Berlin の要求を満たすことができません。管理を戻しています。" というメッ セージを出してその都市のサービスをやめます。その場合、自分でその都市を 管理するか(これは幾らか欠点があります。以下を見て下さい)、要求を満たす ことができるように都市を開いて黒字制約を変更して下さい。 都市をセットアップ済みの場合、CMA を有効にするために 「都市を管理」を クリックする必要があります。このボタンのテキストが灰色なら、 CMA が既 に有効か作業が不可能な場合のどちらかです。後者の場合、結果の箱の中に数 字のかわりに横線が描かれます。もし故意に CMA を無効にしたいなら、「都 市を解放」をクリックして下さい。 高度な使用法 ================ CMA 利用の経験はまだそれほどありませんが、幾つかの共通の発言が役に立つ かもしれません。普通、都市のゴールはゲームのどの段階にいるかによります。 あなたの望む物は、幅広い展開、素早い拡大、進んだ科学の研究、戦争の遂行 かもしれません。研究が行ないたくて科学の因子を高く設定したり、部隊の製 作が行ないたくてシールドの因子を高く設定することを望むかもしれません。 利用可能な最も高い因子は 25です。つまり: シールドの因子を25に、他を1に 設定したら、 CMA は金25よりシールド1を選びます(交易25でも同様です)。こ れはとんでもないことです。お金でも部隊を買えるからです。同様に、 CMA は 金、科学、贅沢、食料の生産についても差別はしません。従って都市出力 に対する二番目(三番目)を例えば金の因子5に設定することは恐らくよいアイ ディアです。これでもまだ、金5よりシールド1を(そして食料5やそれ以外より 金1を)選びます。 制約は全ての場合で有益なわけではありません。もし高い収入を望むなら、最 小黒字を5などに設定するより金の因子を25に設定したほうが恐らく望ましい です。大きな都市は小さな都市より金を作ることができるので、各都市に対し て異なる黒字を設定する必要があるからです。 都市のシールド黒字をゼロ以下にしたら、もう一部の部隊を援助できません。 あなたは都市が援助していた部隊を失なうでしょう。また、もし食料黒字を負 にしたら、都市は飢え、最後には(穀物庫が空になった時に)縮小するでしょう。 もしこれが目的とすることだったとしても、その都市が開拓者を援助していた ら都市が縮む前に開拓者を失います。制約もまた注意が必要な機能です。 どの制約が満たされるかは、全体の科学、税、贅沢の割合に幅広く依存します。 例えば金黒字 >= 0 は低い税率より高い税率で満し易いです。都市のほとんど で CMA 設定を変更しようとする時は、常にこの率の変更を考慮すべきです。 ヒント: CMA から都市が解放される事故を防ぐためには、率の変更を行なう時 に、メインウィンドウ内に表示されている部分から変更を行なうのではなく、 税ダイアログ内部から行なうのがベストです。 欠点 ======== CMA はとても強力な道具です。都市の細かい管理からあなたを解放するだけで なく、これまで見たこともない(ええ、ほとんどのプレイヤーが)パフォーマン スをあなたに与えます。 しかし幾つか欠点があります。一旦 CMA へ切り替えたら、取得できる限りの 良いタイルを CMA が確保します。従って、 CMA 管理都市の近くの都市を扱う のは非常に難しくなります。これは都市ウィンドウや、メインマップの作業者 インターフェースでも同様です。もしあなたが CMA 管理都市と「手動」都市 の両方を持ちたいなら、それらは別々の島でやるべきです。 CMA が一時的に要求を満たすことができない場合があります。例えば、ある都 市から他の都市へ船を動かす時、敵があなたの領土を横切る時などです。CMA はこれらの場合に制御を戻し、あなたはその都市をまた手動で有効にしなけれ ばなりません。これを避ける一般的なやり方は、最小黒字をできるだけ低くす る(-20)ことです。もちろん、あなたは食料黒字とシールド黒字に注意しなけ ればなりません。 CMA が一つの都市に対して本当によい仕事を行なっている間、他の都市に対し て解放されるタイルはありません。また、 CMA 下の都市はランダムな順序で 計算されます。即ち、結果はランダムな順序と再計算が行なわれた時(税の変 更など)の変更に左右されます。従って、全体的な結果が常に最適になるとい う保証はありません。 設定ファイル ================ エージェントのプリセットパラメータをロード、セーブできます。「ゲーム」 メニューから「設定を保存」を選ぶと、全体オプションやメッセージオプショ ンを保存するだけでなく、CMAプリセットも保存します。 オプションファイル(普通は ~/.civclientrc)のフォーマットは以下の通りで す(手動でプリセットを変更する場合)。 [cma] ヘッダの下に、"number_of_presets" があります。これはオプションファ イルにあるプリセットの数です。もし手動でプリセットを追加/削除するなら、 この数を適切に変更する必要があります。 この後はプリセットを含む配列です。ヘッダはこのようになっています: preset={ "name","minsurp0","factor0","minsurp1","factor1","minsurp2", "factor2","minsurp3","factor3","minsurp4","factor4","minsurp5", "factor5","reqhappy","factortarget","happyfactor" 従って、プリセットの順は以下の通りでなければなりません: プリセットの名前, 最小黒字0, 因子0, ... , 都市が幸福を要求, [0,1]の何か, 幸福因子 現在、6つの黒字と因子があります: 0 = 食料, 1 = 生産, 2 = 交易, 3 = 金, 4 = 贅沢, 5 = 科学 また、現在 "factortarget" はクライアント内では変更できません。詳しくは "client/agents/cma_core.h" を見て下さい。 配列は '}' で終わらなければなりません。 以下は、いいアイディアを思い浮かばない時のための 21個のプリセットです。 "食料最大",0,10,0,1,0,1,0,1,0,1,0,1,0,0,1 "生産最大",0,1,0,10,0,1,0,1,0,1,0,1,0,0,1 "交易最大",0,1,0,1,0,10,0,1,0,1,0,1,0,0,1 "税最大",0,1,0,1,0,1,0,10,0,1,0,1,0,0,1 "贅沢最大",0,1,0,1,0,1,0,1,0,10,0,1,0,0,1 "科学最大",0,1,0,1,0,1,0,1,0,1,0,10,0,0,1 "+2食料",2,1,0,1,0,1,0,1,0,1,0,1,0,0,1 "+2生産",0,1,2,1,0,1,0,1,0,1,0,1,0,0,1 "+2交易",0,1,0,1,2,1,0,1,0,1,0,1,0,0,1 "+2金",0,1,0,1,0,1,2,1,0,1,0,1,0,0,1 "+2贅沢",0,1,0,1,0,1,0,1,2,1,0,1,0,0,1 "+2科学",0,1,0,1,0,1,0,1,0,1,2,1,0,0,1 "食料最大,金制限なし",0,10,0,1,0,1,-20,1,0,1,0,1,0,0,1 "生産最大,金制限なし",0,1,0,10,0,1,-20,1,0,1,0,1,0,0,1 "交易最大,金制限なし",0,1,0,1,0,10,-20,1,0,1,0,1,0,0,1 "金最大,金制限なし",0,1,0,1,0,1,-20,10,0,1,0,1,0,0,1 "贅沢最大,金制限なし",0,1,0,1,0,1,-20,1,0,10,0,1,0,0,1 "科学最大,金制限なし",0,1,0,1,0,1,-20,1,0,1,0,10,0,0,1 "食料+生産最大,金制限なし",0,10,0,10,0,1,-20,1,0,1,0,1,0,0,1 "食料+生産+交易最大",0,10,0,10,0,10,0,1,0,1,0,1,0,0,1 "全て最大",0,1,0,1,0,1,0,1,0,1,0,1,0,0,1 以下の6つは、あとで思いついて追加したものです: "+1食料,生産最大,金制限なし",1,1,0,10,0,1,-20,1,0,1,0,1,0,0,1 "+2食料,生産最大,金制限なし",2,1,0,10,0,1,-20,1,0,1,0,1,0,0,1 "+3食料,生産最大,金制限なし",3,1,0,10,0,1,-20,1,0,1,0,1,0,0,1 "+4食料,生産最大,金制限なし",4,1,0,10,0,1,-20,1,0,1,0,1,0,0,1 "+5食料,生産最大,金制限なし",5,1,0,10,0,1,-20,1,0,1,0,1,0,0,1 "+6食料,生産最大,金制限なし",6,1,0,10,0,1,-20,1,0,1,0,1,0,0,1 さらに、複数ゴールのプリセットを幾つか: "どんなコストでも研究",0,1,0,5,-20,1,-20,1,-20,1,-20,25,0,0,1 "祝典と拡大",1,1,0,25,-20,1,-20,12,-20,1,-20,1,1,0,1 "どんなコストでも成長",1,25,0,5,-20,1,-20,1,-20,1,-20,5,0,0,1 "研究とシールド幾らか",0,1,0,8,0,1,-3,1,0,1,0,25,0,0,1 "シールドと金少し",0,1,0,25,0,1,-3,3,0,1,0,1,0,0,1 "シールド沢山と金幾らか",0,1,0,25,0,1,0,9,0,1,0,1,0,0,1 "シールドと研究幾らか",0,1,0,25,0,1,-2,1,0,1,0,8,0,0,1 "祝典と同時に成長",1,1,0,25,-20,1,-20,1,-20,1,-20,8,1,0,1 最終更新日: 2002年1月9日