はるすのぶろぐ

ブログのないようがないよう

『The Wake』プレイした

暗号を解いて日記を読んでいくゲーム、The Wake: Mourning Father Mourning Motherをクリアした。何個か暗号解けなくて躓いていたが3時間ほどでトロコン。

store.steampowered.com

作者のSOMIさんは前にプレイしたReplicaとか、未解決事件は終わらせないといけないからを作った方。こういう暗号・パズル要素とストーリー要素を絡めるのがすごくうまい作者さん。

halss.hatenablog.com

ストーリーとしては、主人公が記憶喪失になり、自分の妻の名前すら思い出せない状態。暗号化された日記帳があるので、これを解読して記憶を取り戻そうみたいな感じ。日記帳には祖父の葬儀に関する(そして主人公の過去に関連する)内容が書かれているようだが、暗号を解かないと読めない。

暗号はシーザー暗号、キーワード暗号、日付暗号の3種類のどれか(あるいは組み合わせ)によってなされている。つまり英単語が何かしらの別の英単語になっているので、AがEに置き換わる暗号ならEのプラグをAに挿すみたいな操作で復元していく。

暗号を解くためのヒントがメモに残されており、それ(日記を読むことで解決することもある)を使うと鍵がわかり、解読できるという感じ。第9章の暗号(時計のやつ)がどうにも解けずそれだけネットで調べた。普通に1, 2, 3, ...になってるんかい。

暗号もA~Zすべて解く必要はなく、5個正解すると残りは自動でやってくれるし、プラグの位置があってれば緑のランプがつく親切設計......だが、だんだんと進むにつれ緑のランプは消えるのでちゃんと解かなきゃいけなくなる。

暗号解読のパートがほとんどで、ストーリーとしてはかなり一本道で短いんだけどかなり謎の残る、そして重いストーリーだった。


以下ネタバレかも。

主人公はいわゆる父親のいない貧乏な子供で、父親を恨み母親を気遣い、それでも「いい子」であろうとしてきた。でも、周りから見たら貧乏な可哀想な子供でしかなかった。「貧乏人の子供はすぐ分かる」。

己の不幸のすべては自分と家族を捨てた最低な父親にあると幼いころから思い込み、一種アイデンティティにしてきたが故に、父親を許せないし憐れむこともできない。許すというか一定の落としどころを見つけたのであろう兄や母親の気持ちがわからない。そんな気がした。

「他人は何も考えず、幸せに暮らしている」「他の人は、絶対に離婚しないと普段から考えることはしないんだ。」という言葉が重い。

ただ、あんまりこの日記がもともと祖父のモノであった点とか、嘘で置き換わる性質という部分があんまり回収されていないような気がするんだよな......。後者は作者の実体験をもとにしているけど完全にノンフィクションではないよというメタ的な視点もすることはできるが。

きっと主人公の父もその父(=祖父)への複雑な思いがあり―例えば商売を広げて借金を抱えて生活が苦しかった?―そういった感情や"遺伝"を暗号化された日記という形で引き継ぎ、父親の抱いていた感情を知っていたのかなあ。

『Replica』プレイした

他人の携帯電話を覗き見てテロ容疑の証拠を探すゲーム、『Replica』をプレイした。

store.steampowered.com

マルチエンディングで計12個のエンディングが存在し、途中からはヒントを見ながら全コンプした。実績はエンディングとは関係ないものもあったけどなんとかコンプ。暗号解読の面もありつつ、ジョージオーウェル1984』から着想を得たというだけあって国家からの監視や抑制、ビッグデータというストーリー的な面も結構あった。

作者の別ゲーをプレイしている配信を見たことがあってリストに積んでいたら安くなっていて買った。現在350円なので↑みたいな世界観とか暗号解読が好きならやってほしい。

感想(ネタバレ無し)

最初にスマホが渡されて、パスワードを推測して当てるところからいきなり始まる。ドット絵だからこそ監獄っぽい薄暗い中でスマホを触っているみたいな状況が伝わってきてだいぶ怖い。マウスカーソルも指の指紋っぽい感じ。パスワード探しにあれこれしている間に母親っぽい人から不在着信があったり「お願い、無事なら返事して…」みたいなメッセージが来たりする。

パスワードが分かって(ガバガバ)ロック解除すると4885から電話がかかってくる。これが国家安保部で、いわゆる監視官というか色々指示を出してくる存在。怖い。この指示に従って、持ち主の個人情報を集めたり、SNSやアルバムのロック解除してテロ容疑の証拠を集めたりする感じ。操作していくうちに持ち主に同情したとしても、4885に続けろと脅される。そんなこと言われなくても調査しますって人は、この国最高の愛国者ですね。

ネタバレ無しで見れたエンディングは0, 1, 3, 4, 5, 11で、実績は「非常電話」「スタン・リー」「ハウンド・ドッグ」「愛国の勲章」だった。それ以外に関してはいろいろやったけどわからずネットで検索してヒントを読んだ。正直エンディング8~10は自力無理だろ。

監視社会・自由を犠牲にした安全な社会ってどうなの?という点もそうだし、ビッグデータによってレールの敷かれた社会とかプレイヤーの無邪気な悪意みたいなものを見せられたな、って感じ。




ネタバレしかない。少なくとも2周してエンディングコンプをし始めてから読んでください。

