プログラム

DrawPrimitiveUpを減らすために(2)〜ポリゴンの描き方〜

あらすじ:ポリゴンで2D。

DrawPrimitiveUpを減らす(1)〜なぜかポリゴンことはじめ〜

まあ、多分みんな似たようなことをやってると思われるが、実装例が見受けられないので、書いてみるといいと思いました。先ずは2Dをポリゴンでやることについてタラタラ書くつもりなので、例を見たいだけのひとは次回以降のエントリで。

DrawPrimitiveUpを減らす

描画を軽くするのに、「DrawPrimitiveUp()を呼ぶ回数を減らすといいよ」とよく云われてます。2Dで云うとキャラを表示する際に矩形の板ポリゴンを出力するわけなんですが、1枚1枚出力するんじゃなくて、ある程度まとまったカタマリとして出力した方がいい…

ぷりれんだしようとして

メモリからテクスチャを作成してそこに波紋のワッカを描いて…。なんか歪む。おっかしーなーって調べたらそうか、400*400とかでテクスチャを生成したら、勝手に1024*1024の大きさにされてたらしい。確か前も同じことでつまずいたっけ。テクスチャは2の累乗サ…

おーばーどらいヴ

前に実装しようとして、時間の都合で挫折した波紋表現を模索中。。。やっぱジリ貧で費用対効果を鑑みると切り捨てた方がいいのかもしれん。なんか最近検索すると波紋資料が見つからんので、うろ覚えを捻りだしましょう。マトリックス上に振幅をプロットして…

ape

つうことで、他人に影響されやすい私としては、物理演算が流行りなのです。自分でモソモソと試行錯誤しつつ、既にある資産は活用したい、ということでフリーの物理演算ライブラリを探してみるのでした。物理演算とか言うと何故かas3ばっかり目につく感じで、…

突然に第一部 完

ちょいと間が空くと何を書いてたか忘れますなぁ。何となくネタが無くなった感じなので、とりあえず終了。リクエストとかありましたら、それなりに応えるかも判りません。私が使っている判定リストは、今までのやつに加えて、当たった時のコールバックとかや…

地面とか(2)

つうことで続き。

着地判定とか(1)

さて、まだまだ続く判定話としましては、アクションゲームとかの着地判定を考えてみたいと思います。着地はキャラを常に落下させておいて、キャラの足元の判定と地面の判定がぶつかったら、地面にメリ込んだと判断し、地面の上までキャラを持ち上げる処理を…

複数矩形の応用:レーザーとか

ゲームつくったら、レーザーの一本や2本出したいですよね。そういや、レーザーとビーム、物理的な特性はおいといて、みんなの観念の中での違いって何なんでしょうね。反射するのがレーザーで、反射しないのがビームとか、そんな感じか?

複数の矩形による判定

やってみます。

N:Nのあたりはんてい(じゃなかった)

ごめん、今日のを途中まで書いてて気付きましたが、今段階でN:Nの判定は不要でしたたた。昨日のメインループを書き直すと、

あたり判定を管理

書き忘れましたが、私は当たり判定は矩形で管理するのが好きなので、矩形でやることにしますよ。

リプレイは何気に大変

http://d.hatena.ne.jp/ABA/20080120#p2 ・オブジェクトのフィールド初期化やオブジェクトプールのインデックス初期化が不完全でオブジェクトの振る舞いが一定しない ・乱数インスタンスにシードを与えるのを忘れている ・Drawメソッドの中でカウンタなどを…

当たり判定でもやってみますか

