『大乱闘スマッシュブラザーズ SPECIAL』(以下、スマブラSP)の、
オンライン対戦の「専用部屋」において、試合開始前の読み込み(ローディング)時間が異常に長く、
果ては通信エラーとなり、試合が開始できない問題が、Ver.2.0.0以降、発生しているようです。
私の友人にも、同様の問題が発生していたため、
試行錯誤の末、とりあえず問題を回避することができましたので、ご報告します。
エラーの内容
試合開始のローディングが長い
オンライン対戦-専用部屋での対戦にて、
試合開始選択から試合開始までの読み込みが、異常に長い。
(下の画面時)

【出典】『大乱闘スマッシュブラザーズSPECIAL』© Nintendo / HAL Laboratory, Inc.
ついには、この画面上で「通信エラーが発生しました」と表示される。
エラーコードは表示されない。
画面は、試合へと切り替わるが、試合開始(GO!)と同時に部屋が解散される。
特定のプレイヤーが参加している場合に限られる
このエラーは、特定のプレイヤーが参加している場合のみ、発生する。
エラーまでに至らなかったにしても、特定のプレイヤーが対戦に参加している場合、
試合開始前のローディングが、毎回必ず長くなる。
上記特定のプレイヤーが試合に参加しない場合、
ローディング中の「スマちしき」を読む暇がないほど、素早く開始する。
また、上記特定プレイヤーに限り、
試合終了(GAME SET)から、リザルト画面に移るまでの読み込み時間が、同様に長い。
(これは他プレイヤーには影響しない)
参加人数が多いほど、エラー確率が高い
上記特定のプレイヤーと二人で試合しているときは、
ローディングが長いことは長いが、エラーが発生する確率は低い。
三人、四人、と参加人数が増えるほど、ローディング時間は長くなり、
エラー発生率も高くなる。
通信環境は良好である
上記特定のプレイヤーは、試合中のラグなどは無く、通信環境は良好である。
有線接続もしている。
Ver.2.0.0以降に発生している
この問題は、Ver.2.0.0以降に発生しており、2019年5月現在(Ver.3.0.1)でも、継続している。
解決策(回避策)
ソフトデータを、SDカードから本体に再ダウンロードした。
問題が発生していた、上記特定のプレイヤーが、
スマブラSPのソフトデータを、
SDカードから本体に移した(再ダウンロードした)ところ、
問題は発生しなくなった。
開始前の「スマちしき」を読む暇が無いほど、早くなった。
さらに詳しく知りたい
なぜ問題は発生した?
SDカードのスペックが関係している?
上記特定のプレイヤーが使用していたSDカードは、
HORI製マイクロSDXCカード 64GB for Nintendo Switch
である。
これは、Nintendoライセンス商品とされており、
NintendoSwitchの使用にも問題ないはずである。
一方、他のプレイヤーは、
Samsung製microSDXCカード EVOPlus を使用していた。
2つのスペックを比較すると、転送速度において、後者が圧倒的に勝っている。
HORI | Samsung | |
転送規格 | UHS Speed Class1 (最低10MB/秒) | UHS Speed Class 3 (最低30MB/秒) |
読み込み速度 | 最高80MB/秒 | 最高100MB/秒 |
書き込み速度 | 最高15MB/秒 | 最高90MB/秒 |
上記特定のプレイヤーが、
「ソフトデータを本体に移した」ことで問題が解決したことから考えても、
データの転送速度が関係していた可能性は高い。
HORI製のSDカードに問題がある、というわけではないはずである。
任天堂のHPに掲載されている推奨スペックは、満足している。
・UHS-I(Ultra High Speed Phase I)対応
・読み込み速度 60~95MB/秒
(読み込み速度が速いほど、Nintendo Switchをより快適に遊んでいただけます)
【出典】https://www.nintendo.co.jp/support/switch/data_management/microsdcard/index.html
(Nintendo Switch サポート microSDカードについて)(2019年5月時点)
スマブラSPのVer.1では発生していなかったため、根本的な原因は他にあると思われる。
今後のアップデートで、それが改善されることを望む。
他の回避策
本体にソフトデータを移せない、
あるいは、上記以外のケースで同様の問題が発生している場合に備えて、
偶然発見した他の回避策も掲載しておく。
特定プレイヤーがステージ選択をする
専用部屋の設定を、ステージ:「あらかじめえらぶ」とし、
上記特定のプレイヤーのみが任意のステージを選択する。(おまかせ以外)
他プレイヤーは「おまかせ」を選択する。
つまり、上記特定プレイヤーが選択したステージが必ず選ばれるようにしておく。
この場合、試合開始までの読み込みが長いことに変わりはないが、
エラーが発生することはなくなった。
逆に言うと、他プレイヤーが選択したステージで試合が開始される場合に、
エラーが発生する確率が非常に高い。
また、上記特定のプレイヤーが、部屋主であるかどうかは、関係がなさそうである。
終わりに
私は、ゲームプログラマーの専門家でもなんでもないので、
この件について追加で質問をされても、有効な回答をお返しすることはできないが、
「こうやっても解決した!」という事例の共有であれば、
下記のコメントにて投稿して頂けると、幸いです。
では、よいスマブラライフを。
コメント
スマブラ楽しい