ヒント(ネタバレあり)

  • ゲームから抜ける:ESC長押し。フルスクリーン・ウィンドウモードの切り替えはFキー。

  • スマホのパスワードは、数字4桁で一番よくやるガバいパスワード。メッセージを見るとよい。

  • to-doアプリ入れると説明を聞かされる。スマホなのでスワイプ。4885の指示通りチュートリアルをやる。写真のアルバムのプロパティとか全部見る。

  • Likeアプリ:to-doアプリ入れて説明聞いてからパスワード入力しようとするとto-doに登録される。メールアドレスはどこかから見つけてくる、パスワードは何度か間違えるとヒントが出てきて、それを探しに行く。

  • 秘密のアルバム:途中で持ち主が吐くのを教えてもらえる。推測しようと思えばできる。2周目以降はパスワード入力画面に行くだけで中身を見たことになる。

  • 告発しても信じてもらえない:場所が分からないと助けてもらえない。スマホの位置情報をどうにかONにしたい。

  • Lawアプリ:インストールして1回クリックする。あとは法律違反っぽいところをかたっぱしクリックして✅が出たら長押しして罪を申告する。別に間違ってても罰はない。9個。

  • Followアプリ:エンディング回収には関係しない。IDはLikeアプリでわかる。パスワードは何度か間違えると初期化コードが発行される。

  • 初期化コード:どうにか数字4桁にしてパスワードとして打ち込む。わからなければ、電話画面を見るといい。

  • Bluetooth:オンにすると近くにあるっぽいトムの電話がでてくるが、パスワードが分からない。

  • トムの電話番号:エンディング4で教えられる番号を数字4桁にする。前半2桁と後半2桁で考えると分かりやすいかも(特に情報系)。

  • 左上にずっと邪魔なやつがある:▶のところを押すと格納される。ちなみに右側を押すと1クリック1分で時間が進む。

  • スルーモ:>を押すと検索できる。モールス信号は検索できないが、「スルーモ」なら検索できるらしい。ヒットする画像のプロパティとかを見てみる。

  • モールスと言えば、エンディング1~4のDAH DITはそれぞれツー、トンを表している。エンディング1が1桁目、2が2桁目、…のように変換すると数字4桁になった。
  • パーティションが2個、すべてのパスワード入力画面が怪しいらしい。

  • 入力する内容が分からない:キーボードで入力できる。指示文をそのままググるとある映画が出てくる。ターミナルで似たような文章が出てくる場面があるので、その次の文章(主人公の名前を置き換える)を入力して↲をクリックする。文章でもいいし、一単語でもいい。

感想(ネタバレあり)

エンディング・実績を見た順で書きつつ条件とかも軽く書いておきます。

実績「非常電話」

実績条件:911に電話をかける。

実は一番最初に見た。電話画面があったらとりあえず警察に電話しますよね。国家安保部も主人公の状態もわかっておらず、むしろこちらが絶対的上位の立場でのぞき見している変態だと思い込んでいたので、閉じ込められていて…と言われて??になった。

ENDING 4

条件:テロ容疑の証拠を9個集める。/(2周目から)処罰規定を選ぶ。

1周目。正直ディッキーが本当にやったのか?4885の理屈が無理やり過ぎないか?って疑念はあったものの、自分の安全のためには仕方ないし、普通に断罪した。秘密のアルバムのパスワードを教えられて、どうせテロの情報があるのだろうと思って覗いたら本当に何でもない愛の写真だけが残っていて少しがっかりした。今思うと完全に4885の指示や教育に従ってディッキーをテロ犯そのものだと思い込んでいて恐ろしい。アイヒマンに関して言及する箇所があるが、本当に「強制されているから」「安全のためにしょうがないから」という理由で覗き見を正当化しており、アイヒマンテストにかなり近しい。

「全ては国家にあり、
国家以外には何もなく、
国家に反抗する者は存在しない」

実績「スタン・リー」

2ページ目のアプリを連打すると無駄なことはやめろ、と言われるので連打を続ける。

ENDING 4(2回目)

2周目。4885の指示より先にスラスラ個人情報を割り出してくるトムくん。Lawアプリが追加され、実際に処罰を決めることができるようになる。監視国家あるあるのヤバ法律ばっかりでどんどん刑期が追加されていくの面白かった。1周目は拷問するまでわからなかった秘密のパスワードをトムがすでに知っているし、拷問を肯定するような発言もあるし、染まりまくっているのが感じ取れる。

ENDING 0

条件:4885からの電話を無視・切り続ける。

エンディングコンプするためにまずは電話を無視するところから。電話がかかってくるのに無視し続けるのすっごいストレス。「ゲームみたいに思っていたのかね?」と言われて軽率な行動をしてしまったと思いこまされる。今までも裸でスマホを触っていたと知らされる衝撃的な展開。

ENDING 5

条件:位置情報をONにした状態で、ソン・ヒメ記者に電話をかける。

設定項目に位置情報があったので(何か実績になるかなと思って)ONにしていたら、最初にうまくいってしまった。国家保安部に閉じ込められている証拠をリークして、なんとか暴走を止められた感じ。記者の反応とか4885の対応から「失敗か」と思ってがっかりしたが、途中で殴り込んできてくれてうれしい。「まだ帰れていないが、正当な裁判を受ける権利を得た」というぎりぎりのところで踏みとどまれている感じが、これからまた始まりそうなオーラも感じさせる。

ENDING 3

条件:位置情報をONにせず、記者に電話をかける。

失敗することはわかっていても、告発をしても証拠がなく小さくあしらわれる悲しさとリアリティは苦しい。

ENDING 1

条件:お母さんからの電話を取る。

ここで初めてトムの電話をディッキーが調べていることを知る。ディッキーの母親に彼は生きていることを伝えたのに、彼本人に陥れられる。正直今思えば、決定的な仲違いをさせるための嘘の可能性もある。トムに対して「ディッキーが考えていることはすべてわかるが、それを本人の口から離させることが重要なのだ」という話もしているし、ディッキーは口を割らなかったかもしれない。

実績「ハウンドドッグ」

実績条件:ENDING 4を2回見る(1周目を除く)。

法律違反を見つけて監獄にぶち込むのを2回もやれば、立派な国家の犬だよね。

ENDING 11

条件:何かしらの処罰内容で新法(ハウンドドッグ取得後解禁)を選択し、ディッキーを射殺する。

怪物になった。

強制されたから。法律が新しく追加されたからつい興味本位で。時間表記が赤色になり、調査対象もディッキーたちからシンジ・碇に代わり、リスタートしても戻らない。一線を超えるとはこういうことなのかな。

~~ここで限界だったので、ヒント・スポイラーを見た~~

ENDING 2

条件:1818からの座標を長押しで申告し、おかしなナンバーの調査がto-doに追加されてから、1818に電話する。

Google map開いて何かあるのかと思ったけど、1818に電話するだけだった。電話するとゲーム会社につながった。どう考えても位置情報を使ったリアル連動ゲームっぽいのに、4885に伝えても伝わらない。ゲームを異常に警戒し取り締まりの対象とするのも、「座標をどんな人間が受け取ったかによって結果は違ってくる」というのも、何かと理由をつけて取り締まろうとする監視国家っぽさが嫌だった。ディストピア小説でも、こうして娯楽は禁止されて国民は灰色になっていくんだろうな…。嫌なルートに転がり落ちていくのが見えるという点でかなり後味の悪いエンディングの一つ。

実績「愛国の勲章」

条件:集会のメンバー、場所、テーマが分かって4885から「国家機密を漏洩するな」と言われてからディッキーの友達に電話をかける

