本文へ移動
YOSHITAKEapp

出典のない数字は使わない。総理ゲームを作った5日間で外したもの、直したもの

目次(15)
  1. 決まりは一つ、「出典のない係数は実装しない」
  2. 最初の1日で、一通り動くまで
  3. 人口を国連の推計に合わせる
  4. 文章でしか書かれていない係数
  5. 出典が見つからず、外したもの・作り直したもの
  6. 政策カードは11枚から
  7. 手に入らなかったデータ、入れなかった効果
  8. 例外を1つだけ作った
  9. 政策なしで回して、数字を直した
  10. 選挙が勝てなさすぎた
  11. できごとが起きすぎた
  12. サウジアラビアの財政と「詰み」
  13. 100年は続けられるのか
  14. 迷って決めたこと
  15. 手間がかかったところと、作ってわかったこと

決まりは一つ、「出典のない係数は実装しない」

「あなたは何年総理を続けれる?」(開発名「総理100年」)は、実在の国を選んで1年1ターンで運営するブラウザゲームです。この記事では遊び方ではなく、作る途中で何が起き、どう決めたかを、開発の記録から書きます。

仕様、決定の記録、係数の台帳、作業ルールの4つの文書をそろえたのは2026年10月14日です。いちばん上に置いた決まりは「出典のない係数は実装しない。研究値は使ってよいが、推測だけの値は使わない」でした。政策の効き方も、できごとの確率も、支持率の動き方も、台帳に出典つきで載っている数字しか使いません。

台帳の係数には、原典で数値まで確かめた「採用」、出典はあるが二次引用などの段階の「候補」、出典が見つからない「未実装」の3つの状態を付けました。最初は係数84件(採用68、候補14、未実装2)、データセット17件です。台帳は別の検証役に14項目を抜き取りで照合してもらい、一致11、おおむね一致3、不一致0で、おおむね一致の3件は直しました。

コードを書く作業には AI の Claude Code を使いました。作業ルールには「台帳に係数がない効果が必要になったら、それらしい値で埋めずに止めて報告する。出典を探すか機能を外すかは私が決める」と書きました。ドット絵の国土も、最初の版は Claude Code がピクセルの配列をコードとして書いたものです。

この決まりは、作り始める前から中身を削りました。

  • 政策カードの元ネタにするつもりだった各国の公約のデータ(Manifesto Project)は再配布が禁止なので使わず、カードは台帳に係数がある政策だけにしました。災害のデータベース(EM-DAT)も同じ理由で使わず、地震は米国地質調査所(USGS)の実測から数えます。
  • 国民幸福スコアは、世界幸福度報告の回帰係数がある6つの要因だけで計算し、貧困率や出生率は「達成指標」として横に並べるだけにしました。重みを自分で決めると推測になるからです。同じ理由で、順位やランクも付けません。
  • 失業率は支持率に直接は効かせません。国をまたいで使える係数が見つからなかったからです。

最初の1日で、一通り動くまで

作り始めたのが10月15日の0時で、その日の22時ごろには、日本、米国、ドイツ、ナイジェリア、サウジアラビアの5か国で遊べる最初の版が一通りそろいました。

人口を国連の推計に合わせる

最初の合格条件は「政策を何も打たずに日本で進めたとき、総人口が国連の世界人口推計(WPP 2024)の中位推計と±1%以内で一致する」で、これが通るまでは次に進まない決まりでした。結果は各年の差が最大で−0.28%(2101年)。2024年の出生は750.5千人(国連は750.6千人)、死亡は1540.6千人(同1540.2千人)です。

途中で穴が2つ見つかりました。1つは、国連の推計が2100年までしかないことです。2024年から100年進めると最後の24年に基準がないので、2100年の率(年齢別の出生率、生存率、純移動)を据え置くことにしました。投影期間の外では標準的な扱いで、推測の係数を足さずに済みます。もう1つは、年齢別の純移動(移民の出入り)が公開されていないことです。これは国連自身の投影から逆算した残差(25年分)で年齢の分布を作りました。

文章でしか書かれていない係数

経済では、台帳の書き方そのものが問題になりました。景気対策の効き目(財政乗数)が為替制度や債務で変わるという研究は、台帳に「固定相場なら1より大きい、変動相場ならほぼ0」と文章で書かれているだけでした。日本は変動相場で債務も大きいので、「ほぼ0」を0にすると財政出動がまったく効かないゲームになります。結局、原典(Ilzetzki, Mendoza & Végh 2013)の表の数値を台帳に書き写してから使いました。

単位の取り違えも出ました。消費税を10%から0%にしたときの物価は、仕様では「−10ポイント × 転嫁率」でしたが、税込価格の比で考えると1.00÷1.10−1で−9.1%です。物価と景気の関係の係数は四半期あたりの値だったので、原典の脚注の換算式で年率に直しました。

出典が見つからず、外したもの・作り直したもの

政策カードは11枚から

