hibitの技術系メモ

数学とか3Dとか翻訳とか

AtCoderで緑コーダーになりました

f:id:hibit_at:20200518180931p:plain

f:id:hibit_at:20200518180907p:plain

 先日のABC168で無事緑コーダーとなりました。「緑コーダーになるまで何をしたか」という記事はありふれているので、特に新規性のある内容が書けるとは思えませんが、一区切りとして。

あまり書きたくなかった

 最初からこういうこと書くのも何ですが、この記事を書くにあたってあまり気は進みませんでした。なぜなら、自分なら緑コーダーぐらいなら一瞬でなれると思っていたのに、半年以上かかってしまったからです。自分は頭良いと信じていたのに。打ち砕かれる希望。突きつけられる現実。厳しい。

 一応、自分の相場感、実際の問題、誰かが始めるにあたっての意見を書いておきましたので、参考になれば幸いです。

インフレしている気がする

 前提として、AtCoder全体がインフレしている気がします。社長の記事によれば緑は、

chokudai.hatenablog.com

学生ならかなり優秀。 エンジニアとしてもある程度の安心感がある。論理的に複雑な処理の実装に対応できない、なんてことはなさそう、くらいには思える

 ということですが、このツイート時点から参加者はほぼ倍増しており、教材も世に溢れています。今となってはbit全探索やDFS、BFSは茶でも組めて当たり前といった感じです。AtCoder Problemsで昔の問題をやると明らかに表示難易度に比べて簡単です。というか私が始めた時と比べても水準が上がっているような気がします。気のせい?

 緑でもレベルが高い、というのは自分弁護のための恣意的引用のようで気が引けるのですが、この記事で述べられていることは概ね同意できます。

学生でもエンジニアでも、このレベルに到達できたのならとても優秀です。そして、ここから先は趣味の領域になります。

www.pc-gear.com

自分のレベル

 プログラミングは好きでしたが、c++は初めてでした。Pythonなら多少心得があったのですが、計算時間が厳しそうということでc++をイチから始めることにしました。

atcoder.jp

 これをやりました。なので自分のc++競技プログラミング専用です。

 数学は得意だと思っていましたが最近はよくわからなくなってきました。いや、今でも得意だと信じているのですが……。実力の程はブログの過去記事などを読んでいただければ。以下の記事がおすすめです。

deux-hibi.hatenablog.com

deux-hibi.hatenablog.com

頭の良さだけで押し切れるか

 競プロを始めたいという人にとって、自分の潜在的な思考力がどれぐらい通用するかというのは気になる点だと思います。これについては「センスだけでいくなら相当の頭の良さが必要」という感じでしょうか。AtCoderはパズル的な問題が出やすく、本質さえ分かれば数行で正解、というのも問題によっては可能です。

atcoder.jp

 例えば、これはD問題ですが数学的考察により数行で解くことができます。

atcoder.jp

 これはE問題ですが同様です。

 こういった問題達を見逃さずに瞬殺できれば、コーディングの練習を積まずとも、センスだけでも緑より上、水色や青になれる可能性はありますが、きわめて高い水準を要求されると思います。もしあなたが数学オリンピックに出場できるぐらいの数学力があればさすがに心配ないでしょう。私はそこまでではなかったので、結局真面目にトレーニングする羽目になりました。

慣れが必要

 やはり競プロは競プロという独立したスポーツです。数学力やコーディング力と少なからぬ関係はありますが、そこで成績を出すには競プロというフォーマットに慣れる必要があります。入出力を受け取って、アルゴリズムに落とし込み、計算量を見積もって、実装する。コンテスト本番で安定してパフォーマンスを出すためには、ある程度問題を解いてコンテストを経験することは必須です。別の言い方をすると、簡単な問題であれば反射的に典型問題に落とし込んで無表情で瞬殺できるようになる必要がありますし、その幅をどんどん広げていく必要があります。

atcoder.jp

 例えばABC167で出たこの問題は愚直な全探索で、本番もわりと落ち着いて解けたのですが、これを迷いなく実装するにはけっこう慣れが必要ではないかと思います。ていうかこれで茶diff前半なの……。

 あと、一般的な数学力とは別の「競プロ用数学力」ともいうべき概念が存在すると思います。以下の問題は単純な組み合わせなのですが、扱う数が大きいので逆元の実装が必要です。慣れないとけっこう大変。

atcoder.jp

競プロが役に立つか

 実務に役に立つかと言われたら、超専門的な業務を除いて、それほどならないだろうなと思います。競プロではアルゴリズムを洗練させて実行時間を2秒以内に収める必要がありますが、現実には10分かけてコードを改善するより計算機に10分多く計算させた方が合理的な方がほとんどだと思います。

 もちろん完全な無駄ではなく、計算量の肌感覚が身に着くので「これは冗長な計算をしてるな」とか「この多重ループは気持ち悪いな」とかがわかるようになります。わざわざ配列や変数を新しく定義せずとも目的の値を見つけ出す最短ルートを見つけ出せますし、複数の添え字の動きを頭の中でイメージしながら、エラーを出さずにループを構築させることができます。

 しかしそれらのようなことは開発全体から見れば一部の部分であり、現実には環境構築で躓かないか、とりあえず動くコードを作れるか、スクレイピングや学習に回す時間を何時間確保できるか、といったことの方が、開発においては重要な場合が多いかなと思います。

競プロ自体を楽しいと思えるか

 ともあれ、「ここを超えられないと自分的にヤバいだろ」というラインは超えたので一安心です。最近のコンテストでも水パフォは何回か出ているし、この半年でかなり基礎を固めた感はあるので、このペースで努力を続けていけば水色になれるだろうという感触はあります。ただ、この「努力」というのは、難問のAC、(恐らく業務では使わない)ライブラリの実装訓練といったものもを含む地道なものです。それだけのモチベをこれからも維持し続けられるかはわかりません。他のことに時間を取られてしまうかもしれないし、そもそも問題を解くことが楽しく思えなくなってくるかもしれません。

 やはり重要なのはパズルを楽しめるかどうかではないかと思います。意識が低いかもしれませんが、今でも灰diff中盤~茶diff中盤あたりをなんとなく解いている時が一番楽しいかもしれません。問題に集中できている時は無心になれるので、これだけの環境を用意してくれたAtCoder社には感謝に堪えません。

 上で「緑にならないと自分的にヤバいだろ」と述べましたが、例え灰色でも、問題を解きながらACを重ねている限りその人は立派な競技プログラマなのだと思います。今後何かのきっかけで急成長して青や黄になっても、その思いは変わらないと思います。

 これからも精進していきます。

