2008/12/18(木)[QoF] Quest of Feena REFINE(仮)
画面は開発中のものです。
冬コミはアクションRPGを出します。
去年の夏に出したやつの焼き直しと言えばそうなのだけども。
この画面に写り混んでいるものの中に、私の著作物なんか一切ないのだけど、
無断で載せてみる実験。
2008/11/19(水)続・動的コンパイル
動的コンパイルした先のコードで例外が発生すると、スタックトレースの行番号が取れない。
場所 にはメソッド名しか表示されない。コンパイル元がファイルでもダメ。
デバッグ情報を残し、かつ一時ファイルを残す設定にして、後からpdbの読み込みを試みる。
えー。
デバッグ出力コンソールくらいしか用意できないのかしら。printfデバッグω
スクリプトととして使うならデバッグ情報が足りねーのは致命的な気がするなぁ。
ある程度、どんなところでバグることが多いかの経験があればまだしも……。
それでもInvalidOperationException とか InvalidCastException だったら目も当てられない。
えーーーー どこーーー???? になること請け合い。
未解決。
関係ないけど。今日、西条に初雪が降りました。明日はもっと冷えるそうです。正直……
2008/11/11(火)yieldが使いたい
RPGのシナリオスクリプトを、
C#のあるソースファイルのメソッドとして定義し、
C#コンパイラに食わせることを考える。
スクリプトなのだから、スクリプタさんが書く。
文法こそC#だがスクリプトっぽい感覚で書けるように留意する。
RPGなのだから「メッセージを表示してボタン待ち」のような高レベルAPIを用意したい。
スクリプトの実行はそこでブロッキングして、一見処理が止まってるように見せたい。
しかし実際にスレッドまで止めてしまうとゲームが止まってしまう。どうする?
2008/11/09(日)QoFの仕様を考えながら
2008/11/02(日)ICPC 2008 アジア地区予選 in 会津
なんか、いまごろICPC日記とか……。
書こうにも書く時間もなかったといえばなかった(あったといえばあった)のだけども、大学祭も今日で2日目が終わってしまって、ブログどうしよう状態に陥ったので書いてみることにした。
2008/10/24(金)いざ戦場へ()笑
2008/10/06(月)GSDK という名前にした
いわゆるIDisposableをつけなきゃいけないクラスについてabstractな基底を作って、メモリ回収はGCに任せようとか思ってたが。Sceneクラス破棄してスコープアウトしてもScene直下で持ってるリソースのデストラクタが呼ばれず、先にDirect3DとかDirectSoundのDisposeが呼ばれて、ストリーム再生中のバッファでAccessViolationがでる。確かにGCがオブジェクトのデストラクタを呼ぶタイミングは予想できないのに、実験的にはちゃんと呼んでくれてたという意味不明な理由で、あほな実装に走った。今振り返ってみれば、どうしてこのような実装にしたのかわからない。これは由々しき事態だ。結局Paneliaみたいに、親子を考えて寿命管理しないといけない。C#になってもリソースの寿命管理からは逃れられないのか。GSDKで文字を書くとPaneliaよりも極端にFPSが落ちる謎の現象も確認。同じ文字列を描いてるのに、ぱねりあでは700FPS、GSDKでは150FPSしかでない。原因がさっぱりわからなくて困っている。PresentParametersやRenderStateはまったく同じ設定のハズなのに、いったいどこが違うんだ?うーーん……。昨日やっと、ひととおり書き終わったつもりになって、初めてビルドして動かしてみたら、でるわでるわ。バグのやま。まぁ当たり前なんだけど。上に書いたみたいな仕様バグも出てるし、どうしようかな。どんどん完成が遅れていい加減嫌になってくるなぁ。当初5月に完成する予定じゃなかったっけ。
2008/09/28(日)雑記
全面的に作り直すのはやめることにしました。Version. Panelia をコピペしながら"見直し"することに。もう、Direct3D周りは一通り書き終えてしまったのですが、後DirectSoundと、DirectInputとSceneControllerとタスクシステムなんてやってたら、日が暮れるではなく、年が変わる!(笑) static化したいなんて言ってましたが、これもやめることにしました。やっぱり美しくないなぁってことで。で、まぁ、ここを書き換えないんだったら、あんまり全面書き直しをする理由もないので……開発スケジュール大幅に遅らせた上にこんなんではなんだか、アレですが……。まぁ、いい経験にはなったかなぁ。
QoFを作り直そうとかいうお話が出ていますが、たかだか1年ちょっと前のコードなのに読むのがとても辛い。きたない。汚い。きたない。スパゲティ。これ書いたやつ馬鹿なの? しぬの? と。どうにも、あの頃は「急がば回れ」という言葉を知らなかった(いや、言葉を知らなかったわけではない)ようです。仕様変更がおっかなびっくりすぎです。書き直した方がはえーんじゃねーの。このフレームワークができあがったら、QoFはたぶん一週間で書き直されるものとは思いますが。さぁどうしようかな。冬コミの企画も決まってません。結構QoFR(仮)も気合い入れて作ってるし、新再販(謎)でもいいんじゃないのかしらとか思いつつある。
なんだってくそいそがしくていやんなるぜ。もうあああああああああああ。冬休みが後2日です。