今回の反省

今日(2017/09/05)時点では審査中のためにまだリリースはされていませんが、新作ゲームアプリ「DropPoint」の開発が終了しました。

開発を始めてから3ヶ月かかりました。

そもそも「これは簡単だから、1ヶ月ぐらいでリリースできそうだな」という理由で他に開発中だったゲームの作業を中止して開発を始めたはずなのですが・・・これはどういうことでしょうか。あまりの事態に気分はタイムトラベラーです。ちょっと3ヶ月ぐらい宇宙人的な何かに誘拐されていたのかもしれない。海で遊んでた記憶があるけど。

なにはともあれ無事に完成しました。無事に完成しましたが、それでも今回の開発には反省すべき点が山盛り、メガ盛り、てんこ盛りです。以下、自戒のためにダラダラと反省文を書きます。ダラダラ書くのであまり真剣に読まないでください。

ヒットするかどうかわからないものに時間をかけすぎた

私のように個人でアプリを作る場合、一番大事なことはなんでしょうか。いろいろあるとは思いますが、私が大事だと思うのはとにかく「数を作ること」です。

当たり前ですが、どんなに時間と労力と情熱をつぎ込もうが、ゲームがヒットするかどうかはリリースするまでわからないのです。

大手ゲームメーカーのようにお金をガンガン使って宣伝できるわけではないので、アプリを知ってもらうチャンネルも限られています。ヒットするのは正直けっこう難しく、ほんの数百ダウンロードしかされないということも珍しくありません。

ではどうすればいいかといえば、とにかく数を作るしかありません。たくさんアプリを作り、ヒット作で出る確率を1%でも高くするほかないのです。何ヶ月も前にリリースしたアプリがある日突然日の目を見ることもあるわけで、数を作っておけばそういう可能性も湧いてきます。他にも自社広告ネットワークを使ってダウンロード数を稼ぐこともできますが、これもやはりアプリの数があることが大切です。

・・・とか偉そうに書いてるくせに、1本作るのに さ ん か げ つ !!!!!

かなりシンプルなアプリに仕上がっているにもかかわらずこの体たらく。マジで自分が信じられません。

時間をかければ良いものができるとは限らない

「数を作ることが大事」という反省とも関連しますが、ただ時間をかければヒットするゲームが作れるというわけでもありません。

世の中には長い期間を経て開発されたクソゲーなんて無数にありますし、短期間で開発された名作ゲームというのもまた無数にあります(超名作ロックマン2がわずか3ヶ月で制作されたのは有名)。

今回作ったDropPointがクソゲーというわけではありません。ただいかに私が面白いと思うものを作ったとして、それが絶対にヒットするというわけではありません。そもそも私のゲームの好みは偏ってますし。人生で一番好きなゲームは初代Xcomです(どうでもいい)。

だからとにかく数を作ること、1作に時間をかけないことが大事なのです。

しかしよくあることですが、作り始めるとアレもコレもと細かい部分が気になって、ダラダラと開発を続けてしまいます。これはもっと客観的に状況を見て計画を定期的に見直すべきでした。端的にいっていらんことをするべきじゃなかった。

時間をかけすぎれば中だるみも起こります。長期連載の少年マンガによくあるヤツです。

使える時間は有限。使えるパワーも有限。もっと使いどころを考えて、集中してやらないといけません。

身体を痛めると余計な時間とストレスがかかる

今回は手首を痛めました。もともとマウス腱鞘炎気味だったところに重い荷物を持ったら一撃で手首がダメになり、しばらくはパソコン作業ができないほどに。

そこでエルゴノミクスマウスとエルゴノミクスキーボードを導入して事なきを得たのですが、マウスはともかくキーボードの変更は作業効率を著しく損ないました。

このキーボードが特別に悪いというわけではなく、ただ慣れないキーボードはどうしても誤入力が増え、誤入力が増えればストレスになってやる気を失います。この腱鞘炎事件で1~2週間分は作業が遅延したでしょう。

いつだって健康が一番大事です。

コードをきれいに書く技術が必要かもしれない

私のプログラミングはすべて我流なので、コードはお世辞にもキレイとは言えません。

まぁ動いてるからいっか、という部分もたくさんあるし、見直すたびにリファクタリングしたくなります。

コードが汚いせいでメンテナンス性も悪く、作業の効率は悪化するばかりです。

ここらで少し、コードをキレイに書く技術を身につける必要があるかもしれません。

でもコードの綺麗さにこだわりすぎるとそれはそれで作業が進まないんだよな・・・。

WindowsとMacの連携を考えてなかった

今回、初めてWindowsで開発しました。

ハードのスペック的にMacBook Airより大幅に強化されたので作業は快適になり、これは大正解でした。

問題はMacとの連携。

リリースとiOSの実機テストはMacでないとできないのでMacを使うしかないわけですが、Windowsで開発したプロジェクトをMacで参照する方法を全然考えてませんでした。

そうはいってもちゃんとUnity EditorでテストしてればそんなにMacでテストすることなんてないだろ・・・と思っていたところ、課金やリストアのテストで何十回もiOSの実機にファイルを移すハメになりました。

なにか・・・Gitとか、ファイル共有とか、なんでもいいですが何かの仕組みを用意しておけば、作業時間のいくばくかは短縮できたと思います。

ちなみに今回は必要なファイルをZipに圧縮してからSDカードにコピーして移していました。アナログかつ非効率。デジタル原始人。

最初から軽量化を意識して開発するぺきだった

完成したアプリが実機によっては妙に重く、プレイできなくもないけどあまり快適な感じではありませんでした。

リリース直前に軽量化作業をしたので多少は改善したものの、特に性能の低いAndroid端末での動作には不安が残ります。

これはずっとパソコン上のUnity Editorでテストしながら作っていたので気づくのが遅れたのと、そもそも軽量化なんて毛ほども意識していなかったのが原因です。そんなに思い処理なんかしてないから大丈夫っしょ、みたいな。そんな感じの油断です。

後から軽量化しようとすると設計上難しくなる部分があったり、そもそも画像サイズが変更できなかったりと対応が面倒でした。

3Dのグラフィックがゴリゴリしたゲームを作っているわけではないとはいえ、最初から意識していれば作業も軽く済むような部分は最初から意識しておきたいところです。

計画がなかった

いつもあまり細かく開発計画とかスケジュールを組むことはないのですが(どうせひとりだし)、今回はそもそもまったくスケジュールを組みませんでした。

中だるみしました。ダッルダルでした。いや、もちろん毎日いっしょうけんめいやっていたのですが、短期的にも長期的にも区切りがなかったのでいまひとつ進捗が良くない感じが否めない感じが続いてしまったのです。

「作りながら改善していけばいいだろ。プロトタイピングだぜ!」とか考えていましたが、これは無駄に開発期間を長くする悪手だったと言わざるをえません。だって改善とかキリがないもの。

ちゃんと計画を立てて、細かいマイルストーンを確認しながら開発する。面倒くさいけど、それが超高速で開発する間違いない手段のようです。

いつも反省するくせに活かされてない

っとまぁ色々書くわけですが、いつもそんな感じの反省をしても大して活かされたことはありません。

だってすぐ忘れるんだもの。

次回の開発はもう明日から始めますが、今回の反省を活かして超高速でリリースしたいと思います。

私がこうやって宣言する時は、だいたいうまくいきません。

でも頑張ります。

じぃーまでした。