テストステ論

高テス協会会長が, テストステロンに関する情報をお届けします.

ゲーム間センシはMonitor Distance 0%で合わせろ

昨日, ゲーム間でセンシを合わせるためには, マウスを微小距離動かした時のモニター上の移動距離を同じにするという考え方を示した.

akiradeveloper.hatenadiary.com

これはつまり, mouse-sensitivity.comでいうところのMonitor Distance 0%と同じであるという話もした.

今回は, 理論ではなくおれの体感の話をする.

おれがCSGOで使っているセンシは1.225 (800dpi). これがOW, Sniper Elite 4 (SE), Far Cry 5 (FC)の3つのゲームでMonitor Distance 0%, Viewspeed v2でどのセンシに変換されるかを以下に示す.

Game FOV Monitor Distance 0% Viewspeed v2
OW 103 3.85 3.93
SE 82 2 5
FC 75 0.7050 0.8091

この動画の途中でおれの体感について述べた.

youtu.be

実際にViewspeedで合わせた5というのは, Monitor Distanceで合わせる場合にはCSGOで1.35に相当する. 実際に5でやると視界がぷるぷるする具合が1.35でやった場合と同じように感じた. SEやFCのような遊びゲーの場合はそれほどエイムを突き詰めなくても良い(特にSEは全く関係ないと言ってもよい)ため, 今までViewspeedでやっていても気づかなかったが, 実際に確かめてみると確かにViewspeedで合わせると速いということがわかった. 例えばSEの場合は1.35相当ということだから, この「速い」という感覚は正しいと思う. なぜならばこのセンシはCSGOでやると全く使い物にならないレベルのハイセンシだからである.

逆にOWの場合はCSGOとFOVが近いこともあり差が出ないため, どっちでもそれほど差は感じず, 結果としてViewspeed v2によるセンシ合わせが悪いことに気づけなかっただけならず, OWでいいと思ったセンシをCSGOに逆輸入しての行ったり来たりを繰り返して混乱していたものと思われる.

以上より今のおれの考えとしては, Monitor Distance 0%でセンシを合わせることは間違ってないというものであり, みなさんも是非使っていただきたい. mouse-sensitivity.comがない場合でも, マウスの振り向き距離を正しく測ることが出来るのであれば, 先のブログに示した計算式によって合わせることが出来る.

エイム数学: ゲーム間で視界速度を一致させる方法

2つのゲーム間(例えばCSGOとOW)でセンシを合わせると言った時に, FOVの影響を考えず振り向きに必要なマウス移動距離で合わせてしまう人がいるが, これは間違ってるという話をする. その上で, どういう計算式によって合わせれば良いかという話をしようと思う.

f:id:akiradeveloper529:20180610172634j:plain

まずFOVとは何かというと「全方位360度のうち何度分を平面のディスプレイに投影しますか?」という数値だ. 例えばCSGOでは106.26度, OWではデフォルトで103度となっている.

マウスをある距離動かした時に, どのくらいの角度を進むかは, 振り向きの逆数で表すことが出来る. 例えば振り向き3cmの人と30cmの人と比べると, 1/3と1/30で後者の方が10倍角度が進まないということが言える.

例えばFOVの異なるゲーム間で振り向きを一緒にしてしまうと何が起こるかというと, FOVの小さい方では視界速度が速くなる. これは例えばPSAの結果に影響する. たとえば極端にFOV10度と100度のゲームがあったとしたら, これは自明だろう. (試しにOWのFOVを80度に下げてみると良い) だから, FOVの異なるゲームではFOVを意識した変換を行う必要がある.

ではどういう変換をすれば良いか?問題は円周には膨らみがあるのにディスプレイには膨らみがないことだ. これが誤差になるため, モニター上の距離を一致させるという方式では「では何度ないしは何パーセントの範囲でモニター距離を一致させるのか」で結果が変わってくる. これが, mouse-sensitivity.comのMonitor Distanceの設定でMatch Atというパラメータがある理由である. これは75%が推奨されているが, 特に数理的な根拠があるわけではない.

そこで考えられたのが視界「距離」ではなくて「速度」(つまり微分)に着目するという方式で, これがmouse-sensitivity.comではViewspeedという形で実装されている. これについて説明する.

f:id:akiradeveloper529:20180611142942j:plain

マウスをいくら振っても, 視界は常に画面の真ん中にある. だから, 大きな視界移動であっても, 微小な視界移動の積み重ねと考えることが出来る. こう考えると, 微小な視界移動について着目しても良いと分かる. (そもそも視界速度の定義はdθ/dt)

f:id:akiradeveloper529:20180610173845j:plain

上の図でθが極めて微小な時, 円の曲がりは無視することが出来る. つまり, 円上の動き(つまり振り向きの逆数)とモニター上の距離の関係は, 図にあるようにαで表すことが出来る. これより, α = cos(θfov/2)が言える.

今目指すことは, マウス上の微小移動距離に対してゲーム間でモニター上の微小移動距離のモニター上の割合を一致させることだから, 前者を固定して議論しても良く,