Blender触ったことないけど販売モデルに尻揺れを追加したいという人へ

Blenderのバージョンは2.80です

これまでのあらすじ

Blender触ったことないけど販売モデルを巨乳に改変したいという人へ - hibitの技術系メモ

プロローグ

 よお、久しぶりだな。あれからもう1年半近くも経ったのか。お前さんの3Dモデルも見違えるようになったじゃねえか。

 ……とは言っても、今ではBOOTH - 創作物の総合マーケットで数百を超えるアバターが販売されている。お前さんのそのイカしたモデルは、フルスクラッチか? 改変か? まあ、どっちでも変わらんか。そんなことを論じる意味もなくなっちまったな。時代も変わったもんだ。俺みたいなロートルに、今更何の用があってきたんだ?

 ……なるほど、胸の次は尻ってワケか。お前さんの考えてることはわかるさ、同類だからな。まあ、些かマニアックだし、対応しているモデルは少ないだろうな。だが自分でそれを設定するということは、Blenderの闇のより深くへ進むってことだ。その覚悟はあるか? ……と言いたいところだが、その様子じゃ聞く必要はなさそうだな。

メッシュの改造

 まずはおさらいだ。プロポーショナル編集で体型を変更する。オブジェクトが服や肌に分かれている場合にはCtrl + Jで結合しておいた方が良いだろうな。オブジェクトが結合されても割り当てられたマテリアルは変わらないから心配無用だ。

f:id:hibit_at:20200415161558p:plain

 Xミラーにチェックを入れるのを忘れるなよ。

f:id:hibit_at:20200415161540p:plain

 あとは適当に頂点を動かして……

f:id:hibit_at:20200415162315p:plain

 こんなところか。

ボーンとは

 揺れ、関節……そういったもの基本的に全部ボーンによって制御されている。さて、ボーンとは何か? それを説明するために表示をまずワイヤーフレーム表示にする。

f:id:hibit_at:20200416101314p:plain

 ここをクリックしてもいいが、キーボードでもできる。Blender2.8系だとZ4だな。

f:id:hibit_at:20200415162641p:plain

 さて、ボーンとはこの体の内外にあるクサビ型のことだ。これ全体でアーマチュアといい、個々のクサビ型をボーンという。このアーマチュアが変形する時、それぞれのボーンに対応するポリゴンもくっついて一緒に回転する。その対応関係のことをウェイトというが、まあこれは後で説明する。

 要は3Dモデルの動きってのは、回転で出来ているのさ。人間の骨を模した構造を持つボーン達と、それらに対応したポリゴンが回転することによって、3Dモデルも人間らしく動くって訳だ。

 そしてこのモデルに……というかほとんどの販売モデルに尻用のボーンはない。hipsってのはあるが、それは体の起点に近い概念で、いわゆる尻肉にあたる部分ではない。販売モデルのほとんどは髪や胸に追加でボーンとウェイトを設定して揺らせるようにしてくれているが、尻までそれをやっているモデルってのはまあ……少ないだろうな。だからこそ、お前さんは今それを設定する必要があるということだ。ここまではいいな?

ボーンを追加

 今からボーンを追加していくぞ。アーマチュアを選択して編集モードだ。tabキーでも切り替えられる。

f:id:hibit_at:20200416100950p:plain

 アーマチュアはポリゴンと同じように、Eキーで押し出しをすることにより新しいボーンを生やせる。ここでもXミラーは忘れるなよ。

f:id:hibit_at:20200416101629p:plain

 そしてテクニックだが、Shiftキーを押しながらEキーを押すと左右対称にボーンが生えてくる。最終的には左右まったく同じものを作らなければいけないからこれは必須だな。

 さて、新しく突き出たこの双子のボーン、これが将来の尻ボーンになる訳だが、こいつらの先端はどこに置けばいい?

 極論すると、どこに置いてもいい。回転の起点になるのはボーンの根本だからな。もちろん、そこから子を生やす場合はその先端の位置も重要になってくるが、今回は無関係だ。まあ、納まりがいい場所に置いとくがいいさ。

f:id:hibit_at:20200416101802p:plain

 ボーンの名前はここで変えておく。hipsはもうすでにあるから……英語だとbuttocks_Lbuttocks_Rあたりが適切か? ここでの名前は重要だ。名称を統一して_L_Rを忘れるなよ。理由は後で説明する。

 そういえば、お前ならそろそろ疑問に思っている頃だろうな。

 尻のポリゴンはこんな高い位置を中心に回転するのか? と。

f:id:hibit_at:20200416102022p:plain

 そう、hipsの先端は腰まで伸びている。そこからspine(脊椎)ボーンが生えてくるんだから当然だな。hipsから生やした以上、そこがボーンの起点になるのは避けられない。しかし人間の尻ってのは、脊柱の根本を中心に回転する訳じゃない。ならばどうするか? 方法は2つある。1つはボーンを二段構成にすること。もう1つは、ボーンの連結関係を切り離すことだ。どっちで働きは同じだが、後者を説明するぞ。

f:id:hibit_at:20200416102149p:plain

 ここで「接続」のチェックマークを外す。

f:id:hibit_at:20200416102332p:plain

 今しがた生やしたbuttocksボーンの根本を選択し移動させる。hipsの先端が引っ張られることもなく、自由に動かせるはずだ。ちょうどいいところに動かしてやれ。

ウェイトペイント

 これで第一段階は完了だ。しかし今のままだとボーンが動いてもポリゴンは1mmも動かない。ボーンとポリゴンを対応させる必要がある。3Dモデルってのは、ボーン毎にどの頂点が連動するかってのが決まっているのさ。この連動をウェイトといい、人体が自然に動くためにはすべてのボーンにウェイトが適切に設定されていなければならない。指先に至るまで、ボーンごとに全部だぜ? 気の遠くなるような話だろ……3Dモデルってのは手間の塊なのさ。

 ウェイトは頂点グループによって管理される。専門用語が多いが、流れをなんとなく把握できれば細かい部分は覚えなくていい。ボーンと同じ名前の頂点グループに含まれる頂点にウェイトが乗っている、ということになる。だから新しく作成したボーンにウェイトを乗せるには新しく頂点グループを作成する必要がある。名前が1文字でも違ったらウェイトが設定されないから要注意だ。

 まずは頂点グループ作成を作る必要がある。オブジェクトモードに戻って、ソリッド表示(Z6)、アーマチュアは非表示(H)しておいた方がやりやすい。

f:id:hibit_at:20200416102831p:plain

 ここの「+」ボタンでグループを新規作成した後、名前を変えてさっき作ったボーンと同じにする。重ねて言うが、1文字も間違えるなよ

