umineko-sephi’s blog

いろいろ書きます

ISUCON12 予選参加記

ISUCON12にかきらちゃん、スギノキさんと一緒にチームkakipippiで参加しました。6月5日にチーム結成して、そこから毎週定期的に勉強会など開催してました。しかしこのチーム、かきらちゃん以外の二人が圧倒的実力不足のため勉強会のおおよその時間は基礎的な勉強を行っていました……

本当に偉大なるかきら様に感謝🙏

 

6月13日

使用言語を決めていました。3人とも共通して使ったことがある言語が無く、結果誰も使ったことがないGoに決定(?)

ひとまずA Tour of Goなど進めようということで終わり。

 

6月22日~

かきらちゃんによる基本的なWeb講座開催、Google Jamboardなど使ってました。

 

7月17日

さくらサーバーを使ってISUCON10の環境構築、当日の流れなど確認した。

この頃スギノキさんに彼氏が出来る。

 

7月20日

計測ツールの使い方などを確認。かきらちゃんがいろんなドキュメントを整備してくれていて、めちゃくちゃ助かっていた。自分はこの頃引っ越し準備とかで忙殺されていてほぼ何もできず……

 

本番当日

オフラインで集まろうということになり、自分がノートパソコンがないことや家の広さ的にもうちに集まることに決定。東京からはるばる1時間30分かけて二人に来てもらった……

 

インスタンス立ち上げた時点でなぜかSSH接続できるのが自分だけという事態が発生。自分が二人の公開鍵を追記することで事なきを得たがもし自分まで接続できなかったらこの時点で競技終了だった……

午前中かきらちゃんに環境構築をしてもらっている間にスギノキさんドキュメントを読んでスコア計測での注意点やどんなアプリかを把握することに専念。

その後実装を読んでいき、SQLiteが使われてることに気付きこれMySQLに変えるべき?とか言ってた。

あとは一意なID取りたいところでよくわからんことしてたり、ロック確保するところで明らかにヤバそうなことしてるなぁとか思ってて、解説放送聞く限り的外れなことを考えてたわけではなさそうだった。

 

いろいろあって、準備が整い本格的に改善に乗り出したのが3時ごろに。

インデックス貼ったりロックをどうにかしようとしたりかきらちゃん秘伝のタレの設定を流したり、多少スコアはあがったがなんやかんやあって最終提出しようとしたところでベンチが回らずgitの履歴遡って直そうとしてたら18時になり0点で終了……

 

まとめ

かきらちゃんの計測ツールを見て

 

NOMURA プログラミングコンテスト 2020 D - Urban Planning

NOMURAコンのDが難しかったので解説書いておこうと思います。

atcoder.jp

 

 

問題概要は省略します。

 

解説

まずUnionFindを使って最初から決まっている値についてマージしていきます。ここで重要なことですが出来上がったそれぞれの連結成分について、-1 の頂点は最大で一つまでしか含まれません。なぜなら n 個の頂点を連結にするためには最低 n-1 個の辺が必要だからです。連結成分の数を m とすると、(n - 1)^k 通りそれぞれについて (n - m) の辺が必要なことがわかるので、まずこれを答えに足します。

ここからは -1 の頂点について考えていきます。各連結成分についてサイズと -1 の頂点を含むかどうかの情報を持った配列を作っておくと便利です。最初に閉路を作ってしまうかどうかを考えずに連結成分同士の間に辺を作る場合の数を計算して足し、最後に閉路が生まれる場合の数を計算して答えから引きます。

-1 の頂点を含む連結成分と他の連結成分の間に辺を作る場合の数は、相手の連結成分のサイズを s として、s * (n - 1)^{k - 1} 通りです。これを m * (m - 1) の組み合わせそれぞれについて計算し足し合わせます。

最後に閉路が生まれるパターンを計算し引いていきます。-1 の頂点を含まない連結成分は閉路に含まれることはないのでこれは連結成分の配列から除外しておきます。そうすると連結成分は合計 k 個となります。editorialにも書いてあるように j 個の連結成分を選び各連結成分のサイズを s_i と置くと、これらの連結成分を自由な順番でつないでできる閉路は s_1 * s_2 * ‥・ * s_j * (j - 1)! 通りあります。よって

