トップページgamedev
1001コメント321KB

C/C++ゲーム製作総合スレッド Part6

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2014/07/08(火) 19:30:19.51ID:J+zVqUil
ゲーム製作におけるC/C++全般に関するスレです。

元スレ
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/
0316名前は開発中のものです。2014/10/11(土) 14:31:25.31ID:yKOIaJY/
>>315
その攻撃にリスト持たせて相手の参照保持するとか
0317名前は開発中のものです。2014/10/11(土) 15:52:45.46ID:VK47TOFi
・何らかの方法で攻撃されたことを覚えておく(>315>316の手法)
・無敵時間を作る
・触れてる間ずっと減るという前提で威力を調節する

このへんか?
0318名前は開発中のものです。2014/10/11(土) 19:19:54.03ID:ftnQTcbt
触れてる間中判定のたびにダメージ食らうって仕様自体に問題ありそうな気するので
一回ダメージを主人公に与えた敵キャラは主人公に再ダメージ与えるには一定時間かかるようにするとか
連続攻撃の時だけインターバル無効にして
0319名前は開発中のものです。2014/10/12(日) 05:36:54.90ID:H/GXxxmg
みんなプログラミングソフト何使ってんの?
あのクッソ高いVisualStudioProfessional2013とか使ってんの?
0320名前は開発中のものです。2014/10/12(日) 05:45:57.20ID:EhXtC2jR
クッソ無料な Express です。
0321名前は開発中のものです。2014/10/12(日) 07:49:44.05ID:J+1JVnSp
インテルParallel Studio XE 2015が欲しいな……
いや、使ってるのはVisual Studio Professional 2012だ
数年おきに買い換えてるけどね
0322名前は開発中のものです。2014/10/12(日) 07:55:19.92ID:/BVTES1n
professionalってフリーのと比べて何が違うの
0323名前は開発中のものです。2014/10/12(日) 08:01:53.97ID:J+1JVnSp
・MFCが使える
・Windows8アプリを作れる
後、何があったかな?まあ、買う意味はあまり無かったが
0324名前は開発中のものです。2014/10/12(日) 08:05:24.48ID:J+1JVnSp
・個人情報の入力が不要
というのがあったか
0325名前は開発中のものです。2014/10/12(日) 08:23:20.45ID:lmLFkKE0
アドイン使えるのが最大の違い棚、無償のアドインですら便利なの多い
Intel コンパイラもアドインとして実装だし

アプリ作るのにMFCよりATLがついてるのとリソースエディタがあるのが楽

ゲーム向けといえばシェーダデバッガが使える。Pixは使えない環境が増えたから
0326名前は開発中のものです。2014/10/12(日) 08:29:03.38ID:5ggxpAbS
商業利用
0327名前は開発中のものです。2014/10/12(日) 08:38:04.82ID:J+1JVnSp
Visual Studioのアドインってどんなのがあるの?
検索しても概念しか出てこないんだが
0328名前は開発中のものです。2014/10/12(日) 08:47:31.90ID:M/9KBN8Z
ttp://www.visualstudio.com/ja-jp/products/visual-studio-express-vs.aspx