マージに電話をかけた。国家保安部に従ってるふりをして情報を集めてから仲間に連絡して逃げさせる、という成功すればそれはそれは素晴らしい物語になっていたのだろうけど、失敗する。たぶんトムとその家族は見せしめに殺されて国民にこうなるのだぞと示すのに使われるのだろうなぁ。

実績「Please, Don't Touch Anything」

ENDING 6

実績条件:BluetoothをONにし、パスワード1015を入力して赤いボタンを手に入れる。
エンディング条件:赤いボタンを11/5になってから押す。

トムの番号が分かればいいことはわかったんだけど、AE16を4桁にできなかった。AE(16)かよ。現実時間で2.5時間待った。待ってからボタンの右側を押すと時間が加速することをネットで見た。
ついにディッキーと直接話すことができて、しかも"爆弾ボタン"を握らされて、主人公自体が押すルート。国がそうやって冤罪吹っ掛けてくるなら本当にそうなってやろうとするのは、それは悪手だろという思いと、しょうがないなという思いがあった。

爆弾のボタンだから、多少覚悟をもって押したつもりだったんだけど、実はただのオナラボタンだった。国中のスマホをハッキングして、ただのオナラが鳴る装置に変えてしまったから監視なんて必要なくなったということらしい。革命を起こす張本人になれるのだという高揚感がバカらしくなったが、ほっとした。トムの「バカらしすぎて...泣いちゃいますよね。」というセリフがすごい好き。

それにしてもPapers, Pleaseのボタンまんまでワロタ。許されるん??

ENDING 7

条件:赤いボタンを用意して、押さずに11/6になる。

連打して27時間経過させた。おそらくトムはディッキーを監獄にぶち込んで解放されて、TVで革命の様子を見ている。オナラ装置になる合図がないので、普通に武力で革命を起こそうと集会して機動隊に止められた。TVでどこかの争いごとをみて自分には関係ないやと鼻で笑うという現実にもありそうな光景。

実績「ピーピング・トム」

実績条件:Followのパスワードを間違え続けて初期化コードを入手した後、初期化コード2255を入力してFollowにログインする。

「覗き見コードを入れたのは君だったのか?」なんなんだろう。

ENDING 10

条件:スマホのパスワードに4989を入力し、キーボードで"knock"(もしくはknock, knock, tom)を入力してRed Pillを選ぶ。

エンディング1~4のモールス信号を変換したパスワードを最初の画面で入れることで、「もう一つのパーティション」にログインするらしい。ログインするとwake up TOM, follow the white rabbitと表示される。これは映画『マトリックス』で登場する文言らしく、要するに盲目的に従うな、目覚めろというやつらしい(見たことがなかったので解説頼り)。

赤い薬を飲むとAF16(トムの番号)や8388(フレディーの番号)のチャットに案内される。今トムのスマホはディッキーが持っているのでAF16=ディッキー。「おかえり、トム」と言われ、国家が監視しているのではなく、すべての事業者が儲かるからこうやって監視しているのだと告げられる。それからのトムは、携帯を置いて出かけたりパーソナリティ広告を意図的に混乱させたりする。トムもまた一人監視社会に抗う仲間になったという点で、True Endっぽい。

レプリカ レプリカ アナタはレプリカ

ENDING 8

条件:Blue Pillを選ぶ。

青い薬を飲むと、親の顔より見たBIG BROTHER IS WATCHING YOU!が出る。プライバシーの権利を自分から差しだしレコメンデーションのすべてになされるがままのトム。それに危機感はあまりない。「ある意味幸せな敗北」というやつかなぁ。

映画マトリックスにある「現実世界で生きていくことを決断し赤いカプセルを飲む」シーンのオマージュで、Red Pill(赤い薬), Blue Pill(青い薬)がそれぞれ自分で世界を見て決断するか、このまま自由はないが楽な監視社会に生きていくか、という二択なのだろうと思う。

プレイヤーはもしかするとそうやってトムを操り続ける監視社会・ビッグブラザーそのものかもしれないと思った。国家保安部に言われたから無実なディッキーの個人情報を探り/罪状を作り/時には射殺するプレイヤーと、その行動に従わされるトム。トムが目覚めて自分で行動するようになったから赤い薬を飲んだ後(エンディング中)はプレイヤーは何も操作できない…?(これはmilk outsideをプレイしたことに引っ張られすぎているような気もする。)

ENDING 9

条件:Red PillとBlue Pillを選ぶ画面でEscを長押ししてゲームを終了し、再度ゲームを起動する。

トムは賢いので~~できた!他のゲームも送れと作者にDMする、みたいな流れ。飛び降りたっぽい画像と作者の他のゲームの宣伝が入る。「2択以外を選べて賢いね、他のゲームでもそうやって遊べそうだね^^」というメタい皮肉だろうと思う。

実績「多忙、多忙、多忙」

実績条件:to-doアプリ, Likeアプリを入れたあと持ち主の名前・電話番号を見つける前にLikeアプリにログインする

説明文が「スピードアップしましょう」だからタイムアタックかと思ってやったけど全然うまくいかなくて解説見たら違った。4885からは「チュートリアルからプレイしてくれ」と若干メタいことを言われる。

実績「非暴力運動家」

実績条件:ロック解除せず5分放置する。マウスもキーボードも触らない。

個人情報を探ることに一切協力しないなら何もしないのが一番だよね。裸でスマホ持って何もせず突っ立ってる主人公...。これによって家族がどうなったかは分からない。

その他

エンディングを全てコンプしたからかわからないが、ホーム画面が女の人の顔と「if i can't dance to it it's not my revolution./踊れないなら、それは私の革命ではない。」というメッセージに変わった。元ネタはEmma Goldmanという作家であり、女性アナーキストのスローガン的な言葉らしい。

原文は「私は、美しい理想、アナキズム、慣習や偏見からの解放と自由を標榜する大義が、人生と喜びの否定を要求するべきだとは思わなかった。私たちの大義は、私が修道女になることを期待することはできないし、運動が修道院に変わることもないと主張した。もしそれがそういう意味なら、私はそれを望まなかった。」らしく、今回で言えば「自分自身の人生と喜びを否定し導こうとしてくるものからの解放」というメッセージなのかな。

参考→if I can’t dance to it, it’s not my revolution | if i can't dance to it, it's not my revolution

それにしてもこの女性は誰なんだろう。Emma Goldmanではなさそうだし、Steamコミュニティでも見つけられなかった。

