グラディウス20周年企画 'Monadius' できたよー

最近いじってるHaskellをつかってグラディウスっぽいのを作ってみました。まずは紹介ページへどうぞ。そんで感想とかおねがいします。
日記を書くと、思いたったのが5月の初旬くらい。そっから土日を利用して開発を進め、8日にオプションが4つ付いて、15日で敵味方が一通り出揃い、22日にはマップとか打ち込んでほぼ完成。あとは調整してました。
これほどの規模のものを書くのは初めてだったのですが、やはり前評判どおり。Haskellは凄まじい勢いでエラーを見つけてくれましたし、ヒトの思考と手続き型プログラミングの中間のような、断片にまで分かりやすい意味があってかつ厳密に形式化されている世界を体験することができました。
ただ、部品部品を書くぶんにはHaskellの威力を感じましたが、ゲーム全体の構造は、ルールにもとづいて1/60秒ごとにアップデートされるという、いたって普通のステートマシンになってます。それはもうモードを切り替えたりグローバル変数をたらいまわししたり、およそ関数型言語らしくないことをいっぱいしています。
関数型ゲームプログラミングは、まだほとんど開拓されていないと言えそうです。

あ、関数型言語はいろいろあるけど僕がHaskellやってるのは、教えてくれる人がいるからです。それにCleanにはあひるがあるしね。