商業利用は可能らしい
0329名前は開発中のものです。2014/10/12(日) 10:27:41.59ID:SHzxfoNm
2010proと2013expressだったらどっちの方が良い?
0330名前は開発中のものです。2014/10/12(日) 11:20:36.06ID:xlzIAwTn
個人的には、グラフィックス診断機能があるという一点だけでも
VisualStudioのProfessionalを使う意味があると感じている
DirectXを直接叩かない人には恩恵は殆どないかもしれないが
0331名前は開発中のものです。2014/10/12(日) 12:00:27.61ID:dKaNtW9R
個人的にはEclipse CDTのほうが使いやすい
比べてるのVS2010だけどnamespaceのごとにフォルダ作るのとかめんどくさくない?
0332名前は開発中のものです。2014/10/12(日) 21:20:23.78ID:Xey/qQ/1
俺が使ってるアドインはQtとNSightかな
0333名前は開発中のものです。2014/10/12(日) 23:04:27.97ID:H/GXxxmg
質問ばっかで悪いが
Express2013で実行ファイルのアイコンって変えられないのか?
0334名前は開発中のものです。2014/10/12(日) 23:06:08.28ID:fyt7rxnY
アイコンって変えら
0335名前は開発中のものです。2014/10/12(日) 23:17:56.44ID:V7vL1J09
2010は変えられたけど2013は知らない
0336名前は開発中のものです。2014/10/13(月) 00:33:49.65ID:hzHBieoQ
Express はしらんが Professional だと
表示→その他のウィンドウ→リソースビュー→該当アイコン
0337名前は開発中のものです。2014/10/13(月) 01:34:31.59ID:uF6f/HdY
VS使ってない俺でも >>333 んなわけねーだろと答えるわ
0338名前は開発中のものです。2014/10/13(月) 12:10:48.20ID:OHHj8O/3
if文でNULLチェックと同時にメンバ関数呼び出すのってぬるぽされる?
if(hoge != NULL && hoge->a == 1)
0339名前は開発中のものです。2014/10/13(月) 12:30:34.27ID:rKI73evO
マルチならマルチってきちんと言いなさい
0340名前は開発中のものです。2014/10/13(月) 13:18:53.44ID:X0f4tC8k
左から判定してfalseがあった時点で後の判定はしないし大丈夫だと思うけど
ってかそれぐらい自分で適当にテストすればいいんじゃ
0341名前は開発中のものです。2014/10/13(月) 14:58:01.00ID:Qf2MnFbB
その行以外にメンバ関数呼び出さないなら良いけど
不具合の原因になるよ
0342名前は開発中のものです。2014/10/13(月) 15:12:08.33ID:rsHrWC8o
他人が書いた無頓着なコード、神経質なコード

どちらを読んでも目眩がする。
0343名前は開発中のものです。2014/10/13(月) 15:49:22.33ID:Fnhb7LNv
自分以外のコードなんて読めないからどれも同じ。
0344名前は開発中のものです。2014/10/13(月) 16:36:57.29ID:hzHBieoQ
>>338
知り合いの言語仕様にやたら詳しい人がこういうコード書いてたから、今は大丈夫なんだろうと思うが
昔は、式の中がどういう順で評価されるかはコンパイラ依存だったはずなので、こういうコードは NG だった
自分は不安なので2段階に分けてる
0345名前は開発中のものです。2014/10/13(月) 16:48:29.25ID:rsHrWC8o
まだ初期化されてないかも知れないコードを呼び出すコンテキストってどんなの?
0346名前は開発中のものです。2014/10/13(月) 17:11:00.07ID:kMnfNib9
論理演算子の評価順は決まっててかつ真偽が確定した時点で評価をやめる
だから、>>338の文は言語仕様的には問題ないよ
0347名前は開発中のものです。2014/10/13(月) 17:16:52.97ID:obVPXN/U
いわゆる短絡評価
0348名前は開発中のものです。2014/10/14(火) 03:20:21.89ID:EcN5Ngh+
>>345
ちょくちょく出てこない?
安全に使いたいとか。
03493482014/10/14(火) 03:33:56.66ID:EcN5Ngh+
ちょっと自分のレスが不親切だと感じたので、具体例を挙げてみる。
あんまり的確な例とは言えないかも。申し訳ない。

例えば単純なゲームプログラムで、Enemyクラスを用意し、これとプレイヤーキャラの当たり判定をしたいとする。
当たり判定を行って、接触してないと判定されたらミス処理はスルー。
また当然ながら、敵データがまだ生成されてない(nullptr)なら、当たり判定を行うまでもなくミス処理はスルー。

こんな感じのときに>338は使えると思う。
もちろん、最初に全部生成してからフラグで管理しろよとか、リストで管理しろよとか、他にも方法はあるだろうけど。
0350名前は開発中のものです。2014/10/15(水) 11:58:17.17ID:KHlvqLu2
3DゲームでNPCに話しかけるプログラムを組みたいんだけど、話しかける側か話しかけられる側かどっちでどういうプログラムを組めばいいんだろう?
こういうの参考サイトに載ってなくて…
0351名前は開発中のものです。2014/10/15(水) 14:43:08.97ID:/0utetRg
シンプルなものなら、npc->getText() で個々のNPCのテキストを拾えるようにして
チャットウィンドウに投げるなり、吹き出しクラスを生成するなり…かなあ?