とりあえず、今プログラムで書いているので、当たり判定のことでも。とりあえず、当たり判定のやりかたをおさらい。ググったらkenmoさんのページが出てきたので、参照するとよいでしょう(http://d.hatena.ne.jp/kenmo/20050712) 矩形(四角形)でやってみ…

スコープの先頭で変数宣言、末尾に唯一のreturn

昔のC言語とかでは、変数の宣言はスコープの先頭でしか行えないという制限がありました。 { int hoge; // OK hoge = 2*3; int huga; // NG }この辺の余波を受けているせいか、そういった制約の無い最近でも、スコープの先頭以外で変数の宣言を行うと怒りだ…

ぷらづまれいヤソース

今回の頒布は前回に続き、会場焼きという失態を犯してしまったのですが、会場製本を生かして、ソースをバラ撒いてみました。といっても、紙に「PGソース欲しいひとは相談ください」とか書いて、聞かれてたら焼いて渡してただけですけど。とはいえ、結構興…

未だにオブジェクト指向って素敵臭がするのかね

製造者が、「クラス作らせてくれれば好かったのに…」と泣き言を云ってました。が、クラスにしたがってるのって、1つのプロセスに1つのインスタンスだけが必要なオブジェクト(のはず)なので、クラスにする(強力な)メリットってそんなに無いと思いました…

評価式

そういや、外注のひとがよく使ってて気になるソース。 if( 3 == hogeFlag )return;わりとギョっとしてしまう書き方なんですが、一応理由があるらしいです。定数を左辺において評価式を書くと、タイポ検知ができるそうです。 if( hogeFlag = 3 )return; // コ…

1文字変数名について

http://d.hatena.ne.jp/tonotonotono/20041111 http://d.hatena.ne.jp/tonotonotono/20050421昨日、「"ijk"は消えてしまえ」と口にしてみたのですが、同じことを仰ってるひとがいてわらた。やっぱ、1文字変数は良くないですよ…。 int i; //カウンタ /* ←(`…

ハンドルについて

http://www2.tky.3web.ne.jp/~yosshin/memo/000213.htmlおかしいなあ、確かこのページみてハンドルを知ったはずなんですが、間違って覚えてました。ハンドルは、ポインタテーブルを別にもち、そこにある実ポインタを参照/破棄してやることで実装するのが多…

なあ

変数名にi, j, k使うのを開発規約で禁止しないか?3項演算子なんか禁止するよりよっぽど有用じゃないかね。

ポインタバグでたー

あい、C++につきもののいつものやつ…。というわけではなくて、全般的なはなし。C++だとまあ、ポインタなんだけど、特定のオブジェクトの実体をつかんでおいて、後で使うってのはよくあること。実はこれ、かなり悩ましい。というのは、本当に実体をつか…

オブジェクト(敵キャラ)の動作について

データ(オブジェクト)とタスクをほぼ独立にしたので、一つのキャラに複数のタスクを同時に付与したりと、かなり柔軟な作りになりました(例:直進タスク+自機方向に回頭タスク=誘導弾とか)。おかげで、敵キャラの動作をガンガンモジュール化でき、使い…

多足歩行への夢

つうことで、多足歩行メカの足を動かすために、こないだ説明した慣性の動きを試行してたんですが、適用してみたらあんま意味無くて、普通の等速運動で十分な見栄えができました。なので、こないだのは無駄足。おわり。…多足とかだと、急激で小刻みな動きにな…

単振動を時間微分して動かす

この世の周期運動は全てサインウェーブの重ね合わせで表現できるーと云うか、任意の波形はサインウェーブで表現できるからーーーかは知りませんが、敵の動きなんかを作るときにはサインウェーブを使うと大抵いい感じになります。たとえば、地点A(0,0)から地…

メタプログラムばんざい−敵の編隊−

敵の編隊とか作るとき、フォーメーションが決まりきっている時は、編隊全体を1個の敵と見立ててプログラム書いてたりします。

最近の作業は

>列挙体で添え字を指定するというのではマズイのでしょうか?文字列を管理する必要もなくなりますし、キーの衝突も防げるので便利だと思うのですが…。ギク〜。と、無意味に反応するのはおいておいて、おっしゃる通り、キーとデータの対応は列挙体で概ね解決…

車輪中

split()とかtrim()とか。フヒフヒフハハハハ。今更になって文字列操作が楽しくなってどうするのか。

インベント・大車輪(ハッシュテーブル)

あらすじ:連想配列を使いたければSTLを使えばいいじゃないで、実際にゲームに組み込んでみたところ、謎のリンクエラーが。_Xran()とか_Xlen()の実体が無いとかなんとか。もちろん、身に覚えなんてありましぇん。で、調べてみたのですが、そもそもXran()…