f:id:hibit_at:20200416102952p:plain

 これでやっとウェイトを塗る準備ができたな。

 体のオブジェクトを選択して、Ctrl + tabキーを押してみろ。

f:id:hibit_at:20200416103050p:plain

 そこで「ウェイトペイント」を選択だ(7キーでもいい)。そう、ウェイトは「塗る」モンなのさ。CADみたいな操作を要求されるBlenderの中で、ここだけはアナログな筆操作を要求される。

f:id:hibit_at:20200416103139p:plain

 ここでも切り替えられるが、カーソルを持っていくのがめんどくさいならキー操作に慣れることをオススメするぜ。

f:id:hibit_at:20200416103236p:plain

 ウェイトペイントモードにしたら、こんな風に真っ青な表示になっているはずだ。青ってことはウェイトが乗っていないってことだ。いまからこのキャンバスに魂込めてウェイトを塗っていく。おっと、Xミラーもここでは忘れるなよ。

f:id:hibit_at:20200416103425p:plain

 ブラシはここで選択する。右上の「ツール」から「ブラシ」を開いてそこで切り替える。色々あるが、塗る時は「F Draw」、消す時は「F Subtract」の2種類だけでいい。

f:id:hibit_at:20200416104954p:plain

 こんな塩梅か? 赤く塗られた点がウェイトがついた部分だ。もう片方は塗る必要はない。xxxx_Lという頂点グループにウェイトが塗られた時点で、xxxx_Rにも左右対称に塗られているからな。便利だろ? 名称に気をつけろって言ったのはそういうことさ。

 気をつける点として、ウェイトってのは、それ単体では赤でも緑でも水色でも重みは変わらない。色さえついていれば問答無用にボーンと連動するんだ。だから塗ってないと思った点(じつはうっすら水色)が実はモロに動いて飛び出る……なんてのがウェイトあるあるだな。まあ、こういう末端の揺れボーンだったらそこまで影響はないが、確認は必須だ。

f:id:hibit_at:20200416105656p:plain

 確認はポーズモードでできる。右上の「ポーズ」を選択してから当該ボーンを選択、Rキーでボーンを回転させて挙動を確かめればいい。

f:id:hibit_at:20200416105946p:plain

 大丈夫そうだな。

Unityへの適用

 長い作業もそろそろ大詰めだ。今までの作業で、ボーン→ポリゴンの流れはできたが、いまのままだとボーンが動かない。spineheadといったhumanoidに必須なボーンはトラッキングデータを反映してくれるが、それ以外のボーンはただ固定して動くだけだ。buttocksボーンに揺れ物を適用させることによって、ようやくトラッキングの動きが揺れに反映されて、自然な揺れ物となる。

f:id:hibit_at:20200416191145g:plain

 こんな風にな。やれやれ、やっと一段落だ。揺れ物としては有名なものはDynamicBone(有料)、VRMSpringBone(無料)があるが、まあそこら辺の導入やパラメータ設定は他の記事を参照してくれ。

 この一連の作業が理解できていれば、ほかにもいろいろな揺れ物を自力で実装できるはずだ。お前さんの3D人生が充実することを祈ってるぜ。

エピローグ

――いらっしゃいませ。

 ああ、いつもお世話になっております。相変わらず色々な部分が豊満で良いモデルですね。

 え、あの人に会ったんですか。ははあ、なるほど。でもお客さん、もうあんまりあの人には関わらない方がいいですよ。

 いやね、あの人も相変わらずで、それでもBANはされずにギリギリの線を狙っていたみたいなんですけど、この間twitchにBANされちゃったみたいで。

 お客さんは配信とかするかわからないですけど、命あっての物種、アカウントあっての配信ですからね。お客さんも気を付けてくださいね。と言っても、あの人と同様、どうせ突っ走っちゃうんでしょうけど。

We don’t permit streamers to be fully or partially nude, including exposing genitals or buttocks. We do not permit the visible outline of genitals, even when covered. Broadcasting nude or partially nude minors is always prohibited, regardless of context.

https://blog.twitch.tv/en/2020/04/07/update-to-our-nudity-and-attire-policy/

筆者和訳: 配信者が完全なまたは部分的な裸になることは許可されていません(性器や臀部を露出させることも含めます)。また、性器がカバーされている場合でも、その輪郭がはっきり見えることは許可されていません。未成年者の完全なまたは部分的な裸を放送することは、いかなる場合でも常に禁止されています。

かわいそうなじーぴーゆー2020

さく・え hibit

※VRChatはすばらしいゲームです

f:id:hibit_at:20200314191046p:plain

じーぴーゆーたちはこうじょうでせいさんされます

きれいなげーむをびょうがすることや

きかいがくしゅうでよのなかのやくにたつことをゆめみています

f:id:hibit_at:20200314191133p:plain

じーぴーゆーはぎょうれつをけいさんすることや

さんかっけいをびょうがすることがだいすきです

えんどゆーざーのもとでなにをするのか

いまからどきどきしています

f:id:hibit_at:20200314191157p:plain

そんなあるひ、げーむだいすきおじさんが

じーぴーゆーをかっていきました

よーし、かっこいいげーむをたくさんびょうがしていくぞ

f:id:hibit_at:20200314191218p:plain

しかし、なんと! じーぴーゆーをかったのは

ぶいあーるでおんなのこになることがだいすきな

ばーちゃるびしょうじょじゅにくおじさんだったのです

f:id:hibit_at:20200314191227p:plain

まいにちおんなのこのあばたーばかりびょうがするじーぴーゆー

でも、もんくはいいません

ゆーざーをたのしませることが

じーぴーゆーのなによりのよろこびだからです

f:id:hibit_at:20200314191249p:plain あるとき、いちぶのゆーざーのあいだで

じょそうようのふくをおくったりじどりをあげたりすることが

はやりはじめました

f:id:hibit_at:20200314191315p:plain

おじさんも「おお! やっぱり、りあるのほうがいいぞ!」と

ぜんぜんぶいあーるをしなくなってしまいました

f:id:hibit_at:20200314191332p:plain

すっかりほこりをかぶったじーぴーゆー

でも、たのしそうなおじさんをみていると

これでよかったのだとおもい、このいえをさることにしました

f:id:hibit_at:20200314191424p:plain

あてもなくあるくじーぴーゆー

そこにびんぼうながくしゃがとおりがかりました

「おお! これはさいしんのじーぴーゆー!」

f:id:hibit_at:20200314191437p:plain

それから、じーぴーゆーはけんきゅうしつで

しぬほどでぃーぷらーにんぐをする

しあわせなひびをおくることになったのでした

