プログラミングは地味な作業が多い
フェイスブックの映画「ソーシャルネットワーク」を見ると、プログラミングって華やかだな、夢があるなって思うんですが、実際には地味な作業が多いです。
バグチェックとかは、その最たるものですね。バグがないか1個1個の動作を確かめていくって作業は、言わずもがなでしょう。
アプリとかを作っててもそうなんですよね。主だった機能の実装はすぐに出来るんですけど、そこからが長い。技術的には9割方完成してても、そこからの道の方が遥かに長いんです。
それゆけ窓拭きくん
これを書いてる今日、「それゆけ窓拭きくん」ていうアプリの土台を、サクッと作ってみました。まだ絵は書いてなくて、適当な図形を代用しています。
僕はいつもこんな感じに作りますね。まずは適当な図形を使いながら、メインのプログラムを書いて、そのあとに諸々調整するってやり方です。
1.白と赤の正方形が窓、んで上から降りてくるグレーの長方形がゴンドラで、窓に合わせてタップするとお金が発生します。
2.めっちゃ汚れてる窓(赤)をタップすると300円。普通の窓(白)をタップすると100円です。
3.ゴンドラは右から左に流れてて、一番左の1本を降りると、まだ右端に戻ります。
4.ゴンドラが一周すると、汚れてる窓の配置も変わるって仕組みで、全部で3箇所表示されます。
5.またタップすると水が垂れるんですが、これが下を歩く歩行者に当たると、ライフゲージがひとつ減ります。0を割ったらゲームオーバー。
ザックリ書くと、こんな仕様ですね。窓枠の数は増やす予定ですが、基本的にはこれで作ろうと思ってます。
ここからがマジ長い
技術的には9割方完成してるんですが、ここからがマジで長いです。時間で言うと、ここまでが1、ここからが9って感じですね。技術のそれと真反対ってことです。
世間にはアプリ=プログラミングってイメージがあるんでしょうが、実際に頭を使うプログラミングは、ほんのちょっとです。語弊がないように言うと、僕が作るアプリでは、全工程の1割くらいにすぎません。ここからもプログラミングはするんですが、そのほとんどがコピペやちょこちょこした改善だけです。
難易度調整、デザイン、絵、音が大変
ここからは実際に絵を書いてそれを当てたり、音を合わせたり、画面のデザインを考えていくんですが、一番大変なのは難易度の調整で間違いありません。
これは普通のアプリでなく、ゲームだからそうなるんでしょうね。簡単すぎず難しすぎずってラインを決めるのが、マジで大変です。
何度も何度も、それこそ何百回もプレイしながら、細かい調整をしていくんですが、これがほんとに時間かかるんですよ。
「これじゃ簡単だな。いやいや、ここをイジると難しくなりすぎるぞ。ゲームバランス的にはもっとこうか」なんてやってるうちに日が暮れますよw
最後に
上記したように、プログラミングっていうのは案外地味な作業が多いです。
最初のメインプログラムの実装は、クリエイティブな作業だと思うんですが、そこから先は工場のバイトですよ。工場のラインに立って、ひたすら単純作業をこなすっていうのと、なんら変わりありません。
プログラミングには、こういう二面性があると思って、ひたすらに慣れていくしかないんでしょうね。
他の人がどうだかは知りませんが、僕は9割方地味な作業をしてるって話でした。