DXライブラリ 総合スレッド その9
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名前は開発中のものです。
2011/07/17(日) 21:01:09.54ID:J1CqPxmlGUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
http://homepage2.nifty.com/natupaji/DxLib/
【過去スレ】
DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
http://pc11.2ch.net/test/read.cgi/gamedev/1238429676/
DXライブラリ 総合スレッド その4
http://pc11.2ch.net/test/read.cgi/gamedev/1249822550/
DXライブラリ 総合スレッド その5
http://pc11.2ch.net/test/read.cgi/gamedev/1259912953/
DXライブラリ 総合スレッド その6
http://hibari.2ch.net/test/read.cgi/gamedev/1267108154/
DXライブラリ 総合スレッド その7
http://hibari.2ch.net/test/read.cgi/gamedev/1286180687/
DXライブラリ 総合スレッド その8
http://hibari.2ch.net/test/read.cgi/gamedev/1301818631/
0823名前は開発中のものです。
2011/08/12(金) 23:53:56.37ID:YwbjpE/90824名前は開発中のものです。
2011/08/13(土) 00:37:00.78ID:AwkLRKjIDXライブラリでゲーム作りはじめたんですが、あたり判定で悩んでます!
CMyShipとCBulletとCEnemyのクラス作ったんですが、それぞれがお互いを知らなくてもあたり判定できるようにしたいんですが、あたり判定用にクラス作るのがいいでしょうか??
0825名前は開発中のものです。
2011/08/13(土) 00:46:47.27ID:UHf43qYn抽象的すぎてどう答えたらいいのか分からん
てかやり方に正解はない
自分が組みやすいように組めばよろしい
0826名前は開発中のものです。
2011/08/13(土) 01:03:04.38ID:wt08PXN7ただ、ゲームの場合はデータと処理を分けて書いた方が柔軟性があっていいかも
その辺りは好みで
0827名前は開発中のものです。
2011/08/13(土) 01:03:40.25ID:89yst3PqhitCheck->set(_bullet,_enemy);
hitCheck->execute();
0828名前は開発中のものです。
2011/08/13(土) 01:12:04.13ID:AwkLRKjIとりあえず、共通部分はCMoverクラスにまとめようと思ってます。
それぞれ種類毎に派生クラス作って、Factoryパターンで、データからインスタンス作ろうかなぁと漠然と考えてる次第であります。
>>827
やっぱり、そうなんですかね
今のところ、その線で考えてたのですが、具体的にどう書くかで悩んでます
0829名前は開発中のものです。
2011/08/13(土) 01:18:59.61ID:AwkLRKjI0830名前は開発中のものです。
2011/08/13(土) 01:27:36.19ID:VYaS2CDTレンダラにも依ると思うよ
メタセコの簡易レンダラなんかじゃ素材に使うまでならいけるけどそれ以上はムリ
0831名前は開発中のものです。
2011/08/13(土) 01:32:59.45ID:wt08PXN7いろいろ気になるところはあるけど、一度自力でやってみることをお薦めする
作るゲームが複雑になっていく過程で自然と課題が見つかると思う
0832名前は開発中のものです。
2011/08/13(土) 01:56:54.88ID:wwJJ5ZO9俺はがち初心者だけど、ツクールとかウディタの基本システム使うよりも
DXでオリジナル作ってる方がよっぽど勉強になった気がする
まあ、バグには悩まされ続けてるけどね
0833名前は開発中のものです。
2011/08/13(土) 06:19:26.00ID:yrCu4ONW途中で満足するから
0834名前は開発中のものです。
2011/08/13(土) 06:31:10.27ID:N/InUjjy0835名前は開発中のものです。
2011/08/13(土) 07:45:42.87ID:edwttQsI0836名前は開発中のものです。
2011/08/13(土) 07:51:29.45ID:MnHeGmDQhitCheck->execute(_bullet,_enemy);
とした方が手っ取り早く思えてしまう
0837名前は開発中のものです。
2011/08/13(土) 12:40:59.37ID:kbtw+NxihitCheck(&bullet, &enemy);
だけで十分な気がする
力を入れるならもっと別の所だと思う
0838名前は開発中のものです。
2011/08/13(土) 12:47:23.09ID:yyHeRhBDhitCheck
ってwwwww
変数名は
collisionDetective
エレガントさに雲泥の差
XDwwwwwwwwwww
0839名前は開発中のものです。
2011/08/13(土) 13:04:58.95ID:OS5j6Sgu0840名前は開発中のものです。
2011/08/13(土) 13:08:42.06ID:kbtw+Nxi短くてぱっと見で意味が分かるのが最良
0841名前は開発中のものです。
2011/08/13(土) 13:18:10.09ID:edwttQsI>>837
クラスにすることが、あまり力いれてる感じもないですお!
>>838
今は、名前のエレガントさの問題ではないので、実装のエレガントさアピールお願いします!
個人制作であれば、自分でコーディングする時にわかりやすい名前をつけるべきだとは思います
複数人で作るなら、命名規則なり作るべきだとは思いますが
0842名前は開発中のものです。
2011/08/13(土) 13:25:26.00ID:VYaS2CDTダサいけど打ちやすい
0843名前は開発中のものです。
2011/08/13(土) 13:48:31.57ID:xzr6BN9oやばい、ちょっと感動した
0844名前は開発中のものです。
2011/08/13(土) 13:55:50.75ID:kbtw+Nxi>>833みたいなのはどうしようもないけど、大事なのは無理なく製作できることなわけで
当たり判定みたいにどう組んでも大して影響出ないようなところにこだわるより、
サクサク先に進めるかプログラム全体の流れを工夫するかした方がいいと思う
ま、個人の勝手だけどね
0845名前は開発中のものです。
2011/08/13(土) 14:03:13.38ID:BiwrSrBuと思ったとき、とりあえず聞くって言うのは有りだと思うぞ。
しかし、見てると逆ギレするやつは多いがなw
0846名前は開発中のものです。
2011/08/13(土) 14:06:18.99ID:yyHeRhBD外国人の日本語シャツやタトゥーの文言を見て
エレガントだと思うか?wwww
ま、そういうことXDwwwwwww
0847名前は開発中のものです。
2011/08/13(土) 14:09:58.42ID:kbtw+Nxiどっちにしても真性だが
>>845
エレガント云々言い出したら本末転倒だと思うぞ
意見の押し付け合いになるだろうからこれ以上は言わないが
0848名前は開発中のものです。
2011/08/13(土) 14:24:23.03ID:5wWZqRhq0849名前は開発中のものです。
2011/08/13(土) 14:33:40.01ID:EXqJdVzV2Dならそれでいいけど、オブジェクトの組み合わせにより当たり判定の処理が変わったりする3Dでは
仮想関数やテンプレを使ってインターフェイスと処理実体を分離しておかないとクッソ汚いプログラムになる
0850名前は開発中のものです。
2011/08/13(土) 14:43:39.82ID:kbtw+Nxi質問者の質問内容から、そこまでのレベルじゃないと判断したんだが
作り始めで内容が2DSTGっぽいし
ジャガイモの皮を剥くのに牛刀は使わないだろ
0851名前は開発中のものです。
2011/08/13(土) 14:59:45.68ID:tVXKtXaG>>849, >>850
仕事で社内の簡単なツールを作ったりするレベルでゲーム作りたいなと思ったのです、2DSTGから始めようという次第です!
0852名前は開発中のものです。
2011/08/13(土) 15:07:08.61ID:kbtw+Nxi経験談にしか過ぎないけど、まずは小物でも一つ完成させてみるといいよ
一回作ってみれば、次はどこをどう整理して組めばいいかはっきり分かるようになるから
案ずるより産むが易し
理屈先行が別に悪いとは言わんが、実際に作ってみるのが理解するための一番の近道だよ
その過程で使い回しのきく関数が二つ三つ作れれば儲けもの
0853名前は開発中のものです。
2011/08/13(土) 15:10:23.37ID:ptTRVOjq0854名前は開発中のものです。
2011/08/13(土) 15:15:22.25ID:yyHeRhBDcollisionDetectiveが圧倒的エレガント!
外国人のタトゥーかってのXDwwww
0855名前は開発中のものです。
2011/08/13(土) 15:20:45.08ID:EXqJdVzVミニゲームレベルでいいんでまず動くものを最初にひとつ完成させてその経験からソースコードをオブジェクト化していくのがいいと思うよ
俺ははじめての分野ではまず基礎プログラムを一度組んで問題点や改善点を見出してから再設計して作り直してる
車輪の再設計みたいに言われることもあるけど、経験的にこの方が確実に完成まで持ち込め且つ完成度が上がる
0856名前は開発中のものです。
2011/08/13(土) 16:05:47.75ID:tVXKtXaGと言われると思いまして、サクッとブロック崩し作りました!
と言っても、まだ動いてブロック崩せるだけですが
0857名前は開発中のものです。
2011/08/13(土) 16:17:38.38ID:4lBR77Gyhttp://beebee2see.appspot.com/i/azuYwMu2BAw.jpg
iPhoneからですんません
0858名前は開発中のものです。
2011/08/13(土) 16:25:56.53ID:kbtw+Nxi後はそれを2DSTGに応用するだけかと
とりあえず基本的な機能を盛り込んだ1面を作って、その後考える
十分見通しが良ければそのまま続ければいいし、上手くなければ反省点を踏まえてもう一回作る
2DSTGの基本骨格なんて休みの一日二日あれば十分できあがるだろうし、それが一番早いと思う
0859名前は開発中のものです。
2011/08/13(土) 16:32:02.79ID:kbtw+Nxi0860名前は開発中のものです。
2011/08/13(土) 16:40:18.08ID:OS5j6Sgu0861名前は開発中のものです。
2011/08/13(土) 16:50:39.98ID:lAUnLe9I土日スレ見てると制作時間5時間10時間でも結構なものが出てくるし
少なくともエレガントがどうとか考えるのはその後だろう
0862名前は開発中のものです。
2011/08/13(土) 16:54:29.51ID:4lBR77Gyとりあえずぼちぼちやってみます〜
確かにエレガントさなんて二の次三の次ですね!
0863名前は開発中のものです。
2011/08/13(土) 17:11:04.36ID:N/InUjjyそれって熟練さんなのでは・・
0864名前は開発中のものです。
2011/08/13(土) 17:25:15.46ID:Kn5EBTbi・動いて避ける
・撃って壊す
・くらってやられる
・ランダムに敵が出る
・ランダムに弾を撃たせる
これくらいはあっさり組み込めないととてもじゃないけど完成までが遠すぎると思う
感覚的には基本的な部分を作って進捗1%未満、1面完成させて進捗5%って感じだし
0865名前は開発中のものです。
2011/08/13(土) 18:15:17.76ID:Kn5EBTbi製作開始から撃って避けたりの基本的な部分ができるまで約3日
爆発やパーティクル、得点アイテムなどの組み込みができるまでに1週間程度(3日ほど触らなかった日を含む)
道中がほぼできるまで約10日
ボスを作って1面完成、リトライなど基本的な部分を付け足して15日
タイトル画面からステージ終了まで作って、ゲームを一通り完結させるのに18日
そこからゲーム全体の完成に至るまでに大体1年半
0866名前は開発中のものです。
2011/08/13(土) 18:22:55.15ID:4lBR77Gy素材に時間がかかりそう
当方弾幕シューが好きなので、自炊できると嬉しいのです
0867名前は開発中のものです。
2011/08/13(土) 18:28:16.36ID:Kn5EBTbiそれは結構あるね。そして、プログラムに限らず素材の使い回しなんかも大きい
特に公開に至らなかった部分の素材なんかは確実に貯まっていくわけだし
昔に作った未熟な素材でも、手直しすれば案外使えたりするものだしね
作ったのが自分だからトレスしようが何しようがOKだしw
0868名前は開発中のものです。
2011/08/13(土) 18:55:56.55ID:XYzuPry4いちいち細かいアドバイスいらないような気がするんだけど。
0869名前は開発中のものです。
2011/08/13(土) 19:44:23.47ID:4lBR77Gy社内ツールはガシガシ作ってますぜ!
C++かC#のどっちかをよく使ってますが、ゲーム作る経験値はあまりない感じです
0870名前は開発中のものです。
2011/08/13(土) 20:04:00.24ID:Kn5EBTbiプログラム自体の経験値がそれなりにあるのなら、習作を二つ三つ作ればコツは大体つかめるだろうし
プログラムよりもゲームのレベルデザインの方がずっと重要だし大変だからね
0871名前は開発中のものです。
2011/08/13(土) 20:44:55.27ID:XYzuPry40872名前は開発中のものです。
2011/08/13(土) 20:52:03.54ID:Kn5EBTbi0873名前は開発中のものです。
2011/08/13(土) 22:01:12.67ID:4lBR77Gyプログラム経験もまだ一年程度なので、そんなにです
他の業務の片手間で業務負荷軽減するの作ってる感じなので、ちょっとしたの作ってる程度ですし
考えてコード書くのは好きですぜ!
0874名前は開発中のものです。
2011/08/13(土) 23:03:28.69ID:yyHeRhBDひとこと言わせてもらおう。
この板はツッコミ力が弱い。
0875名前は開発中のものです。
2011/08/13(土) 23:19:52.19ID:Kn5EBTbiお前の釣りがあまりに寒くてつまらないだけ
と、最後に釣られてあげるよ
0876名前は開発中のものです。
2011/08/13(土) 23:36:54.14ID:wwJJ5ZO9君達はあのくらいは作ったことあるのかね?
0877名前は開発中のものです。
2011/08/13(土) 23:54:06.49ID:4lBR77GyXD←これってなんですか??
0878名前は開発中のものです。
2011/08/13(土) 23:57:31.44ID:yyHeRhBD笑ってる顔を左に倒したもの。
グローバルチャットでよく使われる。
w連発だけだと印象悪くてね。
0879名前は開発中のものです。
2011/08/14(日) 00:11:07.46ID:saLlqN91おぉ!ほんまや!
DXライブラリに関係あるのかと思いましたが、全く関係ないんですねXD
0880名前は開発中のものです。
2011/08/14(日) 00:16:33.23ID:Xx9OVytKあと :) ってのもある。半角じゃよくわかんないかな :) 全角だとこう。
これも横倒しになった笑顔だね。
0881名前は開発中のものです。
2011/08/14(日) 00:27:47.69ID:fDshSp2T>DXライブラリに関係あるのかと
確かに。それは気付かなかった。センシティブになるべきだった。
0882名前は開発中のものです。
2011/08/14(日) 13:39:14.52ID:u/8Ww+790883名前は開発中のものです。
2011/08/14(日) 16:39:31.65ID:vfz8S1Jp0884名前は開発中のものです。
2011/08/14(日) 22:31:04.06ID:53FBJ2C30885名前は開発中のものです。
2011/08/15(月) 00:19:29.63ID:1F9eRj460886名前は開発中のものです。
2011/08/15(月) 01:15:12.54ID:z8efwV7/0887名前は開発中のものです。
2011/08/15(月) 13:08:46.68ID:v5n2UR5T0888名前は開発中のものです。
2011/08/15(月) 17:34:09.12ID:AxF6XhR30889名前は開発中のものです。
2011/08/15(月) 17:38:56.01ID:2mObENVJ0890名前は開発中のものです。
2011/08/15(月) 18:53:42.24ID:j4L9t0Yaけど、総当たりだと結構重たくて、どうすれば〜と悩み中です
0891名前は開発中のものです。
2011/08/15(月) 18:55:22.34ID:28NM1JII0892名前は開発中のものです。
2011/08/15(月) 18:59:46.08ID:Er9IwnCNあまり汎用性を意識すると処理が遅くなったり高度な技術要求されたりするぞ
手習いで2DSTG作るのなら、オブジェクトの種類で決め打ちしてしまった方が良い
0893名前は開発中のものです。
2011/08/15(月) 19:12:42.09ID:LLHTzpxaまさか総当りで全部をしっかり判定してたりとかしてないよな?
普通は円形の当たり判定なら、まず正方形で簡易的な判定をしてから、
衝突してる可能性がある場合だけ、半径計算してー、とか詳しい判定をする
俺はこれで3000発までは60fpsで動かせてるぞ
0894名前は開発中のものです。
2011/08/15(月) 19:24:26.70ID:j4L9t0YaPen3 500Mとメモリ256のノートなんだが
0895名前は開発中のものです。
2011/08/15(月) 19:26:54.53ID:Er9IwnCN0896名前は開発中のものです。
2011/08/15(月) 19:27:33.96ID:j4L9t0Ya今のところ、全て正方形で総当たりしておりまする
ブロック崩しで試してるので、ブロック100個と弾1000個の総当たりですが……
0897名前は開発中のものです。
2011/08/15(月) 19:30:35.19ID:j4L9t0Yaそこまで高度なことはしてないと思いますが……
複数種の弾と複数種の敵をそれぞれ一元管理してあたり判定を一括で処理したいと考えるとそうなったのです
オブジェクトの種類ってなんでしょう?
0898名前は開発中のものです。
2011/08/15(月) 19:31:52.25ID:j4L9t0Ya>>895
低スペックでしょ(笑)
どこかで買い換えたいのですが(笑)
0899名前は開発中のものです。
2011/08/15(月) 20:14:38.19ID:/8lHNcjI格子のサイズは最も大きな当たり判定のサイズ以上ならどんなサイズでも良い
0900名前は開発中のものです。
2011/08/15(月) 20:56:53.21ID:j4L9t0Yaなるほど。
隣接空間がどこかっていうのと、対象が隣接空間に属してるかは、総当たりになるんですかい?
0901名前は開発中のものです。
2011/08/15(月) 21:11:10.48ID:sJPgmYKa0902名前は開発中のものです。
2011/08/15(月) 21:23:13.47ID:YN8KP3cyちょっと、それの スクリーンショットを見せてみろ
0903名前は開発中のものです。
2011/08/15(月) 21:33:41.17ID:j4L9t0Ya今は、PC使えないので、無理でですわ。すみません。。
それのスクリーンショットのそれは、どれですか??
0904名前は開発中のものです。
2011/08/15(月) 21:34:50.60ID:/8lHNcjI大雑把にいうと座標に対応した2次元配列リストを用意しておいて登録または座標更新の度に座標に対応した要素のリストに繋いでいく感じ
ShipCollision.CollisionMap(x/?,y/?).add(ShipObject)、BulletCollision.CollisionMap(x/?,y/?).add(BulletObject)みたいな感じ(?は格子のサイズ)
この2つの当たり判定を取るときは、ShipCollision.CollisionMap(i,j)に対してBulletCollision.CollisionMap.CollisionMap(i-1〜i+1,j-1〜j+1)とだけ当たり判定をとればいい
ただ、自分もセレ300Aの時代から弾幕シューティング作ってるけど、こんな処理が必要になったのは敵弾同士の相互干渉やった時ぐらいだよ
0905名前は開発中のものです。
2011/08/15(月) 21:50:01.66ID:j4L9t0Yaなるほど!わかりやすい!あざまーす!
たぶん、非効率なことしてるところもありそうなので、見直しますが……
弾幕シューって、弾の瞬間最高数ってどのぐらいなんでしょうか?
0906名前は開発中のものです。
2011/08/15(月) 22:15:27.77ID:/8lHNcjI弾の大きさにもよるけど2000ぐらいで画面が埋まりきるのでそこらを上限に考えばいいんじゃないかと
ただレーザー系の繋ぎ弾とかを多用するのならもっと余裕を持たせたほうがいいかも
0907名前は開発中のものです。
2011/08/15(月) 22:50:38.26ID:j4L9t0Yaあ、画面埋まるの基準に考えれば良いのですね!
繋ぎ弾ってそんなに弾使ってるんですね。
0908名前は開発中のものです。
2011/08/15(月) 23:21:54.15ID:Er9IwnCN>>907
繋ぎ系の弾は見映えを良くしようと思えばその分だけ数が増えるからな
当たり判定を取るだけなら間引けばいいけど、描画の負荷は結構深刻な問題
ってどうでもいいかw
弾幕シューっても、弾の速さで結構変わるぞ
弾を速めにすると相対的に弾の数は減る。遅くすると逆
0909名前は開発中のものです。
2011/08/15(月) 23:23:17.10ID:Er9IwnCN2万程度のデスクトップPCに5000円くらいのグラボでも積んでおくだけでもずっとマシだ
0910名前は開発中のものです。
2011/08/15(月) 23:45:48.44ID:j4L9t0Yaなんとなくのイメージですが絶対に必要になりそうですね!
今、これ読んでます
http://marupeke296.com/COL_main.html
見栄えが変わるのですね。いっぺんやってみないと。
あ、そうか!遅い弾だと消えるまで画面に留まりますね!
その辺りもやってみないと。
PCの問題は、わかってたんで、どこかで解決しますが、東方風神録辺りまでは普通に動いてるのでいけるかなぁと楽観してました(笑)
0911名前は開発中のものです。
2011/08/15(月) 23:46:40.14ID:1F9eRj460912名前は開発中のものです。
2011/08/16(火) 02:01:11.24ID:v/fpLqjB0913名前は開発中のものです。
2011/08/16(火) 02:12:14.08ID:6Kg1Q5N7一方の作業に注力していたら何作るかを忘れてたりするし
大抵はメモ程度で十分だけど
0914名前は開発中のものです。
2011/08/16(火) 02:17:02.07ID:e4g2kJDx構造体(クラス)のメンバ一覧
それぞれの相互作用
くらいはノートに書いておいた方が楽
0915名前は開発中のものです。
2011/08/16(火) 02:30:18.01ID:v/fpLqjB>>914
一応、そういうのは仕様書には含めないって意味で書いてみた
メモ書きというか、製作に関する情報を平行して何かにまとめるのは有効だと思う
メンバ一覧や相互作用は開発環境を使いこなすようにした方がいいのでは(VisualStudioの話だけど)
0916名前は開発中のものです。
2011/08/16(火) 02:42:09.01ID:kQdnJr7Kしっかりとどういう設計をしていくのかというのはあらかじめ
順序立てて書いた方がいい
後から足そうと思ってもなかなか難しいときもある
0917名前は開発中のものです。
2011/08/16(火) 03:13:46.92ID:v/fpLqjB0918名前は開発中のものです。
2011/08/16(火) 05:48:56.92ID:JwY9afY/習作で、考えながらゲーム特有のコーディングを学んでるので
本ちゃん作るなら、
ゲームの内容・設定
簡単なクラス図
画面ラフ
ぐらいは、あった方が楽だと思いますが
実際に社内ツール作成の時とかは、サクッと仕様書書いてからコーディングしてます
0919名前は開発中のものです。
2011/08/16(火) 07:05:15.26ID:k4JdetSCいちいち考えながら素材とか作ってたら結構ひっかかるし。
俺は作ってないが。
0920名前は開発中のものです。
2011/08/16(火) 07:10:26.72ID:qslVZk0D0921名前は開発中のものです。
2011/08/16(火) 14:01:40.48ID:NAmC89vx逆に、そういう計画が必要な人は仕様書作ればいいんじゃない?
俺は仕様書の必要性を感じたことは無いが
0922名前は開発中のものです。
2011/08/16(火) 14:35:33.77ID:DVERvGKRレス数が900を超えています。1000を超えると表示できなくなるよ。