1 / 振り向き1 * cos(θfov1 / 2) / sin(θfov1 / 2) = 1 / 振り向き2 * cos(θfov2 / 2) / sin(θfov2 / 2)

という関係が得られる. ここで添え字の1,2はゲーム1,2のこととする.

実際にmouse-sensitivity.comを使って確かめてみる. 例えばScreaMが使ってる1000edpiというCSGOのセンシの場合, 一周は41.5637cmである.

上の式は,

振り向き1 * tan(θfov1 / 2) = 振り向き2 * tan(θfov2 / 2)

となるから,

>>> 41.5637 * math.tan(106.2/2/180*math.pi) / math.tan(103.0/2/180*math.pi)
44.033463805534595

となって, OWでは3.93が適正と分かる.

しかし, これは, mouse-sensitivity.comのViewspeedとは違う. むしろただMonitor distanceで0%の場合を再計算しただけに相当する. Viewspeedはどうやらモニターのアス比や2D-3D変換も考慮に入れているようだが, おれとしてはFPSにおいてはほとんどのエイムはヘッドラインを保って水平方向に動かすだけであり, 縦横を平等に扱うこと自体が間違ってると思うので, 今回紹介した考え方に間違いがないのであれば, この方法でいきたいと思う.

(etiles report) Android版を正式リリースしました

Google Playで"etiles"で検索してダウンロードしてね!!

Android版のリリースに向けて, iOS版の実機テストを行った. なぜかというと, Android版とこれから出すiOS版は出来るだけ同じソースコードにしたいので, iOSで破綻するコードならAndroid側に妥協してもらう必要があるからだ.

そのために, ipod touchをアキヨドで買ってきた. これは23000円もした.

f:id:akiradeveloper529:20180609024703j:plain

react-nativeで作ってるので当たり前ではあるが, iOSでも動作した.

iOS版は6月末に出せればいいかなと思っている. お楽しみに

(writeboost report) v2.2.9をリリースしました

github.com

4.15の段階でACCESS_ONCEが消去されたことでコンパイルが通らなくなったため, 各方面から「いつになったら修正版がリリースされるんだ」と突きまくられていたが, おれはイータイルズの開発に集中していたため, なかなか手を戻せなかった. よってなんと8ヶ月ぶりのリリースとなった.

修正コミットのうち1つはAllenという学生がやってくれたものだが, コードのことについて熱心に質問してくると思ったら, 学校のプロジェクトでライトブーストの性能測定をする目的があったようだ.

github.com

まぁ, 正直に言って何やってるか正しく読み取ることは難しいし, 教育は学校の先生に任せるとする. ただ, ライトブーストが学校の教材として採用されていることは素直に嬉しく思う. ライトブースト開発の目的の1つは, このコードをLinuxカーネル開発の入門として使ってもらうことだからだ.

v2.2.8の間にあったもう1つのニュースは,

RedIRIS - Jornadas Técnicas de RedIRIS

ライトブーストを学内のサーバで使った成果をスペインの学会で発表してもらったことだ. スペイン語なので何を言ってるかはわからないがとても速いみたいなことを言ってるような気がする.

おれがイータイルズを開発しているうちにライトブーストは着実に広がっており, たぶん今後も広がり続ける. 細々とメンテナンスだけはしていこうと思う.

児童虐待に心を痛めている

headlines.yahoo.co.jp

東京・目黒区で、5歳の女の子が虐待死し、両親が逮捕された事件で、女の子が「ゆるしてください」などと書いたノートが見つかっていたことがわかった。

今朝のニュースだが, 虐待されていた幼児が虐待されているにも関わらず健気にも自分が悪いと信じていたという痛ましいものだ. このニュースを見て涙を流せない人間は人の心が壊れている. こんなニュース, 平常心で報道出来たらむしろおかしい.

このニュースからおれが思い出したニュースがこれだ.

www.sankei.com

長男は食事も満足に与えられず、冷凍食品を解凍せずにそのまま食べるなど必死に生きようとしていた。

知人女性は「どうしてパパとママがいるときに、おなかが空いたと言えないの?」とたずねると、長男は「怒られるから」とつぶやいたという。

どちらのケースとも, 子供は親に虐待されながらも親のことを信じているということが共通している. どうしてこんなことが出来るのか信じられない.

まぶにゃんのスポンサーを打ち切った

まぶにゃんというYoutuberがいる.

早速だがまぶにゃんの面白さはこの動画を見ればわかるだろう. わかる人にはわかるがわからない人には一生わからないという方が正確かもしれない.

www.youtube.com

元BFプレイヤーで今はFortniteを中心にプレイして配信している. BF時代の戦績については以下が詳しい.

MAVnyanニコ生チャンネル-ニコニコミュニティ

