中途半端だけど、現状の動画をupしますた。
Haskellで敵を踏み潰したりするゲームを作ってみた - ニコニコ動画 ソースは monao に置いてあります。
- 現状 22ソース、1605行
- 「関数型言語」って身構えることは全然なくて、Cとかで組むのとあまり変わらないよ、っていうかよっぽど楽だよ(パフォーマンスの細かな調整を考えなくてよければ)
- 存在型でオブジェクトごとにソースを分けたので、敵やエフェクトなどがかなり書きやすくなった
- Haskellでソースの循環
importができない- Haskellの循環import問題 - ABAの日誌 で回避、しかしメンドイ
- 結構作り散らせる、引数や型の内容を変更すると関連する部分のエラーを全てコンパイラが見つけてくれるので、かなり楽。修正すれば型に関する実行時エラーは起きないので気分的にも超楽。たまにコンパイルエラーのメッセージがえらいことになって大変なことがあるけど。
- ファイル分けて別モジュールにして、必要な関数だけ
importするのがわかりやすくてよい - 効果音を鳴らしたいけど HSDL、というより SDL のオーディオの使い方がよくわかってない。自分で mix しないといけないってことかね?
- Monao いいネーミング!でも遅延ストリームを使っていて、実はそれほどモナドを酷使してないです
- しかし作れば作るほど、オリジナルがいかによくできてるかがわかる。こんなのを20年前に8ビットのアセンブラで作っちゃう奴ってなんなの?天才なの?
- 次は FFI で DirectX を触って 3D ゲームを作る、とかしてみたい