2008年4月28日月曜日

HLSL(2)


http://cid-8cd7cf5ea9fbca55.skydrive.live.com/self.aspx/Public/program/test080428.zip
 
実行ファイルと同じディレクトリの「hlsl.fx」を削除なりリネームなりすると、
標準ライトを使用する仕様。
 
標準のライトからHLSLに切り替えてみた。
処理速度がかなり落ちたが、仕様がなかろう。
しかも結構暗い。
フォグもない。
アンビエントとかライトとかの設定はすべてHLSLで記述するもののようで、
いまひとつ調べていないので、どうしたらいいのかわからない。
 
うーん、やりたいことをしようとすると処理が間に合わない。
実装がまずいのか、オンボードだからか。
 
(追記)
ちょっと改良を加えて、ハンドル経由でデータを送信するようにしたら、
45FPSぐらいから50FPSぐらいにまでなった。誤差の範囲かもわからんね。
ナデナデシテー

2008年4月27日日曜日

HLSL

シェーダ。

TWINTAIL LOVERS.
http://www.twin-tail.jp/contents/vsdx9/d3d/08/index.htm
 
を参考にして作成。
参考というか丸写しだけど、動くもんだね。
まぁ、なんていうか何をどうしていいかさっぱりわからん。
少し調べてみる。
 
