※ 日本語環境の問題 ※      目次

 09/01/04


 ここでは海外のゲームをプレイする際に、日本語のWindows環境で起きる問題点に関して記述する。このトラブルの主な原因は、ゲームの製作側が日本語という世界的に見ても特殊な2バイト言語の環境において、自分達のゲームがプレイされるのを考えに入れていない事にある。特にXP, Vistaのユーザーは要注意。以下の様なトラブルが起きる場合には、以下の各項目を確認する事。


*インストールが出来ない
*データのアクセスエラー、ファイルが見付からない等で起動出来ない
*Optionでのキー設定等の変更が保存されない
*Save/Loadが出来ない
*マイドキュメント内部に出来るはずのデータ(スクリーンショット等)にアクセス出来ない
*修正パッチが適用不可
*Modがインストール出来ない


 [参考] 2バイト言語とは、データとして1つの文字を保存する際に2バイトの領域を必要とする言語である(1バイトは"4A"の様に16進数として表記される)。ほとんどの言語は1バイト言語となり、例えば英語ではアルファベット26文字(大文字と小文字で計52)に数字や幾つかの記号さえ加えれば、使用するほとんどの文字の表記が可能である。つまり日常使用する文字の種類が、1バイトで表現可能な256通り(16*16)の区別内に収まってしまう言語ならば、各文字に0-255までの数値を一対一の対応で割り振ってやり、それを1バイトの保存領域に収納してしまえば良い。仮に"41"というデータが収まっていたなら、それに対応するのは大文字の”A”なので、プログラム側もこれは文字Aの意味だと判断出来る
 しかし日本語では漢字という物が存在し、全文字をデータ化して分類するには256種類では到底足りない。そこで256*256=65536種類の文字の識別が可能な2バイト言語を使用している。一文字の保存に2バイトの領域を使用する言語の意味。しかしこれを海外のソフトが、「2バイトで表現された1個のデータ」ではなく、「1バイトのデータが2個並んでいる」と見なしてしまう事からトラブルになる。もう少し詳しく書くと、2バイトで一つの意味を成す文字コードを1セットではなく2つに分割して読んでしまうので、その時にそれが英語の様な1バイト言語の場合には存在しないコードであったり、フォルダ&ファイル名には使えない特殊記号を意味する物であったりするとエラーになってしまう。


1.ログインする時のアカウント名は日本語を避ける (XP、Vistaのみ)

 PCにログインする時に使うユーザー名に”田中一郎”や”タナカ”の様な日本語文字(2バイト文字)を使用していると、海外産のゲームをプレイする時にトラブルが発生する可能性がある。ゲームをプレイするのがメインならば、半角英数のみで作成したユーザー名を使用するべきである。


 以下の様にプログラムが作業用に使うTEMP(一時)フォルダは、そのユーザー名を含んだフォルダに作成される

XP  C:\Documents and Settings\<ユーザーアカウント名>\Local Settings\Temp
Vista C:\users\<ユーザーアカウント名>\Local Settings\Temp


 同じく近年では以下の様なフォルダを、ゲームの設定ファイルやセーブデータの保管に使うゲームが増えている。

C:\Documents and Settings\<ユーザーアカウント名>\Local Settings\Application Data
C:\Documents and Settings\<ユーザーアカウント名>\Application Data


C:\Users\<ユーザーアカウント名>\AppData\Local
C:\Users\<ユーザーアカウント名>\AppData\Roaming



 もしそのゲームがこの様な場所のフォルダを使うようにデザインされているのに、制作側が2バイト言語の使用を想定していないケースだと問題が発生する。<ユーザーアカウント名>の部分が2バイト言語になっていると、それを2バイトのフォルダ名だと認識出来ずに、1バイトのデータが二つ並んでいるが不正なフォルダ名だと判断して、その中身にアクセス出来なくなるからだ。

 修正方法としては、第一に該当のゲームを一度アンインストール。次に半角英数のみの名前で新しいユーザーアカウントを作成する。(この場合管理者権限を持ったユーザーにする必要が有る)。その後新規ユーザー名にてウインドウズにログオン。そしてそのユーザー名の状態からゲームのインストールやプレイを行ってみる。ゲームをインストールした状態のままで、ユーザー名だけを新しくしてもダメなケースが有るので注意。以下はOS別の新規ユーザー作成方法。