スマホから個人情報を見つけ出して遊ぶぞ、ある種社会貢献みさえある暗号解読ゲーだ!と思っていたらしっかりと自分の無邪気な悪意を見せつけられて嫌な気分になった。言われたから何かをするのは楽だけど、目を背けているだけにすぎず、必ずしもいい結果を生むとは限らない。自分がいつ被害者側になるかもわからないのだから。

半ばネタバレをされてしまった気もするが、映画『マトリックス』を見てみたくなった。終わり。

ICPC2024国内予選参加記(LastMagia視点)

2024/7/5に行われたICPC国内予選に参加しました。4完91位で(おそらく)敗退かつ、私のICPC参加は終わりということになります。

去年の国内予選参加記はこちら。

halss.hatenablog.com

チーム

メンバーはecasdqina(黄), hals(水), Satoooon(緑)。去年のメンバーがひとり引退したので、X(旧Twitter)のDMで声をかけて参加してもらいました。私が今年に入って水色になったので、去年とカラーバリエーションは一緒です。

チーム名LastMagiaはサービス終了が告知されたマギレコから(らしい)。

模擬国内

Discordのスレッドとか使いながらエカスドくんと2人で参加。こどふぉがおま環かと思ってクソ焦ったりした。Cをペナ出しまくりながらなんとか3完してギリ落ちてるラインって感じ。

当日

Satoooonくんが当日朝に無事帰国(えぐい)。授業やバイト等をこなして16時過ぎに競技会場に到着し、ここで初顔合わせ。ラムネとキャラメルを差し入れ。

開始2分前まで印刷できなかった去年の反省からプリンターの準備をマストで進める。研究室からプリンターを借りてきてWi-Fiにつなぎ、5分前には印刷できるようになる圧倒的成長。今年はライブラリを電子で持ち込み可なので助かった。

プリンターも泣いています

問題文を印刷し、C問題以降を私とSatoooonくんで読んでいる間にエカスドくんがA, Bを通すぐらいのふわっとした作戦。

開始

0:00 問題文印刷開始。紙不足で1部と少ししか印刷できないのでシェアして読む。プリンター関連で毎年失敗していませんか?

2:18 A問題AC。C問題の図を見て、ABC356C - Tile Distance 2が思い起こされる。簡単枠が1,2問増えているらしいので、特にトリッキーなことをする必要もなさそう。

B問題のコーナーっぽいものを2人で考える。最初に並走している場合におかしくなるっぽい。修正して提出。

22:30(+1) B問題AC。C問題の概要を伝えると、制約が小さいので数式立てるよりDFS組んだ方が間違いなさそうらしい。念のためでかめに座標範囲取って計算。

私がD問題を、SatoooonくんがE問題を読む予定だったが座標アレルギーが出たので代わってもらう。E問題を読んで、c_1 = c_N以外のとき作れなくね!?という嘘解法が頭の中を駆け巡る。順位表を見て上位層が誰も解いていないことから反例を考える。

29:14 C問題AC。D問題を伝えてもらっている間もE問題を考え続ける。一度嘘に囚われるとずっと固執してしまうので、冷静なSatoooonくんに一緒に考えてもらう。一応F問題も見る。

1:02:38 D問題AC。なんかサイクルのやつらしい。E問題は(1,2,1,2)とかが作れることに気づく。じゃあこれは繰り返しならOKなのか…?と第二の嘘解法に囚われる。全員で解法を考える。

エカスドくんが解法を思い浮かび、それでだめなケースを考えるが思いつかず。紙デバッグとかいろいろやったけど解説のc=(1,2,3,4,5,6,7,1,8,9,5)ケースは思いつけなかった……。そのまま終了。

許せない

結果

ABCD(+1) 91位でおそらく敗退ということになりました。

ICPC-replayを使わせていただきました。

感想

あと10位上なら…という悔いは尽きませんが、3年間チームを組んでICPCに出られて、しかも2回は横浜大会まで行けてとてもよかったです。3年間出場してくれたエカスドくん、急に誘ったにもかかわらず快くOKしてくれたSatoooonくん、ありがとうございました。

私は早生まれではないのでICPCは引退です。「老兵は死なず、ただ消え去るのみ」という言葉もありますが、できるなら来年もコーチとしていっちょ嚙みしたいなと思っています。(何の実績も残していないのに老兵を騙るひと) TUTankhamunが一人ずつ引退していくの面白いですね。

運営さんありがとうございました。

3年目のラーメン

追記

かなしい。横浜優勝してください。

  • 個人的にがんばってほしい

LastMagia, その他阪大チーム

ICPC2024国内予選参加記(shinchan視点) - 橙になりたいaquarium

AtCoder水色になりました

2023/12/10のAtCoder Beginner Contest 332でAtCoderのレートが水色になりました!!

2024/2/10追記: ABC340で緑落ちしました

2024/2/17追記: ABC341で水色に戻りました

rating graph

ということで,恒例らしい入水記事を書いてみようかなと思います.が,なにぶん初めて緑色になってから約4年半,色変記事を書いてないので慣れてないところもあると思いますが大目に見ろ.

なんだったら書いた緑復帰で書いた色変記事がこれ(色変記事は何度でも書けばいいと思う話 - はるすえすしーのぶろぐ)なので,実質初めてみたいなところもあるとかないとか.どうせなら人生とか卵とか絡めた壮大でタメになっておいしい記事を書いてみたいですよね.

自己紹介

数多くの色変記事を読んできた僕は知っています,最初は自己紹介から始めるのがスマートな競プロerです.ここでできるだけスタートラインが貧弱であるかをアピールしておくことで,そのあとの努力を見せつけられるんです.

  • 技科大のB4.学部は情報系で,B3のときに高専から編入してきた.
  • 使用言語はPython→Julia.(C++は本当にちょっぴり)
  • JuliaのLanguage Ownerです
    2024/1/29時点
  • なんでJuliaを使っているかというと面白いからです. 友達がちょっとやっていたぐらいの理由でJuliaに乗り換えてからずっと使っていますが,Pythonより早いし,その割に書きやすいので.

精進記録

だいたい入水した当時のスクショです.

Achievement

ABC

ARC

AGC

Difficulty Pies

Heatmap

Languages

緑色から水色になるまでにしたこと

毎日1AC生活を171日間続けた

