スポンサードリンク

« 干しりんごのススメ | メイン | MSXゲーム開発メモ(多言語対応その2) »

MSXゲーム開発メモ(多言語対応)

 お久しぶりのブログ更新です。りんご干して呑気に写真撮ってた前回更新時は「なんか中国で変な病気流行ってるみたいね」って感じでしたが,あれから1年半の間に世界は一変。趣味のスポーツ観戦どころではなく外出を控える日が続いて何をしていたのかと言えばMSXでゲーム作ってました。…まあ待て,俺の話を聞け。

 
 作っていたのはこんな感じのゲーム。ファミコン版のドラクエとFFにゲームボーイ版のSaGaを足して4で割った感じのショートRPGです。サイトの方には「セーブ機能が無い代わりに1時間程度でクリアできるボリューム」って書いたけど実際は初見プレイだと普通に3時間ぐらいかかります。ごめん。

 で,このゲームは英語版も作ったんですが,MSX(というか低解像度環境)で多言語対応のゲームを作る場合はテキストエリアに余裕を持っておかないとしんどいことが判ったので記録としてここにまとめておくことにします。twitterにも書いたけどあっちは流れちゃうからね。

 普段意識していなかったけれど日本語は欧文よりも文字数あたりの情報密度が高い。例えばアイテム欄に『どうのつるぎ』や『ロングソード』と表示したい時,日本語だと『つるぎ』も『ソード』も3文字。プアな環境では難があるので今回は使用を見送ったが,漢字なら『剣』の1文字で済ませることもできる。こういう場合に表意文字は強い。

 一方『ソード』を英語で表示すると『sword』で5文字,同じ表音文字で表記しても1音1文字のひらがな/カタカナと,子音母音を組み合わせるアルファベットでは表示に必要なスペースが倍近く違う。いわゆる半角/全角の概念がある環境なら吸収できる差だがキャラクタ管理が8×8ドット固定で定義数にも限りがあるMSXではそうもいかない。

 更に今制作中のスペイン語版では『ソード』相当の表示をしようとすると『espada』で6文字必要になる。日本語なら6文字あれば『ロングソード』が表示出来るけれどスペイン語では同じ文字数を消費しても『ソード』だけになってしまう。

 略語を使ってスペース内に収める方法もあるが,翻訳元・翻訳先両方の言語に精通していないと適切な略語をチョイスするのは難しい。英語版を作成するにあたって参考までにSaGa2の英語版を調べたけれど,冒頭で仲間になる「せんせい」が「Mr.S」になってて笑った。4文字に収まってるってだけじゃねえか,誰だよミスターS。(一応書いておくと「せんせい」=「先生」です)

 こんな感じで日本語と欧文では限られたスペースで表示出来る情報量にかなりの差がある。かといって欧文のボリュームを前提にしてレイアウトを組むと今度は日本語版がスッカスカの画面になるので,共通レイアウトにするなら両者のバランスを考えないといけない。

 
 MinQは当初から多言語対応を考えていた訳では無く,リリース後に海外ユーザからの要望もあって英語版を追加したので日本語版レイアウトのままテキストだけ差し替えている。

 たまたまゲーム構成上の必要があってアイテム名には種別アイコンを入れていたので件のロングソード問題は解決(ある意味アイコンは表意文字,プリミティブな漢字だ),その他のゲーム進行メッセージも意外と収まったが同じ方法で制作中のスペイン語版は難儀している。先ほど『sword』と『espada』の例を挙げたけれど全体的にスペイン語の方が英語よりも文字数の多い傾向にあるのだ。

 
 文意を損なわない程度に文章を簡略化した上で更に定冠詞や助詞に相当する物を省略,一応機械翻訳に掛けるとカタコトで意味が通じるレベルにはなっている。指定領域に入りきらない長い単語の場合,辞書で前後の単語を調べてそれらと区別が付く範囲でいい塩梅に語尾を削ると機械翻訳に放り込んでもキチンと訳されるので,恐らくネイティブであれば略語と認識して貰えるのではないかと思う。

 何故スペイン語版を作っているのか,というかそもそもなんでMSXなのかという説明を最初にしなければいけない気がするけどそれらはまた別記事に。


スポンサードリンク