ゼニガネブログ

ゲーム開発のための小ネタなど。現在はUnityメインでやってます

【Unity】Unity1週間ゲームジャムの作品「勇を失わない者の多言語対応トレーニングSP」を振り返って

まえがき

Unity1週間ゲームジャム(#unity1week)「さがす」に参加しました。
なんちゃって11言語対応アプリの「勇を失わない者の多言語対応トレーニングSP」を作成しました。

f:id:zenigane138:20191110164157p:plain

アプリタイトルやアプリ内説明がやたらと回りくどかったり明らかに説明不足になっているのはある程度権利関係に配慮した結果になります。
この記事中ではガンガン名前が出てくるかもしれないのでいつか唐突に記事が消えるかもしれません。

2019年中に一回は参加しておきたいなと思っていたので、今回参加出来てよかったです。
相互評価システムが入ってからはじめての参加だったのですが、素晴らしいシステムでした。naichiさんは神!

 多言語対応についての情報に期待されてる方には申し訳ないのですが特に有益な情報はございません(マジで)。

プレイ動画など

プレイしたい方はこちらから。

PAFUさんがプレイ動画を配信して下さったので動画でさくっと見たい方はこちら。

こちらはこのアプリのプレイ動画の最初から再生されます。

作成経緯など

このアプリ作成経緯を説明する前に、前提知識が必要なので軽く説明させていただきます。
スマブラSPドラクエの勇者が参戦しました。
勇者がよく使う技に技・呪文名が画面下に4個表示されてそのうち1個を選んで発動する物があります。


その呪文名がゲームの言語設定依存なので海外大会が開かれるスマブラSPでは問題になったりならなかったりみたいな話がありました。
今からゲーム内で解決するのは難しそう・・・。じゃあ覚えるしかない!覚えるなら楽しく覚えたい!!という訳でこのアプリが生まれました。
ざっくり説明するとスマブラSPは11言語対応(※)で、勇者の技では21個の技・呪文から4個ランダム選出されるのでそれに近い環境で覚えられるようにと言う事で今のゲーム形式になっています。
※11言語中3言語は、本体の言語設定にも影響されます。所謂イギリス英語とアメリカ英語とかです。 

なんちゃって多言語対応について

今回の個人テーマは多言語対応でしたので主にその部分について記述します。
11言語対応とかやばい!と思う方もいるかもしれませんが、11言語対応は呪文のみで、ゲーム内説明等は日英のみという方針で進め、また超小規模超短期間開発なので色々割り切って進めたという点もありプログラム面では特に苦労することもなく完成してしまいました。

作り始める前の予想としては、11言語を表現出来る文字コードとフォントを選べば後は言語設定を切り替えるだけだろうと思っていましたが概ねその予想通りでした。
呪文データをJSONで用意し、ゲーム中に言語設定をリアルタイムで切り替えられるようなコンフィグ用意しただけです。

f:id:zenigane138:20191110170250p:plain

一番苦労したのは11言語分の呪文データを用意したところです(ガチで)。
フォントまわりに関しては、うっかり使い慣れていないUGUITextである程度作り込んでしまった為、そこから全部TextMeshProに差し替えて再レイアウト調整を行うか、仕様をほとんど理解していないUGUITextのまま進めるかで悩みました。
再レイアウト調整を行う気力がなかったので、UGUITextの仕様を調べつつ進め、フォントを以下のように設定する事で目標の11言語呪文表示は完成しました。本当は未使用文字を削ってフォントサイズをもう少し大きくしておきたかった・・・。

f:id:zenigane138:20191110170335p:plain

UGUITextのフォントテクスチャ作成まわりがTextMeshProに比べてかなりイマイチなのでどうしてもUGUITextを使いたい場合は覚悟して使いましょう。特に有益な情報もなくて申し訳ない・・・。

反省点

今回最大の反省点は、unity1weekが開催中という事に気がついたのが非常に遅れた事と日曜提出に間に合わなかった事です。
19日に気がついて23日提出ということで実質1週間以内ではあるものの・・・今回の提出作品には満足できたのにケチがついてしまったので非常に勿体なく思います。

実質とか言い訳せずに次回からはきっちり守ります!来年も最低1回は参加出来たら良いなあ。