最初の版の政策カードは11種でした(児童手当、出産一時金、保育、入国規制、年金の支給開始年齢、炭素税、給付金、研究開発、財政再建、再エネ、原発)。育休、住宅、最低賃金、教育、年金支出、化石燃料補助金、軍事費、外交の8種は外しました。台帳に係数はあっても、それを当てるデータ(持家率、最低賃金の水準を表す指標、就学年数の換算、出生順位)が無かったからです。

化石燃料補助金は、IMFの国別の補助金データを足して同じ日に12枚目として戻しました。ただし GDP や物価への係数は台帳に無いので、効くのは歳出が減る分だけです。給付金は、移転の乗数を単独で推定した出典が無いので支出の乗数で代用し、出典の画面に「代用」と書いています。

手に入らなかったデータ、入れなかった効果

  • 政体の分類(V-Dem)は本体が登録フォーム経由だったので、Our World in Data の再配布を使いました。原油価格の系列も同じです。
  • クーデターの一覧(Powell & Thyne)は、サーバーが自動の取得を弾きました。最初は「世界で年7.5件を非民主国に均等に配る」仮の形で入れ、取れたら実測に置き換えると決めました。
  • 二国間の貿易額のデータは使わず、距離や隣接、共通の公用語から推定する重力モデルで代えました。日本の貿易相手は中国42%、韓国22%と距離の効きが強く出るので、画面に推定だと書いています。
  • 内戦が終わった後の景気の戻り、内戦による難民と死者の増加、制裁を科す側のコスト、相対的な貧困は、出典が無いので入れていません。公共投資は2本の研究を両方使うと二重計上になるので、1本だけにしました。

例外を1つだけ作った

10月18日に、政治を本物らしくするため、解散総選挙、年齢層ごとの支持、議会と政治資本、スキャンダル、外交を足すことにしました。ところが年齢層ごとの反応、政治資本、解散の条件には実証の係数が見つかりません。そこで台帳に「ゲーム設計値(出典なし)」という節を別に作り、決まりの例外として置きました。画面にもそう出し、出典つきの値が見つかれば差し替えます。スキャンダルの頻度も、米下院の議員1人当たりの値を閣僚20人に換算した推計なので「確度が低め」と表示しています。

政策なしで回して、数字を直した

バランスは「政策を何も打たずに回すとどうなるか」で測りました。5か国を複数のシード(運の番号)で回して、本物の数字と並べます。外れていても係数を足すことはできないので、二重に数えていないか、研究の標本の外へ外挿していないかを探しました。

見つけたこと(政策なし)原因直した後
米国とドイツの債務が発散して無限大債務が研究の標本(0〜200%)の外に出ても罰則を掛け続けた罰則に使う債務の乖離を±100ポイントで止めた
100年後の債務が米国15,000%、日本2,300%IMF見通しの先で、債務が「基準」より増えた分に罰則が掛かり続けた米国438%、サウジ255%、ドイツ125%、日本178%、ナイジェリア42%
1期目の再選が30回中2回(7%)「与党のコスト」と「連続任期の減点」で同じものを二重に数えていた日本68%、米国65%、ドイツ47%、ナイジェリア45%
サウジのクーデターが年8.9%仮の均等配分のまま実測の年0.76%
日本のデフォルトが年2.9%(100年で3回)債務の大きさだけで世界の件数を配っていた年0.32%(100年で27%)

選挙が勝てなさすぎた

本物の現職は、先進国で52%、途上国で44%が再選されます(Brender & Drazen 2008)。この値を検算の基準として台帳に置き、政策なしの1期目の再選率と並べました。二重計上を外した後も、国ごとの原因が残っていました。

ナイジェリアは19回中0回でした。開始時点ですでに続いている内戦が3年目に終わると、毎回−11.4%の恒久的な損失が出て、成長が−10%、支持率が20%台になっていたのです。10年続いた内戦の損失はもう出ていますし、IMFの見通しにも内戦は含まれています。そこで開始前の分を損失に数え、見通しとの差に減点を重ねないようにしました。

ドイツは34%でした。ユーロ圏の国が「中央銀行なし」の扱いになっていて、原油ショックで物価が上がっても利上げが起きなかったのが原因です。中央銀行では、金利の水準を基準年から逆算したせいでナイジェリアの中立金利が−18%になり、2年で政策金利が0%に張り付く穴も見つかりました。

できごとが起きすぎた

クーデターは、一覧が取れたので、1990〜2025年の132件から政体と所得の組み合わせごとの実測の年率に替えました。冷戦後に頻度が半分になっているので、1990年からにしています。デフォルトは、世界の74件を先進国とそれ以外に分けて配るようにしました。最初は先進国を1件と数えて日本は年0.16%でしたが、研究の本文を取得して読むと先進国はギリシャ2012とキプロス2013の2件で、年0.32%に直しました。

