2009/03/12

今日の引っ越し

・日記引っ越し

これまでの日記をはてなダイアリーに引っ越し。前々から、Bloggerが不便だと感じるようになっていて、Bloggerでの記録を移行する方法を見つけたので思い切って移行してみた。この情報が書かれたときから、Bloggerのフォーマットの設定の項目が変わっていて、それを合わせるためにDでごにょごにょとやっていた。

と、いうわけで引っ越したので、これからも生暖かく見守ってください。

2009/03/11

今日のカーソル

・卓球製作開始
折角XNAの本を買ったので、XNAを使って卓球の制作を開始。タイトルロゴやマウスカーソルを作ったり、表示したりしている。3Dの描画は必要な部分を本で読んだところで、まだコードは書いていない。OpenGLで3Dをやったのに比べてだいぶ複雑な印象を受けた。
XNAを初めてまともに使っているわけだが、なんとなく落ち着かない。その理由を分析したら、VisualC#がVisualC++よりもやたらと親切すぎること。それと、XNAの枠と自分が今まで使ってきたプログラムの構造とが違って、XNAの枠にあわせて作ろうとしていること。言語の違いはほとんど意識することなく使えている感じ。

2009/03/10

今日のクロックアップ

・シューティング作成

・スクリプトいじり

第2回3時間コンテストということで、「アイテムをとってゲームスピードを上げて、早くクリアすることで得点を荒稼ぎ」というコンセプトの横STGを作ってみた。しかし、まともなシューティングの土台を作るのに1.5時間以上かかって、まともにゲームとして成立しなかった。コンセプト的にもあまり自分の趣味に合わないのでお蔵入り。ランクを能動的に調整できて、それに毛が生えたという程度。

復讐のスクリプトをいじっていた。だいぶいい実装が出来そうになったのだが、最後の壁として型情報が立ちはだかって詰んだ。型の情報を保存する型、というものでもあればよかったのだが見つからない。sizeofやstringofプロパティが取れるのに、型は型ではないというのは、型とはいったい何なのか。Phobosで型情報を触っているモジュールがあり、それを参考にして、テンプレートとaliasとを組み合わせて乗り越えられるか、と思ったが越えられず。stringofプロパティを利用してコンパイル時にコードを生成する、というようなことも考えたのだが、ややこしかったのでやめた。

それで結局妥協して、関数を呼び出すためのラップ関数を一つずつ作って、それへのデリゲートを連想配列に格納する、という方法での実装にした。ラップ関数を作った労力のリターンとして、関数を呼び出すときに引数をどうするのかを意識せずとも使えるようになったので、これで妥協。その実装の進行具合は、構文解析のあたりで機嫌が悪くなっていて、ごく単純な命令しか実行できないという状況。

2009/03/09

今日の下絵

・絵
特に何かやったと言うわけでもないが、ドット絵の本を図書館から借りてきた。やはり下絵のデザインもちゃんとしていないと厳しい、と思ってみたり。

ゲームの画面サイズは小さいと情報量が減って不快だと思ったので復讐の画面サイズをやはり640*480にしようかと思い始めている

2009/03/08

今日の霧

・フォグ夢現
フォグがあると画面の見栄えがだいぶ変わるな、と思って、蘇生のパーティクルを改良してフォグを作ろうという計画を立てていた。フォグだと粒子の数が多くて、いちいちドットを打つ関数を呼んでいたら速度に響くだろう、と思ってグラフィックメモリを直接操作するという計画を立てた。しかし、それを実装しようとしたらDXライブラリにグラフィックメモリをロックして直接操作する方法がなかった。ライブラリのソースを見たら内部的に使っているものはあったのだが使い方がわからない。SDLでは当たり前のようにあったので、当然あるものとして思っていたので予想外だった。
で、どうするかは考え中。素直に「重いけれどきれいになります」という感じにするのが妥当か。

2009/03/07

今日の混迷

・スクリプト

・XNA

テンプレートと可変個引数の項目を読んでみたら、昨日当たりかと思ったのは別に使えなかった。それでもう少しコードを書きながらいろいろと試してみたりもしたのだが、やはり手段がなさそう。

それで仕方なくコードを手書きしていくことにしたのだが、それがまた混迷している。さすがに一つ一つの関数ごとに愚直に書く様なことは避けたいので、引数の数ごとに関数を分類する、ということをやっている。そのときに関数の引数として任意の型の関数ポインタを渡すようにしているのだが、それをどう渡すかで詰んでいる。Phobosにもそのようなことをしているものがあって、それを参考にしてはいるのだが上手くいかない。テンプレートで何とかしたいのに上手くいかない。あんまり上手くいかなくて憂鬱。

 

XNAの本を買ってきた。飛行シューティングを作る前に物理ゲームが大量の壁として立ちはだかっていたことを思い出して、それもまた憂鬱の種。Poseidonが不機嫌なのも憂鬱の種。

2009/03/06

今日の事前

・XNAさわり
・スクリプト
XNAを触っていた。頂点としてベクトルの配列を指定してそれを描画する、というクラスを実装しようとしていたら既に存在していた。XNAは何かやろうとすると既にそれが準備されている、という感じがして変な気分。慣れれば便利なのだろうけど。

スクリプトの課題となっている、関数の呼び出しらしきものがD言語のページに書かれていることに気がついた。問題は、まだろくに使ったことのないテンプレートや可変個引数がコアに使われていて、そのコードの理解が上手く行かないこと。