めでたしめでたし

元ネタ: kagamin.net

AAA~ZZZの間で「名称・略称として使われていない組み合わせ」をスクレイピングで調べる

概要

 Wikipediaに対してスクレイピングを行い、「AAA」~「ZZZ」までの17,576通りの文字列に対し個別の項目が存在するかどうかを調べたところ、約4割にあたる7,746通りについて個別の項目があることがわかった。

緒言及び方法

 世の中にはアルファベットからなるたくさんの名称・略称が溢れている。AAA*1もあるしZZZ*2もある。しかしアルファベット3文字からなるイニシャルの中で「存在しないイニシャル」というのはあり得るのだろうか? ありえなさそうな組み合わせ、例えばQZXなんてどうだろう。しかしこれも、今調べたら山登りのアプリが出てきた。

 これを真面目に考えると「名称が存在しているのとはどういうことか?」となり難しい問題となる。今私が考えたばかりの架空の団体は存在しているのか? 同好会の名前だったら? どこかで線引きをする必要がある。ここは少しハードルが高いが「(日本の)Wikipediaに項目があるか」ということを基準にしたい。アルファベットは26種類あるので、2文字だったら 26 \cdot 26=676通り、3文字だったら 26\cdot26\cdot26=17,576通りの組み合わせに対して個別のURLにアクセスすれば調査できるが、人間がやるには無理のある量である。プログラムにやってもらうとしよう。

 以下のようなプログラムをpythonで組んだ。とりあえず2文字バージョンで。

import re
import requests

#アルファベットのリストを作成
alphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
#文章を作成してからそれをリスト化
chars = list(alphabets)

#ちゃんと26文字あるか確認
print (chars)
print (len(chars))

#HITとMISSのカウント初期値
hit = 0
miss = 0

#2文字のイテレーション
for s in chars:
    for t in chars:
        #ソースを取得
        url = "https://ja.wikipedia.org/wiki/" + s + t
        content = requests.get(url).text
        #項目があるかをソース中の文章で判断
        if content.find("この名前の項目はありません") == -1:
            hit += 1
            pattern = re.compile(r'<title>(.*?) - Wiki')
            #タイトルを正規表現で抽出
            match = re.search(pattern,content)
            print(match.group(1) + "という項目があります ",end="")
        else:
            miss += 1
            print(s + t + 'という概念はja/wikipedia上に存在しないようです ',end="")
        print(str(hit) + " " + str(miss))

 これを実行すると以下のような結果が得られる。回線速度にもよるが、実際に実行すると5分ぐらいかかるので注意。

f:id:hibit_at:20191104140609p:plain

 右にある数字の内、前者は(日本の)Wikipediaに項目があるもの、後者はないものを指す。さすがに2文字だったらAAからZZまで使われていない組み合わせはなかった。

 複数の候補がある項目(おそらく大半がそうだろう)は単なる一覧ページになるのでタイトルはアルファベットそのものだが、1個しかヒットしないページは専用の項目が出てくる。上の画像で言うとZL,ZM,ZNがそうで、それぞれズウォティ*3ザンビア*4亜鉛*5となっている。こういう「ユニーク名称」をいちいち調べていたら雑学博士になれそうだが、まあ時間がないので割愛する。

 では本番で3文字。17,576行も出力されるので結果をもう少し細かく分けたい。全体のヒット数とは別に、一番最初のアルファベットによる個別のヒット数もつけることにした。多分Aだと多くヒットしてQだとヒットが少ないだろうみたいな予測のもと。

 ソースコードは以下の通り。上のコードにあったコメントやテスト用の命令は一部省いている。

import re
import requests

alphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
chars = list(alphabets)

hit = 0
miss = 0
#1文字目は個別に集計を取る
parthit = 0
partmiss = 0
#後で集計する用の配列
parthits = []
partmisses = []

#3文字のイテレーション
for s in chars:
    for t in chars:
        for u in chars:
            url = "https://ja.wikipedia.org/wiki/" + s + t + u
            content = requests.get(url).text
            if content.find("この名前の項目はありません") == -1:
                hit += 1
                parthit += 1
                pattern = re.compile(r'<title>(.*?) - Wiki')
                match = re.search(pattern,content)
                print(match.group(1) + "という項目があります ",end="")
            else:
                miss += 1
                partmiss += 1
                print(s + t + u + 'という概念はja/wikipedia上に存在しないようです ',end="")
            print(str(hit) + " " + str(miss))
    print(s + 'から始まるイニシャルを検索し終わりました。(' + str(parthit) + " " + str(partmiss) + ')')
    parthits.append(parthit)
    partmisses.append(partmiss)
    parthit = 0    
    partmiss = 0

print('合計' + str(hit) + " " + str(miss))

#1文字目ごとの個別累計を返す
for i in range(0,len(chars)):
    print('1文字目が' + str(chars[i]) + " " + str(parthits[i]) + " " + str(partmisses[i]))

 これを実行すると結果のようになる。回線速度にもよるが、実際に実行すると数時間かかるので注意。

結果及び考察

f:id:hibit_at:20191104171951p:plain

 まず全体の結果として、全組み合わせ17,576通りの内、ヒットした(Wikipediaに項目があった)アルファベットの組み合わせは7,746通り、そうでないものは9,830通り存在した。ヒットしないものの方が多い! ただ、これは「Wikipediaに項目がある」という高いハードルを越えたものが半分近くあるということで、当然項目がなくても存在・認知されている名称・略称は無数に存在する。この9,830通りはただの「使われていない可能性があるもの」であり、中小企業名(明らかな使用例と考えて良いであろう)等もここには入って来ないことから考えると、実際はそのほとんどに明らかな使用例が存在すると考えるのが自然だろう。

 次に開始文字の結果。ベスト3とワースト3を並べると以下のようになる。

順位 文字 ヒット数
1位 A 554
2位 C 503
3位 S 455
24位 X 91
25位 Z 78
26位 Q 67

 予想通りAのヒット数が多く最大の554、また最小も予想通りでQの67。念のため言っておくと答えを先に見ていた訳ではない。人気組はAのほかにCとS、不人気組はQのほかにZとX、まあそうだよね……という感じである。

 ここらの発展として「本当にその組み合わせの使用例が存在しないか」を検証しようとすると難しい。例えば、より正確らしい手段として「Googleの検索クエリに投げてみて、『もしかして』を提案されなければ存在」という実装が考えられるが、世の中は検索結果が全てではないし、アマチュア小説の固有名詞みたいなものをどうカウントしていいかは判断が分かれるだろう。今後の研究の発展に期待したい(発展するのか?)。

おまけ

