100日後に完成するゲームシステム 82日目「開発苦労談」

2021年6月15日

テクノロジー 特集

日々、仕事と趣味でプログラミングをしている、弓削田です。 もはや、ライフワークとなってしまった、プログラミングというより、デジタルクリエイト作業。 プラモデルやDIYなんかも楽しいからIoTも含めて、物作りには、デジタルが欠かせない時代となっているようですね。 この趣味を持てて、とても幸せを感じているんですが、今作っているゲームの作業を進めてブログに書いている時に、ふと気がついたんですが、 開発後期は、やった内容をブログにしにくくなってきたという事です。

最近の進捗

最近やった作業で言うと、 管理画面のログイン機能を作ったんですが、セキュリティに関わるところなので、ブログなどで詳細を書くこともできず、このネタはお蔵入り。 また、起動時のタイトル画面表示の仕様を、この間作ったLPに連動させる仕様だけど、ユーザーにしてみたら、大した変化が分かりづらいので、これもボツ。 もちろん、パスワード難読化とアッシュのアルゴリズムは、独自に作ったもので、これも公開できないレベルと判断。

開発作業は表面的なものと内面的なものがある

こうやって考えてみると、開発初期は、表示系や、メイン機能が多く、誰かに伝えやすい機能を先行的に作っていて、内部処理などは、後半作らざるを得ないから作業をするんだけれど、圧倒的にバックエンド系の方が作業負担が高い。 当たり前ですが、勢いで作ったメイン機能を修正(リファクタリング)するのって、めちゃくちゃ時間と労力がかかるんですよね。 しかも、作業が地味だし、結果的に見た目なんにも変更がないという状態。 もちろん、中身は効率的なプログラムに変更できたので、その後のメンテナンスコストなどが省略できるというメリットがありますが、これはプログラムがわからない人に説明するのは非常に困難ですよね。 こうして考えてみると、会社などで商用サービスを作っているときも、こういう事があったな〜と思い出した。 上司が進捗管理をする際に、先週から見た目が何も進んでいないので気をもんでいたけど、内部作業だけをひたすらやっていたためであって、全く作業進捗が伝わりづらかったので、毎日少しだけ見た目に関する作業を入れていたという経験がありました。 結果的に、効率が悪くて、思ったよりも開発に時間がかかったので、結果的に、「プログラムがわからんやつは、開発に口出すな」と心のなかで強く思いました。(半分ぐらい口にだしていたかもしれませんがwww)

開発ロンチに向けて

実はまだまだ、開発しなければならない事は多く残っているのですが、あと1ヶ月程度でβ版までは持っていく予定です。 このゲーム開発を通して、非常に多くの事を学ぶことができたのですが、その間に、いくつかの仕事も並行で行っていたという事は、僕の会社の事情なので、伏せておくことにしましょう。 あと、このゲームは開発完了までブログで追っておくんですが、その後の展開についても、ブログで告知もしますが、僕の毎日配信しているラジオや、SNS(twitterやfacebook)などで、行っていくようにしたいと考えています。 ブログをtwitterと連動したいので、そうした機能開発もしないといけませんね。 なんだか、ゲーム操作としては完成しているように思えてますが、ロンチまでのしっかりとした組み立てが、重要なんだと気付かされました。 仕事でプログラミングしている人、α版からβ版の苦しい期間をどうやって乗り越えてますか?