2008/11/11(火)yieldが使いたい

はてブ数 2008/11/11 04:50 計算機な日記::ソフト作りつーさ

RPGのシナリオスクリプトを、
C#のあるソースファイルのメソッドとして定義し、
C#コンパイラに食わせることを考える。

スクリプトなのだから、スクリプタさんが書く。
文法こそC#だがスクリプトっぽい感覚で書けるように留意する。

RPGなのだから「メッセージを表示してボタン待ち」のような高レベルAPIを用意したい。
スクリプトの実行はそこでブロッキングして、一見処理が止まってるように見せたい。
しかし実際にスレッドまで止めてしまうとゲームが止まってしまう。どうする?

続きを読む

2008/11/09(日)QoFの仕様を考えながら

はてブ数 2008/11/10 00:12 計算機な日記::プロコンつーさ

ICPC会津感想文出してついでに問題を解いてみている。

ABCを合計1時間でコーディング。

次はEをやってみた。レイトレーシング。
とりあえず3次元ベクトル演算ライブラリから書き始めて1時間ちょいでsolved。

なんか、解法は知ってるのに結構時間掛かったなぁ。
ベクトル演算のライブラリだけでも持って行くべきだ。

考えてもみれば…… 去年はDPもDFSもBFSもダイクストラも知らずにアジア大会行ってたわけで…… 馬鹿じゃないのwww

はぁ…… 来年…… 来年なぁ。

2008/10/24(金)いざ戦場へ()笑

はてブ数 2008/10/24 19:44 計算機な日記::プロコンつーさ

なんだかんだという間にこの日が来てしまいました。

今日実験あったし休めなかったりで、今から出かけるのだー。
広島からなので、ツアーバスで東京へ、朝に新幹線に乗り継ぐ。
なんかこれといって書くこともないかも。

帰ったらまた修羅場の日々が……だめだいまはかんがえるな!
とりあえず、日々の柵を一時忘れて楽しんでこれるといいなぁ!

というわけで、参加される方々は現地で会いましょう。
Team ksk(accelerated)のTu-saでした。

2008/10/06(月)GSDK という名前にした

はてブ数 2008/10/06 17:43 計算機な日記::ソフト作りつーさ

いわゆるIDisposableをつけなきゃいけないクラスについてabstractな基底を作って、メモリ回収はGCに任せようとか思ってたが。Sceneクラス破棄してスコープアウトしてもScene直下で持ってるリソースのデストラクタが呼ばれず、先にDirect3DとかDirectSoundのDisposeが呼ばれて、ストリーム再生中のバッファでAccessViolationがでる。確かにGCがオブジェクトのデストラクタを呼ぶタイミングは予想できないのに、実験的にはちゃんと呼んでくれてたという意味不明な理由で、あほな実装に走った。今振り返ってみれば、どうしてこのような実装にしたのかわからない。これは由々しき事態だ。結局Paneliaみたいに、親子を考えて寿命管理しないといけない。C#になってもリソースの寿命管理からは逃れられないのか。GSDKで文字を書くとPaneliaよりも極端にFPSが落ちる謎の現象も確認。同じ文字列を描いてるのに、ぱねりあでは700FPS、GSDKでは150FPSしかでない。原因がさっぱりわからなくて困っている。PresentParametersやRenderStateはまったく同じ設定のハズなのに、いったいどこが違うんだ?うーーん……。昨日やっと、ひととおり書き終わったつもりになって、初めてビルドして動かしてみたら、でるわでるわ。バグのやま。まぁ当たり前なんだけど。上に書いたみたいな仕様バグも出てるし、どうしようかな。どんどん完成が遅れていい加減嫌になってくるなぁ。当初5月に完成する予定じゃなかったっけ。

2008/09/28(日)雑記

はてブ数 2008/09/28 20:16 計算機な日記::ソフト作りつーさ

全面的に作り直すのはやめることにしました。Version. Panelia をコピペしながら"見直し"することに。もう、Direct3D周りは一通り書き終えてしまったのですが、後DirectSoundと、DirectInputとSceneControllerとタスクシステムなんてやってたら、日が暮れるではなく、年が変わる!(笑) static化したいなんて言ってましたが、これもやめることにしました。やっぱり美しくないなぁってことで。で、まぁ、ここを書き換えないんだったら、あんまり全面書き直しをする理由もないので……開発スケジュール大幅に遅らせた上にこんなんではなんだか、アレですが……。まぁ、いい経験にはなったかなぁ。

QoFを作り直そうとかいうお話が出ていますが、たかだか1年ちょっと前のコードなのに読むのがとても辛い。きたない。汚い。きたない。スパゲティ。これ書いたやつ馬鹿なの? しぬの? と。どうにも、あの頃は「急がば回れ」という言葉を知らなかった(いや、言葉を知らなかったわけではない)ようです。仕様変更がおっかなびっくりすぎです。書き直した方がはえーんじゃねーの。このフレームワークができあがったら、QoFはたぶん一週間で書き直されるものとは思いますが。さぁどうしようかな。冬コミの企画も決まってません。結構QoFR(仮)も気合い入れて作ってるし、新再販(謎)でもいいんじゃないのかしらとか思いつつある。

なんだってくそいそがしくていやんなるぜ。もうあああああああああああ。冬休みが後2日です。