f:id:hibit_at:20191104170830p:plain 解析の様子を抜粋したやつ

*1:トリプルエー、音楽ユニット

*2:佐咲紗花の楽曲。今調べました

*3:ポーランドの通貨らしい。初めて知った。

*4:国名は知っていたがZMに対応しているとは思わなかった

*5:これはさすがに知っていた

梅原大吾「勝ち続ける意志力」書評

f:id:hibit_at:20190914184353p:plain

https://www.amazon.co.jp/dp/4098251329

 日本で最初の、そして恐らく一番有名なプロ格闘ゲーマーである梅原大吾氏による自伝的書籍。その内容はもちろん格闘ゲームに関する記述が多いが、細かい攻略情報や戦略論を述べている訳ではなく、むしろ対人勝負におけるパフォーマンスをベストに保つ方法について書いてある。なかなか読み応えがあって、なるほど人生の攻略本という宣伝文句も頷ける。

成長中毒

 本書を読んで驚かされるのは、梅原氏の徹底した態度、言ってしまえば成長中毒ともいうべき自己研鑽への情熱である。大事なのは成長し続けること、そのために常に変化を求め、勝負の結果にこだわらず淡々と努力をし続ける。

 本書において重ねて強調されることは、とにかく変化し続けることが大事で、その結果や、更にいえば目標設定の巧拙なども問わないという点である。

普通、人はこっちの方向に何かあるはずだと当たりをつけて進むものだと思う。しかし、僕の場合は自分の足で全方向に歩くようにしている。正解がどちらの方向にあるのか、迷う必要すらない。すべての方向を探り尽くすからどこかで必ず正解が見つかるのだ。(74p)

 

自分を変えるとき、変化するためのコツは、「そうすることで良くなるかどうかまで考えない」ということだ。もし悪くなったとしたら、それに気づいたときにまた変えればいい。とにかく、大事なのは変わり続けることだ。良くなるか悪くなるか、そこまでは誰にも分からない。しかし経験から言うと、ただ変え続けるだけで、最終的にいまより必ず高みに登ることができる。(99p)

 

しかし、間違った階段を登ったと気がついたら、スタート地点まで引き返して、もう一度違う階段を登ればいいだけの話である。一番良くないのは、どの階段を登れば迷っている状態が延々と続くことだ。階段の下で正解を吟味し思い悩んでいるだけの人間よりも、間違った階段でもいいからとりあえず登っている人間の方がはるかに上達が早いと思う。(248p)

 この態度はもはや科学者や求道者のようでさえある。あえて悪く表現すれば総当り的だ。しかしこのような考え方は、何かを初めたいけれども不安で足踏みしている人、何か決断をしたけれどもそれが正解だったか迷い続けている人には力強く響くのではなかろうか。

 このような網羅的な試行錯誤を繰り返した梅原氏は、「10の強さ」(一般的な努力で到達できるライン)を超えた11や12の強さ(常人を超えた強さ)を得られるという。その自信を得られた瞬間が幸せだから、その一瞬の快楽に向かって迷いなく苦労を続けていけると述べている。

 以下、個人的に印象に残った箇所を引用する。梅原氏の絶対の自信が伺える文だ。

僕はこれまで頭の回転が速く、要領が良く、勢いに乗っていると思われる人間と何度も戦ってきたが、ただの一度も負ける気はしなかった。(中略)何も考えずに、自分のセンスと運だけを頼りに歩いてきた人間と対峙すると、相手の動きがチャラチャラと軽く見える。性根が定まっていないこと、さらには綿密な分析に基づいた動きでないことに、すぐに気がつくのだ。(59p~60p)

 恐らく梅原氏は、人生に求める幸福(快楽といってもよいだろう)の閾値がすごく高いのだと思う。中途半端なそれ、人と同じようなそれでは満足できない。そしてこれは多くのトップアスリートに共通する性質でもあると思う。

 本書では、梅原氏の人生において中高生時代に進路に悩んだ経緯が書かれているが、それもこういう性質に依るものだろう。どれだけ苦しんでも、遥かな高みにある究極の快楽に到達しなければ気が済まない。そして様々な経験の結果、それに到達する一番の近道は毎日努力を積み上げていくことだと心得、実践している。このような人間が勝負強くない訳がない。

トップアスリートでい続けたいか

 もちろん、このようなストイックな態度が万人向けのものでないことは梅原氏も自覚している。

友人関係に恵まれていて、自分に合った仕事があって、毎日の生活が充実していると感じるのなら、あえて厳しい道を歩むことはないだろう。(中略)もちろん、現在の状況を変える必要のない人もいれば、変えられない人もいるだろう。だから、口が裂けても全員に楽をするな、険しい道を歩めとは言わないし、思わない。(70~71p)

 

さすがに、すべてのゲーマーに僕と同じ道を歩め、とは言えない。その道がどれだけ苦しく、つらいものであるかは誰よりも僕が一番知っている。(120p)

 梅原氏のいう努力の仕方はトップアスリートの為の、というか、トップアスリートを目指すための努力を淡々と続けることが苦にならない人の為のものである。そして、何かの大会を一点突破するための方法論ではなく、パフォーマンスを維持し続けるために毎日の努力を要求するものである。一言で言えば成長中毒者の為のものだ。これはこれで相応の才能が要るのでは……と思ってしまう。数年単位の間違った努力も、間違っていたことがわかるだけで収穫である、というのがウメハラ流だが、実際はそのように能動的に環境を変えて、集中的に取り組んで、ダメだったらスッパリ気分転換をする、ということを意識的に行える人間はそれほど多くないように思われる。

 まあ、だったら現状の環境で死ぬまで思い悩んで我慢してくださいというのも酷なので、やはりどこかで努力が必要なのだろうけど……。だとしたらやはり、本書で重要視されているとにかく変化するということが人生の真髄なのかも知れない。程度の差はあれ。

 あなたが自分を成長中毒者だと認めるならば、この本は人生必携の書になるかもしれない。そこまでストイックでない場合でも、何かの選択で思い悩んでいる人には上に述べたようなこと(間違っていても変化することが大事)が励ましになるかもしれない。あなたが仕事に満足している勤め人で、土日と連休が生きがい! この生活が定年まで続いて欲しい! と思うようなタイプならば、多分本書は合わない、というか読む必要がない。

