投稿記事

そりゅースタジオ 2022/08/08 20:02

突撃!ヨーコ道場開発話ソロー版

どうも、そりゅースタジオのSor担当のSOrowことソローです。

前回は夕目さんが時系列に沿ったアプリシステム制作秘話を書いてくれたので、私の方は画像周りで書いていきたいと思います。

アプリ紹介

突撃!ヨーコ道場 - Google Play のアプリ

https://www.youtube.com/watch?v=HhUPLvy1Kvc

UI案

これは割とすんなり決まった気がします。夕目さんが先に仮ベース組んでてくれたのかな?(すでに記憶が怪しいやつ)


懐かしきドット絵時代。

更新日が2021年11月4日だったので、配置自体は初期から固まっていたみたいです。やるじゃないか。

ただ、ここから今の形に落ち着くまでが長い長い道のりでした。

というのも、スマホアプリなので、スマホで操作性がよいかどうかが最重要になるわけですね。PC上の見た目がよくても操作性が悪ければどうしようもない。

レイアウト自体は初期の初期からほぼ変わりがないのですが、細かい詰めにかなり時間を取りました。

ただ、そのおかげで、サクサクプレイできる状態にはできたのではないかと思います。夕目さんのおかげです。ありがとう夕目さん(隙あらば感謝)。

こんな感じで人形の大きさをどうするか比較してみたりしてました。


ADVの感じも。

余談

スマホアプリでは、実機でのテストが大切となります。

が、しかし。わたくし、スマホを持っておりません。

いまだにガラケーです。結構落としたりしましたが、長持ちしています。充電も結構もちます。やったぜ。いや何もやってはいないぞ。

そのため、スマホでのテストプレイは夕目さんに任せっきりでした。UIのデザインはこちらで大体やっていたので、スマホで操作しづらいところの変更なども、大体は夕目さんの意見を聞いてこちらで変更してお渡しするということになり(夕目さんにそこもお任せしていた部分ありますあります)(作業量うおー)。こちらで実機プレイができないことにより、余計な手間をかけさせてしまい、時間も取ってしまったなあという反省があります。

スマホ……ないとゲ制には不便ですね……。実機環境は複数あった方がよいというのもあり、今後の課題です。

今回はカスタムパッケージでやり取りしていたのですが、そこもちょっと不便さがあったので、今後はGitHubとか使っていかないとだめかなーという感じもあります。

Unity独自の要素に慣れるまで四苦八苦

「マサオのジャンピングレース」で1回Unityを触ってはいたので、なんとな~くはわかっているつもりだったのですが、いざスマホ用のゲームを開発するとなると、全然わかっていなかったことが判明しました。気付くの遅いな!?

ウディタやティラノスクリプトだと、1pxが単位で、画像の大きさも座標も1px=1pxなんですよね。1280×720の解像度でゲームを作るなら、全画面の背景画像とかは1280×720pxのを用意すればいいわけで(真っ黒なら1px×1pxの黒画像を1280×720に引き延ばすとかもできますが)。

でもUnityの場合、PPU(Pixels per Unit、1ユニットのピクセル数)という単位で、これは……何だっけ?(忘却)

カメラのサイズを満たす1ユニットのピクセル数だったかな。これが独特なんですよね。複数解像度、マルチプラットフォームに対応しているからこそのものなんだろうなあと思うんですが、理解するまで?????となりまくりました。いまも理解していない可能性あります。

ただ、これを決めないと、というか統一しないと、オブジェクト配置がうまくできない。画像の拡大縮小とかにも関わってくるからです。