それとも、2Dゲームだと出来るけど、3Dゲームだと出来ない問題ってこと?
0352名前は開発中のものです。2014/10/16(木) 00:04:46.56ID:6yN2mL4I
最終的なパフォーマンスは描画fpsで評価するんだけど、
改善したい場合、どこがボトルネックになってるかを知る必要があるじゃない?
これを視覚的に確認する方法ってないのかな?
GPUViewってのがあったみたいだけど、今は入手できない?
0353名前は開発中のものです。2014/10/16(木) 01:44:49.63ID:RD+zBY34
>>352
GPUのオーバーヘッドを調べるならVisualStudio2012以降のグラフィックステバッグか、
VisualStudioアドオンのnVidiaNSight
あとDirectXSDKについてくるPIXとか
0354名前は開発中のものです。2014/10/16(木) 14:07:15.58ID:QS36hJY2
同じレンダリングステートで描画できる物は1つにまとめて描画した方が速い
まとめられるのは2D描画だけだと思うけど
0355名前は開発中のものです。2014/10/16(木) 14:11:40.09ID:iU5kylbT
は?意味わからない
0356名前は開発中のものです。2014/10/16(木) 15:57:05.99ID:XA7dLBCP
UnityVSはProじゃないと使えないのか(´・ω・`)
03573522014/10/16(木) 23:15:25.79ID:6yN2mL4I
>>353
やはり、そのあたりですかね。

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:mNWrvpmf
一応、VS2013Proのグラフィックス診断だと
DrawCall単位で何マイクロ秒かかってるかってのを測定して
CSVかXMLでエクスポートすることはできるみたい
03593522014/10/17(金) 02:07:27.36ID:1FCA9thd
>>358
おお、それはなかなか良い機能!
それを活用かなぁ。
0360名前は開発中のものです。2014/10/17(金) 10:58:36.38ID:i0zyuJTB
>>356
おう、諦めな
0361名前は開発中のものです。2014/10/17(金) 22:20:59.73ID:t1QiiFRy
>>356
cocos2d-xやろうぜ(´・ω・`)
0362名前は開発中のものです。2014/10/19(日) 21:58:12.45ID:A4TBNuX7
ちょうど今cocos2d-xでなんかスマホゲーム作ろうと思ってる
プログラミングよりストア登録とか素材作りでつみそう
03633522014/10/19(日) 22:56:32.89ID:Me3iytM1
http://adruab.net/wp-images/GDC14_infamous_second_son_engine_postmortem.pdf

