C/C++ゲーム製作総合スレッド Part6
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2014/07/08(火) 19:30:19.51ID:J+zVqUil元スレ
DXライブラリ 総合スレッド その17
http://toro.2ch.net/test/read.cgi/gamedev/1383795645/
前スレ
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
C/C++ゲーム製作総合スレッド Part2
http://toro.2ch.net/test/read.cgi/gamedev/1351015269/
C/C++ゲーム製作総合スレッド Part3
http://toro.2ch.net/test/read.cgi/gamedev/1357899040/
C/C++ゲーム製作総合スレッド Part4
http://toro.2ch.net/test/read.cgi/gamedev/1376262450/
C/C++ゲーム製作総合スレッド Part5
http://peace.2ch.net/test/read.cgi/gamedev/1389798031/
0354名前は開発中のものです。
2014/10/16(木) 14:07:15.58ID:QS36hJY2まとめられるのは2D描画だけだと思うけど
0355名前は開発中のものです。
2014/10/16(木) 14:11:40.09ID:iU5kylbT0356名前は開発中のものです。
2014/10/16(木) 15:57:05.99ID:XA7dLBCP0357352
2014/10/16(木) 23:15:25.79ID:6yN2mL4Iやはり、そのあたりですかね。
http://game.watch.impress.co.jp/img/gmw/docs/586/729/html/gra_53.jpg.html
http://game.watch.impress.co.jp/img/gmw/docs/586/729/html/gra_54.jpg.html
http://game.watch.impress.co.jp/img/gmw/docs/586/729/html/gra_55.jpg.html
http://game.watch.impress.co.jp/img/gmw/docs/586/729/html/gra_56.jpg.html
これ、PSVitaのゲーム開発環境の解析画面なんだけど、こういう感じで見たいなぁ。
>>354
DirectXTKのPrimitiveBatchで、異なるトポロジ(三角ポリと線)を頻繁に切り替えながら描画
(切り替わる度にDrawコールされる)してしまっていたのをできるだけまとめて描画するようにしたら、
Debugモード時に4倍くらいfpsが上がってマジ感動した。
Releaseモードは、わずかに向上するか、ほとんど変わらないときもあった。
>まとめられるのは2D描画だけだと思うけど
3Dモデルならジオメトリインスタンシングが使えるケースがあるね。
0358名前は開発中のものです。
2014/10/16(木) 23:59:18.32ID:mNWrvpmfDrawCall単位で何マイクロ秒かかってるかってのを測定して
CSVかXMLでエクスポートすることはできるみたい
0360名前は開発中のものです。
2014/10/17(金) 10:58:36.38ID:i0zyuJTBおう、諦めな
0361名前は開発中のものです。
2014/10/17(金) 22:20:59.73ID:t1QiiFRycocos2d-xやろうぜ(´・ω・`)
0362名前は開発中のものです。
2014/10/19(日) 21:58:12.45ID:A4TBNuX7プログラミングよりストア登録とか素材作りでつみそう
0363352
2014/10/19(日) 22:56:32.89ID:Me3iytM1このスライドの33枚目にあるようなタスク所要時間の視覚化機能を実装したいなぁ。
GPUの処理時間とか、どうやって計測するんだよ!w
0364名前は開発中のものです。
2014/10/20(月) 06:37:43.13ID:Vt4+cJIA0365名前は開発中のものです。
2014/10/20(月) 11:09:09.21ID:YjayBuJo3Dモデルや絵かける方がよっぽどゲーム作れるぞ
0366名前は開発中のものです。
2014/10/20(月) 11:29:32.25ID:jwhsqWX+絵や話つくりは何とかなりそうなんだけど音関係がなあ・・・
0367名前は開発中のものです。
2014/10/20(月) 11:53:52.64ID:DtF3+BwM絵なんてそれなりのツール使って作品にあった書き方練習すれば半年でなんとかなる
初心者用サイトも多いし
音は何からどうすればいいかわからなくて詰む
0368名前は開発中のものです。
2014/10/20(月) 12:00:13.49ID:wIxNXk0C絵の方がアニメーションとかサイズとか考えると難しいよ
0369名前は開発中のものです。
2014/10/20(月) 12:37:30.84ID:mkykchgR0370名前は開発中のものです。
2014/10/20(月) 13:17:49.07ID:b7HsFQvV0371名前は開発中のものです。
2014/10/20(月) 14:07:32.34ID:GwxwpQhhって言われた端からこれだもんな
0372名前は開発中のものです。
2014/10/20(月) 14:15:39.93ID:jwhsqWX+0373名前は開発中のものです。
2014/10/20(月) 14:34:05.88ID:RcYiFGCh0374名前は開発中のものです。
2014/10/20(月) 14:35:40.06ID:xrex0yYU0375名前は開発中のものです。
2014/10/20(月) 18:54:24.39ID:+9Jsm3nb0376名前は開発中のものです。
2014/10/20(月) 19:20:29.41ID:+9Jsm3nbnamespaceごとにファイルを作っても全く問題はないが?
0377名前は開発中のものです。
2014/10/20(月) 20:05:13.07ID:k9NKmLW6昔Unityの話題だしてごめんな
0378名前は開発中のものです。
2014/10/20(月) 20:59:37.69ID:mkykchgR100レス消費するのに1ヶ月て
0379名前は開発中のものです。
2014/10/20(月) 21:26:24.20ID:GwxwpQhh流れが遅けりゃ何を話題に出してもいいのか?
勢い至上主義の人は別の板に行ったほうがいいぞ
0380名前は開発中のものです。
2014/10/20(月) 21:44:59.67ID:mkykchgR話の広がりを全て排除するオキテでもあんの?
0381名前は開発中のものです。
2014/10/20(月) 22:03:31.71ID:crBxYzk60382名前は開発中のものです。
2014/10/20(月) 22:07:06.42ID:5MyCaHfJ物理エンジン使うの大げさかな?
C++でスクラッチで実装してる人いる?
0383名前は開発中のものです。
2014/10/20(月) 22:49:22.88ID:T47b68DN「効果音」「BGM」「歌」はこう作る(Cubase/VOCALOIDで)
音だってプログラミング!
ってな記事があるよ
12月号が10/24発売だからチェックするなら早めにな
0384名前は開発中のものです。
2014/10/21(火) 00:05:57.07ID:rqDahQkSモーションとかで設定すんのきついからエンジンでいいんじゃ
0385382
2014/10/21(火) 00:10:52.73ID:CEedc/zFたしかに。
パフォーマンスもエンジンのほうが良さそうだし、
簡単なことでも、下手に自分で組むよりイイかも。
コリジョン全般もやらせられるし。
ありがとう、エンジン使う方向でいくわ。
0386名前は開発中のものです。
2014/10/21(火) 00:35:00.20ID:DPj+H0co0387名前は開発中のものです。
2014/10/21(火) 22:05:55.64ID:zLum7v8jOGREかな?
0388名前は開発中のものです。
2014/10/22(水) 19:05:01.43ID:mUYRFHNVバフがつくキャラクタークラスに「〜のバフがあったら〜」という処理を記述するのが簡単なんだろうけど、
バフの数だけキャラクタークラスの処理が増えるのってなんか変だし、
キャラクタークラスが行動しようとするたびにバフ一つ一つにチェックかけるのか・・・
0389名前は開発中のものです。
2014/10/22(水) 19:22:28.97ID:1itouT9H武器毎にキャラクタークラスの処理増えてるわけじゃないだろ?
それと同じだよ
0390名前は開発中のものです。
2014/10/22(水) 20:23:54.50ID:WiWK8TWz0391名前は開発中のものです。
2014/10/22(水) 20:26:43.81ID:eqXGTzBzステータスを一時的にパワーアップするのをバフ、
逆にパワーダウンするのをデバフって。
0392名前は開発中のものです。
2014/10/22(水) 20:36:40.39ID:T1nolpti0393名前は開発中のものです。
2014/10/22(水) 21:44:48.22ID:hFcfDOrV0394名前は開発中のものです。
2014/10/22(水) 22:31:22.09ID:U9EexPEjモンハンとか武器ごとに増えてない?
最近は10秒以内に他のデバフを食らわないと即死するデバフとか、特定の属性の敵に攻撃力2倍とか、3秒に一回キャラクターの行動を中断する麻痺デバフみたいな、
単純なステータス操作じゃないものが多くて、そういうの視野に入れて作ろうかなと
そういや構造って、
ゲーム起動時にstatic変数としてバフのインスタンスを持っておいて、キャラクターのポインタとバフの残り時間を与えれば結果を返してくれるようにするのか、
キャラクターにバフがついた瞬間インスタンス化して、バフが消えた瞬間deleteするようなクラスを作るか
どっちがいいんですか?
0395名前は開発中のものです。
2014/10/23(木) 08:02:34.39ID:I+oJL2c70396名前は開発中のものです。
2014/10/23(木) 08:15:05.80ID:s5Cm5p+vクラスに自殺機能的なものを持たせつつ、キャラごとにリストで持っておきたいなあ。
あー、でもフィールド自体にスリップダメージ効果、みたいなパターンもあるか。
0397名前は開発中のものです。
2014/10/23(木) 09:46:02.30ID:VAxuJujrそうするとバフが欲しい情報はマップ上にあるオブジェクトのリストと、キャラクターのポインタと、時間かな
ゲームの仕様にもよるけど大体この3つ安定
0398名前は開発中のものです。
2014/10/23(木) 09:46:44.49ID:VAxuJujrステートパターンだと一つしか状態異常かからなくない?
ポケモンなら一つだけど
0399名前は開発中のものです。
2014/10/23(木) 10:02:49.79ID:s+t98wQk0400名前は開発中のものです。
2014/10/23(木) 13:23:41.02ID:noQ9gUlZそういうの作るほうは大変だけどユーザにウケるか、手間に見合うかというと、う〜ん
かえってわかりにくいと敬遠されかねない
その点討鬼伝のミタマはうまくやったなと思う いろいろな意味でw
0401名前は開発中のものです。
2014/10/23(木) 17:30:00.96ID:I+oJL2c7ステートパターン+配列でいいじゃん?
ゲームの仕様側を単純化しないと実装の複雑化はさけられないぞ
std::vector<State*> state_list;
state_list += new Poison();
0402名前は開発中のものです。
2014/10/23(木) 19:43:01.60ID:I0e3Ds/Cなんでもありを想定して作って結局あんまり使わないなんてムダだし
0403名前は開発中のものです。
2014/10/23(木) 21:28:12.43ID:qInVWJ1Lそういうのが無くてもStateパターンって便利?
0404名前は開発中のものです。
2014/10/24(金) 00:54:44.36ID:jy1RY2Vz0405名前は開発中のものです。
2014/10/24(金) 20:11:21.11ID:ddPt2zGiスリップダメージならイベント処理時にダメージ&継続判定して再度イベント投げるみたいな
オーバーヘッドでかそうだけど汎用性はある気がする
0406名前は開発中のものです。
2014/10/24(金) 22:30:58.39ID:LvhDFXW3オーバーヘッドとかそう言うのはプロファイラで測ってから言いなさいな
普通、負荷がかかるのはもっと重い処理の部分でしょ
0407名前は開発中のものです。
2014/10/25(土) 03:42:15.96ID:fVKGIfTf0408名前は開発中のものです。
2014/10/25(土) 07:52:10.14ID:NLLH5JYR0409名前は開発中のものです。
2014/10/26(日) 16:26:16.62ID:RQv84B/3だからそのオーバーヘッドが大きいかどうかはそこがネックになってるかどうかで判断しろって言ってるんでしょ
0410名前は開発中のものです。
2014/10/26(日) 17:41:30.80ID:dULlRr0tだからそれがオーバーヘッドキックかどうかはそれがキックになってるかどうかで判断しろって言ってるんでしょ
0411名前は開発中のものです。
2014/10/26(日) 18:19:06.69ID:Z5NRlQnX0412名前は開発中のものです。
2014/10/26(日) 19:50:32.98ID:YANUPprV0413名前は開発中のものです。
2014/10/26(日) 19:56:46.37ID:eW7jlsGh0414名前は開発中のものです。
2014/10/26(日) 22:10:45.35ID:PTfFlHbF0415名前は開発中のものです。
2014/10/26(日) 22:20:48.23ID:Wgbd5x3C0416名前は開発中のものです。
2014/10/26(日) 22:37:50.70ID:RQv84B/30417名前は開発中のものです。
2014/10/27(月) 22:07:07.84ID:sM1yBz6U0418名前は開発中のものです。
2014/10/28(火) 00:30:16.35ID:/GKC+OVC0419名前は開発中のものです。
2014/10/28(火) 21:29:09.92ID:ysAm8J5x0420名前は開発中のものです。
2014/10/29(水) 19:22:23.08ID:nDYTAhVm0421名前は開発中のものです。
2014/10/29(水) 23:42:07.72ID:4ZmDH5l40422名前は開発中のものです。
2014/10/31(金) 00:17:00.08ID:nSbgcPzE自分は限界を感じてC++はゲームライブラリをラップするエンジン部分だけに使って
ゲームロジック部分はLuaでできるように勉強してる
C++(エンジン) // C++(エンジン上で動作するパーツ) // Lua(パーツを利用するロジック) // Lua(モデルやイベント用スクリプト)
0423名前は開発中のものです。
2014/10/31(金) 07:04:00.65ID:m5w778wA何で書くかというより設計の問題でしょ
0424名前は開発中のものです。
2014/10/31(金) 10:05:54.22ID:6bcSF0zB自分もLua使ってて今作ってるけど、ロジックはC++で組んでる(組む予定)
Luaでやるのはキャラの初期値などのパラメータ値の設定やイベントの記述、
画面背景に表示するものをLuaで記述、くらいの予定かな
>>423の人も言ってるけど、Luaで書けるならC++でも書けるから、何をLuaに求めるかだと思うけど、
自分の場合はLuaでやるメリットはリコンパイルせずにレベルデザインの動作確認を行えるようになること
ロジック部分はLuaに追い出すと速度的なデメリットが大きそうなのと、
Luaで書けるようにすること自体の工数も大きそうなのでやめた
0425名前は開発中のものです。
2014/10/31(金) 12:53:25.76ID:CfUZyuSt0426名前は開発中のものです。
2014/10/31(金) 17:49:19.79ID:wudHshK90427名前は開発中のものです。
2014/10/31(金) 17:59:48.36ID:881Z1hau0428名前は開発中のものです。
2014/10/31(金) 18:15:11.72ID:jL8HxUOw0429名前は開発中のものです。
2014/10/31(金) 18:24:36.01ID:6bcSF0zBいらねーよw
0430名前は開発中のものです。
2014/10/31(金) 19:02:05.50ID:LbK2+I6l3種類ほど
一つはシナリオとかのイベント管理用
一つはレコード単位のデータ管理用
一つはツリー構造のデータ管理用
0431名前は開発中のものです。
2014/10/31(金) 19:18:37.90ID:oJQR+l+C・クラスとヘッダーに分けなくていい
・importはC/C++のincludeより使いやすいと思う
C/C++だとどれをインクルードすべきか調べないと分からない事もあるし
・ネイティブの部分だけ予めコンパイルしておけば、変更したコードを複数のデバイスですぐにデバッグ可能
・GCでメモリ管理が自動に
・リフレクションでクラスの情報に実行時アクセス
・実行時の式評価(デバッグに使う)
実行時コード編集は確かにあまり役立ってないかも
デリゲート・・・はC++11なら使えるのか
0432名前は開発中のものです。
2014/10/31(金) 19:23:51.37ID:GqyQ4J03実行中に変更出来ないと一回落として変更して同じところまで進めないといけないから
レベルの調整とかしてるとめちゃくちゃめんどい
0433名前は開発中のものです。
2014/10/31(金) 19:24:16.18ID:LbK2+I6l0434名前は開発中のものです。
2014/10/31(金) 19:32:27.85ID:6bcSF0zBまあ半分わかるけど、相当規模が大きなものじゃないといらないし、
代替としてその環境を作るスクリプトも組めるし、
途中で変えちゃったら、ユーザーがほんとにその条件に辿り着けるのかテストにならないから
やっぱりいらないな
0435名前は開発中のものです。
2014/10/31(金) 20:11:52.54ID:GqyQ4J03ロジックをスクリプトで記述するなら汎用ゲームエンジンでいい気がするな
Unityとかめっちゃお手軽よ
0436名前は開発中のものです。
2014/10/31(金) 20:42:19.68ID:3MYWoAmv0437名前は開発中のものです。
2014/10/31(金) 20:58:16.81ID:qWph+yLX0438名前は開発中のものです。
2014/10/31(金) 22:36:22.81ID:ARi4wFqk0439名前は開発中のものです。
2014/10/31(金) 22:57:08.23ID:oJQR+l+Cいーるどぅ
0440名前は開発中のものです。
2014/10/31(金) 22:59:35.82ID:r+epGFzI0441名前は開発中のものです。
2014/10/31(金) 23:09:11.23ID:BXR79UmAシューティングゲームアルゴリズムマニアクスにあったように記憶してる。
手元にないから確かじゃないけど。
0442440
2014/10/31(金) 23:15:42.18ID:r+epGFzIありがとうございます!
その本は持っているのですが、IKについて書かれていることに気付きませんでしたw
コードも書いているので参考になりそうです。
他の本も、ご存知の方がおられたら是非教えてください。
0443名前は開発中のものです。
2014/11/01(土) 01:19:56.78ID:/W7J7qqw最近読んだのだとこれ
XNAのソースがサンプルであるけど今はXNA自体が使えない
http://www.borndigital.co.jp/book/94.html
0445名前は開発中のものです。
2014/11/01(土) 10:44:08.91ID:oqeDiPeWBがtrueならD、falseならE
DがtrueならF、falseなら・・・
という感じで
if (A) {
if (B) {
if (D) {
F();
} else {
G();
}
} else {
E();
}
} else {
C();
}
というようなことになってしまいます
例えばAがゲーム開始フラグ、Bがプレイヤー出現フラグ、Dが敵出現フラグという時
最初にC()でカウントを回してAをtrueにしゲーム開始
E()でカウントを回してプレイヤーを出現
G()でカウントを回して敵を出現
F()でバトル開始
のような感じになるのですが、どうすればいいのでしょう
あまり良くないですがswitch caseなどでもいいのかなと考えてます
0446名前は開発中のものです。
2014/11/01(土) 11:05:49.01ID:/W7J7qqwステートパターン使うといいよ
IStateを実装した開始ステート、敵出現ステートなどをつくって、
unique_ptr<IState> state = make_unique<InitialState>();
while ...
state->update();
if (state->next)
state = state->next;
0447名前は開発中のものです。
2014/11/01(土) 16:11:10.84ID:XJ9qlDD+0449名前は開発中のものです。
2014/11/02(日) 01:02:23.40ID:p7BeypyfやっぱりStateパターンが良いですよね
ありがとうございます
0450名前は開発中のものです。
2014/11/02(日) 10:54:46.91ID:F1N1A3wTStrategyパターンって
コードの書き方はまったくと言っていいほど同じじゃないですか?
Stateは状態的な切り替え、
Strategyは機能的な切り替え、
というふうに、どういう使い方をするかで名称が別れてるということですか?
0451名前は開発中のものです。
2014/11/02(日) 12:52:42.92ID:2+iLF1K9状態遷移はストラテジーっぽい
0452名前は開発中のものです。
2014/11/02(日) 13:07:10.08ID:nNeu0fIH後から見た時に結構重要だったりするよね
0453名前は開発中のものです。
2014/11/02(日) 13:26:08.13ID:bYY9FFGo例えば遷移だと>>446のやり方はそれぞれのStateの中で自分に関係する遷移条件と遷移先だけ指定するから
ソースを見ただけじゃ全体の遷移一覧がぱっと見えてこないんだよなぁ
■ このスレッドは過去ログ倉庫に格納されています