{dp_i} _j := i 番目までの連結成分を見て j 個選んだ時の係数の和

としてdpをすることができます。一応遷移を書いておくと、

連結成分を閉路に含める {dp_{i+1,j+1}} +=  {dp_{i,j}}  * s_i

連結成分を閉路に含めない {dp_{i+1,j}} += {dp_{i,j}}

となります。あとはここで求めた係数の値に(j - 1)!と閉路に含まれない連結成分の分である(n - 1)^{k - j}をかけて答えから引けばよいです。

 

自分の提出

atcoder.jp

 

最後のdpの部分が難しい……

Codeforces Round #614 (Div. 1) D. Chaotic V.

個人的に超好きな問題 この難易度帯自力ACできたのはかなり嬉しい

 

codeforces.com

 

問題

無限の頂点を持つグラフが存在し、頂点に1から番号がふられている。2以上の頂点xxの素因数のうち最も小さい値をf(x)とし\frac{x}{f(x)}と辺で繋がっている。このグラフ上にn個のパーツが置かれており、i番目のパーツは頂点k_i!に置かれている。グラフ上の頂点を一点選びすべてのパーツとの距離の総和をとるとき、総和としてあり得る値のうち最小値を答えよ。

 

制約

1 \le n\le10^6

0\le k_i\le5000

 

解法

まずは適当に頂点を一つ選んだとして、選んだ頂点をどのように動かしていくことで距離の総和を最小化できるかを考える。与えられるグラフは自明に木なので、選んだ頂点を動かす方向にパーツのうち過半数が存在すれば距離の総和が小さくなることがわかる。よって、過半数のパーツが存在する方向に選ぶ頂点を動かし続け、どの方向にも過半数のパーツが存在しなくなるまでこれを繰り返せばよい。最初に選ぶ頂点は1とする。

次にこの木の構造を考察する。1を根とする根つき木として考えるとすべての頂点は自身の番号の素因数のうち最小のもの以下の全ての素数をそれぞれ掛け合わせた番号の頂点と繋がっていることがわかる。下の図は5までの素数が存在しない場合だがおおよそこのようなイメージであることがわかる。

f:id:umineko-sephi:20200402063535p:plain

グラフのイメージ

ここで子に移動していく操作は素数をかける操作と捉えることができる。さらに重要な考察として、子に移動していく場合かける素数の値は広義単調減少となる。

パーツが置かれている頂点について、k!素因数分解した値は1から5000までを素因数分解して累積和をとれば求めることができる。登場する素数の最大値は当然5000以下となる。よって5000以下の素数について降順にn個のパーツのうち過半数が素因数としてその素数を持っているかどうかを調べ、持っていればその方向に下るということを繰り返せばよい。またk!の持つ素因数の数はそれぞれの素数について広義単調増加であるためkの値でソートしておくことで下っている方向に存在するパーツを区間として持つことができる。

 

自分の提出

codeforces.com

CODE FESTIVAL 2014 Middle D - ぽよぽよ

最近のAtCoder Problemsのアップデートで昔の問題がお勧めに出てくるようになりました。誰も解説書いてなかったので(多分)書きます。

 

atcoder.jp

 

問題

直線状にn匹のぽよくんが存在している。i番目のぽよくんはp_i-l_iからp_i+l_iの範囲のマスを自由に移動できる。ぽよくんが添え字の順にそれぞれ異なるマスにいるとき何通りの配置があるかを1000000007で割った値を求めよ。

 

制約

1\le n\le1,000

0\le p_i\le1,000,000,000

0\le l_i\le1,000

i\lt jのときp_i\lt p_j

 

解説

まずわかりやすくするためにp_i = p_i - l_iとして移動できる区間の左端にそろえておく。また、一番初めの要素としてp_0 = -INF, l_0 = 0などを入れておくと処理が簡単になる。

{dp_i} _j := i番目のぽよをマスp_i + jに配置したときの通り数

としてdpを行う。このままdpを行うと遷移のパターンが{l_i} {_+} _1  * 2 +1通りあるため制限時間に収めることができない。しかし、マスp_i + jにぽよを配置できるときマスp_i + j + 1にもぽよを配置しても問題ないことがわかる。よって配置可能な左端のマスを持ってそこに足していき、累積和の要領でそれ以降のマス目に足せばよい。

