くまりゅう日記

もっと過去の日記
[.NET | BeOS | Blender | COLLADA | fossil | mono | monotone | NPR | OpenGL | PeerCastStation | Riko | Ruby | Silverlight | TRPG | XNA | ゲーム | ゲーム作り | プログラム | | 模型]

2011-06-15

_ 日記

…はっ、気付くと日記もかかずに毎日過ごしますね。まあ気付いてても週一ですけど。と思ったが先週もちゃんと書いてたわ。

この前の土日はなんだかあっというまに終わってしまい。

日曜は危うく忘れかけてたゲームマーケット行ってきた。なにげに初参加である。そんなに急いで行く必要は全くねーやと着いたのが11時過ぎだったと思うんだけど、産業貿易センターの入口についたらものすごい人一杯でびっくりした。どうも女性向けのイベントが同時にあったらしくそこに並んでいる人達のようだ。びっくりしたよまじで。

ゲームマーケット自体も普通に盛況だったけどね。広さのわりには出展数は少ないのはプレイスペースが沢山あるのと、一つずつの出展スペースにそこそこ余裕あるからか。あんまり大きいと行く方も大変だからこれくらいがいいかも。

今まで参加したこういった即売会の中では一番楽しかったイベントじゃないだろうか。ボードゲーム、カードゲームなんかが多いからコンポーネント展示が多いってのもあるんだが、それ以上に出展側の説明がいい。足を止めた参加者にこれこれこういうゲームなんですよとか、こういったところが楽しいんですよとか積極的に説明してくれるのはそれだけで楽しい。いたるところで実演販売状態。これこそ通販ではできない、即売会ならではだよなー。

着いた時には完売してるようなものも結構あったり。みんないろいろ変な物作ってるなーという感じで楽しかった。オリジナルのTRPG関係は思ったより少なかった。まあ作るの大変ということもあるんだろうが、オリジナルなんかは下火なんだろうか。リプレイ等はまあまああったけどね。

しかし買ってもいつだれとプレイするんだと思うといろいろ買う気もあんまり起こらなくてよくない。とにかくなんとかプレイする環境を作りたいところだなぁ。

_ PeerCastStation日記

なんだか混乱してた。

マルチスレッドで同期がどうとかいうのを考えてたんだが、内部でなんとか上手く隠してあげようとすると実装が難しくなって、隠すのを諦めると外からいじるのが難しくなるってんで困ってたんだけど、多くのオブジェクトを不変にしたおかげでそもそもそんなに考えることがなかったのであった。

あとはIOutputStreamとかISourceStreamといったプラグインとかで実装されることを期待したインターフェースの実装がめんどい問題も困ってた。こいつらは内部でスレッドを立ち上げて非同期処理することを期待したいんだけど、それって実装めんどいんだよねー。自分で実装するのもめんどいのでとりあえず実装起点になるベースクラスを作ってやったら、ああ、これで解決じゃねぇか。スレッド立ち上げて適宜イベントが発生したらOnなんとかメソッドを呼ぶようにしておけば、こいつを継承してOnなんとかをオーバーライドするだけでいいんだった。

実装がめんどいインターフェースはベースクラスを用意しといてやればいいのか。なんか当たり前のような気もするが、最近Rubyばっかりで継承とか使ってなかったから忘れてたぜ。あれ、仕事でC++使ってなかったっけ?

インターフェースを大きく変更したついでにテストも大きく変更。まあインターフェース変更したらテストを変えなきゃいけないのは当然なんだろうが、それ以前にテストの書き方がおかしかったのでそれも直したい。

IOutputStreamとかISourceStreamはインターフェースとしてはStartとStopくらいしかなくて、あとは勝手に通信してやりとりするんだけど、実際に通信してテストするのは難しいということで内部的なメソッドのテストをひたすらやってた。やってたんだがテスト書けるように内部構造を晒しながら書くとか気持ち悪いしインターフェースどころか内部構造変更でテスト変えなきゃいけないといったいテストとは何だったのかという気分になっていた。

でもこういうStartとStopしかないような物はどうやってテストするんだろうねぇという話をしていたら、簡単なサーバ作って通信させてテストするわなという至極真っ当な意見が。でもそれやるにはテストのためにPeerCast作らないといけないわけでーとか思ってたんだけど、プロトコルをだいたい理解している今となっては別に大変でもないな。そんなに複雑なプロトコルでもないし、幸いテストはIronRubyで書いてるのでサーバ書くのもさくっとできそう。じゃあ真っ当に通信しましょうという方向でテストを作り直し始めた。これでカオスで気持ち悪かったテストが綺麗になってくれると嬉しい。

しかし自動テスト書くのがいいとかテストファーストとかいう話はよく聞くけど、どういう設計だとテストしやすいとかこういう物のテストコードはこう書けっていう具体的なテストの書き方の話はあまり聞かなくて、テスト自体を書くのが難しいんだよな。テストファーストの良さは理解できるんだけどやり方がわからないという。なんかいい資料がないものか。


ページのトップへ | トップ «前の日記(2011-06-07) 最新 次の日記(2011-06-21)» | 編集 | kumaryu.net by kumaryu