モデルは卒論とかレポートでお馴染みのアレ。
どうみても劣化スターフォ(ry

ネガティブスペースドローイング

今日はじめてやってみたんだけど、
描いてるとだんだん奇形児になっていく……。不謹慎か。
 
その前にまずどういうものかなんだけど、
背景と対象物の境界を描くだけ。
できあがりがマスク画像みたいになる。
見たほうが手っ取り早いから、適当にググってくれ。
 
最初のほうは割とうまくかけるんだけど、
20分ぐらいやってると集中力が切れるのか、すごいずれる。
死にたい。

141号



微妙に音をいじくって合成。
結構くどいけどまあいいか。

2008年4月24日木曜日

140号

http://cid-8cd7cf5ea9fbca55.skydrive.live.com/self.aspx/Public/music/no%20name140.ogg
140号(0.79MB)
 
製作時間4時間ぐらい。
作ってる途中、母上から「ご飯よー」コール。
ご飯食べ終えて作業再開、そしてできたのが後半部分。
4時間にはご飯食べてた時間も含む。
 
(25日追記)
一日たって聞くと何がしたかったのか良くわからんね。大失敗!

2008年4月20日日曜日

GBC

画面はパロディウスを動かしてるところ。
 

広島駅前GIGA3階にフラット立ち寄ったところ
ゲームボーイカラー(中古)が300円にて販売していたので購入した。
 
ゲームボーイポケットを500円で買ったのを考えると破格のお値段。
1世代後なのに。
 
まあ、もちろん原因がありまして、
画面にキズ、電池のふた破損、十字キーの感度不良と、なかなかいけてない。
 
さすがにふたが壊れてるのなんて気にする歳でもないし、テープで止めればいいんだけど、
十字キーが結構厳しい。特に左と下の効きが弱い。
まあ中古だしこんなもんかという気もするが。
 
本題に入ると、画面のキズを直せないものかとググって見たら、
「歯磨き粉で磨く」
とあったので、試してみようかと。
この情報がなかなか胡散臭くて、おんなじ文章が多数のページで記述されてる。
どこ情報だよ! と思わんでもないが、まあやってみよう。
 
やってみた。
結論から言うと、焼け石に水だわ。
気持ち目立たなくなっているような気もするけど、布で画面拭いたような感じにしかならん。

2008年4月18日金曜日

仕様考案中

適当な背景付けた。
http://cid-8cd7cf5ea9fbca55.skydrive.live.com/self.aspx/Public/program/test080418.zip


大体のゲーム性を考えてる途中で、
方向性としては、
  • アイテムじゃらじゃらゲー
  • 何かしらのコンボゲー
  • 過去と現在同時進行ゲー
  • だんじょん
  • 多彩な武器

と、まあ過去作品の焼き直しな感じにしようかと。
ただまあDirectXの仕様がいまひとつ把握しきれていなかったり、
シェーダをいまだに触ったことが無かったりと、作り始めるには早いなあって感じ。
 
なによりモデリングをやったことがないというのが致命的でなあ。
30秒ドローイングもこの辺に関連付けた行動だったりしちゃったりして。
 
ともあれ、動くには少し早い。

2008年4月16日水曜日

GB版パロディウスだ!

こないだGBPを買ったものの遊べるゲーム無いなぁと思って、
ちょっと前に「パロディウスだ!」を買ったのよ。
これが良くできててさぁ、2週目あるし、敵が弾打ち返してくるし、
それでいて処理は落ちないし、コンテし放題だしで、いうことがない! 完璧だ!
 
最近朝早くに起きたときはよくやるんだけど、
とりあえずeasyはコインいっこでクリアできた。
easyは敵がやわらか、敵の移動も遅い、弾撃ってこない、とかなりeasy仕様。
normalはあんまりやらない。
difficultをよく挑戦するんだけど、いけて3面。一回死ぬと復帰できん。
今日7面までコンテしまくって進んだんだけど、電池切れた。
この辺が携帯機っぽいよね。GBPは電池残量わかんないし。
 
調子付いて、ACのグラディウスⅢをやるんだけど、無理。
2面泡とか何あれ。いや泡はともかく、上下から来る誘導敵がきついわ!
ボス倒せないし。何よりコンテニューできないのさ!
 
GBのソフト、ほかにも持ってるんだけど、
プレイするのはごく一部のソフトのみ。
カービィのピンボールとビートマニアぐらい。
カービィ2とかあるんだけど、一回100%にしたらもうプレイしないわ。
あの手の「続きから」プレイできるタイプのゲームはもう、面倒くさくてやってられん。
これが しゅーてぃんぐ のう か!

2008年4月14日月曜日

いまさら敵弾の実装


とりあえずプレイヤーのほうへ飛んでくるようにはしてるけど、
接触判定が微妙。
今のところ、円での接触判定を採用していて、
それぞれ半径0.125fでの接触判定を行ってはいる。
(壁の■が1としている)
……2DSTGみたく「判定1ドット!」とかいえないのが悲しい。
ゲーム性に影響があるわけではないけど。
 

2008年4月13日日曜日

日記ちゃん

というわけで、DirectX本を買おうと書店を回りました。
ところがこれといっていい本が無い。
DirectX入門系は初心者向けサイトとかでなんとかなるし、
シェーダ関係は動かないからかってもしょうがない。
つーか、大体がシェーダ関係の本で、どうしようもないな。
 
まあそんなわけで、結局これ買ってきた。
 
東方儚月抄

ちょwwwDirectXどうしたwww
CDついてるなんて思ってみなかったんだもん。買うわぼけぇ!
 
3Dなんかは、
PSゲーかなんかで研究するのが手っ取り早いだろうね。れっつニコニコ!
 
それから、ついでにクロッキー帳を2冊買ってきた。2冊って。
30秒ドローイングしてると、5分で1ページ消費するんよ。
ペンタブあるんだからデジタルで描けよ! と思わんでもないが、
紙のほうがぱらぱらできるから。ぱらぱらしたいじゃん。ぱらぱら。
 
もうひとつついでにアルファベットチョコとドリップ珈琲買った。
部屋に引きこもる準備万端!

2008年4月12日土曜日

日記ちゃん

うーむ、技術的限界を感じる。
3Dでよくある無限トンネルを作りたいが調べても作り方が見つからない。
DirectXのサンプルにあるらしいが見当たらないし、探す時間が無駄すぎる。
いい加減本か何か買おうかしら。The・NEETに出費は厳しいが。
 
30秒ドローイングをはじめて大体2週間ほどたつ。
最初のころに比べれば、体全体をかけるようになってきたし
紙の上での線の位置なんかが予測がつくようになった。
まあ、3次元を2次元にする技術はかけらもついてないけど、線をなぞるぐらいならなんとかなるかな?
30秒マジ短い。
 
この間買った紅茶がえらくまずくてなあ。
下手に味付きを買うもんじゃないなぁ、とか。

わっかエフェクト

わっかエフェクトを表示できるようにした。
http://cid-8cd7cf5ea9fbca55.skydrive.live.com/self.aspx/Public/program/test080412.zip
 
検索するより適当に実装してみるほうが早いかなと思って、
適当に実装した。
 
円の外側までの距離と円の内側の距離を指定し、
頂点を、(角度0度から)
円の内側の点→円の外側の点→次の角度
円の内側の点→円の外側の点→次の角度
円の内側の点→円の外側の点→次の角度...
とぐるりと一周するまで繰り返すと、あら不思議。円が書けちゃう。
(D3DPT_TRIANGLESTRIPでレンダリングする)
 
テクスチャUVもそれにあわせて計算する必要があるのが、
手間としては普通に2D表示をするのと大差ない。
まあそんな感じ。
 
関係ないが、最近検索をうまくできない。
上に来るのが全然関係ない記事ばかりでどうしたものやら。
とくに「DirectX」「Direct3D」とか、付けないとプログラムとは関係のないページばかり出るが、
付けるとぜんぜん出てこなくなって、それはそれでよくない。
MSDNのページもなぜかスクロールできないし、なんか最近調子悪いわ。

2008年4月8日火曜日

とりあえずゲームっぽく


敵っぽいのとか追加してゲームっぽく
ファイル名が昨日と同じだけど、中身は別よ!ファイル名まちがえた。
 
しかし、ここまでやってきといて、
別に作りたいゲームがあるわけじゃないところがなんとも。
あきてきたわ!
 
4回ほど自分でプレイしてみたが、驚くほど差が出ないな!
71080点、71030点、71360点、70900点。。。

2008年4月7日月曜日

マテリアルの設定が残ってた

できたー!

つーことで、テクスチャレンダリングで色が勝手に変色する問題を解決できた。
原因がXファイルをレンダリングしたときに設定したマテリアルの情報が残っていたことだった。
なので、Xファイル後にマテリアルの情報を初期化した。
 
MSDNにはデバイス作成時に以下のように初期化されると書いてあった。
Diffuseのrgbが1、ほかは0だとあったので、そのとおりパラメータを初期化したが、何も表示されなくなった。
なのでDiffuseのrgbとさらにAmbientのrgbも1を設定してやると、意図した表示が可能になった。
 
それにしてもマテリアル設定はノーマークだった。
Xファイル読み込みとレンダリングなんかサンプル丸写しなもんだから、
問題になるなんて思っても見なかったわ。
 
http://cid-8cd7cf5ea9fbca55.skydrive.live.com/self.aspx/Public/program/test080407.zip
ということで、今日の成果。
以前からの変更点は
  • 効果音
  • 適当なエフェクト

ぐらい。

2008年4月6日日曜日

拡大縮小時のフィルタリングで引っかかってた


画像のように、レンダリングしたときに線ができてしまい、
なんでよ! とあれこれ調べてた。
原因は、
SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR );
このへんでした。ぼかしはあきらめて
SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_NONE );
とすることで、問題解決。線は映らなくなった。
ぼかしたいときはFSAA(フルシーンアンチエイリアス)をかければよいとのことだけど、
テクスチャにレンダリングするのが重いオンボードは無理。あきらめる。
 
