ExileDesk

ブログ

PoE2 クラフトシミュレーターの作り方|例外を書かずに説明文で動かす

クラフトシミュレーター説明文冒涜骨

PoE2 のクラフトシミュレーターの作り方として、ExileDesk はカレンシーとお告げを「説明文を分解したデータ」で動かし、部位ごとの例外を書かない形にしました。総点検すると、手書きの決まり約 130 個のうち約 40 個は根拠が無く、出ていた不具合もどれも人が書いた例外が原因だったからです。

ずんだもん

ずんだもん

クラフトの道具の結果って、本当にゲームと同じなのだ?

めたん

めたん

正直に言うと、前の ExileDesk はそこが弱かったの。カレンシーごとに「この部位なら」「この時は打てない」を 1 つずつ書き足していたのよ。

ずんだもん

ずんだもん

それで何か困ったのだ?

めたん

めたん

2 日のうちに「セプターに骨が出ない」みたいな不具合が続けて見つかったわ。どう直して、なぜ直した後の方が信用できるのかを話すわね。

なぜ手書きの例外は壊れるのか

見つかった不具合と、その原因になった例外を並べます。

ずんだもん

ずんだもん

どんな不具合が出ていたのだ?

めたん

めたん

5 つあったの。表にするわね。

不具合原因になった例外説明文どおりなら
タリスマンに勢力のお告げが使えない骨を使える部位の表にタリスマンが無く、防具の扱いになっていた使える
不在のアミュレットに変成のオーブで MOD が付くマジックの枠をプレ 1 / サフィ 1 で決め打ちし、暗黙の ±1 を見ていなかったMOD 無しのマジックになる
セプターに骨が出ない「専用の冒涜 MOD が無いなら出さない」とこちらで決めていた出る
コロナアミュレットにルーンをはめられない「宝飾品はソケット 0」とこちらで決めていたはめられる
ジュエルに普通の触媒が使える「ジュエルも触媒で上がる」を、カレンシーの区別なしに決めていた使えない
ずんだもん

ずんだもん

全部、誰かが決めた 1 行が原因なのだ!

めたん

めたん

そう、「たぶんこうだろう」と書いた 1 行よ。書いた時には正しく見えるの。

めたん

めたん

でもタリスマン × お告げのように、想定していない組み合わせが来た瞬間に壊れるのよ。

ずんだもん

ずんだもん

ほかにも、そういう 1 行はあったのだ?

めたん

めたん

手書きの決まりを全部洗い出したら、約 130 個のうち約 40 個は、poe2db にもゲームの説明文にも根拠が無かったわ。

シミュレーターの作りを「説明文の分解」に変えた

直し方は、例外を足すのをやめて、カレンシーの説明文そのものをデータにすることでした。

ずんだもん

ずんだもん

説明文をデータにするって、どういうことなのだ?

めたん

めたん

1 つのカレンシー (とお告げ) を、3 つに分けて書くの。

部品中身書かない物
何に使えるか説明文の言葉そのまま。レアリティ (ノーマル・マジック・レア) と、「武器」「防具」「宝飾品」「指輪かアミュレット」「矢筒」「ジュエル」などのまとまり個別の部位の名前
何をするか「レアリティを変える」「置き場から n 個付ける」「固定以外から n 個消す」「未発現の冒涜 MOD を 1 つ足す」「値を振り直す」「1 つを固定する」など、少数の部品の組み合わせカレンシー専用の処理
打てない時「冒涜の MOD は 1 つまで」など、説明文と用語集に書いてある制約こちらで決めた上限・下限
ずんだもん

ずんだもん

お告げはどう書くのだ?

めたん

めたん

「次の◯◯の動作をこう変える」という、同じ部品への修飾で書くの。

めたん

めたん

右側の消去のお告げは「消す」をサフィックス側に絞るだけ。勢力のお告げは「発現の候補にその勢力の MOD を保証する」だけよ。

ずんだもん

ずんだもん

部位ごとの違いは、どこで見るのだ?

めたん

めたん

片手か両手か、枠の数と暗黙の ±N、ソケットの数などは、手で書かずにアイテムのデータから引いているわ。

例外を 1 行も書かずに、セプターの骨が正しく動いた

一番分かりやすいのが骨です。武器用の骨の説明文は「レアの武器または矢筒を冒涜する」です。

ずんだもん

ずんだもん

この説明文を分解すると、どうなるのだ?

めたん

めたん

こうなるわ。

部品中身セプターだと
何に使えるかレア、武器・矢筒「武器」なので対象に入る
何をするか未発現の冒涜 MOD を 1 つ足す専用の冒涜 MOD が無いので、発現の候補は普通の MOD から出る
打てない時冒涜の MOD は 1 つまで、アイテムレベルが下限より低い品には使えないほかの武器と同じ
ずんだもん

ずんだもん

セプターのための行が無いのに、ちゃんと使えるのだ!

めたん

めたん

そうなの。poe2wiki の「セプターに専用の冒涜 MOD は無い」という文とも同じ動きよ。

めたん

めたん

オーナーの言葉を借りると「骨の動作をそのまま解釈したらセプターに使える」。

めたん

めたん

決まりを先に狭く決めていたせいで、使える場面まで消していたわけね。

「消す」と「付ける」は分けて書く

部品は、ゲームの動きに合わせて「消す」と「付ける」を別にしています。

ずんだもん

ずんだもん

消して付けるなら、「置き換え」1 つでいいのだ?

めたん

めたん

それだとカオスと骨の違いが見えなくなるの。だから、あえて作っていないわ。