競プロから復帰するにあたり,競プロする習慣をつけないとまた飽きてしまうと思ったので(豊富にある)灰~緑diffの問題を毎日1AC以上するようにしました.帰省とかでPCに触れないときはPASTのA問題とかをスマホコーディングすることでしのいでいました.

灰diff埋めに効果はあるとかないとかよく論ざれていますが,私としてはACすること・そしてその習慣を自分に課すことで競プロを続けていけるのであればありだと思っています.解いた問題数は多い方がメンタリティにもいいですからね.

また,データ構造・アルゴリズムをまんま使うだけだと〇色diffで,応用する問題だと難易度が一色上がるということが増えてきた気がするので,その基礎力を付ける意味でも下位の問題を埋める意味はあると思っています.

ICPCに出た

大学の同期とICPC国内予選,横浜大会に2回出させてもらいました.参加記は以下から読めます.

暖色の人間のつよさを現実で初めて目の当たりにして,こうなりたいという目標が建てられた気がします.あと,チームメンバーの足を引っ張りたくないというモチベーションも湧くので,つよい人間とICPCに出ることは役に立ちそうです.

ICPC2023 国内予選 参加記 - はるすえすしーのぶろぐ

ICPC2023 Asia Yokohama Regional 参加記 - はるすえすしーのぶろぐ

ICPC2022 国内予選 参加記 - はるすえすしーのぶろぐ

デュアルモニターにした

一人暮らしを機に新しくモニターを買い,環境を整えました.片方のモニターで問題を見ながら,もう片方でVSCodeを開けるというだけで最高です.

いろいろ学んだ

思いつく学んだこと一覧です.正直今になっては緑色になるまでに必要とされている知識がほとんどだと思います.それだけレベルが上がってきているということなんですね.

  • 決め打ち二分探索
  • Priority Queue
  • ダイクストラ
  • ワーシャルフロイド法
  • 二次元累積和
  • mod上の加減乗除
  • ナップザックDP
  • next_permutation
  • 座圧
  • トポロジカルソート

逆にできないこととしては以下があります.

  • セグ木
  • 遅延セグ木
  • 強連結成分分解
  • ロリハ
  • BIT
  • 幾何(一生苦手です)
  • bitDP
  • 桁DP

これから

とりあえず水色を維持する!!!緑落ち芸人にならないように知識をちゃんとつける!!

学生の間に青色まで行きたいと思っています.蟻本にもそろそろ手を付けつつ,JOIの問題を解くことをチームメンバーにお勧めされたのでC++使って解いてみたい.

緑以下あるあるであるところの,手元でいろいろコード書いてみて実験して解法見つける癖(俗にいう解法ガチャですね)をやめたい.強い人はだいたい頭の中で解法とある程度コードを仕上げてから書き始めるのでコーディング中に止まることがほとんどないんですよね.というか頭の中で考察が済んでるのってカッコよくないですか?

ライブラリを整備する.どこで使うのかいまいちわかっていなくても,内部がどうなっているかちゃんと理解していなくてもペタリするだけで解ける問題を逃すのは痛い.そういう点ではACLの登場によりC++がさらに有利なんですよね.それに,ライブラリを整備しているうちに理解が進むことも多々あるため.

今年もICPC横浜に行く.国内予選やアジア大会で少しでも貢献できるといいな.

駄文ですが読んでくださりありがとうございました.あなたの競プロライフに少しでも役に立てば幸いです.

ICPC2023 Asia Yokohama Regional 参加記

チームTUTankhamunでICPC2023アジア地区予選に参加し、6完32位でした。去年も参加したはずなのに参加記がない。去年は3完33位だったらしいです。

解法に関してとか全くないので、その辺はほかのチームメンバーから出ると思います。 出ました。↓

note.com

国内予選

国内予選の参加記はこちら。

halss.hatenablog.com

チーム

チームメンバーはecasdqina, MATSUMAT, hals(ぼく)。色は黄色、水色、緑色。横浜までに水色なろうとしてたんですけど、間に合いませんでした。

戦略

エカスドくんがAB問題を解いている間にC問題以降を松くん・ぼくで翻訳してひたすら読む。

ABが解けたら多く解かれている問題 OR 簡単そうな問題の概要を説明して、エカスドくんに解いてもらう。

できるだけ誤読をなくして、サンプルを手元で動かしてみる。

~day0

特に練習とかはしていません。ABCとかには出ていました。

チーム紹介文と紹介スライドは去年と同じものを投げ、ホテルも去年と同じところを予約しました。

横浜大会のネタ記事などを書いていたら新幹線の指定席チケットが取れず、自由席になってしまいました。

halss.hatenablog.com

day1

8:50起床。荷造りが全然できていなかったので朝になって詰め込む。急ぎすぎてiPhoneの充電コード全部忘れてしまう。10:51発のひかりに乗って新横浜へ。曇っていて富士山は見えず。

13時すぎ産貿ホール到着。チーム名と大学名だけでregistrationを乗り切り、会場入り。Tシャツを着る、意外と暖かい。

チーム紹介ドキュメントを見たら、僕らとGoodbye2023以外みんな英語でした。

リハーサルはこれ見たことありますね~って言いながら一通りペナを試して全完。

じゃんけんに負けたため、今年もTeam Introduction担当に。ファラオの呪いに気を付けてくださいね~って言いました。

チーム紹介スライド

Luzhiledさんはうしさんではなく、うしさんと呼ばれているei1333さんとは別人であることを教えられてびっくりするなどしていました。

day1終了後はホテルに戻り、ホテル近くのとんかつ屋さんで2年連続カツを食べる。何とか食べきれたが脂が結構キツかった......。

カツ200g

21:00~ ABC330に出る。チームメンバーは寝てしまったのでぼく独りだけ参戦。1165→1192 (+27)。ICPC当日入水チャレンジ失敗。

ABC330

day2

あんまり眠れず、うとうとしているうちに7時起床。8:15ごろに産貿ホール内のドトールで朝食をとることで遅刻しないテク。

優雅な朝食

入場してすぐトイレへ。出てきたらめっちゃ行列出てきてびっくり。

本番

0:00 開始。問題の封筒を開けるときに松くん怪我する。
エカスドくんPCのセットアップ&A問題解き始める。A問題瞬殺ではなさそうだったのでB問題を松くん、C問題をぼくが読む。C問題は数え上げだけど制約ヤバそう。

0:15 A問題AC。松くんがB問題の概要を説明。ぼくと松くんで手分けして後の問題を読んでいく。

