トップページ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/
0296名前は開発中のものです。2014/09/26(金) 15:43:11.22ID:KjwlBlc2
Win32APIなんて最初のwindow作る時ぐらいしか触らなくね?
0297名前は開発中のものです。2014/09/26(金) 16:17:40.31ID:JcYHmNqs
>>295
DXライブラリはDirectXのラッパー
初心者でも簡単にゲームを作れるように製作された
0298名前は開発中のものです。2014/09/26(金) 17:48:05.16ID:rO+kEazw
そーいやDxLibって、いわゆるBetter Cで使えるように設計されてるらしいね
0299名前は開発中のものです。2014/09/26(金) 18:04:39.11ID:9JMnzgXV
effective C++
game engine architecture
game programming gems

取り敢えず俺が読んだ本でよかったもの
最近やってないから内容ほとんど忘れたけど
0300名前は開発中のものです。2014/09/26(金) 19:01:22.83ID:bysjYWQH
ウィンドウプロシージャがけっこう曲者だった気がする
0301名前は開発中のものです。2014/09/27(土) 17:06:21.54ID:4H/ikRQa
ゲームってリリースでビルドすると、exeとリソースに分かれると思うんだけど、ゲームを公開するときに、リソースファイルを非公開にすることって出来る?
0302名前は開発中のものです。2014/09/27(土) 17:09:38.13ID:yBneoUhB
実行ファイルに組み込む
一つのファイルにアーカイブして暗号化したものを読み込む
0303名前は開発中のものです。2014/09/27(土) 22:59:20.87ID:wImin9kV
それってどうやるの?
ソリューションエクスプローラーにリソースフォルダあるけど、なんかexeのアイコンぐらいしかわからん
0304名前は開発中のものです。2014/09/27(土) 23:08:35.84ID:SGVF4lSG
フレームワークが後出しで出てくる予感
0305名前は開発中のものです。2014/10/02(木) 00:06:30.72ID:fnVH62pX
とりあえず、フラグメンテーションやそれに伴って発生するバグが予測しづらい事は何となく解りましたが、
これってグラフィックVRAMでも起きますよね?しかもメーカーによって発生頻度が変わるという。
0306名前は開発中のものです。2014/10/02(木) 12:09:22.18ID:zEULmnAZ
要素のサイズのばらつきがなければ同じ領域を使いまわせるはず
0307名前は開発中のものです。2014/10/02(木) 12:58:09.55ID:iGYHLveA
アプリからAPI通して見えるのとGPUの物理配置はCPUのと同じで違う空間にマッピングされてるから気にしなくていい
複数のアプリでVRAMを取り合った結果GPU上に実際にあるかは保証できないし
0308名前は開発中のものです。2014/10/04(土) 22:09:19.67ID:fjoq6jVy
自己解凍のインストーラってどうやって作るんだ?
0309名前は開発中のものです。2014/10/05(日) 02:33:34.79ID:V/yeiJ3y
うわ、バカが北!
0310名前は開発中のものです。2014/10/05(日) 03:23:02.94ID:ofmLJ6L4
インストーラを作るのか?
メリットを感じない。
C/C++で書くとしてもゲームじゃないから板違い。

自己解凍したいだけならググれ。
0311名前は開発中のものです。2014/10/05(日) 09:24:05.22ID:Xq3Ljg/V
>>303
これ結局どうやるの?
0312名前は開発中のものです。2014/10/05(日) 09:32:21.92ID:644ev0/v
VC++ リソース 実行ファイルに組み込む
とかでググればわかるだろ
プログラミングの前にグーグル先生の使い方覚えろよ
0313名前は開発中のものです。2014/10/05(日) 09:46:06.79ID:aV15d1fG
インストーラはVisualStudioのセットアッププロジェクトてのが使える
http://code.msdn.microsoft.com/windowsdesktop/10-4ca748ce
0314名前は開発中のものです。2014/10/05(日) 10:35:25.80ID:Y65zx5bA
好きなの使え
http://en.wikipedia.org/wiki/List_of_installation_software
0315名前は開発中のものです。2014/10/11(土) 14:23:54.11ID:W7Sb4d1k
敵を押しのけて進む「突進攻撃」を表現したいんですが、接触中常に判定しているため
触れている間、すごい勢いでHPが減ってしまいます
その攻撃は一回だけダメージを受けてあとは無視したいんですが、どういうふうに実装すればいいのかわかりません
キャラクターが直前の受けた攻撃を覚えるというのでもいいんですが、「連続攻撃」などがあるため、兼ね合い上無理です
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
そりゃステートパターンよ
■ このスレッドは過去ログ倉庫に格納されています