時間計算量はO(n*l)

 

自分の提出

atcoder.jp

Educational Codeforces Round 78 (Rated for Div. 2) F. Cards

主にCodeForcesの問題で、一度通した問題の解法を忘れないために特徴的だった問題の解法を記事にまとめることにしました。日本語で詳しく解説してくれている人がいなかったのでこの問題を一問目の記事にします。

 

https://codeforces.com/contest/1278/problem/F

 

問題

m枚のカードに一枚ジョーカーが含まれている。山札をシャッフルした後一枚のカードを引いて、山札に戻すという行為をn回繰り返す。ジョーカーを引いた回数をxとしたときx^kの期待値をmod 998244353で求めよ。

 

制約

1 \le n,m \lt 998244353,1 \le k \le 5000

 

解法

愚直に0からn回ジョーカーを引く確率を求めて期待値を算出するのではnの制約から間に合わない。kの制約が小さいのでこれを利用する。

x^kというのはn回の試行からジョーカーを引くことができた回を重複ありでk個選ぶ通りの数と言い換えることができる。つまりk個選んだ時全てジョーカーを引けているか、と考えればよい。

ここで重複ありでk個選ぶ時、1~k個の独立した試行を選ぶことになる。i個の独立した試行を選んだ時全てジョーカーである確率はもちろん(1/m)^iとなる。あとはi個の独立した試行を選ぶ通り数を求めれば期待値が求まる。

dp[ i ][ j ] := j個の独立な試行からi個選んでいるような通り数

と置くことで、上述の値は求めることができるのでこれでx^kの期待値を求めることができた。

 

 自分の提出

codeforces.com

AtCoderで黄色になりました

こんにちは、tran0826です。ツイッターも同じIDでやっています。ABC153で黄色レートになることができたので初めての色変記事を書きます。

 

今までのレート遷移はこんな感じです。

f:id:umineko-sephi:20200128181928p:plain

所属について

2020年の1月現在千葉大学大学院の修士1年生です。千葉大学には競プロサークルが存在せず、競プロ界隈の中でも話題に出ることは少ないですが、(highestが)青レート以上の人も4,5人います。自分はCCSというプログラミングサークルに所属していて、サークルの主な活動はゲーム制作なのですがプログラミングつながりで競プロをやっている人もそこそこいます。今年の一年生は青レートの人もいたり競プロに興味がある人もそこそこいるので今後に期待しています。もし来年度千葉大に入学するという方がいればぜひうちのサークルに顔を出してくれれば嬉しいです。

競プロを始めるまで

去年の3月に競プロを始めるまではほとんど競プロに関する知識はありませんでした。サークルの先輩で競プロをやっている人がいる、ということを知っていた程度で実際にどんなことをするのかも知りませんでした。

プログラミング自体はサークルでゲームを作ったり、医工学を専攻する学科に所属しているので簡単な画像処理などを授業で学んだりはしていました。DXライブラリやUnity、OpenGLを使ってゲームを作ってきましたが、多少計算量を意識したこともあるかもしれません。

競プロを始めてから

水色まで

去年の3月にサークルの人が先輩に布教されたのをきっかけに競プロを始めました。最初は何をすればいいか分からなかったので、主にけんちょんさんの記事を参考にしていた覚えがあります。累積和などの基本的な知識もなにもなかったのでとてもお世話になりました。兎にも角にもまず一回コンテストに参加してみようと思い、初めて参加したコンテストが3月16日のAGC31でした。ちなみに二回目に参加したコンテストもAGCでした。どちらのコンテストもA問題しか解けずに悔しい思いをしたことをバネに、解説pdfなどを参考にしながら、点数などはあまり気にせずに700点や800点の問題でも解けそうな問題はどんどん埋めていきました。この頃の記憶はあまりないので、これ以上書けることがないです()。

 

 水色になる少し前のAGCではAB二完で青パフォが出て喜んでいたのですが、B問題を嘘解法で通していたことがわかり少し凹みました。

青色まで