D問題を読む。バッカス記法書いてあるのがキモくて構文解析っぽく見えるけどやってることそんなに難しくなさそう。(というか文字列に対しての難しめの操作って全部構文解析っていうのかと思ってました...)
F問題を読む。市松模様の行・列を反転するクエリが与えられて、エリアの個数を答える。ABC-Eぐらいで出そうな気がするし、考えれば解けそうな気がするけどもっと簡単な問題があるかもしれないので翻訳を続ける。

0:57 ちょっと手間取ってたっぽいがB問題AC。この時点でDEFHのACが出ていて、F>D>E>Hの順。とりあえずFを伝える。set使えば行けそうらしい。

H問題を読み始めるが難しそうなのでいったん放棄。次に解くであろう(そして制約が緩くて割と簡単そうな)D問題を考える。圧縮してもしなくてもバッカス記法通るやん。松くんはG問題で確率 mod 998を手計算で復元していた。

1:35(+1) サンプル合ったのでF問題提出するも…OUTPUT-LIMIT。なんで!? デバッグ出力を消して、無事AC。次にACが多いD問題の概要を説明。実は区間DPでロリハさえいけるんですね~(ぼく「すげ~」)。

H問題読み終わったけどむずそう。どう頑張っても状態数崩壊する。
IJを読む予定だったが、インタラクティブだしそんなに難しくないはず!という直感で飛ばしてK問題を読み始める。結果的には正解だったかも。

2:21(+1) 2(5(a))ではなく10(a)と答えてしまうプログラムでWRONG-ANSWER。1文だけ修正して提出、無事AC。圧縮するときの処理をちゃんと伝えていなかったぼくの責任。

今度は松くんがE問題概要を伝えている間にお弁当食べる。ミニカツサンド×3+おにぎり×2でうれしい。

K問題の英語が、分からん!松くんも合流して二人で読む。途中でdiskをデスクだと読み間違え続けてたことが発覚、英語力さん……になる。

なんとなく100mごとに区切ってクエリ出して、最大の区間をさらに10mごとに区切って…をx,y軸どっちもやるやつでいけそうかも。これ合ってるならぼく天才すぎないか?って調子に乗る。→普通に違いました。

3:11(+2) サンプル合ったので提出したらTIMELIMIT。修正して提出したらOUTPUT-LIMIT(2回目)!? デバッグ出力を消して再提出して、AC。いったんお昼ご飯タイムしながら、K問題の説明と、思いついた解法の説明。行けそうだったので書き始めてもらうが、105を10000と勘違いしていたことが判明。数学力さん……になる。幅を変えたりして、どうにかやれないか試す。

3:50? とりあえずサンプルは合うコードが出来たので提出するも、WRONG-ANSWER。100 100 100とか50000 50000 50000とかいろいろ試すとだめなケースが見つかる。

~4:30 2回くらいコーナーケース見つかるたびに修正するもWRONG-ANSWER×2。テストケースが強すぎる!ということでランダムテストの方向性に。

4:54(+3) ケースが見つかったのでその入力を元にコードを慎重に見ていくとバグの原因を発見。修正して提出してようやくAC!この時点で6完!

5:00 もうG問題解くのは無理なので、Yes/No ファンクラブ提出をして終了。

コンテスト後

インタラクティブ問題にテスター用意してくださって本当にありがとうございました。すべてのインタラクティブでアレつけてください。

Yes/NoでK問題Yesできてよかったです。みんなYes多すぎない?Yes/No前31位で32位になってるんですけど!?

去年みたいに一人一袋ミスド貰えると思ってワクワクしてたのに一チーム一袋で泣いた。期待してたのに......。しかしビュッフェががっつりご飯でびっくり。立食で他のチームとわいわいするのオンサイトって感じが実感できてすごくよかった。スタッフの皆さんの努力のお陰です。

お世話になる某社さんにご挨拶しに行き、一通り企業さんのブースを回って、たっぷり飯を食べた。あんまりほかの競プロerとは喋れなかったけど、話しかけてくれた皆さんありがとうございました。一発ギャグとか用意すべきなんでしょうか。

終わりですよ~のアナウンスがあったのでホテルに戻る。疲れすぎてて全員ベッドに座り込んだり寝たりしていた。しばらく休息をとって輪講資料を作りながらスマブラの大会?を見たりしていた。ゲーム&ウォッチしか使ったことないからレベルが高すぎた。

2時半ぐらいに就寝。

day3

9時ごろに起床。別の新幹線に乗るチームメイトと別れ、10:51発の新幹線に乗るため10時過ぎに出発。豊橋サイゼリヤのハンバーグを食べ、大学に向かう。輪講をこなして、ICPC2023は終了。

おわりに

大学入って、このチームで2年間過ごせてよかったです。
普通に過ごしてたら得られない経験でした、お疲れさまでした!

競プロ欲の高まりを感じているので、勧められたJOI埋めとかで水色(青色は望みすぎ…?)を目指そうかと思います。

チームメンバー募集中です。興味ある弊大学の人は連絡ください!!!

あと卒論やばいです。HELP!

ありがとうございました。

追記

ICPC-replayを使ってグラフを再現しました。

icpc-replay

【必見】ICPC横浜大会の寒さ対策について【攻略】

競技プログラマーのみなさんこんにちは。

ICPC国際大学対抗プログラミングコンテスト)アジア地区横浜大会は例年11月に横浜産貿ホールで行われます。ICPC2023は11/25(土)~26(日)ですね。

12/28~29とかいう家族も恋人も捨てた競プロerしか参加できない日程で真冬に 開催されたICPC2022ほどではないですが、11月も後半と言うこともあり冷えることが予想されます。また、会場では空調が効いているとはいえホールがかなり広いので、ある程度個人での寒さ対策を取っておいた方が良いです。

ICPC横浜大会では見えるように大会Tシャツを着なければならないため、カーディガンやパーカーを羽織る以外の防寒対策を用意しておくことをお勧めします。(ジャケット等のコンテスト中持ち込みは可能です)

もし耐寒を怠れば、

  • 大会本番に手がかじかんでキーボードが打てない
  • 思考が鈍って解けるはずの問題が解けない
  • 寒さで口が固まってチームメイトとの連携が取れない
  • 思い通りのパフォーマンスが出せず、悔しい思いをしたまま引退
  • 終了後チームメンバーとなんかギスギスしてしまう
  • スタミナ最大値がだんだん減少し、走るとすぐ体力切れになってしまう

などの事態が待っているかもしれません。そのような事態にならないための攻略方法をお教えします。

