メールを使い始めて、9年ぐらいになるだろうか。
携帯電話をあまり使っていない自分にとって、
「メール」といえばEメールのことであり、
携帯メールについてはなかなか頭に浮かばない。
なので、
「携帯電話で送るメールは、件名を書かないことも多い」
と聞いて、理由に思い当たらず、
しばらく考えることになった。
要するに、送信する容量を稼いでいる、というわけか。
内容も、名乗りや挨拶などより、
いきなり用件を書くことも多いという。
聞くところによると、最近はほとんどの人が
携帯メールに慣れているため、
大学の講義でメールを使わせると、
無題のメールが大量に送信されてきて
困るんだとか。
たかが数バイト、されど数バイト。
容量との激しい戦いである。
さて、そんなわけで、今日は容量の話である。
ドラゴンクエストの制作は、
代々、容量との戦いであったといわれている。
制作が終わってみれば、
数バイト程度しか容量が残らなかった、
という話が残っている。
「数バイト」って……。
あんた、半角1文字が1バイトよ。
バグ見つけても、下手すると
「直せるかどうか容量と相談する」
なんてとんでも無い事態になりかねない。
そんな話を、入社前から聞いていたため、
私は
「プログラマたるもの、いかにメモリを使わず、
いかに高速に動くコードを書くか。
そこに常に腐心すべきである」
などというイメージを持っていた。
すなわち、使用する容量の少ないコードが
いいコードなのだ、とね。
……で、実際にやってみて。
こいつは、大間違いもいいところだったと、
気がついた。
一般的にいって、
「容量が小さくなるように工夫したコード」ってのは、
修正するにも時間がかかり、
他人が解読するにも時間がかかり、
とかく「いじりにくいコード」であったのだ。
ゲーム作りの現場において、
求められることは、バグの少ない設計であり、
日々変わる仕様に、柔軟に答えられるコーディングだった。
昨日聞いた話は、今日なかったことになる。
入れたばかりの仕様が、ボツになる。
一夜明けたら、内容がまったく変わっている。
それに対応できるコードであることが、第一条件だったのだ。
読みやすく、修正しやすく。
たとえば、自分が何らかの事情で
修正できなくなったとしても、
そのコードを見た「誰か」が確実に直せる
プログラムこそが、必要とされたものだった。
大容量化がすすみ、データの量も
圧倒的に増えた現代において、
コードの占める容量など、
どういじってもたかがしれている。
携帯メールで言うなら、
たとえ送信容量を少なくするためとはいえ、
意味のわからん暗号まで使い始めては意味がない。
相手に伝わる内容で、書いてこそ意味がある。
プログラムだって、同じことだった。
自分にしかわからないコードは、無駄になる。
海外移植に、急遽行われるバグ修正。
コードは「他人」が扱って当たり前のシロモノだ。
誰にでもわかるように書くべきだったのだ。
自分が風邪で倒れたとき、
それだけでプロジェクトが止まるようなコードは、
組んではならない。
それもわからず、どれだけの時間を無駄にしたことか。
時代は移り行く。
こうして書いていることも、また数年後には
事情が変わっているかもしれない。
私は、ゲームについて勉強したつもりで、
上のようなミスを犯した。
私が書いているこれらの記事も
そういう誤解を招くおそれもある。
どんな記事も、盲信してはならない。
正しいのは、自分自身が実践から得た知恵だ。