XP  コントロールパネル→ユーザーアカウント
Vista  コントロールパネル→ユーザーアカウント→ユーザーアカウントの追加または削除

 ユーザー名を変えたくない場合、原因となっているのがTempフォルダの場所であるケースでは、やや高度になるがOS内部の環境変数を直接編集するという方法もある。XPならコントロールパネル→システム→詳細設定タブの中の環境変数を呼び出し既存の設定を削除してから、新規にTMPとTEMPの両者を半角英数のみの別のフォルダ(先に作成しておく)に指定する。Vistaだとコントロールパネル→システム→システムの 詳細設定→メニューの詳細設定→環境変数の中に有る。


 また同じ様にユーザーの行ったゲームの各種設定やセーブされたデータを、各ユーザーの“マイ ドキュメント”に保存するゲームも存在する。この場合もフォルダ名の一部にそのユーザー名が使用されるので、それが2バイトのユーザー名だと同じ様な問題が発生する。上記のユーザーアカウント名を新規に作成する方法よりも変更が簡単なので、先にこちらを試してみても良いだろう。

XP  C:\Documents and Settings\<ユーザーアカウント名>\My Documents
Vista  C:\Users\<ユーザーアカウント名>\Documents


 XPの場合にはマイドキュメントを右クリックしてプロパティを呼び出し、ターゲットタブにてマイドキュメントを保存するフォルダを半角英数のみの場所に指定する。Vistaの場合はフォルダ構造が変っており、C:\Users\<ユーザー名>\以下にピクチャーやミュージック等の各種項目が並んでいるので、個別に指定してやらないとならない。この場合だとそのゲームの名前の付いたフォルダか、ドキュメントのフォルダが対象になる。右クリック→プロパティ→場所タブの中に場所の指定先が書いてある。


2.ゲームのインストールフォルダに日本語を使わない

 パス名が半角英数のみの日本語が一切含まれないフォルダにインストールするのが基本。ゲーム本体がOKでもModのインストールが出来なくなる可能性も有り。パス名とはそのファイルがどこに有るのかを完全な形で記述した物で、ショートカットを右クリックしてプロパティを開いた時に「リンク先」に書いてある。

 例:  "C:\Program Files\ABC software\Game.exe"  (正常)
    "C:\Program Files\ゲーム\海外\ABC software\Game.exe" (問題有り)


3.DownloadしたPatch&Demo用ファイルをデスクトップに保存しない

 海外ゲームのデモ・パッチ等は、パス名に日本語が一切含まれない半角英数のみのフォルダに一時保存してそこから実行する事。「デスクトップ」は日本語名のフォルダなので、そこからプログラムを実行すると問題が起きる可能性が有る。


 ※ コンソール呼び出しキーの問題 ※

 話題としてはやや特殊な部類に属するが、ゲーム中にテキストにてある種の操作コマンドを実行可能な画面をコンソールと呼ぶ。その使用目的は、ゲーム製作側のデバッグ処理等の各種テスト、サーバーの管理人による設定変更の操作、コマンドを入れてfpsを測ったりするテストを実行、といったものになる。一番ポピュラーな用途はゲームのチートを入力するのに使う事だろう。

 このコンソールを呼び出すには特殊なキーを入力してやるのだが、多くの場合そのキーには ~ (チルダ)(カレット)が利用されている。これは日本語の109(106, 112等)KBだと文字の表示位置が異なる。該当するのは半角/全角キーや(日本語文字入力がONになってしまう場合があるので、ShiftやCTRLキーと同時に押す事が多い)、或いはキーのケースが多い。


 しかし中にはこれが出来ないゲームも存在している。通常のウインドウズのプログラムであれば、キー入力を変換してしまうソフトを使えば(フリーで幾つも存在している)、日本語KB上にて英語KBと同じ環境を実現してしまう事も可能である。しかしゲームの場合には、通常の処理系を介さずに特別な手法でキーの入力を判断している物が在る。例えば最小化に対応していないゲームにて、プレイ中に誤ってウインドウズキーを押されてしまうとゲームが最小化状態となって復帰出来なくなるので、それを防ぐ為に独自のキー入力認識プログラムを使って、押されたキーの判定をウインドウズよりも優先して行っているケース等。

 上記の様な場合には、当然コンソールを出す為のキーその物を押さない限りは画面は出てこない。しかし英語KBでない限りは押せないキーをコンソール呼び出しに使っているゲームだと、日本語のKBを使っている場合はそのキーは入力する事が出来ない事になる(日本語KBに同じキーが有っても、英語KBとは内部的な16進数のキー・スキャン・コードが異なるので不可)。

 具体的な名前としては、Far CryPainkiller, Carmageddon TDR2000, (初期バージョンの)Vietcong等。傾向としてはロシア・ポーランド・チェコといった国のゲームに多い。


 どうしても呼び出したい場合には、KBのドライバ自体を英語版101/102KBドライバに変更してやれば可能になる。デバイス・マネージャからKBを選択してやり、ドライバの更新を選んで切り替えてやれば良い(再起動要)。ただしその間は当然文字の入力方法は、日本語のキーの印刷とは異なった物となる。なお同様に英語KBの配列を実現するユーティリティは存在するが、いずれも設定変更後にPCの再起動が必要になるという面倒さに変わりは無い。


 ※ 日本語Windowsでは動かないゲーム ※

 ゲームの中には国籍チェックを行っている物が在り、日本語のWindowsでは動作しない物も存在している。「ゲームをインストールする時にチェック」する物と「プレイする時にその都度チェック」する物が有る(または双方)。そしてこういったゲームには、「或る定番のやり方で誤魔化す事が可能な物」と、「動かない物(またはやり方が分からない物)」が存在している。
 どのゲームがそれに当たるのかの区別は難しい。メジャーなゲームで情報が出ている物が有れば良いのだが、新作の場合には判断が難しい。またダメなゲームであっても、再発版や廉価版として出た場合にはどうなのか分からない。ただ近年この傾向は弱まっているようで、国籍をチェックしているというゲームはほとんど聞かなくなった(XPへの変化も影響があるのだろう)。

 取りあえずは「このゲームはこの国籍のWindowsでは動作しない」といったエラーが出た時の定番の回避方法を掲載しておく。