1. ホットドリンクを飲む

「ホットドリンク」とは、飲むと約10分間寒さによるスタミナ最大値の減少を防いでくれるアイテムのことです。調合素材は「トウガラシ」×「にが虫」で、雑貨屋でも販売されています。特に高くないので雑貨屋で大量に購入してBOXに入れておくとよいでしょう。

ただし、持ち物を圧迫して剥ぎ取り素材を回収できなかったりアイコンが似ている「鬼人薬」(力尽きるまで攻撃力強化)と間違えてしまったりすることもあります。

シリーズによっては「こんがり肉」×「トウガラシ」で調合出来て、寒さ無効とスタミナ最大値上昇の効果を持つ「ホットミート」があることもありますが、あまり使う人は見ません。

2. 寒さ耐性スキルを発動する

ホットドリンクを持ち歩き、効果が切れるたびに飲むのは面倒だという方は、「寒さ耐性」スキルをつけることをお勧めします。このスキルでも寒さによる影響、スタミナ減少を抑えることができます。

現状としてストーリー途中で入手する「耐寒珠」しかつける方法がない上、スロット2を消費します。貴重なスロットを使って「ホットドリンクが不要になる」というメリットしかないため、正直いりません。素直にホットドリンクを飲んだ方がよさそうです。

まとめ

ICPC横浜大会にはホットドリンクを持っていきましょう。ただし、ホットドリンクはクエストに5本しか持ち込むことができません。コンテスト時間は5時間なので、残り25本分は対策が必要です。例えば、上記のホットミートを持ち込む、調合素材を別に持ち込んで現地で調合する、強走薬でスタミナ減少無効にする、などでしょうか。

それと、天気と気温はこまめに確認しましょう。ハンターの鉄則です。これ競技プログラミングの鉄則です。

おわりに

ライズからは寒暖差の影響を受けなくなったため、ホットドリンクもクーラードリンクもクビになったらしいですね。ワールドから砥石も無限になりましたし、寂しいですね。

追記1 大会Tシャツの下に薄手の長袖の服を着て、さらに寒がりな方であればヒートテックを着る、手袋をつける(手先が冷える方は特に)、ネックウォーマーをつけるなどすると良いと思います。あと、ホテルから会場までは当然外を歩くのでそこも調節しやすいアウターだといいですね。

追記2 ICPC2023横浜大会ではジャケット持ち込み可で、コンテスト中寒く感じたら羽織ることも可能でした。基本は暖房が効いている&アドレナリンが出ていてアツくなっているのですが、換気窓を開けると外気が入ってきてかなり寒く感じました。

『Milk outside a bag of milk outside a bag of milk』プレイした

サイケホラー系?のゲーム「Milk outside a bag of milk outside a bag of milk』をクリアして、実績全部コンプリートした。

store.steampowered.com

同作者の「Milk inside a bag of milk inside a bag of milk」の続編というより、エンディング後の話。

"inside"はただビジュアルノベルで、エンディングと途中バッドエンドの2個しか行きつく先が無いんだけど、"outside"は選択肢とポイント&クリックから分岐するマルチエンディングでストーリーとして成立していた。相変わらず喋ってること・考えてること・見ている世界は狂ってるんだけど。

store.steampowered.com

この女の子が主人公(プレイヤーという意味ではない)で、海外だとMilk-chanと呼ばれているらしい。

プレイヤーは、たぶん彼女の頭の中にいる思考のひとつ。ご存じの通りMilk-chanは狂っているので、頭の中に喋る人格があるし、周りの世界が赤と黒の奇妙な世界に見えているし、母親を死ぬほど恐れているし、部屋の中のものを覚えるのに数か月かかるし、部屋のものを一ミリでも動かすと見えなくなるし、常に誰かから監視されているように感じているし、牛乳を嫌っている。

Milk-chanが喋る内容に相槌を打ったり水を差したり先を急がせたりする。

エンディングが5つあって、それぞれがMilk-chanの過去や未来や幻覚の話(だと僕は解釈した)なんだけど、まぁ分かりやすいエンディングが一つもない。鬱ゲーとして紹介されることもあるけど鬱にさせようとしていたり絶望に引き込もうとしたりしているわけではない気がする。

これはエンディングの一つ。かなり理不尽な文脈でこれを言われる。

ただ、「人との関わり」的な面は少なからずあると思うので気になった人はやってみてほしいな~。

ここちょっと樋口円香みたいですき。

***

(2023/11/10追記) 以下ネタバレ。

OP

milk insideであんなに苦労して牛乳を買ってきたのに、化け物(おそらく母親?)に毒を血管に打ち込まれ、「もう牛乳は飲まない!」と強く宣言させられる。じゃあどうして牛乳を買いに行ったんだろう。

他の解説を見ると、アレルギー用のエピペンなんじゃないのかという風に書かれていた。

実績「うるさいな」においてmilk-chanの学校に最後に行った日の話を聞けるんだけど、母親は多分他の恋人のところに行っていて、父親が迎えに来る。そして帰り道で牛乳を買って(無理解ゆえに?もしくは一家心中のために?)飲ませる。

多分これで呼吸困難になっているのが、「最初の死」のトラウマなんじゃないのかなって気がしている。

「最初の死」

「最初の死」っていうのは、途中の会話「(それなんだけど、全く分からないの。なんだか…おかしい。)」英訳: "(That's the thing. I have no idea. This is... weird.)" を選ぶと、milk-chanが首を絞められているフラッシュを見て得られる実績で分岐条件。

父親にあなたのことが全く分からないと言われて、牛乳を飲まされて死にかけた?経験から、身近な人間(しかも、今回は頭の中にいるもはやもう一人の自分自身=プレイヤーからの言葉だ)から「あなたのことが全くわからない」と言われることを強く恐怖しているのかもしれない(あくまでぼくの考察)。ただ最初の死から目覚めた後「目がかゆい」と発言していることからも牛乳アレルギーなのに牛乳を飲んでしまったことは確定だと思う。

この分岐の後、隠れて散らばった思考=ホタルを集めるために部屋を探索する。ホタルを3匹以上集めれば探索終了できて、5匹集めると「すごい!全部集めた…気がする」的なことを言われる。その前のスチルだと明らかにそれ以上に飛んでいるが。

「二度目の死」

