ActionScript1000行でゲームを作れ

BallBlastを458行まで縮めた。ナイーブなインスタンスプール自作するよりは可変長Vector使ったほうがパフォーマンス的にもコードサイズ的にもよさげなことに気づいたのと、2次元ベクトルを自前で作らずに組み込みのflash.geom.Vector3Dで代用したことによる削減。

Wonderfl上で物を作ろうとした場合、コードの可読性の面からいって、大体1000行くらいが限界かな、と個人的には思う。いや理想を言えば100行なんだけど。

のらゲーム開発者としてはそこにプラットフォームがあるからにはそこにゲームを載せなければならぬ。で、それなりに可読性が確保されていてそれなりには遊べるゲームを1000行のAS3で書け、というのはプログラミングの訓練としても、ゲームデザインの訓練としてもなかなかいい課題だと思うのだが、そんなに簡単ではないよな。

可読性を確保する面では、なるべくオフィシャルのコーディング規約にのっとって書きたいところだが、これ案外行数を浪費するんだよな。主に中括弧で1行食うせいだが。なので私はWonderfl上ではforの後ろにステートメントを書いてしまったり、マルチステートメントにしてしまったりすることが多い。あとカプセル化ガン無視。インスタンス変数はばんばんpublicにするし、パッケージ外トップレベルに関数変数置きまくり。

という具合に切り詰めても、やはり1000行は短い。まあでも縛りがないとだらだらとコードは長くなるので、Wonderflの1ファイルで短く、という制限は適切だと思う。そのゲームやデモを実現している仕組みの全てがすぐ見られる、というのがやはり魅力だからね。