交配レート 

バージョン: industrialcraft-2-2.2.720-experimental  gregtech_1.7.10-5.07.07

概要

 
 

旧ページはこちら旧バグ版交配レート表が載っている記事はこちら

690付近で、長らく全世界のCropist達を一喜一憂させていた異様に高い突然変異率を生み出していた交配レートバグ

大革命である。

編者としては、考察に値する程度の難度が発生したので記事の充実のし甲斐があって楽しい限りである。

以下では植物種は、雑草も含むCropCardで、作物種は雑草を含まないCropCardを意味する。ここでいう雑草とは、IC2が提供する「weed」のことである。

 

前知識

交配レートは、支柱・植物種A・植物種Bが与えられたときに整数を返す関数(数学的な意味で)の形をしている。数学的な式で書くと、次のようになる。

交配レート = calculateRatioFor(tileEntityCrop, newCrop, oldCrop)

Javaの構文では次のように呼び出せる。

TileEntityCrop tileEntityCrop = ~;
CropCard newCrop = ~;
CropCard oldCrop = ~;

int ratio = tileEntityCrop.calculateRatioFor(newCrop, oldCrop);

だが実はメソッド内でthisを使っていないので、Cropが2種あれば自動的に決まる。本記事では、交配レートを2つの植物種をとる関数、即ち2次元のテーブルとして取り扱う。

引数の2つの植物種は交換すると関数の値は変わる。引数はそれぞれnewoldという。oldは交配のもととなる植物種で、newは交配によって出現する植物種を表す。

交配演算子表記

植物種A×植物種B」という表記は「old×new」即ち「親×子」の順番で表記される。一見すると夫婦っぽいが親子を表す(AとBを並べて間に交配用支柱ではない)。この×を交配演算子と呼ぶ。これはcalcuraleRatioForメソッドの引数と逆であり、左が過去のもので右が新しい。

逆になっている理由は、new・oldという変数名が農業革命前にはなかった(変数名は単なるa・bだった)ため、便宜的に攻め受けと呼んでいたことに由来する表記方式を引きずっている。こう書くと読み進める順序と植物種の出現する順序が時系列順に一致していて分かりやすいので、演算子表記の際はこれでいいことにしておく。

算出式

以下のようなアルゴリズムによって求まる。