このスライドの33枚目にあるようなタスク所要時間の視覚化機能を実装したいなぁ。
GPUの処理時間とか、どうやって計測するんだよ!w
0364名前は開発中のものです。2014/10/20(月) 06:37:43.13ID:Vt4+cJIA
なんか最近、スレ違いのレスが多いな
0365名前は開発中のものです。2014/10/20(月) 11:09:09.21ID:YjayBuJo
素材作りで積むのはゲーム制作しようとプログラミング学んできた人間にはよくある話
3Dモデルや絵かける方がよっぽどゲーム作れるぞ
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:mkykchgR
効果音ってどうしてる?
0370名前は開発中のものです。2014/10/20(月) 13:17:49.07ID:b7HsFQvV
大半をフリーで補いつつ、ピンポイントで有料素材
0371名前は開発中のものです。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:RcYiFGCh
CとC++の話だけに限定するならスレ自体要らんしな
0374名前は開発中のものです。2014/10/20(月) 14:35:40.06ID:xrex0yYU
ま話題もあんま無いしな
0375名前は開発中のものです。2014/10/20(月) 18:54:24.39ID:+9Jsm3nb
Unityとかの全く無関係な話が出なけりゃ、それでいい
0376名前は開発中のものです。2014/10/20(月) 19:20:29.41ID:+9Jsm3nb
>>331
namespaceごとにファイルを作っても全く問題はないが?
0377名前は開発中のものです。2014/10/20(月) 20:05:13.07ID:k9NKmLW6
>>375
昔Unityの話題だしてごめんな
0378名前は開発中のものです。2014/10/20(月) 20:59:37.69ID:mkykchgR
スレ違いのレスどころかレス自体ほとんどないじゃん
100レス消費するのに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:crBxYzk6
なんとなくム板住人っぽい
0382名前は開発中のものです。2014/10/20(月) 22:07:06.42ID:5MyCaHfJ
服や髪の毛を風でヒラヒラさせるくらいなら、
物理エンジン使うの大げさかな?
C++でスクラッチで実装してる人いる?
0383名前は開発中のものです。2014/10/20(月) 22:49:22.88ID:T47b68DN
11月号の日経ソフトウェアに
「効果音」「BGM」「歌」はこう作る(Cubase/VOCALOIDで)
音だってプログラミング!
ってな記事があるよ
12月号が10/24発売だからチェックするなら早めにな
0384名前は開発中のものです。2014/10/21(火) 00:05:57.07ID:rqDahQkS
>>382
モーションとかで設定すんのきついからエンジンでいいんじゃ
03853822014/10/21(火) 00:10:52.73ID:CEedc/zF
>>384
たしかに。
パフォーマンスもエンジンのほうが良さそうだし、
簡単なことでも、下手に自分で組むよりイイかも。
コリジョン全般もやらせられるし。
ありがとう、エンジン使う方向でいくわ。
0386名前は開発中のものです。2014/10/21(火) 00:35:00.20ID:DPj+H0co
初めてOOPしてるライブラリ使ったけど楽しいな
0387名前は開発中のものです。2014/10/21(火) 22:05:55.64ID:zLum7v8j
>>386
OGREかな?
0388名前は開発中のものです。2014/10/22(水) 19:05:01.43ID:mUYRFHNV
アクションゲームのバフというか、状態異常ってどうやって処理してる?
バフがつくキャラクタークラスに「〜のバフがあったら〜」という処理を記述するのが簡単なんだろうけど、
バフの数だけキャラクタークラスの処理が増えるのってなんか変だし、
キャラクタークラスが行動しようとするたびにバフ一つ一つにチェックかけるのか・・・
0389名前は開発中のものです。2014/10/22(水) 19:22:28.97ID:1itouT9H
>>388
武器毎にキャラクタークラスの処理増えてるわけじゃないだろ?
それと同じだよ
0390名前は開発中のものです。2014/10/22(水) 20:23:54.50ID:WiWK8TWz
バフってどこで流行ってる言葉なん初めて聞いたんだが
0391名前は開発中のものです。2014/10/22(水) 20:26:43.81ID:eqXGTzBz
もう十年以上前から、MMORPGで使ってたよ。
ステータスを一時的にパワーアップするのをバフ、
逆にパワーダウンするのをデバフって。
0392名前は開発中のものです。2014/10/22(水) 20:36:40.39ID:T1nolpti
最近はMMO流行ってないからなあ
0393名前は開発中のものです。2014/10/22(水) 21:44:48.22ID:hFcfDOrV
MMOからの輸入だと思うけど、ここ数年はMMO以外でも結構聞くなあ
0394名前は開発中のものです。2014/10/22(水) 22:31:22.09ID:U9EexPEj
>>389
モンハンとか武器ごとに増えてない?

最近は10秒以内に他のデバフを食らわないと即死するデバフとか、特定の属性の敵に攻撃力2倍とか、3秒に一回キャラクターの行動を中断する麻痺デバフみたいな、
単純なステータス操作じゃないものが多くて、そういうの視野に入れて作ろうかなと

そういや構造って、
ゲーム起動時にstatic変数としてバフのインスタンスを持っておいて、キャラクターのポインタとバフの残り時間を与えれば結果を返してくれるようにするのか、
キャラクターにバフがついた瞬間インスタンス化して、バフが消えた瞬間deleteするようなクラスを作るか
どっちがいいんですか?
0395名前は開発中のものです。2014/10/23(木) 08:02:34.39ID:I+oJL2c7
そりゃステートパターンよ
0396名前は開発中のものです。2014/10/23(木) 08:15:05.80ID:s5Cm5p+v
【毒】と【放心】と【催淫】が同じキャラにかかった場合とか考えると
クラスに自殺機能的なものを持たせつつ、キャラごとにリストで持っておきたいなあ。

