元総理を出そうとして、実名は使わないと決めた

「元国会議員も出るようにしたい、有名な人はレアキャラで」
この依頼にどう応えるかで、少し考え込んだ。

候補者モードで戦っていると、対戦相手はだいたい無名の架空の人物だ。名前が生成されて、当選回数からパラメーターが決まって、それだけ。
党首だけは別枠で用意してあって、決まった選挙区にいる。そこに「元国会議員も出してほしい。超有名な人はレアキャラで」という依頼が来た。

面白い。すぐに実装したくなった。ただ、その前に決めなければいけないことがあった。

実名を使うかどうか

「元総理」を出すとして、名前をどうするか。

このゲームは最初から、登場人物をすべて架空にしてある。免責にも「登場する人物・政党・団体はすべて架空」と書いた。
一方で「いま総選挙をしたら」というモードでは実在の政党名をそのまま使っている。こちらは公表された世論調査の数字から議席を予測する、事実に基づいた計算だからだ。

この線引きを踏み越えるべきか、少し考えた。

結論としては、実名は使わないことにした。
このゲームでは候補者が落選する。スキャンダルが報じられる。過労で倒れることもあるし、任期中に亡くなることもある。実在の政治家の名前でそれを起こすのは、たとえ公人であっても、やっていいことの線を越えていると思った。政党名を事実として扱うのと、人物をキャラクターとして動かすのは、別の話だ。

幸い、既にあった党首のデータが答えを持っていた。
「岸辺 文夫」「枝野尾 幸太」「玉井 雄一朗」——実在の議員をモデルにしつつ、姓と名の両方をもじってある。誰のことか分かるが、その人ではない。この距離感を、元職にもそのまま使うことにした。

めったに出ない、から価値が出る

15人の元職を用意した。元内閣総理大臣が4人、元大臣クラスが8人、党を創った人が1人、といった顔ぶれだ。

レア度は3段階にした。党首は毎回いる。元大臣クラスは35%の確率でその回に出馬している。元総理は8%。
出るかどうかを選挙のたびに抽選する、という形にしたのがよかったと思う。「引退した大物が返り咲きを狙って出馬してくる年もあれば、名前が挙がるだけで終わる年もある」——実際の選挙でもそういうことは起こる。

パラメーターは、当選回数から機械的に導く既存の式を土台にしつつ、元職だけ別の重みにした。
知名度と党内影響力は桁違いに高い(元総理なら98)。地盤も厚い。だが体力は落ちていて、健康も年相応。年齢は70代後半になる。議席は持っていない——返り咲きを狙う、浪人の身だ。
40回まわして測ったら、狙いどおりの頻度で現れた。

ついでに見つかったバグ

実装のあと、念のため「実在政党のモードには架空の人物が出ない」というテストを書いた。落ちた。

調べると、政党の ID が架空と実在で2つ重なっていた。kokuminkyosan だ。
架空の「国民本党」と実在の「国民民主党」、架空の「日本共生党」と実在の「日本共産党」。どちらも同じ ID を使っていた。

著名人物を配置するコードは「その ID の党がいるか」で判定していたので、実在政党のモードでも架空の人物が紛れ込んでいた。
事実に基づいて議席を予測するモードに、架空の人物が候補者として立っていたわけだ。今回の追加分だけでなく、以前からそうなっていた。

直し方は簡単で、データセットそのもので切り分けるようにした。ID の一致で判定しない。
テストを書かなければ、たぶん気づかないままだった。新しい機能を足すときについでに書いたテストが、前からあった穴を照らすことがある。

スタンプラリーに挑戦する 行った場所・気になる場所は、現地チェックインでスタンプに残せます。 みんなのコースを見てみる 会員が作ったスポット巡りのコースを都道府県から探せます。自分だけのコースも作れます。 運営者の個人noteも書いています AI活用やサイト運営で気づいたことを、もう少し個人の視点で掘り下げています。

※運営者が個人で書いているnoteです。

技術ブログ一覧へ戻る