*XPでの対処方法
 MSからはXP用にApplocaleという一時的に使用言語を変更するユーティリティがリリースされており、これをインストールした後に起動してやる。国籍設定を変更したいファイルを指定してやった後に、一時的に言語設定をEnglishに指定してやれば変更可能である。またはXPにおいてはInstallShield等にて文字表示が乱れてしまう物が存在しており、この場合には、コントロールパネル>地域と言語のオプション>詳細設定タブにて、Unicode対応でない言語への対応の項目の指定を該当の言語(英語等)に変更してからマシンの再起動で直る場合が多い。


*9x/ME系OSの場合
 レジストリを書き換えて対処。なおレジストリの書き換えは間違うと危険な作業でも有るので自己責任でお願いしたい。なおこれによって英語モードにした場合、なるべくフォルダにアクセスしたりしない方が良い(ソートが自動になっている場合等、見た時点で英語の順でファイルが並び替えられてしまう)。

 1.「ファイル名を指定して実行」から、参照にてC:\WINDOWS\Regedit.exeを指定して実行する
 2.念の為にレジストリの書き出しを実行してバックアップを取っておく
 3.HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Localeを参照
 4.ここの一番上の現在の値(標準)が411になっているはず。右クリックで変更を選択。
 5.ここを409(US)・809(UK)いずれかに変更
 6.終了後変更を有効にするために再立ち上げが必要
 7.英語版のWindowsとして立ち上がる。フォントの表示に一部乱れが出るはず。
 8.作業終了後は同様の方法で日本語Windowsに戻す事

 レジストリのキーにはこれ以外にも国籍情報を持ったキー値が存在しており、ゲームによっては他の箇所を書き換えないとならない物も存在する。或いはそれによって動くのかもしれないが情報がない物。


 なお何故国籍をチェックするのかについてはいろいろな説が有る。以下推測も含めてだが、具体例を挙げて解説。

*販売地域やサポートの明確化
 サポートするのに使っているWindowsと異なる言語版のソフトを動かすとなると、余計な問題が生じる怖れがあるという理由。或いは世界的に販売するのに地域による販売量を明確にする為。各国の支店によって売り上げ成績が問われるのは当然だが、その為には外国からの輸入版が入って来てしまっては公正を欠く事になってしまう。

 このタイプの会社で最も有名な所はActivision。最近では聞かなくなったが、95年から2000年辺りまでのゲームにはプロテクトが掛かった物が多い(ただし上記の方法で外せる物が多い)。しかし輸入版でもAsia-Pacific Versionの表示が有るなら問題無い。Quake, Quake 2, Interstate 76, Heavy Gear, Battlezone等。Soldier of Fortuneもそうだと聞いたがこれは未確認。欧州では今は無きPsygnosisのゲームなんかでちょくちょく聞いた。

*発禁問題
 国によって規制が異なるので、それぞれの国で販売するゲームの内容を異なった物にする関係上、その国に合った物以外は販売出来ないようにする為の措置。代表的な物はCarmageddon 2。轢き殺す対象が規制に応じて人間・ゾンビ・エイリアンと3タイプ別パッケージで作成されており、国によって販売パッケージが分けられる関係上国籍のチェックが組み込まれている。よって輸入版は日本語Windowsでは動かない(上記方法で解除は可能)。

*国内版との絡み
 これはあくまで噂として言われている事で、こういう事をしていると認めた販売店は無いはず。例えば海外の或る大作を日本語版にして販売する権利を買い取ったとしよう。ところが国内発売が海外での発売から間が空いてしまう場合、輸入版として入って来たゲームが先に売れてしまい、いざ自社で出した時にはあまり売れないという状況になってしまう可能性がある。そこで海外の製作元に頼んで、国内のWindowsでは動かないようなプロテクトを入れてもらい、自社が発売するまでは買わせないようにするというもの。



  目次