「二度目の死」はホタルを集め終わってバルコニーに出ると、不思議な形状のアパートが見えて、そして落ちる。milk insideで父親が投身自殺したことを覚えていたから、たぶんそれがトラウマになっているのだと思う。実際に落ちたのだとしたら父親いないのにmilk-chanだけ生きているのはよくわからないし。

落ちている間、インターネットで知り合った"彼"の話をしてくれる。milk-chan視点での彼は根掘り葉掘り聞いてきて、大量のbotを送り付けてきたとあるけど、これは多分認知が歪んでいる。おそらく"彼"はとても親切な若者で、インターネットで出会った不思議な/狂った/頭のいい女の子を心配して、症状を聞いたり病院を紹介したり(実際に911を呼んだり)しているんじゃないか?

けど、milk-chanはインターネットの相手のことを人間としてとらえられず、迷惑なプログラムか何かだと思い込んでしまっている。救いの手を救いの手と認識できないままに跳ね除けてしまって、知らず知らずのうちに退路を断ってしまっているように感じる。

「おやすみ」

最終的に、milk-chanは寝床に就く。最初はプレイヤーと話しているのが、だんだん選択肢が消えていき、そして眠る。プレイヤーは薬を飲んだときにのみ頭の中に現れる自分、おそらく冷静さで、milk-chanが薬を飲まないことを決めたことでプレイヤーは徐々に消えていく。途中に「もう会えないね」的なことをプレイヤーが言う場面もある。このとき実績「おやすみ」が得られて、そのキャプションにはἌρχε σεαυτοῦと書かれている。これは、古代ギリシャの格言で"Control yourself"を表すらしい。意味をそのまま飲み込むなら、薬+プレイヤーに頼らず自分だけで生きていくことを決めた決意?

ED

その後に流れるエンディングは5種類あって、それぞれ「最初の死」を経験しているか、「2度目の死」を経験しているか、そして探索で「ホタル」を何匹集めているか・「電話」を拾っているかで分岐している。選択肢は一切なく、僕たちプレイヤーができるのはクリックして次のシーンに行くことだけ。エンディングは、薬を飲まないことを選択した未来の話か、milk-chanが狂うことになった過去の話だと思ってる。

分からないでしょ(You won't get it.)

  • キャプションは「分かろうともしてない」
  • デフォルトエンディング。「最初の死」を経験するか、他のエンディングに当てはまらない場合。
  • 不思議な少年「トレスカ」の牛乳を買いに行くのを手伝う。なんとなくmilk insideを想起させる感じ。
  • milk-chanが自分のことを客観視できるようになった=プレイヤーの視点を併合できたってこと?

私たち友だち?(Are we friends?)

  • キャプションは「友だちってこんな感じね」
  • 条件:「最初の死」を見ない、探索で「電話」を拾う(探索では「なにこれ?」としか言わない)。
  • milk-chanはどんなときでも電話でチャットをしている。ただ、相手はピザ屋の自動応答チャット。
  • 他のエンディングよりも世界の色がはっきりしていて鮮明だけど、milk-chanがインターネットの世界にのめり込んでしまったがゆえに現実世界なんて見なくなってしまった?
  • 最後は「セッションが終了されました」という表示と禁止標識が出て終わる。その直前に線路の上を歩いてるっぽいのも不穏。

全部うまくいく(Everything is fine)

  • キャプションは「見て分からない?」
  • 条件:「最初の死」を見ない、「電話」を拾わない、全ての「ホタル」を集める。
  • milk-chanは学校に通っている? 毎朝「あぁ、最悪な朝が来た」「何で私の顔ってこんな馬鹿っぽいの?」と自問している。
  • 朝を迎えるたびに自分の顔が変わるが、milk-chanは気にも留めていない(ブログ最後にある写真がそれ)。途中で黒死牟も出てくる。
  • 顔がまっさらな状態となった時、「今日はすごくいい気分、登校初日が楽しみだな!」と言って終わる。
  • 考えられるのは(精神状態のせいで)転校を繰り返しているか、同じ学校なのに毎回初登校だと思い込んでしまっているか。
  • なんとなく後者のような気がしている。冷静な部分であるところのプレイヤーに対して「(本当に全部うまくいくのかって…)見て分からない?」と問いかけているかのような。
  • 「ホタル」は散らばった思考を表しているので、それを全部集めたということは思考自体はまとまるようになり学校に通えるようになった。だけど心は壊れたまんま、みたいなこと?

誰かいる?(Is anyone there?)

  • キャプションは「誰かいた?」
  • 条件:「最初の死」を見ない、「電話」を拾わない、「ホタル」をすべて集める前に切り上げる、ラップトップの会話を全て聞く、「二度目の死」を見る
  • これと次の「視線を落とす」エンドはほとんど意味不明だった。
  • 真っ暗な部屋にいて、ドアがどんどん遠ざかっていくのを必死に走って追いかけると真っ暗な草原に出てくる。草原では何か恐ろしい鳴き声が聞こえて走って逃げている?
  • 真っ暗な部屋というのは、おかしくなった幼少期milk-chanを両親が部屋に閉じ込めた(もしくは精神病院に入院させたという考察もある)ときのトラウマで、草原はそこからの脱走とかなのだろうか…
  • このトラウマのせいでより一層狂い、父母・周りの人間に対する怯えが酷くなった?

視線を落とす(I look down)

  • キャプションは「お願い、止めて」
  • 条件:「最初の死」を見ない、「電話」を拾わない、「ホタル」をすべて集める前に切り上げる、「二度目の死」を見ない
  • 上も下も見えないほどデカいコンクリートの柱の螺旋階段を昇り続けて、もしくは降り続けている。柱は周りに何本もあって、強い風が吹き続けている。
  • 言ってることがまったくわからんかった。宇宙の神秘的な話とか、詩とかを話しているっぽいが、これはmilk-chanの思考の迷宮的なのを暗示しているのか?
  • 海外の考察ガイドを読むと、催眠療法を受けている(が、治らなかった)という話かもしれないらしい。催眠療法が「内なる経験」に注目させるものであり、milk-chanにとってはそれが何千もある螺旋階段を下り続けることだった。う~~む。

おわり

一番好きなエンディングは「全部うまくいく」と「私たち友だち?」かなぁ。少なくとも視界が赤くないし(単純に赤い色覚に見える前の話と言うだけなのかも)。

参考にしたのは、

エンディングコンプリートガイド↓ steamcommunity.com

外国人の長い考察↓ steamcommunity.com

日本人の考察・感想の中ではだいぶ長いやつ↓ 12garage.hatenadiary.jp