銀行危機は、仕様どおりGDPの割合で配ると米国にほぼ毎年起き、小国にはほとんど起きません。研究の一覧には小国も多いので、国の数で等分しました。地震は、M7以上を全部数えると日本で年90%を超え、毎年のように大地震が出ます。遊んでいてそれに私が気づき、被害の警報が出た地震だけを数える形に変えました。

また、繰り返し起こるできごとをそのまま足すと、平均の成長が0.5〜0.8ポイント下がりました。IMFの見通しはもともと平均的な損失を含んでいるので、これも二重計上です。期待される損失を毎年戻し、平均では見通しと同じ成長になるようにしました。

サウジアラビアの財政と「詰み」

政策なしのサウジアラビアは、基礎収支−4%が続いて債務が発散し、平均34年目にデフォルトしていました。本物の政府は債務が増えると収支を直すという研究があるので、財務省が毎年財政再建を「提案」する仕組みを足しました。自動で直すとプレイヤーの政策を上書きするので、採るかどうかはプレイヤーに任せます。提案を採ると50回中17回が完走しました。

次は詰みでした。支持率が25%を下回ると政治資本の回復が止まり、20年目以降は何もできなくなっていました。回復に最低+3を置き、財政再建のコストを一律20から額に比例する形にしました。財政再建による支持率の下げ(−1.3ポイント)が永久に残り、提案を1期に2回採っただけで米国とドイツの再選が0〜10%になっていたのも、2年で戻す形に直しました。直した後は、提案を2年に1回採るとデフォルトは50回中36回から10回に減り、完走は29回になりました。

100年は続けられるのか

10月18日に「100年続けられるか」を確かめると、素朴な戦略の民主国は最長でも29〜60年で必ず負けました。原因は2つありました。連続任期の減点が、選挙に勝つたびに増え続けていたこと(元の研究の標本は最長5期まで)。そして、解散の加点+5が選挙後の支持率にも残り、2年ごとに解散すれば勝ち続けられる穴があったことです。減点は在任年数で数えて5期分で止め、+5は投票日だけの効果にしました。

直した後は最長19〜20年でした。5期目以降の約−6.6ポイントを越えるには支持率54%を保ち続ける必要があり、支持率はIMFの見通しより良いかどうかでしか動きません。25回の選挙で勝ち続けるのは構造の上で無理で、本物も同じです。

100年を狙える作りに変えるか、本物に忠実なまま短い直しで済ませるか。私は後者を選びました。目標の100年はそのままにして、遊び方に「民主国は何年もつかの勝負、100年完走は選挙のない国向け」と書き、結果画面では在任年数をその国の本物の最長と並べます。他のプレイヤーとの順位ではないので、ランキングを付けない決まりには当たりません。表示上の題もこれに合わせて「あなたは何年総理を続けれる?」に変えました。

迷って決めたこと

  • 自動で進めない。何年も自動で進む案はやめ、1年1ターンにしました。毎年政策を打ちたいからです。
  • 「自分の政策」は名前だけ自由。好きな政策を1つ入れられますが、台帳に無い効果は作れません。自由なのは名前と規模で、効き方は給付、歳出削減、公共投資、減税、増税、研究開発、子ども向け給付から選びます。名前は計算には使いません。
  • 評価は点数にしない。年末の評価は、同じ乱数で政策なしに1年進めた場合との差を言葉で出します。ただしこれでは今年足した分しか見えないので、何もしなかった国を同じ乱数で並べて走らせ、就任からの累積の差も見せるようにしました。
  • 指導者の呼び名。米国の首脳まで「総理」と呼ばれていたので、国ごとに変えました。政体のデータは台帳に無いので、5か国だけ手で持つ演出の扱いです。
  • 英語と韓国語。最初の作業ルールでは「英語化はやらない」でしたが、10月18日に対応しました。日本語の文をそのまま辞書の鍵にし、訳はそれぞれ1,151件です。

手間がかかったところと、作ってわかったこと

手間がかかったのは、まずデータの取得です。IMFのサイトは自動の取得を弾くので、研究の本文や付録は画面付きのブラウザで取りました。距離のデータは統計ソフトの形式で配られていたので、それを直接読む道具を書きました。

演出は何度も作り直しました。出典が要らないのは演出の閾値だけで、計算には使わないと最初に決めてあります。そのうえで、1年を1日ずつ進め(1倍速で1年12秒)、できごとや投開票の日に止めるようにしました。音はブラウザの発振器だけで鳴らし、音源、フォント、画像のファイルは同梱していません。

記録を見返すと、直した数字の多くは同じ2つの形でした。1つは二重計上です。見通しに含まれる損失をもう一度足す、同じ「任期のコスト」を2つの研究から重ねる、といったものです。もう1つは、研究の標本の外への外挿です。債務の罰則も連続任期の減点も、標本の範囲で止めたら落ち着きました。それらしい値で埋められないので、外れた数字が出たときは、この2つを探すのが直す道筋になりました。

そして、本物の数字に合わせて作ると、民主国で100年は続けられないという結果になりました。ゲームの題は、その結果から決まりました。