さけのさかなのブログ

同人ゲーム開発やってます。Unity使ったりする。

次回作ストアページ公開しました

うまくいったら今月リリースです

Devolution 魔剣の王としもべたち

store.steampowered.com

しもべの女の子たちの協力を得て、ダンジョンから脱出だ!

足を滑らせたミリアムは、地上からダンジョンの最下層まで落ちてきてしまった。

そこにあったのは古い魔剣…これはレアなレリックで、魔物たちを従える力があるという。

剣に込められていたのは、果たして呪いか祝福か。

少女は無事ダンジョンから帰ることができるのだろうか。

敵を倒して出口を目指そう

バトルはターン制。敵の行動予告を見て、最適なコマンドを考えよう。

こちらがやられる前にダメージを伸ばしきれるかの勝負です。

攻撃を受け流し、妨害し、バフを積み、強力なアタックを食らわせよう。

レベルアップはありませんが、アイテムを消費することでキャラクターの強化ができます。

スキルのアップグレードや新しいスキルの習得、どれを優先するかはプレイヤーの判断次第。

www.youtube.com

C100欠席します

考えた結果、コミケット100のサークル参加は欠席することにします。

というのもまわりの人間に基礎疾患があって、平均的な参加者よりもリスクが高いと判断したのが理由です。この辺は人それぞれ事情が違うので、参加不参加は各々の判断で異なるところではありましょう。

出す予定だったもの

アクリルスタンドを新しく持っていく予定でした。

イラストは茹でピーさんに描き下ろしてもらって実物もすでに出来上がっているので、またそのうちどこかにもっていきます。

あとは開発中ゲームの進捗報告ペーパー…の予定…だったけど、こうなったら開発に専念しますでな。

開発中の短編

フロントビューでターン制、バフデバフを盛るゲーム。RPGのバトル部分のみで構成されたやつ。ちなみにローグライクではありません。

TextMeshProでMaterial Iconsを表示する

f:id:enuenupi:20220412113703p:plain

GoogleFontで配布されているMatrialIconsはフォント形式でも配布されており、Unityに組み込むことができる。

1.フォントファイルダウンロード

github.com

ちなみにライセンスはApache License 2.0。

2.TextMeshProの設定

表示させたいアイコンのcode pointをtextに打ち込んでやる(\uを頭につけて)と表示される。

 たとえばSettingsアイコンなら\ue8b8。code pointはMaterial Icons Libraryを見れば書いてある。

TextMeshProのFallback機能を使えば、通常の文字と混ぜて文中に表示することもできる。

複数のフォントを混ぜたときは不自然にならないよう、FontAssetBaselineで表示位置を調整する。

ついでに

ユニコードエスケープ形式で記述した文をパースしたい場合、Regex.Unescapeを使う。(他の諸々のエスケープシーケンスも処理されてしまうんだけど)

var text = @"\uE400";
var unescaped = System.Text.RegularExpressions.Regex.Unescape(text);

TextAssetから読み込んだ文章を使うときなどに。

TextMeshProのDynamicFontで表示がおかしくなる場合

TextMeshPro(最新3.0.6)ではDynamicFontの扱いがいまだに面倒で、文字が正確に表示されなくなる場合がある。

DynamicFontではフォントテクスチャがいっぱいにならないよう、適宜ClearFontAssetDataを呼び、テクスチャに空きを確保しなくてはならない。

コード

HasCharactersClearFontAssetDataForceMeshUpdateが肝。

github.com

もしくはMultiAtlasTextures

baba-s.hatenablog.com

ちなみに

f:id:enuenupi:20220409132251p:plain

SDFのテクスチャデータはインスペクタのResetで消すことができる。gitにpushする時なんかにやる。

尿管結石のこと

朝に腹痛に見舞われ、病院に行ったら尿管結石だった。

といっても外来が開くのを待ってるあいだに痛みがすっかり治まってしまい、その後にCTで石発見、ということで措置とかは特になし。水と薬で自然排出を待つことになった。

↓のマンガに比べたらだいぶマシだ。(片頭痛のほうが痛い)

bookwalker.jp

翻訳補助ツール

github.com

ずっと前から使っている自前の翻訳補助ツールがあって、これはxlsxからjsonへ変換する機能をもってるんだけど、UnityのLocalizationパッケージとも連携させなきゃなーということでxliff(2.0)形式への変換機能を実装した。

xliffなのでmemoQでも読める。これからの翻訳発注時にはxlsxではなくてxliffで共有するといい…のかもしれない。

xliffについて雑感

扱う言語はBCP47で指定するんだけど、これがけっこうカッチリしているらしく、いい加減な文字列を放り込んでるとmemoQがエラーを出したりする。(あとからインポート時に言えばいいじゃんという話ではなかった)

1ファイルに1言語翻訳なので、扱う言語数-1のファイルを扱うことになる(たとえば日英中対応のプロジェクトなら日英と日中の2ファイル)。xlsxシート一枚でやってた身としてはちょっとダルいな。(まあ平行作業する分には分割しとくのが望ましいのはわかる)