基本的には水色になるまでと変わらずAtCoder Problemsを参考にしてABC、ARC、AGCの埋められる問題を埋めていくという方針を続けていました。おそらくこの頃が一番精進できていました。青になった頃にはAGCのBまでと、レートが付くようになってからのARCのCDまではほとんど埋めていたと思います。

f:id:umineko-sephi:20200128191920p:plain

精進状況



AGC埋めが功を奏したのか、AGCのAB早解きに成功して青になることができました。

黄色まで

青になってからしばらくして、第一回日本最強プログラマー学生選手権の本選に出場することができました。初のオンサイトイベントで他の競プロerの方と挨拶をしたり、強い人達と会うことが出来てとてもモチベーションが上がったのを覚えています。しかし、この頃になるとAGCやARCで自力で解くことのできる問題がほとんど無くなっており、またインターンなどもあり上がったモチベーションとは裏腹に問題を解くペースはしばらくの間低迷していました。

このままではいけないと思い10月頃にCodeForcesを始めました。CodeForcesではAtCoderであまり見かけないようなタイプの問題が出たり、解くことのできる問題が沢山あるのでモチベを取り戻すのにとても役に立ちました。

その後も基本的にはずっとABCやARCを埋めることを続けていきました。〇〇法を勉強しようとしてしたことはあまりなく、解説pdfを読んだときに知らないものが出てきたらその都度調べていく、という感じだったと思います。個人的にAtCoder Problemsを見たときに綺麗に埋まっているのが好き、というのもあります。

そんなわけで黄色になる少し前にはABC埋めも終わりました。ABC埋めなどを通じて解ける問題を高速に通す力はある程度ついたのかなと思っています。代わりに800点や900点の問題をしっかり解き切る力が不足しているので今後は高難度の問題をじっくり解く練習をしていくつもりです。

f:id:umineko-sephi:20200128195359p:plain

AtCoder Problemsの現状

 2月にはドワコンの本選があったり、3月には山梨大学横浜国立大学との合同合宿に参加させていただく予定があったりと、競プロ関連の楽しみなイベントが沢山あるのでどんどん精進して次は橙コーダーを目指していきたいと思います。これからもよろしくお願いします。

個人的お勧めノベルゲーム紹介!

 

 メリークリスマスイブ、こんな素敵な日にはぜひこたつに籠ってゲームをしたいだろう!そういうわけでこの記事では私の独断に基づくお勧めノベルゲームを紹介していこう。ノベルゲームと聞いて、

「なんだかよくわからない…」

「ああ、エロゲね、はいはい」

「ちょっと敷居が高いかな」

という人も多くいると思う。しかしよく考えてみてほしいものだ、確かに今現在ノベルゲームはあまり一般的な趣味とは言えないかもしれない。だが数百年前、小説はどういう扱いを受けていただろうか?そう、今のノベルゲームと同様の扱いを受けていたのだ、知らんけど。つまり何が言いたいかというと、ノベルゲームは小説と同様に充分趣深い可能性に満ち足りたものであるということである。

 さて、前置きはこの程度にして本題に入っていこう。本記事ではR18のノベルゲームをメインにランキング形式で紹介していこうと思う。というのもR18でないお勧めのノベルゲームには有名なものが多く今更自分が紹介するまでもないからである。ただ、いきなりR18はちょっと…という方のために一般向け作品も簡単には紹介しておこうと思う。

 あ、書き忘れていたがこの記事は

CCS Advent Calendar 2017 - Adventar

 の24日目の記事ということになっている。前日23日の記事は@here_1115さんの予定だがまだ投稿されておりませぬ。

明日25日はとっちーさんの記事の予定だ。

以下目次。

 

 

 

一般向け お勧めノベルゲーム厳選3作品、やって

CLANNAD

 

公式サイトリンク

CLANNAD|Key Official HomePage

お勧め度:☆☆☆☆☆

人生:☆☆☆☆☆

泣ける:☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

