がまぐの投稿プログラムの制限
とりあえず定型的なゲーム内部の処理ではなく、フレームワーク的な物を作ってみたが…
10KB制限っていまどきの言語だと結構きついっすね。
そっけもないBASIC等なら全然問題ないけど、Javaとかだと普通にソース分割してクラスの定義とかですげーくってる。
ソースにわかりやすいようにコメント入れてみるとゲーム本体のない外枠のみですぐに8KBくらいいってる。UTF-8やめてSJISにするだけでもバイト数稼げるなーとか思ってしまう。
コメントなくしてぎりぎりかなーという感じ。publicやprivate、finalという文字をケチるところも大事になるかも。改行の2バイトもケチるのが大事かも変数名やクラス名は1文字にするとか。
こうなると単純に文字数が少ないLL系がかなり有利っぽいね。たぶんC#も同様にきついはず。
リソースファイルの制限がソースと違いかなりゆるいのでコンパイル済みのバイナリをロードするクラスローダ作るといいかもしれない。ソース見ても中身が把握できないけど。仕方がないかも。
コードはオブジェクト指向らしさなどをすてて出来るだけ平易に読めるように、上から下に順序よく読むだけで動きがわかるようなものがいいね。オブジェクトにメソッド用意してそれを呼び出すというのはほとんどしない方向で。IDEがないとソース移動が頻繁に入るのはつらいはず。つまり、敵クラスとか座標系などを持っているだけで、メイン側ですべてコントロールする。構造体程度の使い方というわけだ。
んで、次のステップとしてはそれを踏まえたうえでどう改良すると拡張性が高いか…ってところだけれども、そこまでいけてる人はたぶんこの本卒業できてる人なんじゃないかな。
あと、パッケージは1つにしてる。本当は種類ごとに分けたほうがいいんだけれども、ソース10個以内ならなんとかなるはず。