もしnewとoldが同一の作物種なら、{
  500である。
}そうでない場合、{
  整数型valueを10で初期化し、
  newのstatとoldのstatの対応する各要素の差の絶対値の合計valueから引く
  // 例えば、[2, 2, 2, 2, 2]と[3, 1, 2, 3, 5]なら、差は[1, -1, 0, 1, 3]なので、絶対値[1, 1, 0, 1, 3]の合計6を減算する。

  
newの属性群(attributes)とoldの属性郡のうち、かぶっている組み合わせの数*5valueに加算する
  このかぶっている判定は、大文字小文字を区別しない。
  // 例えば["a", "b", "b"]に対して、["c"]なら1個も組み合わせがない。["a"]なら1個ある。["b"]なら2個。["B", "B"]なら4個。

  newのtierからoldのtierを引いたTier上昇量について、
  これが1を超えるならば、valueにTier上昇量の2倍を減産する。
  また、これが-3を下回るならば、valueにTier上昇量を加算する(つまりvalueは下がる)。

  ここでvalueが0以上ならvalue、0未満なら0を返す。

短くまとめると次のようになる。

同じなら500で、異なるなら、10-statの差+5*属性郡の一致数-Tier補正
Tier補正は、2以上上昇するなら2*上昇分、4以上下降するなら下降分、そのほかなら0

バグら

凡例

次節以降に示すのが新レート表である。に並んでいる植物種がに並んでいる植物種を生成させるレートを表す。旧レート表とブラウザで並べてみると分かるが全く以て別物と化した(旧版PluginCropで改造していた難化交配レートよりも更に難しい)。

このレート表は、新版PluginCropsの額縁で出したものをExcelに張り付けてTier順に並び替えて着色しただけである(Tier: 第2列・第2行の数値)。

通常時

見た感じ下位(Tier2以下)上位(Tier4以上)に分かれる。

下位から上位に交配で持って行くには樹液アシ様に木の棒を献上するのが最短だろうか。

  • その他、ネザーワートを取ってくるという救済も。
    • ネザーワートは下位からはCropの交配で殆ど出ないが、ネザー遺跡といういわば「現実世界」からベースシードによっていきなり持ってこれるので、もし持っていればいきなりここから交配を開始することができる。
    • 樹液アシはアシから高確率で出るというだけで特別他の上位陣と仲がいいわけでもないので、ネザーワートが出たら乗り換えることになるかもしれない。

出しやすそうなルート

  • 赤石小麦: ネザーワートから高レートで出現できる。
  • ネザーワート: バラや樹液アシから少し出るが、ホップから結構なレートで得られる。
  • テラワート: ネザーワートが植えてある耕土の下に雪ブロックを置くと1時間程度で得られる。交配ならネザーワートから得やすい。
  • ホップ: ネザーワートからよく出るほか、樹液アシから中程度のレートで出現する。
  • 樹液アシ: 恐らくアシの交配で出すパターンが圧倒的に多いだろう。
  • フェルー: ホップからもよく出るが、赤石小麦がかなり有用な作物なため、これを交配で繁殖させている間に出るかもしれない。
  • コーヒー: フェルーやホップから出しやすい。
  • オーレリア: フェルーの他、赤石小麦からもよく出る。
  • ヴェノミリア: チューリップからかなり出る。その他の花も良好。

アシは樹液アシ以外はあまり交配で多様な作物を産まないが、樹液アシが出るという強みがある。

ヴェノミリアはTier3とちょっと抜きでているが、Tier5以上を生めないので交配の中間素材としては使われづらい。

小麦は高確率で他の食べ物を生み出す。

ホップはオーレリア以外すべて生み出す可能性がある。ホップを手に入れたらすべてを投げ出してホップの育成に入るのもいいかもしれない。

gregtech_1.7.10-5.07.07と同時導入時

旧版はこちら

表データ

一見すると大きく下位Tier2まで上位Tier4~8G級(GregTech級)(Tier9以上に分かれる。

樹液アシが生み出すアルゼンチア・プラムビリアが強く、プラムビリアからすぐウィザーアシまでいける。

  • そのままオイルベリー・ダイヤアシと進めることができる。
  • また、見るからに匠雑草(Creeperweed)は飛びぬけてかなりのレートでウィザーアシを生み出す。
    • 匠雑草自体は交配で得辛い作物だが、上位陣はなかなか地味に嬉しい作物が多く、それなりに増殖用交配を繰り返すことになるのでそのうち出るだろう。
    • 匠雑草はLiverootsをいいレートで生み出すこともできる。この後Steeleafranks・ボブ(Bobsyeruncleranks)とツタ状植物ルートを進められる。Steeleafに素早い用がある場合は、匠雑草から生成するといいだろう。
  • プラムビリアはなかなか出ない匠雑草を生み出しやすい作物である。

大問題がエンダーブルームである。最大でもボブのレート4しかない。狙って得ることは難しいだろうが、ダイヤアシ・オイルベリー・ボブは是非とも農場一面に広げたい作物なのでそのうち出ると思いたい。エンダーブルームは重要な窒素源であり、窒素はオイルの加工を進める上で重要となる。

ホップはこちらの表でも幅を利かせている。なんと数あるTier6以下の作物をすべて出す可能性があるという太っ腹ぶりである。

  • その他、樹液アシやネザーワートも下位・上位において多くの作物を呼び出せる。
  • コープスプラント(Tier5)は特異で、Gregキノコ類(Tier1)やアシ(Tier2)から得られたらそのまま繁殖させて交配するといきなりウィザーアシ(Tier8)が出てくる。
  • もしこれからCrop交配を始めるというときにネザーワートを持っていたら、そのまま支柱に大量に設置して交配でホップを作成すると上位なかば辺りまで一通りそろう。
  • アルゼンチアはLiveroots以外の上位陣を全部出現させる。下位に用がなくなったらアルゼンチアに切り替えるのもいいだろう。

ウィザーアシはG級入口の登竜門となりやすい。

  • なぜアシ類はよく上下のクラスタをつなぐ働きをするのだろうか。
  • ウィザーアシ×オイルベリーのレートはやたら輝いている。

集計

次の表は、各作物に対して、それの出しやすさ(受け=行ごと(横1列)の合計-500)とそれをもとに別の作物の出しやすさ(攻め=列ごと(縦1列)の合計-500をまとめたものである。

具体的に言うと、上の行列をA、求める作物をi、全作物数をnとおくと
  受けb(i)=U(i)
AX-500  (U(i): 1行n列の0ベクトルから、U[i]の要素だけ1にしたベクトル、X: n行1列で要素が全て1のベクトル
  攻めc(i)=Y・A・V(i)-500  (V(i): n行1列の0ベクトルから、V[i]の要素だけ1にしたベクトル、Y: 1行n列で要素が全て1のベクトル
がその値となる。

owner name Tier 受け 攻め   owner name Tier 受け 攻め
IC2 weed 0 34 14   gregtech Corpseplant 5 108 132
IC2 wheat 1 123 106   gregtech Tine 5 124 115
IC2 pumpkin 1 101 91   IC2 redwheat 6 83 88
gregtech Brown Mushrooms 1 154 113   IC2 ferru 6 131 130
gregtech Red Mushrooms 1 103 80   gregtech Slimeplant 6 73 72
IC2 redMushroom 2 114 103   gregtech Milkwart 6 104 118
IC2 reed 2 108 71   gregtech Coppon 6 143 144
IC2 tulip 2 128 110   gregtech Eggplant 6 95 125
IC2 dandelion 2 128 110   gregtech Plumbilia 6 128 132
IC2 cyazint 2 123 102   gregtech Blazereed 6 97 112
IC2 potato 2 131 109   gregtech Corium 6 96 100
IC2 brownMushroom 2 112 105   IC2 coffee 7 81 112
IC2 blackthorn 2 123 105   gregtech Creeperweed 7 67 72
IC2 rose 2 135 110   gregtech Meatrose 7 77 110
IC2 carrots 2 126 104   gregtech Argentia 7 142 167
IC2 melon 2 134 101   IC2 aurelia 8 69 121
gregtech Indigo 2 156 116   gregtech Tearstalks 8 67 146
gregtech Flax 2 121 83   gregtech Liveroots 8 35 28
IC2 cocoa 3 132 106   gregtech Withereed 8 77 115
IC2 venomilia 3 79 65   gregtech Oilberries 9 28 26
IC2 stickreed 4 122 108   gregtech Enderbloom 10 8 19
gregtech Spidernip 4 114 117   gregtech Steeleafranks 10 22 29
IC2 netherWart 5 88 114   gregtech Bobsyeruncleranks 11 33 39
IC2 hops 5 134 179   gregtech Diareed 12 22 37
IC2 terraWart 5 65 87            

ランキング

左: 受け順=出現の容易さ順=しょっちゅう出現する作物
右: 攻め順=突然変異の容易さ順=交配のネタにしやすい作物

インディゴはしょっちゅう出るらしい。コッポンは(序盤は銅の生産消費が激しすぎてとてもCropで賄えるような代物じゃない&電気が入ったら銅は用済みになって有り余ることを除けば)頻繁に要求される金属の生産源なので、コッポンの量産をするならその間に結構な作物が突然変異で得られるだろう。コッポンのファイバーからはオレンジウールも作れる。

ティアースタークは意外と交配の素材になる。しかしそのティアースタークは受けランキングの下から3位であり、これを入手する頃には大体出揃っている・・・。

エンダーブルームはその圧倒的なレアさにより、見事最下位を勝ち取った。なんとTierが2つ上のダイヤアシに2.75倍の差をつけている。

攻めランキングの下の方ではG級作物がひしめいているが、これは余計なものを出現させないという意味では嬉しい現象だろう。

owner name Tier 受け 攻め   owner name Tier 受け 攻め
gregtech Indigo 2 156 116   IC2 hops 5 134 179
gregtech Brown Mushrooms 1 154 113   gregtech Argentia 7 142 167
gregtech Coppon 6 143 144   gregtech Tearstalks 8 67 146
gregtech Argentia 7 142 167   gregtech Coppon 6 143 144
IC2 rose 2 135 110   gregtech Plumbilia 6 128 132
IC2 melon 2 134 101   gregtech Corpseplant 5 108 132
IC2 hops 5 134 179   IC2 ferru 6 131 130
IC2 cocoa 3 132 106   gregtech Eggplant 6 95 125
IC2 potato 2 131 109   IC2 aurelia 8 69 121
IC2 ferru 6 131 130   gregtech Milkwart 6 104 118
 
gregtech Creeperweed 7 67 72   gregtech Creeperweed 7 67 72
gregtech Tearstalks 8 67 146   IC2 reed 2 108 71
IC2 terraWart 5 65 87   IC2 venomilia 3 79 65
gregtech Liveroots 8 35 28   gregtech Bobsyeruncleranks 11 33 39
IC2 weed 0 34 14   gregtech Diareed 12 22 37
gregtech Bobsyeruncleranks 11 33 39   gregtech Steeleafranks 10 22 29
gregtech Oilberries 9 28 26   gregtech Liveroots 8 35 28
gregtech Steeleafranks 10 22 29   gregtech Oilberries 9 28 26
gregtech Diareed 12 22 37   gregtech Enderbloom 10 8 19
gregtech Enderbloom 10 8 19   IC2 weed 0 34 14

掲載Mod

この記事に追加してほしい作物種を追加するModがある場合、トップページにある管理人のTwitterにリプライをすると、そのまま掲載されるか保留リストに追加される。

テンプレートを置いておく。

@管理人のTwitterの英字Id 「Modの名称」導入時の交配レート表の掲載希望 > IndustrialCraft2ソースコード木パイプ - ic2/646/交配レート  #atwiki  http://www54.atwiki.jp/mi_ic2/pages/114.html

 

最終更新:2015年05月28日 18:47
添付ファイル