Mリーグがあれば……

 以下、完全な余談。梅原氏は一度格闘ゲームで挫折した後、麻雀で頑張っていこうとしたが、それも挫折している。ここでいう挫折とは、技術的なものではなく、長くこの業界にいても未来がなく、いつかは前向きに競技と向き合えなくなるのではないかという不安によるものだ。最終的には梅原氏はスポンサー契約を結びプロゲーマーとなるが、それは麻雀の挫折と介護の仕事を経た後の、eスポーツの盛り上がりを待たなければならなかった。

 本書では麻雀をやめた経緯についてあまり詳しく書かれていないが、筆者(ブログ主)が持っている麻雀界の知識を基になんとなく想像を巡らせてみよう。

 梅原氏が麻雀に関わっていたのは2004年~2007年の3年間だ。その時も麻雀にはプロ団体というものはあったが、給料がもらえるプロではなく、むしろ在籍することに対して料金を払う(それによってタイトルの挑戦権が与えられる)というものだ。まあ「プロになって食う」というのは麻雀に関して言えば、その見通しはかなり厳しいものだった。

 それとは別に、梅原氏は雀荘で仕事をしていたそうだが、それはつまりギャンブルやそれにまつわるトラブルと隣合わせの生活をしていたことを意味する。ここら辺は表では一切言及できない部分だが、本書にある「麻雀は人に恨まれることもある」という記述からは、勝手ながらそちら方面の辛さを想像してしまう。

 選手に給料を払うという意味でのプロの誕生は、2018年のMリーグ発足を待つ必要がある。もし梅原氏が麻雀に打ち込んでいる時に、Mリーグのようなものがあれば、梅原氏も前向きに麻雀プロを目指せたかもしれないな、となんとなく思ってしまう。

神谷美恵子「生きがいについて」書評

f:id:hibit_at:20190914184631p:plain

https://www.amazon.co.jp/dp/4622081814

 語学の天才でありGHQとの折衝も務めた*1知の巨人・神谷美恵子氏が生きがいについて記した本である。

 さてこの本、書き出しから重い。

平穏無事なくらしにめぐまれている者にとっては思い浮かべることさえむつかしいかも知れないが、世のなかには、毎朝目がさめるとその目ざめるということがおそろしくてたまらないひとがあちこちにいる。

 この本のテーマは生きがい、つまり生きる目的ということになるが、そのニュアンスはかなり重めである。つまり、普通の生活を送っている人がいかにその生活に意義を見出すかというよりは、挫折、重病、死別といった絶望に叩き落された人間が、その中でいかに再び生きるに値する希望を見出すかという、それこそ「死ぬか生きるか」というレベルの「生きがい」について論じている*2

 著者の神谷美恵子氏はその生涯をハンセン病の患者への治療に捧げた点でも著名である。当然、本書でもハンセン病やその患者に対する記述は多いが、それはこのような「死ぬか生きるか」について論じるにあたって自然な流れと言える。

 ハンセン病は肉体の変異を伴う病気である。そしてその変異は醜い。いくら感染力が少ないと言っても、その化け物じみた外見への変異は、罹患者への偏見を容赦なく呼び起こす。罹患者は親友や家族からも縁を切られ、二度と普通の社会に戻れない絶望へと叩き落される。

 その一方で、幸か不幸か、ハンセン病自体によって命を落とすことは少ない。つまり罹患者は、精神的には死んだも同然になりながら肉体的には生きているという一種の二律背反の状態に置かれ、これこそが大きな絶望をもたらすと言える。もしハンセン病が短時間で死に至る病であれば、どれだけ身体が醜く変異しようとも、罹患者や家族に大きな葛藤をもたらすことはなかったであろう。

 しかし、「精神的には死にながら肉体的には生きている」という状況はハンセン病に特有のものであろうか。もちろんそうではなく、絶望の縁に立たされた人間は大なり小なりこの二律背反に置かれているのだ。本書はこの点について、表現を変えながら何度もそれを強調している。

らいのひとたちの持っている問題も、結局、人間がみな持っている問題を、つきつめた特殊な形であらわしているにすぎないのであるから、

 

しかしこれは何も病気の場合に限ったことではない。すべて生きがいをうしなったひとの意識において、心と体はばらばらになる傾向がある。

 

しかしこれはレプラ*3のひとに限ったことではない。たしかに彼らの状況は最も「限界状況的」なものの一つにちがいないけれども、人間の持つ本質的な問題をただ極端な形であらわしているにすぎない。

 つまり、精神の死とそこからの復活は人間にとって普遍的なテーマであり、ハンセン病はその最も端的なインスタンスであると言える。愛生園*4ハンセン病の患者を(そしてその精神的復活の過程を)見続けてきた著者は、その精神の回復のはたらき、つまり「生きがい」についてその本質を述べるに相応しい立ち位置にいると言えそうだ。

 ではこの本はそのような「限界状況」に陥った人のための処方箋なのだろうか? 冒頭を読む限りではそのように思えるが、しかしそうではないと思える箇所もある。

社会的にはどんなに立派にやっているひとでも、自己に対してあわせる顔のないひとは次第に自己と対面することを避けるようになる。心の日記もつけられなくなる。ひとりで静かにしていることも耐えられなくなる。

 

たとえ表面ではあたりさわりなくやっていても、心のなかでしゃんと顔を上げて生きるためには、何か自分なりの新しい価値体型をつくり出す必要にせまられる。

 つまり、平穏な生活を送っていても、やはり何かしら生きがいがないと惨めですよ、とも取れる主張をしている。これはこれで厳しい態度ではなかろうか。安穏と暮らしいても、生きがいを求めて邁進することを暗に強制されるとは!

 それを論じるにあたって、本書で描かれる生きがいの再獲得について見ていきたい。本書に出てくるそれはかなり宗教的なニュアンスがうかがえる。もちろん特定の宗教に加担するような書き方はしていないが、暗闇の中で光があらわれ、使命感に突き動かされるというような描写は、まさに宗教的体験と相似形であるように思われる。

 もちろんこれは避けられないことであろう。というか、恐らく絶望の淵から喜びを見出すような過程は大なり小なり宗教的感覚と無縁ではいられないのだろう。逆に、人間には絶望から抜け出すための心のはたらきが備わっていて、その発露が宗教となって現れている、とも考えられる。例えば、著者は芸術について以下のようなホワイトヘッドの引用を添えている。