今回は、最終的に夕目さんがプロジェクトの構成からCanvasなどの基本的な配置をしっかり組んでくれて、ウディタライクな原寸大で扱えるカメラサイズとPPUにしてくれました。ありがとう夕目さん(隙あらば(ry

しかし、ここに至るまで、自分のUnityでの制作スキルなさすぎ問題から、自分の方で調べても実際どうすればいいかわからん……ということで曖昧な感じで相談して、夕目さんに全部対応してもらうという任せきり状態になりまして、反省しきりです。今後は自分でもUnityスキルを上げていかねばならないと思っています。

ドットにするかラスター画像にするか問題

ベースとしたウルファール道場では、人形はドット絵、会話などのキャラ画像はラスター画像で作っていました。

そのため、Unityでもそんな感じでいいか~ぐらいの感じでいたのですが。

上記PPUと絡み、サイズをどうするか問題が発生しまして。

ドット絵を歪みなく表示するなら、PPUを人形のサイズ基準で設定する……にしても、まず画面に対する人形の大きさを決める……にしても、スマホでの表示感とかを考える必要が……にしても、今回はタップもさせるなら相当の大きさが必要で……にしても、大きすぎてもアスペクト比が細長いやつとかだとあふれる問題が……。

しかし!ドット絵は!細かい拡縮に!向いていない!

倍々サイズならいいんですが、1.1倍くらいがちょうどいいなあ……となったときに、そう簡単に1.1倍にできない問題があります。

RPG向けのキャラチップやアイコンなどでは、すでにツクールやウディタ用の、40×40などの決め打ちがあって、それを活かすサイズやPPUにすればいいわけですが。

今回は、そういうのとは関係なく、スマホアプリでいかに人形が見やすく、叩きやすいかが問われることになる。というか、自分で問う。それはプレイしやすいのか。それでプレイに集中できるのか。

この微妙な拡縮によるサイズ変更に対応しやすいのは、ドットよりもラスター画像だなと。いうわけで、四苦八苦したすえに、今回は全部ラスター画像にすることにしました。

ドットの方が味わいがあるんじゃないかと、ラスターで人形描くのも試行錯誤したのですが、結果的にはいい感じにできたのではないかと思っています。


没となったドット案とクマさん。

Unityでドット絵を使うなら、全部ドットにするか、RPGのような感じにするか、PPUを開発初期に確定させるかでなければ、難しいものがあるなあと感じた次第です。

Unityのテクスチャの最大サイズという概念

Unityは、画像のそのままのサイズ(大きさ)で扱うわけではないんですよね。ここもウディタに慣れていると、?????となる部分でした。

縦横のサイズが4の倍数でなければ圧縮されないみたいで、ウディタみたいにぎりぎりまで余白削ってPC上でのサイズを減らしても、Unityだとむしろ増えているという。最初はどういうことなんだ状態だらけでした。

ただ、仕様がわかってくると、そういうものなんだな~という感じで、作業も楽になってきました。

スプライトアトラスという、ひとつの2のべき乗テクスチャにまとめてしまえば、個々の画像のサイズは関係なくなるやつがあるのも、気にしなくていい部分が増えてよかったです。ウディタでも、アイコンなどをひとつの画像にまとめて表示したりするのと、同じ感じですね。細かい画像をひとつひとつ表示するよりも、ひとつの画像でどうにかした方が、メモリにも優しいみたいな。でも大きすぎてもだめよという。先読みとかのパフォーマンス系は、ゲームだと同じだよなあと思います。

Unityの画像サイズについては、下記の記事がわかりやすかったです。参考までに。

【間違えやすい】Unityの正しい画像サイズとは - 渋谷ほととぎす通信

で、ここまで書いて普通に忘れていた、見出しのUnityのテクスチャの最大サイズなのですが。

Unityは画像をそのまま扱うわけではない感じで、大きい画像を入れても、最大サイズを小さくしたら小さいサイズで扱われるんですよね。

なんか自分で書いててわかりづらい文章になりましたが、でかすぎる画像を投入しても、最大サイズを1024から512に減らすことで、512以下のサイズの画像として扱われるという感じです。

だから、わざわざこの画像でかすぎるから縮小しないとなー、みたいにしなくても、Unity上でどうにかできるという。しかもプラットフォームごとにその上限も変えられる。

今回は、通勤電車のなかでなど、さくっとアプリを起動してさくっとプレイしてもらえたらいいなという風に作っていたので、全体的なサイズはできる限り削りたかったんですね。

そんなとき、このテクスチャの最大サイズを小さくすると、とりあえず解像度下がった状態の画像がどうなるのかの表示を見られて、よかったです。

実際縮小するなら、イラストソフトでやった方がきれいなのですが、テクスチャの最大サイズをいじって、この解像度でもまあ別にそんな粗出ないな、と確認できるのはありがたかったです。

画像が即更新される

これはUnityのよかった部分です。画像を更新したときに(ファイルを直接上書きする)、ゲームを更新しなくても反映されるんですね。

ウディタやティラノでは、UI画像などを更新したあとは、ゲームを更新、というか再起動して、メニュー画面の調整ならメニュー画面開いて表示を確認して、やっぱこのウィンドウ違うなとなったらまた画像を更新して再起動して……という感じでやりますが、Unityだと画像更新したらもう反映されます。どういうことなんだ。そういうことでした。

これは本当に、UIの試行錯誤がしやすくて助かりました。まじか……Unityすげえ……となりました。インポートしたらもう反映されるってどういうことだよ。そういうことでした。

ゲームというか、エディター上のシーン上でもう反映されるので、CanvasごとにUI作っていたらそれ表示していれば確認できるのが、やりやすいなーと感じたところです。ここはUnityすごいぜでした。

あとUnity、PSDファイルもそのまま扱えるんですよね。ちょっと意味わからないレベルのつよさです。PSDファイルそのまま入れられてサイズも変わらないってどういう(ry

画像作る側としては、こんなにありがたいこともないなあと。感動した部分です。

UIのアンカーとか

複数解像度に対応すると、UIの配置をどうするかが難しいところでした。配置というか拡縮というか。

下のやつは下に固定して、上のやつは上に固定で……これを伸ばすのか、サイズも固定にするのか……うーん……みたいな。

アンカーとかピボットとか、なんかいまいちよくわからん……というまま作っていて、UIをアニメーションさせたら縦長のアスペクト比のときに中央に表示されないんですが!?とかあったのですが、終盤でようやくそのへんの使い方がわかりました。致命傷を治せた。

座標じゃなくて画面に対する位置関係で設定するというのは、慣れないと理解しづらいところだなあと思います。何回ググっても覚えられません。つまりわからなければググればよい。逆説。

TextMesh Pro周り

ここもちょっと罠が多かったですね。今回とにかくビルドサイズを縮めたいのもあって、公開用にフォントも最小限にしてサブセットしたのですが、そこから更に追加したい文字が発生したりしたので、上書きするとなんか違う……フォント接続切れる……タスケテ……ということが何回か起きました。痛かった。

ビルド用の構成は本当に本当の公開間際にしましょうという格言を貰えました。誰から。

ただ、フォントをサブセットして使えるのと、同じフォントでもマテリアルの設定を変えれば違う彩り方ができて、バッチは増えますがテクスチャが増えないのがいいなーと思います。

今回画像で文字を作ってしまったところがあって、そこもフォントでやった方が取り扱いが楽だなあと感じたところです。ソシャゲ見ても同じフォントで色とか縁取りとか効果とか変えてイメージ変えてるのありますもんね。使い勝手よく使っていきたいです。

おわりに

Unityはほんと、独自の要素や考え方があって、しかもアプデで仕様が微妙に変わったり新要素が入ったりするので、慣れるまでが難しいなあという感想です。

ただ、慣れると簡単なアプリとか作りやすいだろうなとも感じます。がっつりしたのもいけそうな気がします。

今後、スマホアプリをどういうペースで作っていくか、細かく決めているわけではありませんが、コンスタントに出せたらいいなと。PC向けのゲームも作ってみたいですね。WebGLで出してみるのも面白そうだなあと思います。

そういうわけで、今回夕目さんに頼りきりの開発となり、ソローとしては反省点がめっちゃ多いですが、今後自分もどうにかしていきたいと思うとともに、新しいゲームもそりゅースタジオとして出せていけたらいいなと思う次第であります。

立ち絵

せっかくなので、立ち絵とキャラを紹介してみます。

ヨーコちゃん


ヨーコちゃんです。ウルファールさんはさすがに使えないので、どういうキャラにするかな~と描いていたのですが、割とすんなり決まりました。胸のカッパードの飾りがアクセントです。

マサオくん


最新版マサオ君です。実家のような安心感。この立ち絵を使ってマサオ君ゲーも作れればなと思います。

カブ


最新版カブです。カブのグッズも作ってみたいですね。

偽マサオくん


偽マサオ君です。髪の色だけ変えてみました。

クマさん


お散歩ロードのクマさんです。毛の流れがちょっと難しかったですが、いい感じの最新版クマさんにできたかなと思います。

ラディ


新キャラのラディさんです。先に人形を作ってから立ち絵に起こしたので、人形の部分と立ち絵ならではの部分のマッチングが難しい点でした。でもムキムキな番人感は出せたかなと思います。この顔のキャラも久々に描けて楽しかったです。

ザ・スター


こっそり参戦、お散歩ロードのザ・スターさんです。全身を描くのははじめてだったので、下半身がちょっと難しかったかもしれません。肌色は多いけど健全な感じを目指しました。

今回なんか見た目が強そう(漠然)という基準でキャラを出していったので、完成する頃になって、「これ……肌色率高くない……?」となってました。気付くのが遅いな!!!審査通ってよかったです。この路線なら大丈夫なんだなあ。

追伸?

最後に、制作途中までググってはコピペしてたものの途中から力尽きたUnity参考リンク一覧です。こいつ力尽きてるな……という風に見ていただければ幸いです。

アプリ

UI

参考

最適化系

参考になりそうな記事

多分最新のやつの方が良い。しかしUnityも最新にしないといけない気がする。でも最新の方が早くなっているらしい

Web系

公式系

2D系

なんとなく押さえとこう

不要なレイキャストターゲットRaycast Targetを外す

  • クリックに必要のないものは外す。

不要なマスク可能とかも外す

  • 不要なものは外していけ。

レイアウトグループは回避する

  • 並べたい場合、コンポーネントをつけて、並べた状態で外す。

テクスチャのMaxSizeを減らす

  • 画像自体を変更せずにサイズを削減できる
  • 画質との兼ね合い
  • イラストソフトで出力する際にサイズを減らした方が綺麗になりそうなので、Unity上で確かめてからそうするのが良さそう

テクスチャ圧縮方法

スプライトアトラスを使う

テクスチャフォーマット

その他

textmeshpro

スプライトアニメ

セーフエリア

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

そりゅースタジオ 2022/08/06 10:40

「突撃! ヨーコ道場」制作秘話

2022/08/06 間違って消しちゃったので復元!

サークル紹介

これまでもソローさんと二人三脚でゲームを作ってくることが多かったのですが、

「せっかくだからUnityでスマホゲーを出してみよう」

「出すならサークル名義で出そう」

という話になり、本サークル「そりゅースタジオ」を立ち上げることになりました。

名前の由来は「SOrow」+「YuumeKou」=「Soryu」スタジオってな感じです!

自作ゲー紹介

という訳で、そりゅースタジオの記念すべき第一作は「突撃!ウルファール道場」のスマホ向けリメイク「突撃!ヨーコ道場」となります。

気になったらぜひ遊んでみてください!😊

突撃!ヨーコ道場 - Google Play のアプリ

紹介動画

https://www.youtube.com/watch?v=HhUPLvy1Kvc

ゲーム内容

四方に出てくる人形を、反射と思考とタップで倒そう!
ランダムに出てくる人形には偽物も混じっているよ!
なかには倒す順番が決まっている人形も!?

5つのステージをクリアすると、エンドレスモードがいざ解放!
オンラインランキングによる熱い戦いが君を待ってるぜ!

特徴

  • 充実のチュートリアル
  • オンラインランキングあり
  • 日本語/英語の多言語対応
  • バーチャルコントローラ実装
  • ミニゲームだけどスキップやオート、文字速度などのADV機能完備

制作秘話(無料版)

初スマホアプリのリリース、そして久々のUnity制作ということもあり、色々ありました。

開発期間だけでいえば実に9ヶ月!(ほぼ一年!)

せっかくなので振り返ってみたいと思います。

ADVシステム構築期(第1期)

そもそもUnityで「猫になりたい」のリメイクを作ろうとしていた自分は、ADVパートをどうやって構築するか悩んでいました。

選択肢として一番手軽なのは有名なアセットである「宴」を使うこと。色々機能も充実していて、多言語対応もできて、画像サイズをめちゃくちゃ減らせる機能もあるという、非常に優秀なアセットです。

ただお値段が$88、円安の今となっては一万円超えです。

また、これでもプログラマーの端くれ。ウディタでADVシステムを自力構築した経験もあるので、どうせなら自分で作ってみてもいいんじゃないかということで、自作ADVアセットを作り始めたのがこの最初期ですね。

このADVシステムが完成したらそれを転用して、まずは小規模なミニゲームとして、「突撃!ウルファール道場」のリメイクを作ろうという話をソローさんとし、この頃はずっとADVシステムを構築していました。

だいたい2,3ヶ月ぐらいかけて作業していたと思います。

作り終えた時は、自作スクリプト「UnityTask」のおかげもあってわりと可読性の高い、わかりやすいシステム構築ができたかなーと自画自賛してました(実際に美しいコーディングだったかどうかは置いといて、自己肯定感が高いのはいいこと!)。

ゲームパート作成期(第1期)

ADVシステムが完成したので、いよいよゲームパートの作成を開始しました。

ベースとなるゲーム性は「突撃!ウルファール道場」のままなので、だいたい一ヶ月ぐらいでこの作業は終わったかなと思います。以前Unityで作成した「マサオのジャンピングレース」の経験があったので、今回も、

  • メニューシーン
  • ゲームシーン
  • リザルトシーン

でシーンを分けて作業をしていました。

ただ、深くその意義を考えず、単純に場面単位でシーンを分割した結果、これが後々の作業にて非常に大きな問題に……。

デザイン追加修正期(第1期)

ADVシステムも移植して、ゲームパートもベース部分は完成したので、UIの調整等よろしく! とソローさんに作業をお願いしたところ、ここでゲームデザインの構造問題が発生

試行錯誤で整理していたためにフォルダ構成が分かり辛かったり、マサオ君と道場という舞台自体は全く同じなのにシーンを切り分けてしまったが故に複数シーンで同じようなデザインの修正が必要になってしまったりと、非常にデザイナー側に対して不親切な設計になっていたのです。

ソローさんの方でも何とか頑張ろうとしてもらえたのですが、さすがにこれは今後機能追加やデザインを修正していくには辛すぎるという結論に……。

色々と相談の結果、未来の自分達のためにも、全システムを再構築しようと決断。システム構築の第2期へと突入します。

ADVシステムおよびゲームパート作成期(第2期)

ウディタの時はフォルダ構成がある程度もともと決められていたり、ソローさん自身もスクリプトをいじれるので直接ピクチャ操作の処理をいじってもらったりしていたので、あまり意識することはありませんでしたが、「デザイナーもいじりやすい設計」はとても大事なこと。

言葉にするととても基礎的なことですが、これまで仕事でも趣味でもあまり意識する必要がなかったので、きちんと考慮できてなかったんだなあと思い知らされましたね。

第1期で培った情報・経験と、どうしてデザイナーがいじりにくい環境になってしまったのかという分析を踏まえて、改めてシステムを全面的に再構築しました。

また、フォルダ構成やヒエラルキー、どこをデザイナーにいじって欲しいかなどの情報をエクセルにまとめてソローさんに連携したりと、デザイナーに優しい設計になるよう、色々工夫してましたね。

正直まだまだ甘いところもあるかとは思いますが、第1期版に比べればかなり扱いやすくなったとは思うので、設計意識も含めとてもいい改善・経験だったかなと思います。

デザイン追加修正期(第2期)

改めて、再構築したシステムに対してソローさんの方でデザインの追加・修正をしてもらいました。

僕が作った時点ではかなりやっつけ感のあったUIも、めちゃくちゃスマホアプリっぽいデザインにしてもらえて、どんどんゲーム感が強くなっていくのにテンションがあがりましたね。

システムも以前に比べれば格段に使いやすくなったと喜んでもらえたので、とてもホッとしました。無事リリースまでこぎつけることができたので、システム再構築という決断を下せてよかったなと思いますね。

ブラッシュアップ期

そこから先はスマホ対応に伴う独自の対応(ここら辺は自分の技術ブログの方で公開予定)に苦しめられながらも、どんどんゲームが改良されていって、結構いいスピード感だったかなと思います。

最後の最後まで操作性のところでどうしても引っかかりがあってずっと対応していたのですが、そこも納得のいくレベルまで無事改善することができました。しかも知人の力を借りてローカライズ対応までできたので、やれるだけのことは全部やりきったかなと思います。大満足!

9ヶ月に渡る長き開発でしたが、自分もソローさんも、本当にお疲れ様でした。

iOS版出したいけど……

知人・友人によかったら遊んでよーと紹介した際、「すごいね! でもごめん、自分iPhoneユーザなんだ……」と言われることが思っていたより多かったです!

確か世界的にはAndroidがシェア率七割なんだけど、日本はAndroidとiPhoneで5:5だったかと記憶しています。

となるとiOS版も出して遊んでもらえる人を増やしたいなーという気持ちもあるのですが、iOS版リリースはとにかくお金がかかるんですよねorz

  • ビルドするのにMacOSが必要(クラウドでもできるけど、不具合が多いらしい)
  • テストするのにiPhone実機が必要(なくてもリリースはできるけど、テストせずに出す勇気はない)
  • AppleStoreに公開するには年間99$の支払いが必要(Androidは初回のみ25$なのに)

なので、出したい気持ちはあるけど、かかるコスト的にはおいそれと対応できないというジレンマ。

Mac実機+テスト用スマホ+年間99$はさすがにきつい……が、日本のシェア率を考えると出した方がいい気もするので、少しずつ環境を揃えていきたいところ。

そりゅースタジオのこれから

経験不足故に9ヶ月に渡る長き開発となりましたが、その分めちゃくちゃ得るものはありました!

今後はもう少し短いスパンでゲーム開発を進められるんじゃないかなと思います。

ソローさんとも今後の予定を話し合ったのですが、お互い色々作りたいゲームのアイディアはあるので、進捗などあればこちらで報告していこうかなと思っています。

今後とも、よかったら応援・支援をよろしくお願いします😊

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索