日記(475)

<前 次>

funyak

ゲーム自体の動きを自動テストするための仕組みを開発中。
最初にゲームの状態と動きを定義して、その後実際に動かして、既定のフレーム以内に想定した現象が起きるか、あるいは想定外のことが起こらないかを自動的に判定するのです。
例えば先日話題にしたすり抜けバグのテストなら、すり抜けが起こりそうな地形と、地形に向かって動くふにゃを定義して、地形を越えそうなフレーム数まで動かして、すり抜けた位置にいるかいないかを判定するのです。
で、これを、画面に出さない自動テストと、画面に実際に動くキャラが出るテストで同じことをやりたいのです。
なんせゲームなので、数値的に何が正しいのかというのは直感的にはわかりにくく、テストの正しさはゲーム画面で確かめたいわけです。
しかし、テストが正しいことがわかったら、以後同じテストは、いちいち自分で見る必要はないのです。

funyak

WPFのテスト用画面でも自動テストができるように画面開発中。

NeoMupl

結構いろんなシチュエーションでエラーが起きています。
共通点はウィンドウハンドルの作成に失敗しているということ。
何かがウィンドウハンドルを浪費して使いきっているのだとは思いますが、どこで浪費してどうやって開放するのかどうにも見当がつきません。

NeoMupl

タイマーのON/OFFでエラーが起こっていたのでタイマーの実験中。
しかし何万回やってもエラーは起きませんね。
別の可能性を探る必要がありそうです。

NeoMupl

NAudioでもエラーで落ちました。
ということは、DirectShowがエラーの原因ではなかったということ?
それとも、NAudioも同じ問題を抱えている?
どちらにせよ、別のライブラリに逃げるのではなく、根本的な原因を探る必要がありそうです。

NeoMuplとTGWSAdmin

NeoMupl。
Ogg Vorbisを再生したくて、あと、DirectShowを使っているとしばらくしたら落ちるのを解消したくて、NAudioとNVorbisを使ってみました。
負荷がかかるとぶつぶつ音が切れるのと、連続再生しようとしたら前の音楽が重なることがあるという点が今のところは問題かな。
前者は再生しながらNeoMupl本体を操作したら起きるので、あまり操作しなければ一応何とかなりそうです。
後者はかなり致命的ですね。
後者を優先的に直していくか、あるいはNAudio自体を捨てるか…。

TGWSAdmin。
旧サイトのアクセス解析を、ログ取得も含めて完全自動化しました。
もう古いサイトなので手間をかけてもいられないのですが、だからこそ、手動でログを収集する手間は省きたかったんですね。
管理画面に入ってメールを送らせてそのメールを受信するというやたら回りくどいやり方だったのですが、何とかプログラムで全部書けました。

KeePass

パスワード管理をID ManagerからKeePassに乗り換えました。

あと、TGWS15周年ですね。
いやあ、おめでたい。

<前 次>