手軽さ:☆☆☆

 言わずと知れた名作。CLANNADは人生CLANNADは人生。大事なことなので2k(ry。ちょっと涙拭いてきていいか。

 さて、真面目に紹介するとしよう。CLANNADがどういう話かを一言で説明すると、「家族」である。親、配偶者、子供、など様々な関係性の中に存在する家族愛についてがメインテーマとなっている。その「家族」や友人達と主人公である岡崎朋也の間で起こる成長、苦悩、葛藤、愛情の描画はまさに一つの人生を体現している。

 たかがゲームでそんな凄いわけがないと思うかもしれない、しかし騙されたと思ってぜひ一度プレイしてほしい。アニメ版も放送されているので敷居はあまり高くはない。この作品が終わった後、必ず何か残るものがあることを保証する。とにかくやろう。

 それと最後に一つ。時を刻む唄、というCLLANADの曲があるのだが全てを知った後で歌詞を読むと本当に泣けるのでやった人は確認して。

 

STEINS;GATE

お勧め度:☆☆☆☆☆

牧瀬紅莉栖:☆☆☆☆☆

手軽さ:☆☆☆☆

 こちらも言わずとしれた名作だろう。主人公岡部倫太郎は自称マッドサイエンティスト厨二病で、未来ガジェットと称して便利な?アイテムを日々制作していたのだがあることをきっかけにして事件に巻き込まれていく、というストーリーだ。

 さて、このSTEINS;GATEの何が素晴らしいかというと、こちらもやはり主人公の心理描写がすさまじいところだ。岡部倫太郎はとても仲間思いのいい奴なのだがそれゆえに抱えることとなる苦悩や葛藤に向き合う様子、そんな岡部に寄り添ってくれる仲間に救われる様がよく伝わってくる。

 失敗した失敗した失敗したのところなんてもう、うっ…………

 まああまり詳しく書くとネタバレになってしまうのでこれ以上は語らないでおこう。これまたアニメ版が制作されており、そちらの出来も十分なのでぜひ自分の目でこの作品の素晴らしさを確認してほしい。OP曲である「Hacking to the Gate」の歌詞を全て終わった後に見てみると岡部の心情が痛いくらいに感じ取れてつらくなってくる…

 

うみねこのなく頃に うみねこのなく頃に散

お勧め度:☆☆☆☆

考察の楽しさ:☆☆☆☆☆

手軽さ:☆☆

 うみねこのなく頃に上記二作品と比べると内容を知っている人は減るかもしれない(いろいろと炎上していたことだけ知っている人は多いかもしれないが…)。しかしこれも少し人は選ぶがれっきとした名作である。以下簡単なあらすじ。

 右代宮一族は年に一回、六軒島と呼ばれる右代宮家が私有している島に集まり親族会議を行っている。主人公右代宮戦人はとある事情からしばらく一族から離れており、18歳となった今6年ぶりに親族会議に参加することとなる。いとこと再会の喜びを交し合い、楽しい一時を過ごす戦人だったが、その裏では親族達による荒れた親族会議が進行していく。そんな最中嵐によって島が外界から断絶されてしまい、戦人は様々な謎と対峙していくことになる……。

 といったような話である。ここまで読んで察したと思うが、普通に人が死ぬ上割と殺され方がえげつなく、耐性が低い人には少し厳しいと思ったのでお勧め度は☆4にしてある。もちろんそれを上回る良さはあるのだが…。うみねこのなく頃には8つのエピソードからなっており、1から4がうみねこのなく頃に、5から8はうみねこのなく頃に散となっている。前半4つが出題編で多くの謎が提示されるのに対して、後半の4つが解答編でそれらの謎を解き明かしていくという構成である。

 さて、ではこの作品は何が素晴らしいのかについて語ろう。この作品のテーマを一言でいうなら「愛情」である。作品内でしばしば「愛がなければ視えない」という表現が出てくるのだが、それがこの作品を端的に表している。島で起こる事件の裏には様々な隠れた思いがあるのだが、しかしそれは一見して理解することができない。シナリオをすべて読み終わり考察した上に得られるその答えがわかった時、胸に沸き起こる悲しみ、切なさ、それでいてこれで良かったと思えるその感情は簡単に表すことが出来ない。ぜひこの感情を味わってみてもらいたい。

 この作品はかの有名なアガサクリスティ著作「そして誰もいなくなった」をリスペクトしており、舞台設定など共通した部分がある。しかし一つだけ注意してほしいのは、うみねこのなく頃を普通の推理小説と同様のイメージを持ってプレイするとおや?となることである。詳しくは述べないが、推理もなにもあったものじゃない、と思えるような描写が多々現れるのだ。しかし、それらも演出の一貫であり全て意味があるものである。その点にだけ注意してプレイしてほしい。

 うみねこのなく頃に、にもアニメ版があるのだが未完の上少々不親切な点があり、お勧めはできない(もともとこの作品が映像化に向いていないというのもある)。PS3、PCでプレイすることが出来るのでそちらをお勧めする。

  

 最後にもう一つ余談だが、うみねこのなく頃にには海外の有志が作ってくれた英語化パッチが存在する。これはPC版のみだが、英語の勉強にもぜひ。

 

 

R18 お勧めノベルゲームランキングTOP3

 

 ここまで一般向けノベルゲームを紹介してきた。どれも名作なのでぜひやってもらいたいところだが、全て有名な作品であったのでもう全部内容知ってるよ!という方も多くいたのではないだろうか?というわけでここからが本番、おそらく今から紹介する作品すべてプレイ済みという方はCCSにはあまりいないだろう。

 R18と聞くと、ああ、エロゲなんだなという風に頭に思い浮かぶと思う。しかし、エロゲという分類の仕方は極めて雑なものである。それは言うなれば濡れ場があるからこの小説は官能小説だ、この映画はAVだ、と言っているようなものだ(ほんとか?)。確かに所謂「抜きゲー」と言われる致すためにそういったシーンを中心としたものも存在する。だがここで私が紹介するものは全てそれとはかけ離れたものだ。単に日常の一貫としてそういう行為も描く、逆に言うとそれは行動の当然の帰結として描かれていなければ不自然なのだ(確かに商売なので多少脚色はある)。この点に関してR18作品はより自由な表現をすることができる。まあだからこそ、読者を意識したような性描写入れられるとこれ無かったほうが作品としての完成度高かったろうな、と思うのだが。

 これから紹介する作品は絵と音楽と巧な文章が組み合わさり、それは見事な芸術となっている。ぜひ、色眼鏡をはずしてみてほしい。人生観を問う作品が自分は好きなので、割と偏ってはいるが。前置きが長くなった、では3位からみてもらおう。

 

第三位

サクラノ詩

お勧め度:☆☆☆☆☆☆☆☆

グロ:なし、やったね!

主人公イケメン:☆☆☆☆☆☆☆☆

 

www.youtube.com

 早速だがまずはこのPVを見てほしい、素晴らしい(語彙力)。さてまずは簡単なあらすじから。

「幸福の先への物語」

「それが虚無ならば虚無自信がこのとほりで

 ある程度まではみんなに共通いたします」

(すべてがわたくしの中のみんなであるやうに

 みんなのおのおののなかのすべてですから)

春と修羅』序

 

サクラノ芸術家が、絵画と共に残した詩の最後には、この様に刻まれていた。芸術家は死に、その後には、ありふれた人々の、ありふれた幸福の風景が広がる。

 

ふわふわの櫻の森で世界が鳴った

美しい音色で世界が鳴った

『櫻の詩』

 

春。世界的な芸術家である父の死により、天涯孤独となった主人公・草薙直哉は、親友である夏目圭の家へと世話になることになる。

そこには、直哉が通う学園の担任である夏目藍、圭の妹で女優の夏目雫との交流が待っていた。そして、新学期の到来と共に、遠い昔に転校した幼なじみ・御桜稟が、再び直哉の前に現れる。

 

風邪に巻く桜の花びらの向こう、それは、約束されていた再開の如くーー。

時の刻みが想いを重ね、感情の奔流が形になるとき、そこで出会う光景とは?

 

公式サイトより引用

 ぱっと見てもらってなんとなくわかると思うが、この作品は終始「芸術」がかかわってくる。主人公の草薙直哉はもちろん、その周りには才能に満ち溢れた芸術家達が集まっている。日常会話にも過去の芸術家や、それに関わりの深い数学者や哲学者たちの言葉を引用したりしている(そんな高校生いるか?)。中原中也の『春日狂想』、宮沢賢治の『春と修羅』あたりは特によく引用されるので知っていると楽しみが増すかもしれない。

 物語序盤は多くの情報が伏せられており、物語が進むごとに過去にあったことや、それぞれのキャラクターが胸に抱いている想いが浮かび上がってくる。

 草薙直哉は自分を犠牲にしてでも周りの人間を救い続ける。そんな直哉に惹きつけられた人間達との想いの因果交流によって生まれる物語は波乱万丈のようであり、またそれはそれぞれの人間の日常でもある。

 何のための芸術なのか、人生とはなんなのか、この作品は人の弱さにスポットライトを当てながら、哲学を問うてくる。

 細かいテーマとしても同性愛などのディープなものも扱っており、非常に考えさせられるものとなっている(氷川さんと川内野の話は共感できる部分が多すぎた…)。

 とまあ、ちょっと口で説明してもうまく伝えられないので、体験版をぜひやってみて欲しい。体験版では深い話までは踏み込まないものの、この作品のテーマをある程度伝えていると思う(体験版だと主人公たち青春しすぎて死にそうになるかも)。登場人物みんな頭良い会話してるのでプレイしてると頭良くなった気になれるよ。

 天才であり平凡である直哉の人生を描いたこの作品はCLANNADに通ずるものを感じた。

 

第二位

Euphoria

 お勧め度:☆☆☆☆☆☆☆☆☆☆☆☆☆

グロ要素:あるから注意

www.youtube.com

 公式サイト、PVからして少しアレなので代わりにオーケストラで演奏してもらったOP「楽園の扉」の紹介。ほんと素晴らしい。

 euphoriaと言えば今まで散々私が布教しようとしてきたものということでお馴染みであろう(?)。そうでなくても有名な作品であるかもしれない、ある意味では。そう、R18的な要素が少し過激であるとして、ネット上では広まっている。しかし、この作品の本質はそこではないのだ。確かにそういう要素があることは否定はしないが。とりあえず簡単なあらすじ。

 目覚めると謎の白い部屋に閉じ込められていた高遠恵輔たち。皆がこの現状を理解することもできないまま不安だけがつのる。ますます張り詰めた空気になる一行だが、しばらくすると部屋の中に機械で作られたような合成音が響き始め——。

 とまあ見るからに不穏な空気が漂っているのがわかる。実際に作中ではハードな描写が続き、そういうものに慣れている人でない限り見るのが辛くなってくるだろう。だが、その描写にも意味が込められており、ただ酷いだけなのではない。それを説明してしまうと完全なネタバレになってしまうので、詳しくは言えないが一つだけこの作品について言っておくとすると、それはこの物語は一つの純愛によって支えられているということである。そして、それは理不尽とも思える展開が進むごとに少しずつ明らかになっていく。点と点で示されていたものがラストで一気に面となり、その愛の全貌が姿を現す。

 イタリア語で幸福感を表すeuphoriaというタイトルの通りこの物語は幸せとは何かということを突き付けてくる。それと共に生きるということの意味、自分を定義するものとは何か、そういう哲学が一つの愛情によって展開されていくのだ。愛の形は人それぞれで、時には理解できないようなものも存在するかもしれない、しかしそれは確かにその人をその人たらしめるものである。

 長々と抽象的なことを語ったが(それしか語れることがない)、まとめると酷い描写もあるがその先にはちゃんと意味があるものが待ち受けているからぜひプレイしてほしい、ということだ。そういう物を受け付けない人でなければどうか最後まで読んでみてほしい。

 

第一位

素晴らしき日々 ~不連続存在~

お勧め度:☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

哲学:☆☆☆☆☆☆☆☆☆

グロ:少し(というか前半が少しホラー気味)

 

www.youtube.com

 さてこれも今まで同様OPを見てほしいのだが言っておく、これ以上ないほどのOP詐欺であるから注意(断言)。実はこの作品には主人公が3人いるのだが、最初の主人公は女性であったためほんわかした百合でも展開されるのだろうか、と思ってたら予想のはるか斜め上をゆく展開であった……

 シナリオライターサクラノ詩と同じであり、こちらの作品もまた偉人の言葉がよく引用されたりするのだが、特に哲学が深く関わってくる(どこの世界に純粋理性批判だの論理哲学論考を引用する高校生がいるだろうか)。さて、今回も例にもれずあらすじを紹介しよう。

Down the Rabbit-Hole

ある日、水上由岐は空からぬいぐるみが落ちてくるのを見る。

空に受理されるために投げられたという彼女のぬいぐるみは、何度か空に舞ったのか、所々痛んでいた。「空に受理される」それはこの街でいつからか言い伝えられる「空に帰る日」を探すための行為。それは世界そのものである少女と、空の少女が出会う場所で成就するという。

天の川をまたぐベガとアルタイル、織女星と彦星とも呼ばれる二つの星、それらに北十字星の頂の星デネブを加えた夏の大三角。それらは三位一体に例えられた聖なる図形と呼ばれる。

聖なる図形が天に輝く時に、世界と空は出会う。

その地点を探し続ける高島ざくろ、そして若槻鏡、若槻司、主人公の水上由岐をくわえた四人は空と世界、神なる三角が交わる場所を探す冒険を始める。

 

It's my own Invention

とある事件をきっかけに世界と自己との認識がズレ始める。認識のズレの先、彼は世界の限界の場所に救いを見出す。

 

Looking-glass Insects

二人の少女の戦いの話。彼女たちは文学と科学をつかい、現実と戦う。文学は強き意思、化学は物理世界に対する力。この二つだけが現実に対する彼女たちの武器となる。

 

Jabberwocky

破壊者であることを運命づけられた少年の話。彼は、調和する世界のために創造者を破壊しなければならない。

 

Which Dreamed It

兄を慕う少女。彼女はずっと兄との約束を信じて、向日葵の坂道の下で待っている。

 

JabberwockyⅡ

遠い世界の話。向日葵の坂道と、その先にある風景が語られる。

 

 

それぞれの物語は旋律。

それらの旋律はさらに大きな物語として共鳴してゆく……。

「空と世界」「終わりと始まり」「文学と化学」「救世主と英雄」「兄と妹」「向日葵と坂道」

言葉は旋律となる。

素晴らしき日々』とはそういった物語。

 以上、公式サイトからの引用。

 この作品は哲学者であるヴィトゲンシュタインの考えが深くかかわってくる(というか私がヴィトゲンシュタインを好きになったのはこの作品の所為)。ヴィトゲンシュタインの著作『論理哲学論考』にはこう記されている。

世界の意味は、世界の外側に存在していなければならない。世界のうちでは、一切はあるがままにあり、起こるがままに起こる。世界のうちには、いかなる価値も存在しない。

この言葉は作中に何度か登場し、人生の意味とはという命題が投げかけられることになる。それに対するライターなりの解答が物語の最後に用意されているわけだが、この言葉の解釈はぜひ各自でおこなってみてほしい。

 上で少し述べたが、この物語には3人の主人公が登場する。3人はそれぞれ密接なつながりがあり、物語が進むにつれてその謎が明らかになってくる。3人の関係、そして「私」と世界の関係。

 私の限界が世界の限界である。

はて、難しすぎてなにがなにやら。

 まあそれはさておきこの作品も人生観についてがテーマなわけで(それについての作品しかお勧めしてないな)。euphoria程ではないが少しつらい描写もある。人間というものの弱さを描くときそれを避けることは難しいのである程度はしょうがないものではあるのだ。これが一位なのは最もこのテーマに関しての完成度が高いと感じたのもあるが、euhporiaと比べるとより万人が受け入れやすいだろうということもある。ぜひこの作品をプレイして、あなたなりの答えを見つけてみてほしい。

 はたしてジョバンニの見つけた答えはなんだったか。

 それでは最後にヴィトゲンシュタインのある言葉を借りて終わりとしよう。

 

幸せに生きよ!

 

番外編

 惜しくもTOP3にランクインすることはできなかったがそれでもやる価値のある作品の紹介だけをしておく。

・殻の少女シリーズ(殻の少女 虚の少女 第三部は未発売)

グロ要素:殺人事件などが起こる程度

切ない

推理要素あり

www.youtube.com

 

G線上の魔王

 ミステリー要素が多い

www.youtube.com

・CARNIVAL

 地の文が独特でよい

徐々に回収される伏線

OP詐欺注意

www.youtube.com