Shibuya Lisp テクニカルトーク #2に参加してきました
Shibuya.lisp テクニカルトーク #2に参加してきました。素晴らしいイベントでとても楽しい時間を過ごさせていただきました。お世話になった皆様にとても感謝いたしております。m(_ _)m
今回のトークでは簡単なゲームを作ってデモを行いました。*1
ゲームはすべてSchemeで書かれています。SDLやOpenGLもイプシロンのFFIで呼び出しています。プログラムはコンカレントGCのベンチマークを目的としているので、かなり非効率な作りになっています。これは最適化するとGCの発生頻度があまりに低くなってベンチマークに使えなくなるためです^^;
今のままではあまりに見苦しいので、書き直してサンプルプログラムにする予定です。現在フレームレートはMacで500fps, linuxで3000fps程度ですが、最適化によりどのくらいになるかも興味のあるところですね :)
何かに似ているように見えると思いますが・・・気にしないでください :D
演出でそれなりの数のオブジェクトのアニメーションが発生します。小さな点に見えるものも、すべてテクスチャマッピングされたOpenGLのポリゴンで描画しています。実際のゲームに近い状態にするためにBGMや効果音も入れています。
これは実に単純なプログラムなのですが、私的には感慨深いものがあります。制作期間は3日ほどですが、その準備に4年かかったとも言えますので :p
次にイプシロンで作るゲームはピンボールになる予定ですよ :^)
*1: デモプログラムはゲーム中にGCが発生してもドロップフレームが発生しないことを確認するために作られています。
R6RSのライブラリ一覧表
ドキュメント: (ypsilon socket)
ソケット関係のドラフトを追加しました。
http://www.littlewing.co.jp/ypsilon/doc-draft/
ドキュメントは仕様の再検討とテストも行いながら書くので時間がかかりますね。でも、これは貴重なリファクタリングの機会にもなりますので少しづつ進めるつもりです。この辺が仕様書と実験計画書の承認をもらってから開発を始める仕事とはちょっと違うところですね :p
ところで悲しいかな私の英語記述力は低いのです。変なところや解りにくい所は教えて頂けると助かります。ここはできれば妻に添削してもらいたいところなのですが・・・彼女は今とても忙しくて「この英文法の本いいわよ♪」と分厚い本を貸してくれたのでした orz
ちなみにSchemeで書いているドキュメント作成システムは更新が激しいので現在公開していませんが、将来的にはユーザーが簡単なドキュメントの作成に使えるようにしたいと思っています。R6RSライブラリのファイルを読んで雛形を作るとかできるので、ちょっと便利かもしれないです :)