1作目 [ブロック崩し]トイプーエスケープ ポストモーテム

こんにちは!

インディゲームを制作するディベロッパー「Studio Itachi」のZiggyです。

今回は、Unityを勉強して以降、初めて公開までたどり着いたゲームである「トイプーエスケープ」の反省会を開催します。

記事出すのが遅すぎで失敗しましたw
実は相当前から書いていたのですが、記事がない時に出すストックとして持って置いたら時系列が滅茶苦茶になりました。。。
でもまあ、気にしないでおきましょう。


私がゲームを作る際、一番最初になぜかブロック崩しを作ります。
C言語を勉強したときも、C++を勉強したときも、最初にブロック崩しを作りました。
なんなら大学の授業中に確かBASICでブロック崩しを作りました。

多分、大昔に慣れ親しんだ脱衣ブロック崩しが楽しかったからだと思いますw

トイプーエスケープはこちらからどうぞ。
https://play.google.com/store/apps/details?id=com.StudioItachi.PoodleEscape

実は4gamer様にリリース出してもらったりしています。
https://www.4gamer.net/games/615/G061521/20220124096/

■プロジェクトの概要

Unityを勉強始めたのが2021年の1月。
さてゲームを作ろうと考えたのがそのあとすぐで、公開まで10ヶ月ほどかかってます。
この内、3ヶ月ほどは稼働してませんでした。

軽い気持ちで身内に頼んだ絵が一切手を付けてくれず…頼んだ手前自分でやるわけにも行かずに止まってしまいました。

人に頼むときは収益出せる確信がある時に、きっちり報酬払ってやるべきです…。

それでも半年程度も時間がかかっています。
試行錯誤より、初めて作るので調べたり試したりする時間が多かったように感じます

Storeにのっけるだけでも1ヶ月くらいかかったような…(汗

そんなゲームの問題点とうまく行った点を、今後の自分のためにまとめました。

■問題点 6点

①アセット管理が複雑
/Assetsの下がかなりわかりづらいです。
まず、フォルダがめちゃくちゃで、現時点でこうなってます。
/Asset
 ┗/AddressableAssetsData
 ┗/Design
 ┗/Editor
 ┗/ExternalDependencyManager
 ┗/GoogleMobileAds
 ┗/GooglePlayGames
 ┗/JMO Assets
 ┗/Localization
 ┗/Music
 ┗/NCMB
 ┗/Plugins
 ┗/Prefabs
 ┗/Program
 ┗/Scenes
フォルダが多いので、メインで使っている/Design、/Programにアクセスしづらいです。
なぜこうなったかというと、外部のアセットを考えナシに突っ込んでいるからです。
テストもこのプロジェクトでやってたりするので、不要なファイルは削っていてもフォルダはそのまま残ったりしてます。

また、/Designの下と/Programの下にそれぞれシーン名のフォルダがあります。/Programはいいんですが、/Designは階層が深くなってしまって結構使いにくかったです。

解決策としては、当時メインで使うアセット用のフォルダを作ろうと考えました。
つまり、/Admobとかは動かさずに/Assets/MainAssetsという階層を掘って、よくアクセスするファイルを置くことにしました。
これもあとで反省会しますが非常にわかりづらかったですw

これを書いていて、よく使うのはフォルダ名の先頭にアンダースコア付けたらよくね?と思いました。
今度やってみます。


②スパゲッティコード
設計を何も考えずに書いていったので、ほとんどメソッドを作ってません。
つまり、Update()がかなり長い文になっています。
そのせいで、今は開くのもしんどいです。
要因はコードをきれいにするという意味が分からないためです。
なので、まず本を読んで勉強します!

読みやすいコードにすれば、アップデートも楽になるはずなので…!


③見た目がよくないねぇ
私にはセンスがございません。
極力べた塗りでテイストだけ合わせてみましたが、色がにじんだような感じになっていたり

そもそも絵を描いたのは私ではないので、修正もしづらかったというのがあります。
修正したって大したことできないですけどね、、、

対策としてまず、色についてはちょっとプライオリティは下がりますが、勉強したほうがよさそうです。
それまでの間、配色ツールを使ってその通りに配色してまいります。

Designについては3Dを使います。
Blenderの勉強前だったので使いませんでしたが、UIであっても3Dで物を作ってUI化することで、絵のセンスのなさを補おうと思います。


④ちょっとバグっぽい挙動が残っている
ボールの跳ね方がなんか意図と違う動きをすることがあります。
感じられないように調整はしたつもりですが、調整しないとおかしいというのはおかしいです。
で、何がおかしいのかよくわかってないです。

なんでかというと、コードの複雑さがあります、、、
基本物理で跳ね返してるのですが、そこからいろいろ力を加えたり引いたりしていて意味わからん…。
追い続けると公開できないと思ったので、ここは捨ててリリースしました。


⑤ボリューム不足
3ステージしかありません。
その中でもアイテムを入れることでマンネリ解消を図りましたが、ボリュームは不足しまくりだと思います。
しかし、このゲームの方針から考えると、ボリュームを上げてる時間はありませんでした。
まずはゲームを自由に作れるようになって、それからボリューム増やしていけば良いので。


⑥面白いところがわかりづらい
このゲームのコンセプトを体現するのがアイテムによる一気消しなのですが、最初から使えない上に見えてないし、出しにくいのでパッとで面白いところが伝わりません。
これはゲーム設計の段階で気づくべき。
対策というか教訓としては、コンセプトに直結する機能は、見える位置に置こうね。


■うまくいった点 4点

①個人的には満足いく出来にはなった
ゲームの部分に関してはアイテムについては自分の力で出して使えるし、一気に消す爽快感も出ていています。
問題点に書いたように課題はたくさんあるので、面白い部分がプレイヤーの方に伝わらないと言う致命的な問題はあるものの、個人的には満足です。

②公開までたどり着いた
何よりコレに尽きます。
出さないと次に進めないので、諦めずに作りきった自分を褒めてあげます。

③広告付けられた
試しにやるということで、Admobとunlty adsを入れてます。
広告の入れ方も気に入ってます。
多分、ココに強制広告も加えると収益に繋がるとは思いますが、収益目的のゲームではないので、広告付けられただけで良しとします。

④アップデートをしてGooglePlayGameServiceに対応できた
つまり、保守や修正、追加が出来たということです。
ランキングは元々ニフクラさんのBaaSを使わせてもらってましたが、無料会員だと定期的に管理画面へのログインが必要なので困ってました。
ログインのツールを作るか、良い無料のランキングシステムがあればと思っていたところ、2作目で使ったGPGSがいい感じだったので乗り換えました。
難解なコードでもなんとかなった。


■最後に

この内容は私以外にはほとんど意味をなさない上、かなり長文になってしまいましたので、駄文とはこのことですね。
でもまぁ、コレはStudio Itachi専用ブログですから!
一人だとこんなに文章でまとめたりしないので、今後も個人的な話にも使っていこうと思いますw

このプロジェクトとしてはやるべきことはできて、勉強すべきところも浮き彫りになってきました。
開発の経験値もかなり得ることができたので、次につながる良い一作目プロジェクトだったと思います!