![スクリーンショット_2018-09-23_16](https://assets.st-note.com/production/uploads/images/7909415/rectangle_large_type_2_d338fe7afbbdbe810e0c88adf3bf6a45.jpg?width=1200)
ローグライク(仮)国際化に対する要件定義
今日の実績
メッセージ表示を自動改行するようにした。SDL2 というライブラリを使っているのだが、TTF_RenderUTF8_Blended_Wrapped という自動改行で文字表示をする関数が日本語のように単語がスペースで区切られていない(分かち書きのない)言語では正確に表示されない問題があったので、自前で実装することにした。
現在はまだ禁則処理を行っていないが、アルゴリズムは単純なのでいずれ実装しようと思っている。しかし、禁則処理は日本語以外にも多くの言語に存在するため、すべてを実装するのは難しい。
そもそも何言語でリリースするの?
このゲームはどの国でどの言語を使ったものにするのか?最近 yugui さんが面白い記事を Qiita に投稿していた。
要約すると、i18n (国際化, internationalization の略) を突き詰めるとめちゃくちゃ大変ですよ、ということ。では、ぼくの作っているゲームはどこまで i18n を考慮すべきなのか。
ということで、それを今日は国際化に対する要件定義を行うことにしたい。
国際化に影響する物
・表示される文字
・表示される言語
・作品名
・作品ロゴ
・宗教
・言葉遣い
・方言
・各国の法律
・食品
・タブー
・記号
・暦
他にも挙げればキリが無くなりそうだ。それでは国際化の要件を定義するための前提条件を考えよう。
販売ルート
必ずリリースする予定の販売ルートは Steam である。他にも、AppStore, GooglePlay での販売も可能であれば行いたいと思っている。コンシューマ機はこのゲームではなくても良いからいずれはインディーズとしてリリースしたいな、くらいで考えている。
少なくともリリースしたい Steam での国際化に関する事情の調査を行った。
Steam は購入者の使用言語に対応しているかどうかを購入者が購入前に確認することができる。つまり Steam でのゲームパブリッシャーは対応言語を指定できる。
他にも、Steam への開発者登録画面で規則が提示されている(内容は Steam の運営会社 Valve Corp. の機密情報なので公開できない)。
Steam の市場調査
GDC というサンフランシスコで毎年開催されるゲーム開発者のカンファレンス(一度だけ行ったことがあるが楽しかった)の今年の発表で、Steam の市場が紹介されていた。
Steamの2億9100万アカウントのうち,3分の2に近い64%が中国のものだという。ガルヨンキン氏によると厳密には「簡体字を選択しているユーザー」だが,中国本土からの利用者と見ていいだろう。アメリカやイギリスを含む,英語圏のユーザーの総数は18%なので,中国からのアクセス数の多さに驚かされる
公式には,中国でSteamのサービスは行われていないことになっている。ガルヨンキン氏の解説によると,Steamコミュニティへのアクセスは禁止されているものの,「Dota 2」や「PLAYERUNKNOWN’S BATTLEGROUNDS」などへのアクセスにはSteamアカウントを取得し,Steamのバックエンドを利用する必要があり,インターネットカフェで次々とアカウントが作成されているということのようだ
最後に示されたのが,インディーズタイトル市場のグローバルTOP10。中国はプレイヤー数こそアメリカに次ぐ2位であるものの,購入額は低くなっている。ただし,ロシアやブラジル同様,現地でのインディーズタイトルの販売価格は不当なほどに引き下げられている傾向があるとのこと。ガルヨンキン氏は,中国のプレイヤーはまだ嗜好が未成熟で,さまざまなゲームをプレイしていくうちに,自分の好みにあったインディーズタイトルに行き着く可能性は十分にあると分析。その市場の潜在性の高さを過小評価してはいけないと述べた
中国語圏の市場が伸びているが PUBG 等をプレイするためにネットカフェでアカウントが大量に作成されているなどの理由があるということと、インディーゲームの購入額が低いことが特徴らしい。また、インディーゲームに関しては日本はトップ10に含まれていないこともわかった。
国際化を絞る
Steam で販売するために最小の努力で最大の効果がでる(ミニマックス)国際化リージョンを考えたい。
先程の SteamSpy の発表ではインディーゲームの購入者数・購入額トップ10の国家が列挙されていた。最大でもその範囲に絞ろう。つまり「アメリカ、ドイツ、イギリス、フランス、カナダ、オーストラリア、ポーランド、ロシア、中国、ブラジル」に絞るということ。ここに日本がないので、追加しておこう。
それぞれの国の言語事情を表にした(Wikipedia調べ)。
第一言語が英語の話者数が少ない国では英語があまり通じないようだ。
言語に関して言えば、英語と日本語は最低でも実装するとして、それ以外ではドイツ語、フランス語、ポーランド語、ロシア語、中国語、ポルトガル語の順で優先的に対応すると良さそうである。
なお、英語についてはアメリカ・イギリス・オーストラリアで使用されているものはやや違ったものだが、同じくくりとした。
英語、ドイツ語、フランス語、ポーランド語、ポルトガル語はラテン文字を基本にしている。ロシア語はキリル文字を使用していて、中国語は簡体字と繁体字の混合、日本語は漢字とひらがな・カタカナを使用している。なお全言語で左上から横書き、数字はアラビア数字、ラテン文字が使用可能である。
これらの国で配慮すべき言語以外のもの
"Strafgesetzbuch section 86a" いわゆる『反ナチ法』というナチス・ドイツを肯定することを禁止する法律があり、それに似た法律はヨーロッパ中で定められているため、これを避けるべきである。例えばハーケンクロイツを使用すればドイツなどで法律違反になってしまう。
宗教に関しては特定の宗教を使う、思わせることを避けたい。つまりプレイヤーが信仰している宗教を侮辱してしまったり、間違った解釈を与えてしまうようなリスクを減らすためである。日本人は忘れがちだが、欧風の世界観だから十字架を祭壇に飾っておこうといった安易なグラフィックでも、キリスト教の祭壇と思わせてしまう可能性がある。その祭壇で三位一体以外に神が登場するなんてことは避けるべきである。(ドラゴンクエストが古くは教会に十字架を多用していたが、架空の宗教を扱うため別の象徴を使用するようになった事例がある。)
Steam での事例
これは Dungeon Warfare 2 の例である。
日本語の対応しているインディーゲームではだいたいがこれらの言語を採用している。先程出てこなかったものに韓国語がある。
なお、Steam では有志による翻訳が盛んに行われている。そのため、人気なゲームほど対応言語が多い傾向になっているように感じる。韓国語の対応はその1つだろう。
また Steam はパブリッシュするまでにゲームに対して審査を行う。この審査の詳細はわからないが、公序良俗違反や致命的なバグの調査などだろう。法律的なアドバイスを得られるかはわからない。
以上で、Steam でパブリッシュするときの国際化の調査は終わりだ。
国際化の範囲の結論
言語は英語、日本語を最低限実装する。余力があれば他の言語も先程の優先順で対応する(ぼく自身が使用できない言語のため、翻訳者を雇用する必要があるかもしれない)。なお英語も日常会話ができないレベルであるが、そこは頑張る。
Steam で人気が出るかはわからないが、翻訳の仕組みを提供しておくことで有志による翻訳に頼ることも可能である。先日の日記でこの対応をしている。
gettext の .pot ファイルを提供し、.mo ファイルを生成して翻訳することと、フォントファイルの差し替えを行うことで言語の国際化ができるようになっている。なお、複数形や男性・女性名詞などの複雑な対応が必要なケースも gettext に頼っているが、可能なのかは調査していない。
組版の禁則処理には積極的でなくて良い。
言葉や文字以外
各国の法律は守るが熟知は難しい。Steam の審査に頼ることができるかもしれない。各国の中で法律が極端に違う可能性がある事実上の社会主義国家は中華人民共和国だけであるが、中華人民共和国は Steam で正式販売していないため考慮しない。国際化に関する法律の事情は今後も勉強をしていく。
このゲームに登場する架空の神話・宗教などが実在する宗教を配慮して作ること。
以上。
応援してくださると嬉しいです。よろしくお願いいたします!