- 1 名前:名前は開発中のものです。 mailto:sage [2012/06/11(月) 07:54:54.05 ID:1UQaJ7F4]
- Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。 DXライブラリに関するテクニックなどの情報交換などを行う事で、 多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。 【公式】 homepage2.nifty.com/natupaji/DxLib/ 【前スレ】 DXライブラリ 総合スレッド その12 toro.2ch.net/test/read.cgi/gamedev/1330000532/ 【過去スレ】 01 pc11.2ch.net/test/read.cgi/gamedev/1197468399/ 02 pc11.2ch.net/test/read.cgi/gamedev/1224923873/ 03 pc11.2ch.net/test/read.cgi/gamedev/1238429676/ 04 pc11.2ch.net/test/read.cgi/gamedev/1249822550/ 05 pc11.2ch.net/test/read.cgi/gamedev/1259912953/ 06 hibari.2ch.net/test/read.cgi/gamedev/1267108154/ 07 hibari.2ch.net/test/read.cgi/gamedev/1286180687/ 08 hibari.2ch.net/test/read.cgi/gamedev/1301818631/ 09 hibari.2ch.net/test/read.cgi/gamedev/1310904069/ 10 hibari.2ch.net/test/read.cgi/gamedev/1313655495/ 11 toro.2ch.net/test/read.cgi/gamedev/1322844235/ 【関連スレ】 C/C++ゲーム製作総合スレッド Part1 toro.2ch.net/test/read.cgi/gamedev/1337516528/
- 48 名前:名前は開発中のものです。 mailto:sage [2012/06/15(金) 21:22:54.66 ID:1pZBGI3O]
- 基礎部分をシンプルに組んだ後、がむしゃらに機能追加していくのって楽しくて良いよな
あんま考えナシだと詰んでしまう場合もあるけど 構造化の段階で効率の良いもの作ろう作ろうと考えすぎて手が止まってしまう方が俺としてはツライ
- 49 名前:名前は開発中のものです。 mailto:sage [2012/06/15(金) 22:14:13.55 ID:GgmBUPBQ]
- >>40
よし、言いだしっぺの法則でお前がRPG講座始めろ
- 50 名前:名前は開発中のものです。 mailto:sage [2012/06/15(金) 22:59:17.51 ID:1pZBGI3O]
- 講座が欲しいっていうのは結局のところ、そのジャンルの慣例とか定石が知りたいって意味なのか?
もし、実現方法がわからないって意味で言ってるならそこはもうちょっと頑張ってほしいが
- 51 名前:名前は開発中のものです。 mailto:sage [2012/06/15(金) 23:00:17.16 ID:ssHt5U3G]
- ツクールを触ってみるべきだな
どうやって組めばいいかがわかってくる
- 52 名前:名前は開発中のものです。 mailto:sage [2012/06/15(金) 23:33:58.96 ID:ZkGG9GAW]
- 脳内でフローチャートが出来上がるねツクールは
あれさえ分かれば同じ命令の関数を作ることも出来るし
- 53 名前:名前は開発中のものです。 mailto:sage [2012/06/16(土) 00:21:57.86 ID:ggxDDX5r]
- 技術があるならトップダウンでいいけど
技術があいまいの場合、 トップダウンですすめていって、 できないことがぶちあたると詰むw ボトムアップでできることをすすめていくとなんとなくできるが 構造がつぎはぎがちになってこれまた詰むw
- 54 名前:名前は開発中のものです。 mailto:sage [2012/06/16(土) 01:32:08.71 ID:jHlZdwvo]
- そうやって何回か挫折したあと、
ようやく曖昧でない技術だけでトップダウンで作れたりするわけだなw
- 55 名前:名前は開発中のものです。 mailto:sage [2012/06/16(土) 03:18:05.37 ID:68T9ppY9]
- >そのジャンルの慣例とか定石が知りたいって意味なのか?
そうなんだけど、結局そういうのはないんだよね。 一つは仕様の差があるのと、もう一つは速度を意識しないといけないから。 Webプログラミングなんか単純な定石で固まってるのに。。。
- 56 名前:名前は開発中のものです。 mailto:sage [2012/06/16(土) 08:40:45.89 ID:g/FHKcnz]
- 速度って?
- 57 名前:名前は開発中のものです。 mailto:sage [2012/06/16(土) 09:18:08.83 ID:jHlZdwvo]
- パフォーマンス、処理速度のことかな
どっちかというとC++スレ向きの話な気もする
- 58 名前:名前は開発中のものです。 mailto:sage [2012/06/16(土) 10:30:18.83 ID:iPRJGfcu]
- >>53
トップダウン以外ありえない 最初に見落としがあるとかで技術的な壁にぶち当たったら 涙を飲んで、今の技術の範囲内で実現できるやり方に変える 詰んだとかいうのは気合が足らん
- 59 名前:名前は開発中のものです。 mailto:sage [2012/06/16(土) 10:33:40.85 ID:vg/FkkM9]
- ボトムアップってそもそも何も出来なくなっちゃう
やっぱりトップダウンやな
- 60 名前:名前は開発中のものです。 mailto:sage [2012/06/16(土) 11:00:35.06 ID:Qa0gMaFC]
- トップダウンで計画を立ててボトムアップでプログラムするのが普通だろ
- 61 名前:名前は開発中のものです。 mailto:sage [2012/06/16(土) 11:08:41.57 ID:PiAa+uCj]
- 男ならビッグバン
- 62 名前:名前は開発中のものです。 mailto:sage [2012/06/16(土) 11:17:12.71 ID:9rRC3z3M]
- ミドルスパイラルでやるわ
- 63 名前:名前は開発中のものです。 mailto:sage [2012/06/16(土) 11:33:24.16 ID:gC+F1zHc]
- アジャイルでいいじゃん
- 64 名前:名前は開発中のものです。 mailto:sage [2012/06/16(土) 11:47:43.50 ID:hUY4K/cc]
- \エクストリーム!/
- 65 名前:名前は開発中のものです。 mailto:sage [2012/06/16(土) 12:19:34.67 ID:JX4kMjks]
- 作るゲームジャンルや規模によっていろいろだよな
- 66 名前:名前は開発中のものです。 mailto:sage [2012/06/16(土) 15:05:51.92 ID:lAL10UnG]
- ボトムアップ設計はラッパークラス作る場合には必須だと思うんだが・・・
- 67 名前:名前は開発中のものです。 mailto:sage [2012/06/16(土) 18:20:48.64 ID:gf1z4GH6]
- まず瞑想して
設計の全体像を考えたら思いつく所からコードを書き連ねて行く
- 68 名前:名前は開発中のものです。 mailto:sage [2012/06/16(土) 18:36:22.18 ID:Qa0gMaFC]
- 瞑想のリファレンスマニュアルください
- 69 名前:名前は開発中のものです。 mailto:sage [2012/06/16(土) 18:42:35.63 ID:fQVFYSdj]
- WaitTimer(10000000);
- 70 名前:名前は開発中のものです。 mailto:sage [2012/06/17(日) 20:51:12.09 ID:20AYiLEd]
- ヴァルキリープロファイルみたいな感じに動いてるドット絵ってどうやって処理してるんですか?
部位ごとにアニメーションさせて、この部位はこの位置から描画とか決めたクラスで包めばいいんですかね・・・ サンプルとか館見ると同じ間隔で画像切り替えぐらいしか書いてなくて、 もうちょっと凝った演出を知りたかった FLASHみたいに簡単にアニメーションを作成できるツールがほしい・・・
- 71 名前:名前は開発中のものです。 mailto:sage [2012/06/17(日) 22:40:34.52 ID:0wIWZUWg]
- ドラクエ7だったか忘れたけど戦闘に入る時の画面が割れるようなトランジションを応用すればやれるんじゃない?
- 72 名前:名前は開発中のものです。 mailto:sage [2012/06/17(日) 23:03:15.28 ID:lOzo+vgL]
- >ヴァルキリープロファイルみたいな感じに動いてるドット絵
まずそれが一般人には分からん 動画うpくらいしろ
- 73 名前:名前は開発中のものです。 mailto:sage [2012/06/17(日) 23:20:48.21 ID:20AYiLEd]
- >>72
すみません、こんな感じです ttp://www.youtube.com/watch?v=6ER4ScY_JKs
- 74 名前:名前は開発中のものです。 mailto:sage [2012/06/17(日) 23:35:44.60 ID:HrR/KzXb]
- コマ数の感じからして、これは画像としては1コマずつ全身像を持ってるんじゃないかな
ドット絵を起こすときに絵師がパーツごとに工夫して描いたりはするだろうけど、 そこは絵師の分担
- 75 名前:名前は開発中のものです。 mailto:sage [2012/06/17(日) 23:58:20.42 ID:20AYiLEd]
- なるほど・・・これ全身絵の連続だったんですね
主人公の周りに浮いてる盾とか、独立してるように見えてました
- 76 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 07:28:53.95 ID:2Xpty7nn]
- VPは武器変えてもグラフィック変わらんからそうだろうね
- 77 名前:名前は開発中のものです。 [2012/06/18(月) 11:14:42.31 ID:5Ku1SYVl]
- いや
多間接+アニメーション だろ www.youtube.com/watch?v=vkKkiFaZ-HY&feature=related これ見りゃ分かるけど 半透明になると武器や縦が持ってるキャラの向こう側にある時も透けて見える
- 78 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 13:14:23.21 ID:vC8kjyFS]
- 多関節キャラを半透明にすると、継ぎ目のところが重なって見えちゃうよ。
盾だけ別パーツになってるんだと思う。 多関節で動かしてから、一枚絵に合成して表示するという方法もあるけど、 普通に描くよりモーション作成等の手間がかかるから、そんなことやらないと思う。
- 79 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 13:19:34.17 ID:cTKqEOS9]
- あのゲーム処理落ち一歩手前で頑張ってるからそんな面倒な事でも軽くなるならやってるかもしれん
- 80 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 13:28:04.70 ID:ZeG3Xhp6]
- 中期テイルズのキャラドットとか、おそろしい分割具合だったな
- 81 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 13:59:12.93 ID:2XV93Hgu]
- 適当に作っていった縦シューに「そうだ影をつけよう」と思っただけで詰む
他の敵に影が重なるのを防ぐには、タスクを表示優先順位でリストでつなげた管理で困ってしまった 全てのスプライトをフレームごとに登録してソートして表示する仕組みを作ろうとして詰んだ 正解は想像するに、表示を機体の表示Renderと影の表示KageRenderに分けて まずすべてのタスクで影表示、つぎに表示優先度通りに機体を表示、で足りてた
- 82 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 14:12:34.54 ID:ZeG3Xhp6]
- すべてのスプライトを描画順位つけて登録して描画するのが一番スマートだし、
今後の為にも頑張っといたほうがいいと思う コンテナに積むならvectorが楽 ランダムアクセスしないし、ソートしやすいし
- 83 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 15:39:25.93 ID:dl1gwuYM]
- Zバッファとか使えないの?
- 84 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 16:02:00.47 ID:ekACzriP]
- 影とか、本当は一番スマートなのは、Zバッファ用にfloatフォーマットで用意したオフスクリーンの単一バックバッファに
光源ベクトルからレンダして、描画処理時にそれ参照して影落とす方法だけど、 シェーダ書けない環境だと無理
- 85 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 16:33:10.30 ID:+pEuOF5Y]
- 縦シューなら、
自キャラ Z高 影 地形 Z低 でZバッファでなく、Z位置をキャラと地形の真ん中にいれて 影モデルを真っ黒にして描画したらそれなりにみえるのでは? 2dでも3dでもこれでできるとおもうけど
- 86 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 16:36:35.91 ID:swRvSspO]
- Zバッファ使ったら重いだけだろ。
>表示Renderと影の表示KageRenderに分けて これでいい。だけど半透明の影だと重なった影の濃さが問題かな。
- 87 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 18:43:50.15 ID:ekACzriP]
- >>85ー86
Zバッファって別に特別な別の機能な訳じゃなくて、 その高低を判断して描画される時、そのもので中で使われる仕組みだよ DXLibの範囲だけで触ってるとわかりにくいかもしれないが
- 88 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 18:51:12.30 ID:ekACzriP]
- あと、ピクセルのアルファ値使った合成についても、結局ざっくりしたラッパーであるDXLibの中の、
そのまたさらに通常の固定パイプラインの中で、結局ピクセルシェーダで演算された合成結果が出てる訳で、 その辺スマートに扱おうとすると、要る処理だけ自分で書いてまとめた方が、本当のところ都合が良かったりする
- 89 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 20:02:13.95 ID:N+BjhSyI]
- その縦シューの画面アップしてくれたら簡単な方法がわかるんじゃない
縦シューといっても3D見下ろし、2Dスプライトどちらかわからないし 一枚テクスチャにUV移動させてもいいかもしれないし
- 90 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 20:17:44.89 ID:GtGNALcx]
- 3D背景に2Dキャラでお願いします
- 91 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 21:25:51.65 ID:swRvSspO]
- >>87
私は2D前提で話してるけど、Zバッファは切るもんだと思ってる。 2Dシューティングの影で、重なりや高低による濃さをちゃんとやるなら ピクセルシェーダよりスレッド+ソフトイメージ(CPU+システムメモリ)で やるのがいいと思うぞ。
- 92 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 21:29:21.30 ID:6uMWAvog]
- 表示優先度順の描画は、表示優先度順ソートをつけたコンテナMAPに積み込むのが
よさそうに思えるけど実際はどうなんだろう
- 93 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 21:40:43.38 ID:74uIEgSo]
- シューティングゲームの処理の順番ってどうすればいい?
キャラクターの移動 攻撃のあたり判定 キャラクターの攻撃 キャラクターの被弾時のリアクション
- 94 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 21:49:02.80 ID:6uMWAvog]
- 入力判定とプレイヤーのアクション
敵と敵弾のアクション それ以外のアクション 当たり判定 描画 ってやってるけど、根拠は忘れた ただ途中で何回か直した記憶はある
- 95 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 21:53:14.82 ID:VyyWKTHf]
- 強いて言えば攻撃の前に当たり判定と消滅があった方が良いくらいで後はどうでもいいんじゃね?
あと余談で俺の場合だけど、速さの表現には移動距離を大きくするんじゃなくてイベントのループ回数を増やしてる
- 96 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 22:01:36.52 ID:2XV93Hgu]
- 一回の移動を一ドット以内にすれば「一度に4ドット移動させたらすり抜けちゃった」ということも無いね
一ドット移動を四回すれば当たり判定の抜け落ち無し でもそのときには当たり判定も四回する必要ありますね
- 97 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 22:16:00.37 ID:5HNoyOPq]
- >>95みたいにしないと曲線の時とか直前の情報持たせることになって面倒なのよね
- 98 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 22:26:12.45 ID:6uMWAvog]
- うむ、わからん
- 99 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 22:42:44.06 ID:LwyhauT4]
- 凄い速度の時にキングクリムゾンが発生する
- 100 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 23:04:39.62 ID:GtGNALcx]
- ループ回数を増やすの意味が分からない
処理の回数を増やして何回にも分けて移動するってこと?
- 101 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 23:14:01.61 ID:6uMWAvog]
- すり抜けはわかる
・直前の情報とは ・ループ回数増やしたら当たり判定も増やさないと意味ないけどそこをどうしてるのか がわからん 前者は、例えばどんな速度でも軌跡は同じ、というタイプの移動をさせることを意味しているのかもしれない 曲線運動をさせる場合、そのタイプの移動もありうるけど、 速度を上げると旋回半径も広がるようなタイプの移動もありうる、と思う
- 102 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 23:18:28.07 ID:eP18lNyV]
- >>100
だと思うよ。 1フレームに10ドット移動するキャラが居るとして、 内部的には、キャラの座標を一気に+10するんじゃなく、+1移動を10回や、+2移動を5回などとして処理する。 ま、呼び出し側は Move(10); みたいに書くことになるだろうけど。
- 103 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 23:22:50.07 ID:dl1gwuYM]
- 基本的に、前回の位置は取っておくものだと思ってる。
前回の位置と現在の位置が分かれば線分が作れるし、速度も分かる。
- 104 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 23:30:00.75 ID:6uMWAvog]
- >>103
なるほど、そういう意図があるのなら、わかった
- 105 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 23:35:54.44 ID:swRvSspO]
- 上から下へ1000、左から右へ1000ドット
1フレームで移動する速度をもった2つの当たり判定はどうするんだ?
- 106 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 23:39:35.85 ID:cTKqEOS9]
- 意図わかってる?
複数回移動させるのは、すり抜け防止のために移動を分割するってことだよ?
- 107 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 23:49:07.38 ID:GtGNALcx]
- >>105
1ループで1フレームだから、1フレームで2回以上の処理は無理じゃね?ってことか 500と500に分割したら2フレームだからな
- 108 名前:名前は開発中のものです。 mailto:sage [2012/06/18(月) 23:56:09.54 ID:eP18lNyV]
- >>107
おまえさんは何も理解していない
- 109 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 00:00:03.20 ID:hmSeNpzt]
- for(int i=0; i<1000; i++)
{ up_down_obj.move(-1, 0); if(atari(up_down_obj, left_right_obj)) { up_down_obj.move(1,0); } left_right_obj.move(0, 1); if(atari(up_down_obj, left_right_obj)) { left_right_obj.move(0, -1); } }
- 110 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 00:53:57.47 ID:/lx0OVLb]
- >>106
>>109 そんなことだろうと思って>>105を書いたわけだけど、 移動開始位置や速度をばらすと衝突判定すり抜けるぞ。
- 111 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 00:59:41.36 ID:Sfa3wHvS]
- なんで無駄に汎用性もたせようとしてんの?
作る段階で高速度になりそうなやつだけ必要な分分割するんだよ
- 112 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 01:06:06.74 ID:4fwspgLl]
- 高速同士のケースは考えないってこと?
- 113 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 01:11:59.39 ID:Sfa3wHvS]
- そのすり抜けがどうしても嫌な奴はもっと高品質の当たり判定つかえよ
- 114 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 02:39:10.20 ID:/lx0OVLb]
- 低品質どころか何のあたり判定にもならんだろ
汎用性とかそういう問題じゃなくて根本からまちがっとる
- 115 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 02:47:10.35 ID:/lx0OVLb]
- 動いてる物×動いてない物しか通用してないんだよ
動いてる物×動いてる物では当たってないのに当たったりするw
- 116 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 02:57:18.48 ID:NzPcXTxD]
- すり抜けも味付けのひとつと思えばよい
- 117 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 03:08:39.89 ID:/TtvJcte]
- >>116
パックマンを思い出した。あれ、すり抜けあるよね?
- 118 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 03:26:11.16 ID:51YepWQ4]
- >>110
そのすり抜ける場合ってどんな条件?
- 119 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 03:30:31.60 ID:qaWDZjMP]
- >>110
そもそも気にする必要がない、と考えてる人も多いんじゃないかろうか。 物理シミュレーションを作ってるならともかく、少なくともゲームなら。 >>112 それも1つの手じゃないかな。出来ないから妥協するとかじゃなくてさ。 人間が「すり抜け」を感じるのって、 動く物体が大きな壁にぶつかったり、直線上を反対の向きで移動してる物体同士がぶつかった時だと思う。 だから逆に、それ以外の場合だと、 人間は単に「ぶつからなかった」と認識するだけで、「「すり抜けた」とは感じないんじゃないかなって。
- 120 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 03:32:49.60 ID:/lx0OVLb]
- >>118
速さが違う場合
- 121 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 03:37:00.97 ID:/lx0OVLb]
- すり抜けるだけじゃなくて全然当たってないものが当たっちゃうよ。
それもたまにじゃなくて、かなり頻繁に。気にしないで済まないよ。
- 122 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 03:37:05.28 ID:51YepWQ4]
- 1フレーム内で、
オブジェクトAが(0, 0)から(1000, 0)に移動 オブジェクトBが(0, -200)から(0, 200)に移動 とかってこと?すり抜けるかこれ?
- 123 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 03:37:45.98 ID:51YepWQ4]
- 値間違えた。
3行目は オブジェクトBが(500, -200)から(500, 200)に移動
- 124 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 04:13:50.64 ID:/lx0OVLb]
- すり抜けないためには
一番速い物をループ数として、それ以外の物が1ループで 自身の速度 / 最高速の速度で動く必要があるな。 一番速いのが1発の弾丸(速度100)で、他の物体(壁やキャラ・弾丸)が 10体だとすれば100*11回判定すれば正しく動作するが、これでいいのか?
- 125 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 06:22:05.84 ID:51YepWQ4]
- いいんじゃないの?
結局こんなもの苦肉の策で、ある程度動けば精密性なんてどうでもいいだろうからループ数は大幅に下げるだろうけど
- 126 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 07:23:43.22 ID:kdS7Xx+M]
- つまり…どういうことだってばよ?
- 127 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 08:08:45.30 ID:qaWDZjMP]
- >>121
うーん、頻繁にあるのか。 自分はそういう経験がないから、いまいち分かんないや。
- 128 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 08:26:49.54 ID:FlUT6lH6]
- シューティングゲーム(非FPS)製作技術総合
toro.2ch.net/test/read.cgi/gamedev/1247841466/ 俺ならまずは 「そんなに速く動くオブジェクトを登場させる意味はあるのか?」 を考えてしまう すり抜けが発生するほど高速かつ小型のオブジェクトってプレイヤーにとって視認が難しいし 理不尽ゲーに片足踏み込んでると思う 今回の話とは多分無関係だけどさ
- 129 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 08:46:44.26 ID:qaWDZjMP]
- >>128
ゲームプログラミングの技術って、 「それっぽく見せる技術」も大いに含まれてるしなー。
- 130 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 08:57:44.09 ID:vooZpGxc]
- グラディウスのブツブツゾーンとかいくらでもあるだろ
- 131 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 09:24:29.64 ID:Z9DrnG+Z]
- 東方ですらすり抜けガードはしてないしなぁ
東方の一番小さな弾で仮定して、自機の当たり判定を2ドット、弾の当たり判定を6ドットとしても、 すり抜けるには毎フレーム8ドットも移動してないといけない 60fpsだとこれは恐ろしいスピードだぞ 自分から突っ込めばすれ違う可能性もあるけど、たった一回のまぐれにかなりのリスクを伴うから考慮する必要ないし
- 132 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 10:26:42.84 ID:318Ccd3v]
- レーザー攻撃とかも厳密には極めて速い弾を出し続けてるだけかもしれないけど
それはもう別の当たり判定法則を使った方がいいに決まってるよな
- 133 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 10:48:44.11 ID:IkWSGPGv]
- >>91
見かけ上2Dでも3Dでもどっちでも同じだけど… それ、動作の詳細的にはラスタデータをBitblt合成する方が良い、って言ってるように見える
- 134 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 16:34:47.07 ID:/lx0OVLb]
- >>109だと挙動がおかしい。
>>124だと正しく動くが処理が大きい。 なら>>124から判定をざっくり粗くすればいい。 それでも重ければ、最高速の弾丸と敵や弾丸の最大出現数の掛け算値を 抑えるようにゲーム側の仕様を調整する。 他のゲームがどうのこうのいってどうする。 int var = 8; /* 8ドットの粗さ */ int max_speed = 100; /* 最高速 */ int loop = max_speed / var; /* ループ数 */ int bullet_move = 自身の速度 / 最高速 * var; /* ループ当たりの弾丸移動量 */
- 135 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 17:29:55.30 ID:MaB8Hi/N]
- じゃあ1フレームで(0,0)から(0,5)に移動する物体aと
(-2,2)から(2,2)に移動する物体bの 衝突判定っどうやるの? それぞれでループして判定するとすり抜けるし あたり判定マップを使ってそれぞれに登録させる(10回?)と、 今度はすり抜けたはずなのに当たる
- 136 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 17:34:37.19 ID:N+j7q+90]
- ちゃんと交互に動かしてやればすり抜けないだろ
- 137 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 17:48:32.51 ID:CIuJdxVM]
- 線分交差判定でだいたいすり抜けはカバーできるだろ
- 138 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 18:03:52.28 ID:dXi6hRXI]
- DXライブラリとかから入ってきて、さらに根本(モノの考え方)がわかってない人にありがちなことだけど
1フレームとかドットとかそう言った単位に拘るのはビューとメッセージだけでいいんだよ ビューには表現方法に限界や制限があるけど内部数値の表現方法は無限大だから >>135みたいなのは考え方のスケールが間違ってる
- 139 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 18:15:52.18 ID:AYf3KTLl]
- >>135
片方が終わってから片方動かすとか…ないな
- 140 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 18:18:51.90 ID:Z9DrnG+Z]
- そのすり抜けは意図的に起こそうと思って起こせるものなのか?
ってのを考えてみたほうが
- 141 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 18:21:09.08 ID:CIuJdxVM]
- これでいいだろ
marupeke296.com/COL_2D_No10_SegmentAndSegment.html
- 142 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 19:31:22.46 ID:MaB8Hi/N]
- >>139
そんなこと言われたってどうすりゃいいのさ
- 143 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 19:33:13.63 ID:t2L2qs2O]
- a動かす→b動かす→判定→a動かす…でいいじゃん
で両方必要なだけ動いたら抜ける
- 144 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 19:59:29.68 ID:FlUT6lH6]
- >>142
△ すり抜けは諦める ○ すり抜けないようそもそもの当たり判定自体を大きくする ○ すり抜けないようそんなに速いオブジェクトを置かない ◎ スレを移動する
- 145 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 20:03:25.44 ID:mpgU3P1Q]
- 画像すり抜け総合スレッド
- 146 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 20:41:44.95 ID:K4HTe/1q]
- すり抜けの話だけにスリ違いってか。
- 147 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 20:50:08.59 ID:6xzAkiuI]
- >>135
これって、あたり判定は、その座標と完全に一致したかどうかで見てるのかな。 半径が書いてないからそうなのかなって勝手に思ったんだけど。 だとすると、衝突しないのが正解だよね? aは1フレームあたりの移動力5 bは1フレームあたりの移動力4 aが1移動する間にbは4/5しか移動してないはず。 ということはaが(0.2)に到達したとき(=2ループ目)には、bはまだ(-0.4,2)にいるだろう。 私としても >>144の○二つが好きだなぁw 実際そうやってSTGを作ったよ。
- 148 名前:名前は開発中のものです。 mailto:sage [2012/06/19(火) 20:52:30.86 ID:mpgU3P1Q]
- >すり抜けないようそんなに速いオブジェクトを置かない
は無理だろ…まず自機弾が…
|

|