あと、フォグの最小範囲が小さすぎて、
2Dレンダリング時にもフォグがかかってしまい、透明色も描画されてしまう現象が起こってた。
フォグの範囲にも注意されたし。
 
それから、未解決の問題があって、なぜか緑がかって描画される。
ライトかなんかかとは思うけど、どこを直せばいいのかが不明。
とりあえずスルーしてる。

2008年4月5日土曜日

ショット



http://cid-8cd7cf5ea9fbca55.skydrive.live.com/self.aspx/Public/test080404.zip

本日の成果、ってことで、

  • カメラの移動をスムーズに
  • ショット的なものを実装
  • 壁の角にぶつかっても止まらないようにした

といった感じ。この辺の実装になるとDirectX関係ないな。
ためしにショット6000発ほど表示してみたら、以外に高速に処理してくれる。
こういうのはWinAPIだとかなり厳しかっただけに、なんとも頼りになる。

2008年4月3日木曜日

移動とか判定とか



今日の成果
http://cid-8cd7cf5ea9fbca55.skydrive.live.com/self.aspx/Public/test080403.zip


昨日ぶっ飛んだものの、バックアップを取っていたのでフルスクリーン部分だけ書き直せばおkだった。
そんな感じで、無駄に3Dな2Dゲーのようなものをさくっと作ろうかと。
とりあえずプレイヤと壁を作って接触判定を行った。
接触判定は完全2Dで、頂点とかそんなの関係ーね。けーね。
壁を完全にランダムに設置。やる気は無い。

F1でウィンドウモードとフルスクリーンの切り替え。
F2でキャプチャ保存。
操作はカーソルのみ。
とくにこれといって面白いことはしてないんだけど、まあいいじゃん。

2008年4月2日水曜日

フルスクリーンとウィンドウの切り替え

やり方は簡単!
PresentParamのパラメータをちょいといじくってResetするだけ。

できたーっとかいって
ちょうしのって
ころころかえてたら
ぶるーすくりーんでおちた。

でーたぶっとんだ。
ぜんべいがないた。

日記ちゃん

30秒ドローイングっつーのをやってみた。
これがなかなか面白くてなあ。
30秒って短いよねとか思ってすごい適当に書いたら時間あまりまくり。
精一杯描く気でいくと30秒じゃどうしようもない感じ。
とりあえず、現状では人の形になっていない(!)から、そこはなんとかしていきたい。

2008年4月1日火曜日

デバイスロスト対策

できたー!
ということで、デバイスロスト対策はひとまず終了。

Reset
SetRenderStateの再設定
  • AMBIENT
  • FOG関係

カメラの設定
プロジェクションの設定

と設定しなおしておげれば、元に戻った。
なんというか、ステータス元に戻せばいいよね、というのは知ってたのものの
全部一度に設定しないとまったく見えない所で躓いたなあ。
一個一個設定してはなおらねぇなおらねぇと言ってたもんだから、
えらく時間がかかってしまった。