このエントリーをはてなブックマークに追加
sfvae2020


カプコンが4年間放置していた「ストリートファイター5」のネットコードのバグを、海外の有志が改善したという話題がredditであがっています。
Altimorという人物がソースコードとともに公開したPC版スト5の改善プログラムの説明文には、以下のようなことが書かれています。

使用方法

"Steam/steamapps/common/Street Fighter V"にzipファイルを解凍。
(※非公式のプログラムであり、正常にPCやプログラムが動作しなくなる可能性もあります。リスクを承知の上、自己責任で使うことを推奨します。)


なぜこれが必要なのですか?

スト5には、あるプレイヤーのゲームが他のプレイヤーのオンラインに遅れをとることがあるバグがあります。 これにより、他のプレイヤーによる人為的なラグと片方のロールバックが発生する可能性があります。

プレイヤーの「クロック」が同期している場合、たとえば それらの間の4フレームパケットの往復時間、各プレーヤーは、相手から最後に受信した入力の2フレーム先であり、2フレームのロールバックを経験する必要があります。

一方のプレイヤーが遅れると、他方のプレイヤーは本来よりも「過去」(最大15フレーム!)に入力を受け取り、不必要に大きなロールバックと人為的な遅れを引き起こします。一方、遅れているプレイヤーは「未来」に見える入力を受け取ることもあり、ロールバックをまったく経験しません。

この修正により、「クロック」がパケットの往復時間の半分以上を相手よりも先に取得しないため、相手よりも多くのロールバックが発生することはありません。


他のプレイヤーにもこの修正が必要ですか?

いいえ。ただし、修正プログラムがない場合、一方的なロールバックが発生する可能性があります。


クソCapclownは修正しろ
(※CapclownはCapcom+clown(ピエロ)の造語?)

これを作るには2日以上かかりましたが、カプコンは4年間バグを修正していません。 そのほとんどはリバースエンジニアリングでした。 ソースコードでは30分程度かかります。 MikeZは、ベータ期間中にバグの原因を特定するツイートを作成しました。

ソースコード
https://github.com/AltimorTASDK/SFVNetcodeFix

ダウンロードURL
https://github.com/AltimorTASDK/SFVNetcodeFix/releases

以上のような内容です。
カプコン公式のものではないため使用するかどうかは自己責任ですが、PC版のオンライン対戦のラグ改善に一定の効果があるようです。

ネットコードに対しては海外で以前から辛辣な意見が多く、開発者の技術力のなさを批判する書き込みも見られました。カプコンが何年も自力で解決できなかったネットコードの改善プログラムを、わずか数日で作ったAltimor氏の功績が大きな反響を呼んでいます。



redditでは、以下のようなコメントが寄せられています。

・20試合やって全然ロールバックもラグもなかったよ。ありがとう。
・これがrootkitじゃないことをマジで祈るよ。みんなの反応を見る限りでは大丈夫そうだね。
・2日でできるならどうして今まで誰もやらなかったんだ?ネットワークの天才か何かか?
カプコン自身がこれをできなかった4年間。 本当に哀れ。
・アメリカでアンテナ4本でもロールバックなし、クレイジーだぜ。


redditの該当スレッド

【ストV】PC版のプレイヤーは、「Alt+Tab」で対戦相手にラグを発生させる事ができる?

http://chigesoku3.doorblog.jp/archives/47879469.html



【1/11 追記】
カプコンの小野義徳氏が、「状況を把握しました。」という意味深なツイートをしました。
今回の件についてカプコンも認識しているものと思われます。



※注意※
このプログラムを使用すると、PS4ユーザーとのクロスプラットフォーム対戦でPS4側がラグくなるという報告があがっています。








Altimor氏は格ゲーのリバースエンジニアリングの達人として知られているそうです。
ドラゴンボールファイターズ、UNISTのヒットボックスビューアや、鉄拳のツールなども作っているとのこと。