あー、でもフィールド自体にスリップダメージ効果、みたいなパターンもあるか。
0397名前は開発中のものです。2014/10/23(木) 09:46:02.30ID:VAxuJujr
それはバフの自殺条件に「指定範囲から外れた時に消滅する」って条件が出来ればおkなはず
そうするとバフが欲しい情報はマップ上にあるオブジェクトのリストと、キャラクターのポインタと、時間かな
ゲームの仕様にもよるけど大体この3つ安定
0398名前は開発中のものです。2014/10/23(木) 09:46:44.49ID:VAxuJujr
>>395
ステートパターンだと一つしか状態異常かからなくない?
ポケモンなら一つだけど
0399名前は開発中のものです。2014/10/23(木) 10:02:49.79ID:s+t98wQk
フィールドのスリップダメージは状態異常じゃなくて衝突イベントで処理すれば
0400名前は開発中のものです。2014/10/23(木) 13:23:41.02ID:noQ9gUlZ
>>394
そういうの作るほうは大変だけどユーザにウケるか、手間に見合うかというと、う〜ん
かえってわかりにくいと敬遠されかねない

その点討鬼伝のミタマはうまくやったなと思う いろいろな意味でw
0401名前は開発中のものです。2014/10/23(木) 17:30:00.96ID:I+oJL2c7
>>398
ステートパターン+配列でいいじゃん?
ゲームの仕様側を単純化しないと実装の複雑化はさけられないぞ

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:jy1RY2Vz
ステートはしぬほど楽
0405名前は開発中のものです。2014/10/24(金) 20:11:21.11ID:ddPt2zGi
イベントで処理出来ないかな
スリップダメージならイベント処理時にダメージ&継続判定して再度イベント投げるみたいな
オーバーヘッドでかそうだけど汎用性はある気がする
0406名前は開発中のものです。2014/10/24(金) 22:30:58.39ID:LvhDFXW3
>>405
オーバーヘッドとかそう言うのはプロファイラで測ってから言いなさいな

普通、負荷がかかるのはもっと重い処理の部分でしょ
0407名前は開発中のものです。2014/10/25(土) 03:42:15.96ID:fVKGIfTf
オーバーヘッドは本来の処理とは関係ない所で発生する計算コストの事で相対的な話でしょ
0408名前は開発中のものです。2014/10/25(土) 07:52:10.14ID:NLLH5JYR
オーバーヘッドキックなら知ってるぞ
0409名前は開発中のものです。2014/10/26(日) 16:26:16.62ID:RQv84B/3
>>407
だからそのオーバーヘッドが大きいかどうかはそこがネックになってるかどうかで判断しろって言ってるんでしょ
0410名前は開発中のものです。2014/10/26(日) 17:41:30.80ID:dULlRr0t
>>408
だからそれがオーバーヘッドキックかどうかはそれがキックになってるかどうかで判断しろって言ってるんでしょ
0411名前は開発中のものです。2014/10/26(日) 18:19:06.69ID:Z5NRlQnX
せやな
0412名前は開発中のものです。2014/10/26(日) 19:50:32.98ID:YANUPprV
知ったような口を利くんじゃない
0413名前は開発中のものです。2014/10/26(日) 19:56:46.37ID:eW7jlsGh
微妙に会話が噛み合ってない感じするな
0414名前は開発中のものです。2014/10/26(日) 22:10:45.35ID:PTfFlHbF
相対的なコストの話だって言ってるのに全体で判断しろっておかしいでしょ
0415名前は開発中のものです。2014/10/26(日) 22:20:48.23ID:Wgbd5x3C
ボトルネックって言うけどさ、瓶はドボドボ出ない様にわざと狭く作ってあるんだよな?
■ このスレッドは過去ログ倉庫に格納されています