カレンシー消す付ける出どころ
カオスオーブ消す消した側とは関係なく、空いている側 (プレ・サフィの両方が候補) から重みで選ぶ—
骨満杯なら、固定以外から 1 つ消す消した側に付けるpoe2wiki (プレフィックスを消したらプレフィックスを付ける)
パーフェクトエッセンス付ける側が埋まっている時は、必ずその側の MOD が 1 つ消えるその後に付くオーナーがゲームで確認
ずんだもん

ずんだもん

同じ「消して付ける」でも、付く側の決まり方が違うのだ。

「打てない時」もゲームの文どおりに

もう 1 つ決めたのが、棚に出すかどうかは、ゲームが受け付けるかだけで決めることです。

ずんだもん

ずんだもん

棚に出すかどうかで、何かあったのだ?

めたん

めたん

液化した感情が棚から消えていたの。裏で試し打ちして弾かれたから、隠していたのよ。

めたん

めたん

結果を先に覗いて棚から消すのはゲームと違うから、やめたわ。今は部位・レアリティ・コラプト・空き枠・お告げの前提など、乱数に関係ない条件だけを見ているの。

ずんだもん

ずんだもん

打って弾かれたら、どうなるのだ?

めたん

めたん

ゲームと同じ文で知らせて、カレンシーは減らさず、工程に「弾かれた」と残すわ。こちらで勝手に上限や下限も決めないの。

めたん

めたん

分からない所は隠さず「決まり未確認」として扱う、というのが決まりよ。

ずんだもん

ずんだもん

確率表も変わったのだ?

めたん

めたん

確率表もこの作りから引くようにしたの。前は「打てないのに確率が出ていた」所があったわ。

打てない場面前の確率表今の確率表
コラプト済みの品確率が出ていた0%
品質の無い品への、触媒の高貴のお告げ確率が出ていた0%
アイテムレベル 65 以上への、噛み切られた骨確率が出ていた0%
部位に合わない骨—表自体を出さない
ずんだもん

ずんだもん

打てない所は、ちゃんと 0% になったのだ。

正解はどこから取っているのか

説明文で「何ができるか」は決まっても、「どれくらいの確率で付くか」は書いてありません。そこは外の正解に寄せています。

ずんだもん

ずんだもん

確率は、どこを正解にしているのだ?

めたん

めたん

何の正解かで、取る所を分けているわ。

何の正解か取っている所なぜか
名前・段・下限poe2db名前と数字の正解として使っている
重み・割合・付き方Craft of Exile説明文には確率が書いていない
説明文だけでは決まらない動きオーナーのゲームでの確認ほかに正解が無い
ずんだもん

ずんだもん

ゲームで確かめた決まりには、どんな物があるのだ?

めたん

めたん

「上限を超えている側の MOD に当たったら、手ごと不成立 (オーブも減らない)」がそうよ。

めたん

めたん

これも例外ではなく、「消す」の制約として書いているわ。

ずんだもん

ずんだもん

どこにも正解が無い値は、どうするのだ?

めたん

めたん

こちらで決めるしかない仮の値は、一か所にまとめて出どころと日付を付けて、画面のヘルプにも「仮」と出す方針よ。

めたん

めたん

ただ、今はまだ一か所にまとまっていないの。ここはこれからの作業ね。

確かめていない所 (2 件)
  • Craft of Exile と比べた決まりは 2026-10-16〜17 に全部決着しましたが、オーナーの判断で Craft of Exile と違う方を選んだ物が 3 つあります (光のお告げと左右の消去のお告げの重ね方、フラックスで表に無い MOD も変わるか、カタリストなどの品質の上がり幅)。
  • 作り直しの時は、前の作りと全部の組み合わせで打ち比べて同じ結果になることを確かめました。ただしこれは「作り直しで動きが変わっていない」ことの確認で、ゲームと同じことの証明ではありません。今のテストも「変わっていないか」の見張りです。
ずんだもん

ずんだもん

クラフトの道具が信用できるか、どう見分ければいいのだ?

めたん

めたん

「打てない」と言われた時の文がゲームと同じか、仮の値に「仮」と書いてあるかを見てみて。

例外を書き足す作りは、想定外の組み合わせで壊れます。説明文を分解して動かし、確率は外の正解に寄せる方が、ゲームとのずれに気づきやすくなります。

数字の出どころ

出どころを見る (6 件)
  • 不具合 5 つ、手書きの決まり約 130 個・根拠の無い物約 40 個: ADR-004 (docs/decisions/004-currency-as-description.md、2026-10-14 の総点検)。記録
  • 作りの切り替え (v0.1.523、2026-10-16)、指名の移し替えで 39 万通り一致、外した例外の作り約 860 行、確率表の約 17 万通りで前と一致: 同じ ADR の「進み具合」。エンジン
  • Craft of Exile との突き合わせと、違う方を選んだ 3 つ: docs/reviews/2026-10-17-rule-checklist.md。poe2db・CoE
  • パーフェクトエッセンス・上限超えの側の決まり: オーナーのゲームでの確認 (2026-10-14)。ゲーム
  • 棚の決まり・液化した感情の件 (2026-10-12): ExileDesk の決まりの記録 (feedback-game-rules-as-written)。記録
  • セプターと骨の側の動き: poe2wiki の文 (2026-10-14 に引いた物)

自分で試してみる

不在のアミュレットに変成のオーブを打つと、暗黙の ±1 が枠の数にどう効くかを クラフト台 で確かめられます。打てない組み合わせでは、弾かれた理由が文で出ます。

関連する記事

VOICEVOX:ずんだもん / 四国めたん

クラフト台で打つ

ExileDeskPath of Exile 2 のクラフトをエンジンで回して確かめています

キャラの絵: 四国めたん・ずんだもん 立ち絵素材 (坂本アヒル)

ほかの記事