Nintendo Switch新作『ドカポンキングダム コネクト』で、片仮名の「ソ」に起因する不具合発生。ソがプログラムの中で大暴れか

Pocket
reddit にシェア
LINEで送る

コンパイルハートは4月13日、『ドカポンキングダム コネクト』をNintendo Switch向けに発売した。しかし、同作では現在、名前に片仮名の「ソ」が含まれる場合、特定条件下で進行不能になる不具合が発生しているという。

『ドカポンキングダム コネクト』は“友情破壊”ボードゲームとしても名高い『ドカポン』シリーズ最新作だ。1人プレイまたは最大4人プレイに対応。スゴロク形式にてモンスターを倒したりイベントをこなしたりしながらお金を稼ぎ、勝利を目指すのが基本ルールだ。また、本作ではプレイヤー同氏のぶつかり合いも醍醐味。プレイヤーらが同じマスにとまった場合バトルが展開され、勝者が敗者の財産を奪ったり、無理難題を押し付けるなどのシステムがある。また、本作はオンライン対戦プレイにも対応している。

人気シリーズ新作として4月13日に発売された本作にて、同日に不具合の発生が確認された。公式サイトの不具合情報によれば、名前に片仮名の「ソ」を含むキャラを作成/使用している状態でセーブし、メニュー画面で「つづきから」を選択すると画面がフリーズしてしまうという。現状の対処方法としては、本作セーブデータ自体をNintendo Switch本体から削除し、キャラ名やNintendo Switchプロフィールのニックネーム自体に「ソ」を使わないようにするやり方が案内されている。また、同不具合については後日バージョンアップパッチ配信で修正予定だという。


しかし、なぜ「ソ」がこれほど重篤な不具合を起こすのかは気になる点だ。その原因として有力視されているのが、文字コードShift_JISの運用で発生する不具合、通称「0x5C問題」である。ゲームプログラムの開発環境や実装によっては、片仮名の「ソ」が不具合の原因となってしまう現象だ。そのメカニズムを紐解いていこう。

まず、ゲームを含むプログラムが「文字」を認識する際には、その文字を「文字コード」という数列として解釈する。たとえば、Unicode(UTF-8)という規則では、「あ」というひらがなは内部的に「0xE38182」とあらわされる。プログラムは内部的にはこうした数列を、2進数などのかたちでも扱いつつ、プレイヤーには「あ」というひらがなで表示しているわけだ。


そして、問題となるのがShift_JISという規則における「ソ」の文字コードである。この規則において、ソは「0x835C」となる。この文字コードをさらに分解すると、0xというのは「16進数です」とあらわす接頭辞。残る数字は「83 5C」とふたつに分けて解釈される。そして、この「5C」こそが“「ソ」でゲームが止まる不具合”の犯人と見られるのだ。

プログラミング言語では、しばしば「エスケープ記号」と呼ばれる特殊な記号が使われる。その代表的な例が「\」だ。「\」は、プログラムの中でなにか機能をもっている文字を、なんの機能もないただの文字にする効果が与えられていたりする。つまり、プログラムソースの何気ないところに「\」を挿入しようものなら、不具合が発生する可能性が非常に高いわけだ。そして、この「\」の文字コードは、Shift_JIS含む多くの規則で「5C」なのである。

前述の通り、「ソ」のShift_JISでの文字コードは「83 5C」。この後半部分をプログラムが特に対策なく扱うと「\ですね」と解釈されてしまうのだ。そうして、「ソ」だったはずの文字がエスケープ記号「\」としてプログラムの動作に甚大な影響を与え、フリーズを招いたと考えられる。


なお、ソ以外の文字で不具合が起きるとの報告は、少なくとも筆者の観測範囲内では現状見られないようだ。Shift_JISにて「5C」を文字コードに含む文字はほかにも数多くあり、通称「ダメ文字」と呼ばれている。しかし、ソ以外のラインナップはいずれも漢字や特殊記号となる。『ドカポンキングダム コネクト』のキャラ名やNintendo Switchのニックネームにおいては、原則としてひらがなや片仮名での入力となるため、「ソ」だけが問題児としてゲーム内に入り込んで“暴れた”かたちと考えられる。

なお、こうした不具合の回避方法としては「そもそもShift_JISを開発環境や設計に盛り込まない」という手段がある。実際、Shift_JISの利用はかなり以前から下火になっており、前述のUTF-8がデファクトスタンダードとなっている状況だ。しかし、元エンジニアである筆者の個人的経験によるものの、なんらかの事情により「仕方なくShift_JISを扱わなければいけない」といったケースも開発現場では発生しうる。今回の「ソ」による不具合が「0x5C問題」によるものだとすれば『ドカポンキングダム コネクト』の開発のなかでそうした“事情”が発生し、不具合につながった可能性も高そうだ。

いずれにせよ、本不具合については前述のとおり、今後のバージョンアップパッチにて修正予定。パッチの配信開始時期については、追って告知されるとのことだ。

『ドカポンキングダム コネクト』はNintendo Switch向けに発売中。プレイの際は、現在名前に「ソ」が使えない点だけ留意してほしい。

Pocket
reddit にシェア
LINEで送る