1 名前:デフォルトの名無しさん [2009/01/02(金) 19:01:16 ] エロゲしか作ったことないけど なんでも聞いてちょ
237 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 17:06:49 ] >>236 接してる面だけしかない場合は軸を円周方向の角速度の逆に蹴ってる。 単なる棒で接してるなら軸は真っ直ぐ前ではなく倒れてしまうけど タイヤという円形なので連続して蹴るために軸は同じ高さを保ったまま ベクトルとしては水平方向に進む?
238 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 19:48:01 ] >>237 その棒の例えは、感覚的にはわかるのですが 原理的にあまりよくわかりません。 これがわかれば、球の前進も理解できそうな気が するんですが。 すべり0の路面とは、接触した点はX-Yのどの方向にも 動かすことは出来ないということ。つまり速度=加速度=0の拘束を受ける。 タイヤが角加速度を発生すると、接触点に加速度が発生するはずであるが さきの拘束がある為、加速度=0になる。その帳尻合わせる為?代わりに 接触点以外の質点の加速度をマイナスする。。のかな、ん〜よくわからない。
239 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 21:19:16 ] なんか中学生の疑問ぽいな 壁に向かって力を押せば、反対側に進む 作用・反作用の法則だ タイヤの場合もそんな感じ
240 名前:212 mailto:sage [2009/05/22(金) 21:47:48 ] >>201 DXLibralyPortable 見てみた。 DrawRotaGraph() の類を使っているのだな? リストの線形探索というとても効率の悪い GraphHandle2Ptr() を、 一枚描画するたびに何度も呼ぶことになっているが、同じ画像を 使う描画をまとめることで、実は一度だけでよいようにできる。 当然、SetTexture() も一度でよくなる。 また、sceGuGetMemory() を毎回呼び出しているが、事前に枚数が 分かっているのなら、これも一度でよい。 ついでにいうと、GuListSafety() はうんこだ。 sceGuGetMemory() の直前に必要量が足りるかを判定して、足り ない場合に不ラッシュするようにすべきだ。 さらにいうと、この処理を見れば分かるように、パケットエリアが 足りなくなると sceGuSync() を呼ぶことになるが、これは処理速度 の観点から好ましくないので、sceGuGetMemory() 直前に、パケット エリアが足りなければ assert() するようにした方が良いかも知れない。 メモリ効率が重要ならリングバッファに。 double は論外。 どうしても必要な場合だけにしなさい。 float <-> double の変換だけでかなりの時間を使う。 まず間違いなく、atan は無罪だ。 DrawRotaGraph() を引数を含めて最適化したほうがずっと効果が 高いだろうと思われる。 あとお前、212 のテイラー展開とか正規化で sin, cos とか無視しやがったな。 進行方向修正だけなら(九十度回転)内積だけで済むとかも。
241 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 22:01:50 ] DXlibってド素人向けゴミクズライブラリの分際でPSP用とかあるのか
242 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 22:04:21 ] ゴミ以下な>>241 より人気あるしな
243 名前:デフォルトの名無しさん [2009/05/22(金) 22:19:22 ] 開発者 「スレで開発すればプログラムの勉強になるし名声とかも得て一石二鳥♪」 実際 PSP独自の関数とか絶対他で使んねぇのに開発とか超受けるんですけどww 2ちゃんで開発とかwwずっと乞食共に食われてろよw 自身のブログで公開してアフェリエイトでも期待してた方がまだマシだなw 名声?まあ、そのくらい分かるよなw そもそも完成しないのに開発って矛盾しすぎww っていうかなんでパスつけてんの?優しい優しい開発者が乞食のために公開してんじゃなかったの? いいよ、俺が教えてやるよPASSは601だwww 一生このスレで乞食の相手やMの奴隷でもやって、くたばっちまいなぁwww 乞食 「やべwwPSPで東方ができるwwダウンロードっと」 実際 「はぁ?こんなの東方でもなんでもねぇよ、くそつまんねぇ〜 でも、そのうち本物と同じくらいの出来が来るかもしれないから毎日来るか」 こんなスレにずっといると精神腐っちゃうぞ☆ 将来のためにお勉強した方がよっぽどいいよ、マジで
244 名前:憂煉 ◆yreeen/0R2 mailto:sage [2009/05/22(金) 23:28:51 ] >>240 わざわざ私のソースコード呼んでくれてありがとうございます。 次のバージョンあたりで線形探索とかsceGuGetMemoryとかの最適化も含めようと思います。 バッファ足りなくなった時点でassertですか・・・それもありですね。双方に利点欠点があるので適宜切り替えられるようにしようかなと思います。 リングバッファはPSPSDKの設計上難しそうです。 引数にdoubleが存在するのは本家ライブラリに合わせているのが原因です。これもプリプロセッサか何かで対応しようかと思います。 的確な指摘本当にありがたいです^^
245 名前:憂煉 ◆yreeen/0R2 mailto:sage [2009/05/23(土) 00:06:26 ] >>240 追記 進行方向修正で左右を判別するなら90度回転して内積つかうよりも直接外積使った方がいいですよ。 正確には2Dでは外積そのものは定義できないので「外積の大きさ」を使うことになりますが。 atanは無罪ですね。でもatanよりatan2使った方が良くないですか? atanだと第一象限と第四象限の角度しか返さないので補正に一手間必要ですが、atan2だと全象限カバーできますし。 そのあたり実際にベンチマークが必要ですね・・・
246 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 00:24:04 ] なんか伸びてると思ったら最近あちこちで利用されてる龍神録関係か 数学はあまり詳しくないんだが確か龍神録のホーミングは360度 軌道修正できる感じだったので内積とか外積は関係ないんじゃないか?
247 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 01:39:05 ] >>245 わかってるなら初心者に東方もどきを作らせずに自分で作れば良いと思うのだが
248 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 01:57:21 ] >>247 私は実際のプログラムよりライブラリを作る方が性に合ってるのでw 実のところ纏まった時間も無いですし、ゲームの開発はしばらく人任せにしようかと思ってます。
249 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 13:56:00 ] あばばばば
250 名前:212 mailto:sage [2009/05/23(土) 14:23:21 ] >>244 assert の話は利用側への話。 psp sdk を軽く見てみたけど、リングバッファにもできそうだ。 デメリットもあるからメモリ効率を追求するのでなければ不要だが。 GPU の処理負荷はどうだ? GPU が原因で処理落ちするようなら、パケットエリアのダブルバッファを検討 すべきだ。 今の構成では、多分 GPU が遊んでる時間が結構あるし、フレームの最後の方で 大きなプリミティブを描画すると処理落ちの危険が不必要に高まると思う。 double を使うと本当に重い。 -S オプションでアセンブリリストを出力させ、double 変換関数が呼ばれて いないか調べなさい。 変換関数の名前は覚えてないから、テストプログラム作ってリスティングして 調べてくれ。 sprintf() などの可変引数に渡すときや、float から long への代入時に暗黙 の格上げがあったりするので注意。 >>245 カチンときて何か言わずに済まなくなったのか。 atan の話で、テイラー展開の話を理解していないことがわかる。 自前の atan を実装しろという話なのだから、標準ライブラリの atan() を使え と言っているわけがない。 標準ライブラリの atan() は double なのだから、double を論外とする人がそれ を使えというわけがない。 実際に標準ライブラリの atan()/atan2() を使っていたのなら、すぐに atanf() か atan2f() に直すべし。
251 名前:212 mailto:sage [2009/05/23(土) 14:24:17 ] >>245 > (略)直接外積使った方がいいですよ。 君は自分がなにをしなければならないかを知っているが、俺の言ったことは 理解していない。 ベクトル (x, y) を九十度回転させて (x', y') にする操作は、 (x', y') <- (-y, x) である。 一般の回転は (x*cos - y*sin, y*cos + x*sin) であるが、今回は九十度 なので cos(90) == 0, sin(90) == 1 であり、結果 (-y, x) となる。 ではこれを使って、九十度回転したベクトルとの内積をとってみよう。 ベクトル A と B の内積を Ax * Bx + Ay * By とすると、九十度回転した A(-Ay, Ax) との内積は Ax * By - Ay * Bx となる。 おや、何か外積と似てるね。 さて君は外積の大きさを使うと言ったが、具体的にはどのようなことだろうか。 (Ax, Ay, 0) と (Bx, By, 0) のベクトルの外積をとって、出てきたベクトル の各成分の二乗和の平方根と解釈して良いだろうか。 このとき、当たり前だが、外積の結果は、x 成分と y 成分がゼロである。 元の二つのベクトルの z 成分がゼロであるから、これは当然である。 であれば、最初から z 成分だけ計算すればよいのであり、だとしたら、その 計算を外積だと主張するのは、間違いではないがピントが外れていると言えない だろうか。 それに、ベクトルの大きさならば負の値をとらないから、その点でも説明不足 な表現といえるだろう。
252 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 14:26:36 ] 245 は分かっているだろうが、ライブラリを使う側の話なので、折角だから進行 方向の更新処理についても説明する。 弾の位置から自機の位置を引いたベクトルを A、ホーミング弾のフレームあたり の移動量(進行方向)のベクトルを B としたとき、B と九十度回転した A との 内積の値は |A||B|sin となる。 ここで角度を得るためには |A||B| で割ればよいのだが、平方根と除算が必要に なる。 平方根自体は psp ならば浮動小数点ユニットに実装されているはずだから、 目くじら立てるほど遅いということは無い。 しかし平方根や除算を消せるならそれに越したことはない。 ホーミングの進行方向修正を考えた場合、必要なのは、右に回転すべきか 左に回転すべきか、それとも正対すべきか(向きの差が回転性能未満の場合) ということを判断するのに十分な情報だけである。 右か左かというのは、sin の符号でわかるので、回転性能未満かどうかの判定 について説明する。 ベクトル A 同士の内積、つまり Ax * Ax + Ay * Ay の結果は、|A| * |A| である。二乗和であるから当たり前だが。 件の内積の結果であるところの |A||B|sin を二乗すると、 |A| * |A| * |B| * |B| * sin * sin となる。 これを A の二乗和と B の二乗和で割ると sin * sin が出るのだが、今回は 比較に使うだけなので割る必要はない。 a > 0 かつ x > y のとき、 ax > ay という法則があるので、これを利用する。 a を |A| * |A| * |B| * |B| とするわけだ。 また |x| > |y| の時、x * x > y * y を利用して、回転限界の sin の二乗 と、A と B のなす角の sin の二乗との比較を行う。
253 名前:212 mailto:sage [2009/05/23(土) 14:27:27 ] 回転限界を r 、その sin を sr、さらにその二乗を sr2 とすると、 outerp = Ax * By - Ay * Bx; // |A| * |B| * sin outerp2 = outerp * outerp; // |A| * |A| * |B| * |B| * sin * sin alen2 = Ax * Ax + Ay * Ay; // |A| * |A| blen2 = Bx * Bx + By * By; // |B| * |B| limit2 = alen2 * blen2 * sr2; // |A| * |A| * |B| * |B| * sin(r) * sin(r) if ( fabsf(outerp2) < limit2 ) /* 回転限界未満 */; else if ( outerp < 0 ) /*右回転*/; else /*左回転*/ というようにして、除算も平方根も無いばかりかコンパイラがスケジュール しやすそうなコードが出来上がる。 前述の法則から、fabsf(outerp2) < limit2 は結局 sin*sin < sin(r)*sin(r) と同じ結果になることが理解できるだろう。 回転限界未満では atan などを使うことになるが、テイラー展開で自前で実装 したバージョンを利用するなら、asin の方が収束しやすいので、平方根で割って でも asin を使った方がいいかもしれない。 これは実測しないとどちらが有利かはわからない。
254 名前:212 mailto:sage [2009/05/23(土) 14:28:30 ] 余談だが、最適化のヒントになるので追記する。 ベクトル B は、ホーミング弾の進行方向のラジアンから sin cos で算出する。 角度から sin cos に直すのは DrawRotaGraph() でも行う必要がある。 そこで元々ホーミング弾の進行方向を sin cos で保持しておけば、その処理が 不要になる。 上記 aim 処理(aim は照準することで、日本のゲーム文化の中ではホーミング のことと思ってよい)も、回転限界未満の時は A * (1/|A|) を採用することで、 限界外の時は(事前に計算しておける)sin(r) cos(r) を用いて進行方向 ベクトルを回転させることで、進行方向の角度(ラジアンなどの表現)無しで 実現できる。 さらに DrawRotaGraph() のバリエーションに sin cos を渡すバージョンを追加 したら、移動方向は sin cos の表現だけで全く十分となる。 もうひとつ、移動方向の sin cos を持っていれば、それは長さ 1 なので、 outerp は |A| * sin、outerp2 は |A|*|A| * sin*sin となり、limit2 は alen2 * sr2 となる。blen2 は 1 のハズだから計算不要なのだ。よって、aim 処理自体の(微々たる)高速化も果たせる。 このように、三角関数なしでベクトルのまま処理することができる。 平方根での除算が必要だが、r4000 なら rsqrt という命令があって 1 / |A| を 一命令で行うことができる。
255 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 14:42:54 ] psp-gprofのことを書いたのは失敗だったかな。 あの流れで書くのは自然なことのように思えたが 結果として木を見て森を見ずになっちまった。
256 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 14:48:12 ] >>250 GPU の処理負荷はどうだ? GPU が原因で処理落ちするようなら、パケットエリアのダブルバッファを検討 すべきだ。 今の構成では、多分 GPU が遊んでる時間が結構あるし、フレームの最後の方で 大きなプリミティブを描画すると処理落ちの危険が不必要に高まると思う。 この辺のコツとか関連関数を教えていただけませんか? 前からCPUで仕事しきった後Guに仕事を渡すというのでは効率悪いんだろうなあと 思ってたんですがGuの非同期制御のコツがいまいちわからなかったので 実現できていないんですよね。
257 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 14:53:11 ] >>255 いえあれはあれで有効ですよ。 今まではライブラリの上で動くプログラムの効率が悪いのではないかという 盲目的な考えでチューニングしてましたが、ライブラリ側の問題も見えてきたので 今後は本家の関数に忠実にというだけでなくPSP独自の関数の実装を 検討しやすくなりましたし。
258 名前:245 mailto:sage [2009/05/23(土) 15:46:05 ] >>250 >カチンときて何か言わずに済まなくなったのか。 なぜそう喧嘩腰なのか理解に苦しみますが・・・ >自前の atan を実装しろという話 sinf、cosfは既にハードウェアで実装されている関数の方が自前で組んだ物より高速だったので、私はそっち使ってます。 atan系はライブラリ側では使ってないですね。 >>251 3次元ベクトルの外積の大きさの計算を2次元ベクトル向けに妥当な変形しています。 そちらのアプローチとは若干異なりますが、結果としては同じ式になりますね。
259 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 17:43:21 ] なんだか真面目に回答してるスレ民がかわいそうになってきた… 憂煉って奴は工房でこんなの作れる俺SUGEEEとか思ってるのかしらんが前から 偉そうというか他人を見下した書き方をするのでカチンときたと思われても仕方が無い シューティング大好きという奴は自分が気に入らなければ他人の意見を取り入れない節がある
260 名前:245 mailto:sage [2009/05/23(土) 17:49:10 ] >>259 む、そういえばそうかも知れません。 以後悪癖直せるように努力します・・・
261 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 17:51:24 ] >>259 シューティング大好きで括るのやめて
262 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 18:03:43 ] まあ何にでもアンチはわくものだ
263 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 18:04:26 ] 工房なのか ならテイラー展開を知らなくても無理は無い 大学の一般教養二日目あたりでやる範囲だしな
264 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 18:07:27 ] >>261 シューティング大好きっていう糞コテのことだろ
265 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 22:33:52 ] やっぱりプロの人はC++でベクトルクラスをET使って実装しちゃったり するんですか
266 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 22:49:35 ] プロとか関係ないしょ
267 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 23:17:30 ] 趣味なので一時オブジェクト生成のコストとか気にしません
268 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 23:40:09 ] >>259 は向こうのスレの人間か?さりげなく住人批判してるしw 情報の取捨選択は個人の自由だろ。 特に2chソースなんだし。
269 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 00:17:09 ] アンチってよく飽きないよなー
270 名前:212 mailto:sage [2009/05/24(日) 00:29:17 ] >>256 掲示板では無理。 OpenGL のディスプレイリストについて調べて、pspgu.h の sceGuStart() の コメント読んで、sceGeListEnQueue() の動作調べて、 sceGeListUpdateStallAddr() の動作を考察してから調べてみなさい。 開発者向けには、 背景などはゲームとの同期が一フレームずれてても問題ないことが多いだろう から、フレームの先頭で、ゲーム更新処理前に背景だけ書くようにすると フレーム先頭のアイドルタイムが減る。 なるべく大きいもの(背景やボス)から描画して、小さいもの(玉や破片) を後回しにするとアイドルタイムが減りがちになる。 というようなことをアナウンスしたらよいだろう。 ていうか実測が先。 sceGuSync() に時間がかかりすぎているならば、GPU 処理時間に改善の余地が ある可能性がある。 元々フルパワーで動作しているのにフィルレートが足りないというようなこと だと、そういったコトを工夫しても無意味だ。
271 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 00:30:16 ] >>258 > なぜそう喧嘩腰なのか理解に苦しみますが・・・ 読解力が無さ杉だろう。 "カチンときて何か言わずに済まなくなったのか" が言外に意味するのは、"それは言う必要の無いことだ" ということだ。 俺は標準ライブラリの atan を使えといっていないし、君も使っていない。 言及する必要が全く無いのではないか。 そもそも 201 あての文章を勝手に引き取って "使った方が良くないですか?" ときて、"そんな話はしていない" というような意味の返答に対して "atan系はライブラリ側では使ってないですね" だからね。 また、"直接外積使った方がいいですよ" についても、結果同じことになるのが 分かっているなら書く必要がない。 その上 "いいですよ" と上から目線で書くというのは、何か意趣があると思った としても自然だろう。 そういうわけで俺は、"君は何か言い返さないと済まない" から書いたのでは ないかと想像したわけだ。君は >>245 を書く必要が無かったし、書く必要が 無いことを知るのに十分な情報はあったのだからね。 というような、書き込む前に何分か寝かせておけば気づくようなコトなのに、 それに対して君は > なぜそう喧嘩腰なのか理解に苦しみますが・・・ とくるわけだ。 「ああそうですね」とでも言っておけばいいのに。 喧嘩腰の人間が >>251-254 のような丁寧な説明をすると思うのか。 分かってて書いたのなら、かなり性格が悪いね。 これは気分を害するのに充分だ。
272 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 00:30:53 ] 気分を損ねたので、ちょっと意地悪をしよう。 俺は >>251 の最後の段落で二次元のベクトルを (x, y, 0) というように三次元 に拡張した上で外積の計算をして見せた。 その文章では不要なので触れなかったが、画面手前から奥に向かうベクトルを (0, 0, 1) として外積の結果のベクトルと内積を取ると、その符号から、外積 の結果のベクトルが xy 平面に対して手前向きか奥向きかが分かる。 全く三次元のまま解決できるわけだ。少しも変形していない。 >>245 > 正確には2Dでは外積そのものは定義できないので「外積の大きさ」を使うことになりますが。 外積の大きさとは何かを説明してもらいたい。 三次元ベクトルの二乗和の平方根でよいのか。 さもなくば、文面からは、"二次元ベクトル同士の「外積の大きさ」"ならば正確 に定義できるというようにも思えるし、そういうことであるのか。 説明してもらいたい。 さらに、なぜ外積の大きさが必要なのかについても説明してもらいたい。 >>258 > 3次元ベクトルの外積の大きさの計算を2次元ベクトル向けに妥当な変形しています。 三次元のまま計算して全く問題ないのに、2次元ベクトル向けの妥当な変形とは 一体どのようなものなのか説明してもらいたい。 ていうかホントに理解しているのか? >>245 で、助言者(しかも他人への)に対して "直接外積使った方がいいですよ" ってんだから。追記してまでね。充分に自信があるのだろうね。楽しみだ。
273 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 01:30:45 ] 憂煉とシューティング大好きは向こうでも叩かれてるみたいだなw 性格ねじれてる上に荒らしに構うほど馴れ合いならどこ言っても叩かれる罠
274 名前:245 mailto:sage [2009/05/24(日) 01:37:11 ] >>271 納得のいく説明感謝です。もっと読解力付けないとです。 ただスレを見たら命令口調の物言いやうんこなどと書かれていた事から、喧嘩腰なのかなと感じただけです。 こちらの勘違いだったようで、申し訳ない。 >>272 おっしゃる通り、私が言いたいのは二次元ベクトル同士の外積の大きさです。 ただ、本当に理解しているかと言われると怪しい部分がありますね 楽しみの所失礼ですが、これ以上の返答は控えてせっせと復習することにします。
275 名前:256 mailto:sage [2009/05/24(日) 02:00:03 ] >>270 >掲示板では無理。 確かに・・・ >OpenGL のディスプレイリストについて調べて、pspgu.h の sceGuStart() の >コメント読んで、sceGeListEnQueue() の動作調べて、 >sceGeListUpdateStallAddr() の動作を考察してから調べてみなさい。 ヒントだけでももらえると助かります。 APIリファレンスも一応は目を通しているんですが、どういう風に組み合わせて使えばいいかが さっぱりだたので・・・ >背景などはゲームとの同期が一フレームずれてても問題ないことが多いだろう >から、フレームの先頭で、ゲーム更新処理前に背景だけ書くようにすると >フレーム先頭のアイドルタイムが減る。 確かにこの辺は有効そうですね。 上でもでてましたコマンドのダブルバッファを行って無い場合にフレーム開始時に描画しておく分 と一連の処理をしたあとに描画する分が重なるケースも想定しておく必要があるんですが 前の描画が終わってるかどうかの検知はどの辺の関数で行えばいいんですかね?
276 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 06:13:30 ] >>272 いいかげんスレ荒らすのやめろよ既知外。
277 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 10:42:30 ] 質問なんだけどゲームのBGMとかって何使ってるのが普通? Wavだと読み込み楽なんだけど配布用のサイズがでかくなるんだけどこんなもん? Mp3とかだとサイズが小さそうなんだけど読み込みの際に圧縮解凍ルーチンまわさなきゃいけないから遅いよね? おすすめの形式おしえてくだしあ
278 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 11:04:07 ] >>277 Ogg Vorbis
279 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 11:05:06 ] >>277 環境による。 PC環境ならどうでもいい話 商用の場合は出荷数によってはmp3はライセンス料の問題がでてくる。
280 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 11:07:24 ] この人のところに解説あるな ogg Vorbis marupeke296.com/GameMain.html
281 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 12:06:44 ] 正直、そんなところで悩むような人がゲームとか作れんの?という疑問も。
282 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 12:31:04 ] 作れるだろ >>281 はにわかだからつくれねーのか
283 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 12:32:50 ] 誰かが手取り足取り教えてあげれば作れるよ
284 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 16:18:56 ] 同人ソフトならまあ無圧縮wavもアリかもしれんが webで配布するならvorbisにしてくれ頼むから
285 名前:277 mailto:sage [2009/05/24(日) 19:38:44 ] Web配布は考えてないのでとりあえず無圧縮Wavにします Mp3はライセンス云々があるんですね ありがとうございます
286 名前:212 mailto:sage [2009/05/25(月) 00:33:58 ] >>274 まるで子供のいいわけだ。 > ただスレを見たら命令口調の物言いやうんこなどと書かれていた事から、喧嘩腰なのかなと感じただけです。 これは、書く必要が無かったのではないか? 君が喧嘩腰だと感じたことに、正当な理由があると表明したかったのだね? なら、命令口調とは、どこで感じたのだ? また、何故うんこであるかのというの理由は説明したし、ライブラリ全体を指した のでも、君自身を指して言ったのでもないし、さらに言えば別人に対して言ったの だから、君が喧嘩腰だと感じる理由は無いと思うが、その点はどうだ。 再び、ちっぽけなプライドを守るために何かひとこと言いたくなって、書いて しまっただけなのではないか。 説教だが聞きなさい。 返答は不要だ。 君には知的誠実さというものが足りない。 知的誠実さとは、知らないことを知らないと言うとか、不確実なことを確実だと 言わないとか、そういう態度だ。 君は >>245 において > 進行方向修正で左右を判別するなら90度回転して内積つかうよりも直接外積使った方がいいですよ。 という発言をした。 君は、九十度回転内積が何かを知らなかったのだろう? そして外積を使うことにも >>274 にあるように、 > ただ、本当に理解しているかと言われると怪しい部分がありますね 自信満々に説明できない程度にしか知らなかったわけだ。 つまり君は、"自分の知らない手法" よりも "自信を持って説明はできない手法" を使うべきだ、と提案したわけだ。助言を求められたわけでもないのに。 これはとても恥ずかしいことだと思うがどうだろう。知ったかぶりじゃん。
287 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 00:34:44 ] >>275 > ヒントだけでももらえると助かります。 無理だといったのは、守秘義務的なものではなく、主に分量の問題だ。 具体的な質問なら答えられるかもしれない。 > 前の描画が終わってるかどうかの検知はどの辺の関数で行えばいいんですかね? sceGuSync() ていうか、この質問は、GuListSafety() が何故安全に動作するのか分かって いないことを意味しているようにも思える。 他にコールバックを使う手段もあるけど、今説明しても理解できないだろう。
288 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 04:38:40 ] >>287 むしろコールバックで要求される方がわかりやすいです。 audiolibなどでコールバックを受けて音データを渡すロジックでなじみがありますので。
289 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 05:21:40 ] この工房うぜえw
290 名前:デフォルトの名無しさん [2009/05/25(月) 12:56:41 ] わかる箇所にだけ元気よくレスしてみました的な対応だったな(笑)
291 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 13:07:04 ] すげえよなぁ うぜぇと指摘されたポイントをそのままに しかも指摘された直後に持ってくるとか これが若さゆえの過ちというやつか
292 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 13:55:20 ] fffffffffff
293 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 14:08:47 ] >289-291 煽るだけの君らも似たようなもんだ。 こんなレスしてる俺もだけどw
294 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 15:14:23 ] こんなのが煽りに見えるなんて病的すぎやしないか
295 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 15:16:31 ] これが煽りじゃなかったら何が煽りなんだろう
296 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 15:17:07 ] >>288 コールバックを使う手段があると指摘されたのだから、分かるというのなら調べればよい。 教えてくれとは書いてないから、自分で調べるつもりなのだろうね。 余計なことを書くまいと注意した結果、推敲中にそちらを消したということかな。 sceGuSetCallback() の使い方一般という話だと分量的に説明してられないけど、 具体的に、何を何したらこうなった、という話があれば質問にも答えられるかもしれない。 色々調べて頑張れ。 まずは OpenGL のディスプレイリストだ。 "そっちの話じゃなくコールバックだ"、と思うかもしれないが、何を計測することに なるのかを理解するにはやはり必要になる知識だ。
297 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 19:51:48 ] こんなゆとり相手にちゃんと重要な点も教えるなんて良い奴すぐるw 相手は皮肉としか受け取らないんだろうがな…
298 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 21:16:23 ] >>295 随分レスが早いのね レス付くか気になって何度も何度も確認してたんだろうなぁ
299 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 21:57:49 ] そんな細かいところに気づくなんて流石だなw
300 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 23:23:36 ] >>212 たかが工房への過剰反応乙。ベクトルの勉強一からやりなおしてこいの一言で済んだんじゃねーの? >>245 ベクトルの勉強一からやりなおしてこい。
301 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 01:48:46 ] >>300 同意。嵐と同じ。スルーしたもん勝ち。一緒になってスレ汚してどうすんだヴォケ
302 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 09:18:04 ] >>299 気持ち悪い
303 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 06:25:24 ] 静かになったなw
304 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 10:03:26 ] 終劇
305 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 16:36:14 ] 以下、NG集でお楽しみ下さい
306 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 01:40:14 ] ゲームで使うUIってどうやって作ってるの? フリーのなんかいいUIツールってあるの?
307 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 03:10:31 ] ググレカス
308 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 10:29:25 ] UIはそのゲームごとに固有だし 環境によって近いものを参考にする、とかがいいかもね
309 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 11:49:24 ] 横から失礼するけど 質問者はwidgetツールみたいな物を求めているんじゃまいか 実装が楽とかdirectXと相性が良いとか
310 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 15:35:03 ] RADのこと? なんにせよ自作が基本 定額給付金で「GUIライブラリの仕組み」って本でも買えばいいよ
311 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 16:23:47 ] 給付金のお知らせまだこないんだけど
312 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 16:28:04 ] 給付金の振込先出すの遅れた〜 明日の1000円にも困ってるのに・・・ 今なら大金だが、給付金出る頃にはボーナス出てるので雀の涙になってしまう。
313 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 03:23:24 ] アクションゲームのステージのデータ構造ってどうやって作ってますか 敵を出現させるときのヒントなどを教えていただけるとありがたいです
314 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 03:29:48 ] アクションゲームと言ってもピンからキリまであるだろ つーか敵は最初から配置しておけばいいだろ
315 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 04:03:22 ] >>313 そういうの考えるの嫌いならやめたらいいのに
316 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 08:51:34 ] 敵の出現とか調整が頻繁にあるようなものは 敵だけの別のデータ構造にしてスクリプトとかで任意に配置とかする ステージのデータ構造に敵の出現位置なんて入れないだろw 敵のデータ構造に、ステージの何処で出現するか入れる 当然、ステージと敵の関連処理は作ってある前提ね (配置できない場所を指定したらエラー表示とか、配置場所に応じての敵の処理等)
317 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 15:44:03 ] >>315 教える気ないならくるなよカス
318 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 15:57:48 ] >>317 気にしないでいいよw どこでなにをやろうが君は自由だw
319 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 17:08:36 ] >>315 のも立派なアドバイスなのに、お礼を言うどころか文句言うなんて。
320 名前:デフォルトの名無しさん [2009/05/30(土) 23:42:49 ] そもそもステージのデータ構造って何だよ。 俺っちの場合、ステージのマップとオブジェクトと敵とアイテムとイベントのクラスを別々に用意して、 それを統合管理するクラスを作ってやってる。 その情報を入れとくファイルも上記のクラスごとだから、各ステージ5ファイルずつになる。 煩雑な気もするがステージを実際に作るのは専用のグイツール使ってやってるから、実際の作業は面倒ではない。 補足するとオブジェクトってのは動きのあるもので、動く床とか破壊できる樽とかだ。 ちなみに上で盛んに議論されている敵の配置情報だが、俺は敵データに含めてる。 多分Windowsアプリのせいだと思う。 敵キャラって言ったら最低でも位置と大きさは持ってるはずなんだが、大きさは確実に敵データに書くだろ。 んでWinアプリは位置と大きさを同時に扱うことが多いんよ。 どっちかだけ変えたくてもAPIの引数とか両方指定するしな。 当然フラグでどっちかだけを変えられるんだけども、それでもNULLなり0なり渡さなアカンねん。 そうすると敵情報も位置と大きさはセットで扱おうってことになるんだが、 敵の大きさをステージ情報に含めるのはおかしい。 すると必然的に敵データになるとい
321 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 00:52:28 ] >>320 くだらないレスのくせに長いな
322 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 01:44:36 ] 珍妙な長文書いてるとコピペと思われるぞ
323 名前:デフォルトの名無しさん [2009/05/31(日) 03:37:32 ] ゴッド・オブ・ウォーのカメラワークってどういう仕組みで動いてるんですか?
324 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 11:53:44 ] 手作業。
325 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 12:08:55 ] マジレスすると全ユーザー分のカメラワークを開発者が張ってて手動で頑張ってあわせてる
326 名前:デフォルトの名無しさん [2009/06/02(火) 10:28:54 ] ハリウッド映画のカメラワークって3Dゲームの演出にかなり役立つよな。
327 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 10:36:15 ] 今日もプレイヤーのカメラを動かす仕事が始まるお
328 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 19:04:14 ] w
329 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 19:06:53 ] たまにカメラがついてこない時があるが、お前のせいか!
330 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 22:11:51 ] ジュゲム乙
331 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 03:55:53 ] たまにキャラのパンツばかり映される時があるけど そういうことだったのか
332 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 06:27:49 ] すまん
333 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 19:18:45 ] 北朝鮮のマスゲームを超えるものを作りたいです。 アドバイスをお願いします。
334 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 21:08:57 ] なんとか学会のマスゲームもなかなか というよりこっちが元祖か
335 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 20:02:35 ] 北朝鮮とかなんとか学会の シミュレーションとかできないかな
336 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 20:23:47 ] 理論を越えた存在をシミュレートするのは難しい。
337 名前:デフォルトの名無しさん [2009/06/06(土) 23:32:46 ] 3Dで、三角形の辺に線が接触したとします。 接触点の法線ってどうなりますか?