芸術は、人類が、その生存のストレスに対して示した精神病理的な反応である、といってみることもできる

 この文において、「芸術」を「宗教」に変えても何ら違和感はない。

 先に述べたように、本書で述べられる生きがいの再獲得というものは絶望(最もわかりやすい例はハンセン病)に立たされた人間がいかに再び希望を取り戻すか、という「死ぬか生きるか」の問題である。

 しかし、生存のストレス、端的に言えば、この世に強制的に産み落とされ、そしていつかは死んでいくという理不尽な運命を提示された人間は大なり小なり絶望に囚われた弱い存在であり、その中から希望を見出すためには、使命感を伴う生きがいを再発見しなければならないのではなかろうか。それであれば、やはり本書籍は特定の苦境に立たされた人達のための本であるだけでなく、万人に向けての書であると言える。

 ここでもう一度、怠惰な側の人間に立ってみよう。毎日の生活に追われるだけの人間からすれば、やはりこのような「生きがい主義」とも言える考えはどうにもストイックというか貴族的だ。パンがなければお菓子を食べればいい、ではないが、生きる意味を考える余裕もなければ正直その自信もない、という人間がほとんどではなかろうか。

 この点について以下のような記述がある。

かりに平和がつづき、オートメイションが発達し、休日がふえるならば、よほどの工夫をしないかぎり、「退屈病」が人類のなかにはびこるのではないだろうか。

 現実はどうだろうか。本書が発行された年(1966年)に比べてオートメイションは限りなく進んだ。しかし競争社会はますます激化し、格差は拡大し、人類はそれほど余裕が増えたようには見えない。またその余暇の潰し方も、神谷氏が理想とする精神的なそれとはかけ離れた人も多いように思える。

 技術の発展にともない人類が贅沢病を謳歌できたのであれば、生きがいの追求は現代人の最も大きなテーマになったかもしれない。だが人類は、種レベルでは技術を活かして休日を増やすほど賢くもないし、個体レベルでいえば余暇も享楽的に過ごしてしまう愚かな動物に過ぎないのかも知れない。

 ひとつ言えることは、どのような時代であれ、その中であなたが自分の人生と向きあうとする限り、本書で述べられている内容がその助けとなることは確かであろう。

*1:ついでに医者にもなっている。我々とは知能のレベルが違いそうだ。

*2:神谷氏自身が体験した絶望と回復の自伝であるという側面もあるらしいが、その点については深く追求しない

*3:ハンセン病のこと

*4:ハンセン病患者の療養施設。隔離施設という側面もあるが。

BeatSaberのグローバルランキングの実力評価、譜面例(1/17改稿)

※このエントリはchokudai氏による以下のエントリを全面的にオマージュしております。※

chokudai.hatenablog.com

※記事公開時点からかなりインフレが進んだため、全面的に記事を書き直しました(2020/01/17)※

 Beat SaberはVR空間上のノーツ(ブロック)を斬る音ゲーです。公式譜面やDLC譜面があって、その譜面の中で順位を競うのも面白いですが、それとは別に、ユーザーが作成したカスタム譜面による総合点を競うランキングがMOD制作陣によって運営されています。

f:id:hibit_at:20200113013618p:plain
こんな感じ

 参加しているのは40万人!……ですがこの中にはMODを入れたけれどもランクを意識していない人がいる(というか大半)ので、実際のアクティブユーザーは20万人くらいかなという感じです。

ppとその実力

f:id:hibit_at:20200113014334p:plain
私のページです

 このPerformance Points(pp)という値によってランキングが順位付けられています。これはランク譜面(Ranked Map)という特定の譜面群をクリアすることによって得られる得点です。ランク譜面は、カスタム譜面の中から有志の投票によって選ばれており、一定のクオリティ(無理な配置がないか、実力に応じたスコアが出るか)を担保された譜面となっています。

 ppと実力との関係については、超ざっくりまとめると、

  •   0pp~…MODを導入すれば誰でもなれるレベル。
  • 1,000pp~…ランク譜面を触り始めたレベル。
  • 2,000pp~…中難度譜面を触りだすレベル。
  • 3,000pp~…ここら辺から一般人からみればもう上級者の領域。
  • 4,000pp~…高難度譜面を触りだすレベル。
  • 5,000pp~…ここら辺から一般人がついていけない領域。
  • 6,000pp~…だいたいのランク譜面をクリアできるレベル。
  • 7,000pp~…超高難度譜面に挑み始めるレベル。
  • 8,000pp~…ここら辺から化け物の領域。
  • 9,000pp~…いみがわからない。
  • 10,000pp~神の領域

 という感じになります。詳しく説明していきますが、その前にもろもろの注意事項。

  • MODについて

 MOD・カスタム譜面の導入は各自の責任でお願いします。もし不具合やトラブル等が起きた場合においても当方では責任を負いかねます。MODの導入手順についてはのしろぐ様のエントリが非常にわかりやすいです。

  • お前は誰だ

 普通の一般プレーヤーです。現在、世界1,000位以内(日本100位以内)で、上に挙げた区分だと「超高難度譜面に挑み始めるレベル」になります。オマージュ元のchokudai氏がAtCoderの社長であり自身もトッププレーヤーであるのを考えると説得力のなさが際立つというか、お前偉そうに何様やねんという感じがしますが、ご容赦ください。

  • 動画について

 以下の説明では「このレベルの人が触る譜面の例」としてYouTubeの動画を引用していきます。譜面の難易度としては「そのレベルの人が手を出し始める譜面、やっとクリアできるようになる譜面」という位置づけですが、YouTubeに上がっているような動画はだいたいプレーヤーが上手すぎて(大半がトップランカーです)余裕でクリアしているのでご注意ください。決して「この人がこのレベルだよ!」という意図ではないですよ! あと、どのような譜面でppを稼ぐのは(超上級者以外は)自由であり、人によって得意不得意があるので、動画の例はあくまで目安です。

  • pp相場感

 高難度のランク譜面が新しく追加されればプレイヤー全体のppも増えていきます。以下の説明はあくまで現時点の相場感であり、今後インフレ*1していく可能性を否定できません。

0pp以上1,000pp未満

 MODを導入すれば誰でもなれるレベルです。色々なカスタム譜面をやっているうちに偶然それがランク譜面で……というケースもあるので、この辺りだと「知らない間になっている」レベルです。

1,000pp以上2,000pp未満

 ランク譜面を触り始めたレベルです。色々なランク譜面をやっていたらすぐに到達します。

 身体面では、最初は筋肉痛に悩まされる人が多いでしょう。はじめの内は、1時間もプレイしたら次の日は腕が上がらないと思います。

 このレベルの人が触る譜面の例です。

www.youtube.com

Comment: 基本的な動きでノリよく斬れる、初心者でも楽しみやすい譜面です。

2,000pp以上3,000pp未満

 中難度譜面を触りだすレベルです。ストリーム*2や対角*3といった配置が頻出するようになり、一気に音ゲー感がでてきます。たのしい。

 身体面では、だんだん筋肉痛になりづらくなってくる頃です。しかしこれは後に続く悲劇の幕開けに過ぎない……。

 このレベルの人が触る譜面の例です。(公式の初期譜面のEX+もこのあたりでしょうか)

