観We Become What We Behold 紙面観察ノート

報道の連鎖を数字で読む ― 怒り比率の計算

街が抗議を始めるのは、怒っている人が半分を超えたとき。コードの式は1行ですが、数える対象を間違えると答えが変わります。

01コードの式

第三幕の判定は、怒っている人の数と住人の数だけで決まります。叫ぶ怒った人を写すと、写したあとに怒りが4人増える前提で、次の比率を計算します。

比率 =(写真を撮った時点の怒っている人数 + 4)÷(住人の数 − 1)

分母から1を引くのは、写真を撮っている観察者を数から外すためだと読めます。ただしコードに説明はなく、住人の数に観察者が含まれているかどうかも明記されていません。このページの計算は、コードの式をそのまま写したものです。

023つの分岐

比率が出たあと、ゲームは3つの帯で見出しを変えます。0.75未満、0.75以上1.0未満、1.0以上。1.0以上になると、第四幕(殺人)へ進みます。

抗議する恋人たちが現れるのは、この判定とは別に、撮影後の街の怒り比率が0.5を超えたときです。コードのコメントには「MORE THAN 66%」と書かれていますが、実際の条件は0.5です。

怒り比率と見出し・進行
比率見出し次に起きること
1.0以上EVERYONE HATES EVERYONE!!1!第四幕へ。殺人者の登場
0.75以上1.0未満ALMOST EVERYONE HATES EVERYONE...怒りが増えたまま第三幕継続
0.75未満SQUARES HATE CIRCLES または CIRCLES HATE SQUARES怒りが増えたまま第三幕継続
0.5超(別判定)—(抗議する恋人たちが出現)抗議の写真が撮れるようになる

03計算例

住人が20人、怒っている人が4人のときに、叫ぶ怒った人を写したとします。比率は(4+4)÷(20−1)=8÷19≒0.42。0.75未満なので、見出しは「SQUARES HATE CIRCLES」か「CIRCLES HATE SQUARES」になります。

怒っている人が6人なら(6+4)÷19=10÷19≒0.53。0.75未満のままですが、抗議の条件である0.5は超えるため、街に抗議する恋人たちが現れます。

怒っている人が15人なら(15+4)÷19=19÷19=1.0。ここで「EVERYONE HATES EVERYONE!!1!」になり、第四幕へ進みます。

4人から
8÷19 ≒ 0.42。見出しは憎しみの宣言、抗議は出ない
6人から
10÷19 ≒ 0.53。抗議が出る
11人から
15÷19 ≒ 0.79。almostEveryoneHates の帯に入る
15人から
19÷19 = 1.0。第四幕へ

04この計算の仮定

このページの計算は、次の仮定に立っています。住人の数は、写したあとに増減しないこと。写した怒った人が、写したあとも怒ったまま数えられること。そして分母の「−1」が観察者を指すこと。

実際のゲームでは、写真を撮るたびに観客が入れ替わり、パニックの前後で住人の種類も変わります。そのため、この式で出るのは「その瞬間の判定」であって、数枚先の展開を予測するものではありません。

数値はすべてコードから取っていますが、式の解釈には幅があります。断定的に読まず、条件の目安として使ってください。

05コードとコメントの食い違い

抗議の条件について、コードは「angryRatio>0.5」、コメントは「MORE THAN 66%」と書いています。0.5と0.66では、住人が20人の場合で怒りが10人必要か13人必要かという差になります。

当サイトはコードを優先し、0.5と書いています。コメントの66%は、過去のバージョンの名残か、書き間違いだと推測しますが、確認はできていません。

怒り比率の計算

叫ぶ怒った人を写したときの判定を、公開コードの式で計算します。 比率 =(怒っている人数 + 4)÷(住人の数 − 1)。数値を入れると、どの見出しになるかが出ます。

怒り 4 人・住人 20 人 → 比率 0.42。見出しは「CIRCLES HATE SQUARES」。

この計算で使う閾値(コードの分岐)
比率起きること備考
1.0 以上EVERYONE HATES EVERYONE!!1!第四幕(殺人)へ
0.75 以上ALMOST EVERYONE HATES EVERYONE...怒りが増えたまま第三幕
0.5 以上抗議する恋人たちが出現見出しとは別の判定

仮定:住人の数は撮影の前後で変わらない/写した怒った人は写したあとも怒ったまま数えられる/分母の「−1」は観察者を指す。 コードに説明はなく、この解釈は推測です。