高卒の現在26歳で, 越谷の実家住まい. まともな定職にはついたことがなく, 本人曰く社会に嵌められたとのこと. 本人曰く, 早生まれのせいで成長がみんなより遅れてしまい, 最初のつまづきをリカバリすることが出来なくなった結果, このような人生になってしまったとのこと. 早生まれの人間の自殺率の高さなどを根拠にして, 早生まれに自分の人生の責任を負わせている. Youtuberとしての収益が自立出来るレベルには高くないため今はまだ実家住まいをしており, 隣の部屋とはスライド式の薄いドアで仕切られただけの狭い自室を与えられ, そこで主に夜間に配信をしている. なぜ夜間かというとゴールデンタイムには家族との団欒をする必要があり, 夜間しかまとまった時間がないからだと言っている. 昼夜逆転によって一時は自律神経が壊れ, 味覚障害を起こした. その配信には毎日200-300くらいの通称まぶキッズが集まり, 彼がFortniteを始める際には「まぶ様ご武運を」とコメントするのが慣習となっている. また「もだめ」「しょうもな」など決まりゼリフがあり, 確かなプレイスキルもあって, キッズをひきつけている.

おれもまぶキッズの一人だ. おれは夜間の配信には健康上の理由で参加しないが, アーカイブを毎日楽しみにしている. 特に楽しみなのがゲームプレイのあとに2時間ほど行われる通称「お手雑」だ. お手雑は「お手々雑談」の略で, その名のとおりまぶにゃんの手がカメラに映りながらしょうもない駄菓子をつまみにビールを飲みながら雑談をするというものだ. その話題は流れの中で決まることが多いが, どの話題についてもまぶにゃん独自の着眼点を持って話が展開されるため, 京大院卒のおれにとっても聴き応えのあるものとなることが多い.

さて, Youtubeにはスポンサー機能というものがある. これは応援料として毎日500円を配信者に支払うものである. その対価としてしょうもないスタンプが使えるようになったり, コメントで強調されたりするが, ライブに参加していないおれにとっては何の魅力もない. しかしおれはまぶにゃんのお手雑を楽しんでいるし, なにより彼が自立してまともな時間に配信が出来る手助けになれば良いと思ってスポンサーとなった.

しかし今朝, 残念ながらスポンサーを打ち切った. 理由はお手雑をしなくなったからだ. Twitterで再三に渡ってお手雑をしなければ見限るという通告をしたにも関わらず, 意図的に無視し続けたため, 勢い的に切る他なくなった.

f:id:akiradeveloper529:20180608000349p:plain

なぜこのような記事にしようかと思ったかというと, おれが今まぶにゃんにしてあげられることはブログでまぶにゃんの紹介をして, 新しいファン獲得に繋げることしかないからだ. おれはもうまぶにゃんは見限ったけど, おれの読者の中からまぶにゃんのファンが生まれることを願っている.

PSAメソッドは中距離かつ手首だけでやるべき

先日紹介したn0thingのエイム理論

n0thingによるエイム理論 - テストステ論

によると, エイムにおいては精度の高い手首エイムが主役であり, センシ合わせは手首エイムによって狙った点を快適にフリック出来るかで行うということであった. この手首エイムを基準に決定したセンシに対して, 手首エイムの可動域の狭さを拡張する補助的存在でしかない腕エイムは, 慣れによって追従するというものであった. これは, 腕エイムはたかだか空間をエイムするものでしかないから, 仮に腕エイムにとってベストでないセンシであっても, 慣れで追従出来るレベルであることを拠り所とする. 一方で精度の高い調整を責務とする手首エイムには, 慣れだけでなくそもそもその人固有の感覚とマッチしてるかが求められる.

的との距離とエイム法の話をする.

www.youtube.com

この動画で述べられていることは,

  • 近距離では腕エイムを使う
  • 中距離では手首エイムを使う

ということであり, これは近距離では画面上での距離が大きくなるから, 腕エイムをしないと間に合わない場合が多いという単なる物理的な要請によるものだが, より頻度が高く, 当てにくいのは中距離の方なのだからここで手首エイムを使うことには合理性がある.

さて, 以上のエイム理論をもとにして以下の動画を否定する.

www.youtube.com

この動画で述べられていることは, 「PSAメソッドを行う時には近距離にして腕エイムをして快適か, 中距離にして手首エイムをして快適か」の両方の快適さによってセンシを絞り込んでいくということであるが, そのようなセンシは存在し得ない. 手首エイムを基準としたセンシを決めるのが手の大きさ, 腕エイムについては腕の長さだとして, ある異なるプレイヤーA,Bの手の大きさが同じ時に, 腕の長さが同じでは一般にないからである.

ではどうすればよいかというと, PSAメソッドを行う時もn0thingの理論に従い, 中距離の手首エイムだけで行うべきである. 手首エイムを基準してPSAメソッドによって導かれたセンシは理論的にはフリックにおいても最適であるから, n0thingのフリックによる調整法とも矛盾しない.

まとめ

  • 中距離で手首エイムだけで揺れろ. クロスヘアがもっとも安定するセンシが最強のセンシだ