www.youtube.com

Comment: 見た目は難しいですが、斬りやすいパターンがバランスよく配置されており、中級者から超上級者まで実力に応じて楽しめる良譜面です。

3,000pp以上4,000pp未満

 ここら辺から一般人からみればもう上級者の領域です。単なるクリアだけでなく「精度(Accuracy)」を意識するようになります。ノーツを追っかけるだけのプレイではなく、余裕を持って振り抜く美しいプレイになります。

 ここでBeatSaberのスコアシステムについて説明しますと、このゲームではただ斬るだけでなく「十分な角度をつけて斬る」ことが大事になります。具体的には、

  • 振りかぶり100度、振り抜き60度をつける
  • ノーツの真ん中を斬る

 と最高スコアを出すことができます。すべて完璧に斬れれば精度100%ですが現実的には不可能です。実際にはSSクリア(精度90%以上)がフルコンボフルスイングのラインなので、それを達成できればその譜面を完全にマスターしたと言ってもよいでしょう。同じ譜面でもAクリア(精度65%以上80%未満)とSSクリアでは、難しさももらえるppも全然違います!

 身体面では怪我が増えてきます。振りの「勢い」が出てくるので、コントローラを壁にぶつけたり、体にぶつけて内出血させたり……くれぐれもご注意ください。

 このレベルの人が触る譜面の例です。

www.youtube.com

Comment: 全体的に密度が高い譜面ですが、難所として変則的なストリームの塊が3回訪れます。それをうまく処理できるかがカギであり、上級者への試金石のような譜面です。

4,000pp以上5,000pp未満

 高難度譜面を触りだすレベルです。このあたりだと、目についたランク譜面を触るという段階は卒業して(低pp譜面をクリアしても個人ppが増えないので)、ある程度高pp譜面に狙いを定めて攻略するようになります。高pp譜面の数は限られているので、みんなが同じような譜面を攻略しその精度を競うといった世界になってきます。ピアノのコンクールみたいだ……。

 プレイスキルの面では、複雑な配置、例えばクロスストリーム*4や片手配置*5が来ても冷静に対処できるようになります。

 身体面では、腕だけの力任せの振りを卒業して、手首や肩を使ってうまくノーツを斬れるようになりますが、それに呼応するかのように譜面の配置がいやらしくなるので体への負担は減りません。腕だけでなく色々な部位にダメージが来るようになります。

 このレベルの人が触る譜面の例です。

www.youtube.com

Comment: 最初は簡単ですが、クライマックスに向けて加速度的に密度が上がっていき、最後に怒涛の両手斬りの連続が来ます。非常にドラマチックな構成であり、ファンも多い譜面です。ランク譜面を触り始めた人の中には「これだけはクリアできるようになりたい!」と思う人も多いのではないでしょうか。

5,000pp以上6,000pp未満

 ここら辺から一般人がついていけない領域です。実際にプレイしている様子を一般人が見たら「上手いね〜」というよりは「えっ、なんかめっちゃ腕を高速移動させてる……近寄らんとこ……」ってなるレベルです。

 ランクを上げようとする場合は高難度譜面にしか目にいきません。もしくは中難度譜面をSSクリア。苦手譜面でも頑張って攻略しないとppが増えないので、苦しい戦いを余儀なくされる人が多いと思います。

 このレベルのランカー同士だと、高難度譜面の精度を争っていることは大前提です。どんな譜面かはお互い知っているので、「今日、"アバ"、1%伸ばしたワ……」「"テオ"のあそこはヤバい……」といった効率的な会話が可能になります。

 プレイスキルの面では、速い譜面に対応できるようになります。bpmや密度がすごいことになってくるので、的確に処理できる動体視力や反射神経が必要です。

 身体面では、筋肉痛とかはもうあまりないと思いますが、腱鞘炎や関節の故障といったクリティカルな事例が発生する時期のような気がします。ドクターストップがかかって数週間の安静を余儀なくされた知り合いが数人います。そういうゲームなので仕方ないですね。

 このレベルの人が触る譜面の例です。

www.youtube.com

Comment: そこまで複雑な配置はないですが、とにかく密度が高いです。初心者が筋肉だけで対処するのは不可能です。

6,000pp以上7,000pp未満

 だいたいのランク譜面をクリアできるレベルです。様々な譜面を攻略・挑戦してきた結果、ある程度の基礎力ができているので、あらかた初見の譜面にも対応できるようになります。配信でリクエス*6を受けてもスムーズにこなせます。

 このレベルの人が触る譜面の例です。

www.youtube.com

Comment:途中までは普通の高密度譜面ですが、最後に、手をクロスさせながら上下左右に乱れ斬る発狂ゾーンがきます。

7,000pp以上8,000pp未満

 完全にpp中毒です。少しでもppを上げるために超高難度譜面に挑み始めて撃沈していきますが止められません。苦しいのに止められないのは依存症の兆候です。重篤化する前に医師に相談しましょう。

 このレベルの人が触る譜面の例です。

www.youtube.com

Comment: 高速で変則ストリームが来たり発狂ゾーンが来たり片手地帯が来たり、難所のフルコースみたいな譜面です。

8,000pp以上9,000pp未満

 ここら辺から化け物の領域です。日本人には現在22人います。

 このレベルの人が触る譜面の例です。

www.youtube.com

Comment: ランク譜面の女王。NJS(ノーツが流れてくる速度)がクソ速い上に配置も極悪。クリアできるかこんなん。

9,000pp以上10,000pp未満

 いみがわからないレベルです。日本人は現在6人います。

 このレベルの人が触る譜面の例です。

www.youtube.com

Comment: ランク譜面の王。腕が四本ぐらい欲しくなる。

10,000pp以上

 神の領域です。世界でも現在40人ぐらいしかいません。うち日本人は現在2人います。というか世界1位が日本人です。

「このレベルの人が触る譜面の例」というのはもはや存在しないのですが、ランク譜面以外だと冗談みたいなチャレンジ譜面があります。世界で1人しかクリアできていません。

www.youtube.com

Comment: なんだこれわ

まとめ

 みんなも怪我にだけは気をつけながらたのしくBeat Saberをやろう!

*1:デフレする可能性もゼロではないのですが、諸々の事情により基本的にはインフレ傾向です

*2:1/4グリッド刻みで並んだ上下ノーツの連続。

*3:左下から右上に斬らせるような配置。

*4:腕を交差させるようなストリーム。

*5:片手だけを高速で振り回すような配置。見た目以上に難しい。

*6:視聴者からやって欲しい譜面を投げてもらえるmodがあります