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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001名前は開発中のものです。2014/01/16(木) 00:00:31.27ID:w6WW3hAo
ゲーム製作における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/
0911名前は開発中のものです。2014/06/19(木) 00:40:27.02ID:D4AdegVY
DirectXは何度か改修してるからな10の時にも一気に整理されたし
12でまた同じような事するんだろうな

(・・・・もう覚えるの面倒です)
0912名前は開発中のものです。2014/06/19(木) 01:05:20.37ID:6/D2oQWW
>>910
そこに書いてあることを理由にクソと言い切るのは
ゲーム製作を始める初心者に誤解を招くだけ
0913名前は開発中のものです。2014/06/19(木) 01:29:04.41ID:lO1Eej6E
>>912
OpenGLも選択肢にはなるのは分かるけど……
なによりもオブジェクト指向な書き方ができないのがツラい
技術発表はOpenGLでの実装が多いから先端の技術に興味ある人はいいんだろうけど
0914名前は開発中のものです。2014/06/19(木) 08:14:04.04ID:31au4KtM
>>907
Ogreが情報量少ないて何の冗談だ?将来性は今も開発進んでてIrrlichtよりマシだし
SharpDXとかMonoGameてDirextX9相当だし今時のシェーダーが組めない
0915名前は開発中のものです。2014/06/19(木) 08:27:50.13ID:BMdZ3LEO
SharpDXがDirectX9相当とか
お前こそ何言ってんだ
0916名前は開発中のものです。2014/06/19(木) 08:49:07.49ID:6/D2oQWW
>>913
自分でステータス管理、バッファ管理その他諸々の処理書けばオブジェクト指向で書けるじゃん
DirectXでもAPI直叩きは気持ち悪くて同じような処理書くことになるし
0917名前は開発中のものです。2014/06/19(木) 09:03:30.40ID:31au4KtM
すまん本当に何言ってたんだろう、SharpDX使った事あるのになんかDXライブラリと勘違いしてたかもしれない
0918名前は開発中のものです。2014/06/19(木) 10:23:59.18ID:88xd9jEp
そもそもレイヤの違うもの並べてどうするのと
0919名前は開発中のものです。2014/06/19(木) 11:41:58.64ID:ioG87yMm
DirectXは手続きがめんどくさくてラップすることはあるけど
OpenGLはラップしてると何故か気持ち悪くなる
0920名前は開発中のものです。2014/06/19(木) 15:49:23.76ID:5ywlWImO
マリオカートみたいなの作るとして
キャラクターごとにクラス作るか、キャラクターというクラス作ってパラメーターとかモデルを登録する方式にするか迷うんだけどどうしますかね
0921名前は開発中のものです。2014/06/19(木) 16:22:56.31ID:OzKIEc04
後者でしょ
0922名前は開発中のものです。2014/06/19(木) 19:46:32.64ID:OSALf3vF
>>920
>>921が言うようにキャラクタークラス作ってパラメーターやモデルを登録する方式が良い

ただ、キャラクタークラスを継承したキャラクター毎のクラスが在ってもいいとは思う
0923名前は開発中のものです。2014/06/19(木) 19:56:52.61ID:c9nisOjB
キャラクター毎に全く挙動が変わるならそれぞれクラス作るのもありだと思う
0924名前は開発中のものです。2014/06/21(土) 00:11:03.73ID:tuXXF6Tj
問題は、ゲーム時ループ中などの速さが要求される箇所で、
個体複雑性に起因する条件分岐が増えるのをどう回避するか、か。

末端(=キャラ個体)に複雑さを集約するか、
流れ制御側(=タスクシステム、メインループ)に複雑さを押し付けるかだな
どちらも楽しそうだな
0925名前は開発中のものです。2014/06/21(土) 00:30:22.54ID:EKUWcmyO
その程度の分岐で処理落ちが起きたりせんよ
ロジックとして分かりやすく簡潔にかける方を選んどけ

速さを求めるのは衝突判定とか描画部分だけで良い
0926名前は開発中のものです。2014/06/21(土) 07:10:24.87ID:5/Sd9UCE
最近、フィルレートにばっかり処理の比重を取られて、CPUがかなり遊んでいる状態。
0927名前は開発中のものです。2014/06/21(土) 11:22:51.25ID:iamZ/Ql4
>>924
クラスに細分化した所で関数呼び出しがvtable一個分の呼び出しロスぐらいで
分岐は生成時位しかしなくない?
状況で変わるようなのはステートパターンだろうし
挙動だけ別クラスでキャラクタークラスに差し込みしても同じ程度だろう
0928名前は開発中のものです。2014/06/21(土) 15:35:14.32ID:29GFkBgY
ゲームループ内で毎回どのキャラか判定するつもりなのかもしれない
0929名前は開発中のものです。2014/06/21(土) 18:38:49.94ID:ATU6QwSf
無能な奴ほど、最適化しても誤差に吸収されてしまいそうな部分にこだわるんだよね。
0930名前は開発中のものです。2014/06/21(土) 20:19:11.38ID:tuXXF6Tj
「無能な奴」でない奴の作品を検証させろよ^^
0931名前は開発中のものです。2014/06/22(日) 01:29:43.57ID:0HERkbyf
>>929
「早すぎる最適化は諸悪の根源である」ってやつだね。
そういうのは遅さが気になってから手をつける部分なのにね。
0932名前は開発中のものです。2014/06/22(日) 08:34:06.04ID:csKh83iE
コードの最適化は最後でいいけど、設計の最適化はコーディング前にやっとかないと修正で地獄見るぞ
0933名前は開発中のものです。2014/06/22(日) 12:42:14.46ID:EwYApkfm
RPGの技ってどうやってるの?
やっぱりラムダ式をmapに入れてるの?
09344212014/06/22(日) 17:30:21.94ID:So0IxHSH
スプライトアニメーションのアルゴリズムを作っているのですが、
拡大・角度・移動の情報を格納した構造体を3次元配列で保持したいです。
当初は
SAnimationNode animations[MOTION_NUM_SIZE][FRAME_NUM_SIZE][IMAGE_NUM_SIZE];
としていたのですが、よく考えたらキャラクターごとに画像の枚数やアニメーションのフレーム数が違いました
動的配列の部分をvector型にしようとしたら
vector< vector<SAnimationNode> > animations[MOTION_NUM_SIZE];
となったんですが、これは
SAnimationNode animations[FRAME_NUM_SIZE][IMAGE_NUM_SIZE][MOTION_NUM_SIZE];
こういう意味になってしまわないでしょうか?
0935名前は開発中のものです。2014/06/22(日) 18:17:04.62ID:6teQhgwq
>>934
vector< vector<SAnimationNode> > animations[MOTION_NUM_SIZE];
 ↓
animations[MOTION_NUM_SIZE][FRAME_NUM_SIZE][IMAGE_NUM_SIZE]
となるんじゃない?
0936名前は開発中のものです。2014/06/24(火) 13:14:27.79ID:Uog3JQdr
いまいち文字コードについてがわからん。
Windows上でUTF8,UTF16LE,CP932を相互変換したいんだけど、
マルチバイト?ワイド文字?で混乱
0937名前は開発中のものです。2014/06/24(火) 13:33:03.26ID:IbY2i7BW
マルチバイト、ワイド文字と、文字コードは別。
windowsでは単に、8ビット単位と16ビット単位で扱うかどうかの差。
0938名前は開発中のものです。2014/06/24(火) 13:58:16.35ID:Uog3JQdr
>>937
マルチバイト文字→ShiftJis,UTF8,EUCJP
ワイド文字→UTF16,UCS-2
でいいの?
0939名前は開発中のものです。2014/06/24(火) 14:27:45.13ID:GPkpIMQJ
字義的には、一文字をあらわすのに複数の可変長のバイトをつかうのがマルチバイト
同じサイズのワード値をつかうのがワイド文字
ワイド文字は固定長なのでプログラムが
単純になるので楽、というのが本来の想定

windows は歴史的に16bitのユニコード
(UCS2)を内部コード兼ワイド文字としてつかってたんだけど
ユニコードが拡張されて、16bit 可変長(UTF16)になってしまい、
ワイド文字自体は拡張せずそのまま16bitとしたのでの「ワイド文字」を使ってても
マルチバイトと同じことする必要があってプログラム上のメリットは薄れてしまってます

ワイド文字は環境固有の内部データで
統一仕様が無いので、外部とのやりとりは
かならずマルチバイト文字列を使うのが原則
Unix系だとワイド文字は普通32bitです

そういう意味では、そこにでてる名前は全部規格で仕様決まってるのでマルチバイトです。たまたま固定長なだけ

Win環境に限ればAPIで「ワイド文字」
というとUTF16のことで、変換関数で
指定のマルチバイトと変換できます。
UCS2は可変長部分をのぞけばUTF16と合致します

他のOSではそうとは限らないので注意が必要。
マルチバイトのファイルは共有できるけど、ワイド文字はあくまでプログラム内部でつかうもの。
完全に環境依存しないためには、
ポータブルな文字コード変換ライブラリの準備と、
ワイド文字仕様を自分で決めて対応する必要があります
0940名前は開発中のものです。2014/06/24(火) 14:34:10.01ID:GPkpIMQJ
長々かいちゃつたけど、ワイド文字は、その環境で使える全ての文字を含むことになってるので

指定のマルチバイト→ワイド文字→指定のマルチバイト

とすれば文字コード変換できることになります
0941名前は開発中のものです。2014/06/24(火) 16:00:12.61ID:F5vPhfmG
マルチプラットフォーム前提のゲームの場合、
文字列はwstring型でUTF16で格納しておくのが最善策かな?
0942名前は開発中のものです。2014/06/24(火) 16:03:01.31ID:IbY2i7BW
マルチプラットフォームだったらUTF8では。
UTF16を使ってるのはWindowsくらいで。
Windowsを使ってるならUTF16でいい。
0943名前は開発中のものです。2014/06/25(水) 03:34:26.90ID:tRPy5vnQ
C++でUTF8は面倒だ
0944名前は開発中のものです。2014/06/25(水) 07:19:47.27ID:i6nom8bR
簡単に文字コード変換出来るライブラリはないのかね
ググった感じだとICUってのが良さそうだけど、ライセンスがよくわからん
誰か要約してくれ
http://source.icu-project.org/repos/icu/icu/trunk/license.html
0945名前は開発中のものです。2014/06/25(水) 23:42:32.69ID:sN1oXLi0
Unityが便利なのはわかるんだけど、プログラミングが好きだから
全部コード書いてるって人は少なからずいる・・・よね・・・
0946名前は開発中のものです。2014/06/26(木) 00:08:17.74ID:2eOLOr66
unity使ったことないけど凝ったことやろうとすると結局コード書かないといけないって話は聞いた
0947名前は開発中のものです。2014/06/26(木) 00:12:12.19ID:G3Ghr1l9
>>945
俺もそれしたいんだけど重くなりそうじゃないか?
もともと遅いのに素材の最適化効かないし
0948名前は開発中のものです。2014/06/26(木) 01:31:37.50ID:KO+8FPHu
Unityってよく知らんのだがコード書かずにゲーム作れるのか?
すげぇな。
0949名前は開発中のものです。2014/06/26(木) 04:40:53.24ID:BP57VnwG
C#とかでコード書かんと
0950名前は開発中のものです。2014/06/26(木) 05:42:45.22ID:AmOKqMVz
RPGツクールならコード書かなくてもゲーム作れるね
0951名前は開発中のものです。2014/06/26(木) 07:52:49.33ID:vdSX1b1y
>>946
まぁ凝ったことするなら結局自分で実装しなきゃいけないけど
凝らないところはぺいぺいってできるよ

>>947
処理速度とかは自分ができる範囲でいいかな
商用じゃないなら製作者が好きなようにすればいいと思う
0952名前は開発中のものです。2014/06/26(木) 08:15:53.02ID:rGvRjoRE
いつからゲームはツクールみたいなツールで作るようになってしもうたん
もはやプログラマーじゃないじゃん
コードを書いてなんぼだろ
マウスでぽちぽち画面操作してるだけでゲームができてしまうなんて許されんだろこれは
0953名前は開発中のものです。2014/06/26(木) 08:29:15.09ID:RxAyclSt
マシンの性能が昔とは比較にならないので、カリカリにチューニングするより汎用エンジンで生産性をあげた方がコストかかんないし品質も上げやすいだろうね
限界までパフォーマンス突き詰めるなら自分で書くしかないだろうけど、半端なスキルで自作しても汎用エンジンより低性能になるだけだろうな…
0954名前は開発中のものです。2014/06/26(木) 08:32:54.24ID:a944jii7
グラフィカルになってもプログラマーの
やるべき仕事の本質は変わらんべ

コード書く密度量が減っても
そのぶん規模が大きくなってる

昔からその繰り返しじゃん?
0955名前は開発中のものです。2014/06/26(木) 10:31:17.39ID:HDqbSuB3
>>952
企画書があってこそコード書いてなんぼな状況になる
しかしプログラマの多くは企画書が書けないので、簡素なものに頼ってる
0956名前は開発中のものです。2014/06/26(木) 10:43:16.51ID:ROLnmccF
スレチなのでそろそろ終わったほうがいいと思うが、

unityの無料版は非同期ロードが出来ないみたいだね。個人的にはここが致命的かな。
だからといって有料版買おうと思うほど、高度にグラフィカルなゲーム作ってる訳でもないし。

要件と費用対効果がいい感じになるのなら便利なんだろうけどな。
0957名前は開発中のものです。2014/06/26(木) 10:52:26.33ID:KO+8FPHu
ゲームが作れるならコードだろうがツールだろうが構わないと思うが、
ツールは固有の使い方を覚えないといけないから
物覚えの悪い俺には不向きだ……。

とはいえ最近はUnity使えるとそれだけで有利なんだよなぁ……
0958名前は開発中のものです。2014/06/26(木) 15:00:55.14ID:BP57VnwG
最近下ろしてみたらスプライトエディタまで実装してあるし
なんかすごい事になってるな
0959名前は開発中のものです。2014/06/26(木) 22:20:03.49ID:vxlMCzXq
>>944
流し読みした限りでは、ヒゲモジャ教祖のコピーレフトじゃないほうの
つまり緩いほうのフリーソフトのライセンスの典型的な文言かと。
ちょっと自信なかったのでFAQのほうも読んでみました

http://userguide.icu-project.org/icufaq
の「How is the ICU licensed?」によれば

>a simple, permissive non-copyleft free software license,
>compatible with the GNU GPL.
>The ICU license is identical to the version of the X license

という事なので、Xライセンス(MITライセンス)と同じみたいですね
0960名前は開発中のものです。2014/06/26(木) 22:44:18.33ID:LTYq6LHZ
>>959
おお、要約サンクス
MITと同じって事は著作権表示しとけば好きに使っていいのか
ちょっと触ってみようかな
0961名前は開発中のものです。2014/06/27(金) 00:21:52.45ID:ca0yLnFP
ICUはすごいけど、でかすぎて大抵の用途に不向きよ
0962名前は開発中のものです。2014/06/27(金) 04:25:38.40ID:3FddD6R4
絶望
0963名前は開発中のものです。2014/06/28(土) 01:52:31.46ID:Qml0dYMK
ゲーム重視の会社・・・Unityが出来ればいい
プログラミング重視の会社・・・オブジェクト指向が出来ればいい
古さ重視の会社・・・C言語とUNIXが出来ればいい

だったらどれが一番多い?
0964名前は開発中のものです。2014/06/28(土) 01:53:20.27ID:/Aw0cnXs
3つ×(バツ)を付けて
ちょっぴり大人さ
0965名前は開発中のものです。2014/06/28(土) 01:59:32.24ID:qVQSlIJD
左と右がまったく合っていないので答えられません。
0966名前は開発中のものです。2014/06/28(土) 09:07:15.04ID:fYNbwyWm
エンジンあれば簡単にゲームできると勘違いしている会社・・・Unityが出来ればいい
ツールはつくれても面白いゲームは作れない会社・・・オブジェクト指向が出来ればいい
時代の流れに完全に取り残されてる会社・・・C言語とUNIXが出来ればいい

こうかな…さすがにCとUNIXだけってゲーム会社はもうないかな
0967名前は開発中のものです。2014/06/28(土) 13:14:02.98ID:pkvK53ex
>>960
私はpocoライブラリを使ってる都合で文字コード変換はしますけど
UTF-16⇔UTF-8のみなのでMSのAPIで済ませてます。簡便ですので
0968名前は開発中のものです。2014/06/28(土) 13:30:50.89ID:UFXBTkrK
Unicode相互変換ってC++11で標準ライブラリに入らなかったっけ?
使い方はよく分からんけど
0969名前は開発中のものです。2014/06/29(日) 13:10:50.88ID:Yl1HyccO
最近のゲーム会社って偉そうだよね
楽して儲かるゲーム作っといてそれを言うなよって感じ・・・
0970名前は開発中のものです。2014/06/29(日) 15:05:01.46ID:OwKWjPKS
ttp://www.nicovideo.jp/watch/sm23811893
大爆笑
0971名前は開発中のものです。2014/07/01(火) 19:21:53.76ID:14799agU
>>970
誰か無料のゲームエンジンの存在を教えてやれよ…
ゲームコーディングを知識ほぼ0の状態からスタートとか、挫折する未来しか見えない
0972名前は開発中のものです。2014/07/01(火) 19:24:44.84ID:2U1HTXmR
残念ながらこいつがゲーム開発しようと思い立ったのは何年も前
詳しくは月雫タクトで検索
0973名前は開発中のものです。2014/07/01(火) 21:31:57.05ID:NbePC4/B
>>972
コイツのことだろ

C/C++ゲーム製作総合スレッド Part4
http://peace.2ch.net/test/read.cgi/gamedev/1376262450/481

一時期、前スレに湧いてた「kazuki」って奴だろそいつ
0974名前は開発中のものです。2014/07/01(火) 22:44:05.97ID:bRWh4YXo
なんでそいつだと思ったの?
0975名前は開発中のものです。2014/07/01(火) 23:06:23.36ID:2U1HTXmR
やってることがいつも同じだし
0976名前は開発中のものです。2014/07/01(火) 23:09:44.15ID:2U1HTXmR

ttp://jbbs.shitaraba.net/bbs/read.cgi/game/49104/1355540267/l50
0977名前は開発中のものです。2014/07/02(水) 00:54:00.05ID:hTKfgYQb
ttp://nicovideo.jp/watch/sm22798006
こいつはすごいの?
0978名前は開発中のものです。2014/07/03(木) 13:20:31.93ID:bmzuMbOZ
Graphics Diagnostics in Visual Studio 2013 Update 3 RC
http://blogs.msdn.com/b/vcblog/archive/2014/07/02/graphics-diagnostics-in-visual-studio-2013-update-3-rc.aspx
0979名前は開発中のものです。2014/07/05(土) 21:27:49.06ID:4rWl8Euu
>>970
一生掛けてもテトリスすら作れなさそう
0980名前は開発中のものです。2014/07/05(土) 22:33:05.40ID:mMkxAecd
JAVAの職業訓練が終わったのかな。
0981名前は開発中のものです。2014/07/05(土) 22:37:30.46ID:VPCAfWy5
>>970 は茨の道を行ってると思うがバカにはできないだろ
0982名前は開発中のものです。2014/07/05(土) 23:15:37.36ID:CJTkk+Ap
行ってるならね。
もし他の人が言ってるようにkazukiなら行くいく詐欺で実際には行ってないことになる。
0983名前は開発中のものです。2014/07/06(日) 00:52:20.23ID:crYRPTpb
0984名前は開発中のものです。2014/07/06(日) 01:25:59.86ID:LtkmUGY2
fpsのくだりが秀逸
0985名前は開発中のものです。2014/07/06(日) 09:18:10.68ID:/OKy/hLS
一応最後まで(スキップしまくりで)見たけど、なんかあまりにもアレすぎて
自己啓発セミナーか何かに見えるんだよなぁ…
0986名前は開発中のものです。2014/07/06(日) 10:10:14.99ID:/c1kpgiT
自分のモチベの為にやってるパターンでしょ。
0987名前は開発中のものです。2014/07/06(日) 13:31:10.89ID:ij3Sb7R1
そのモチベもゲーム製作より動画作って講釈垂れる方がメインのようなキガス
0988名前は開発中のものです。2014/07/06(日) 19:13:55.67ID:0XE4ySRd
よく考えたオブジェクト指向に徹したらまともにインスタンスプールとか使えなくね?
2年ぐらいずっとゲーム中にインスタンス化してたわ
0989名前は開発中のものです。2014/07/06(日) 23:36:27.31ID:aXYLrS//
現実にある問題を解決するのに最適な実装があるなら採用すればいいのであって
それをさせない、使わせない、徹底した指向などというものがあるなら、それは
単なる教条主義、カルト宗教、ゲーム作れないアタマでっかちの屁理屈。無価値
0990名前は開発中のものです。2014/07/07(月) 22:37:43.59ID:eo+VXBvr
プログラミングしかしないプログラマがそれを言うか?w
0991名前は開発中のものです。2014/07/07(月) 23:58:57.62ID:vAXNC/8j
ゴミグラマは所詮奴隷だからね。
威張れるのは大学まで。
大学卒業後は他人の手駒としてキリキリこき使われる運命なのだ。
0992名前は開発中のものです。2014/07/08(火) 00:07:38.81ID:5BHEJoHN
お前らすげーな
>>988-991の会話の流れが全く理解できない
0993名前は開発中のものです。2014/07/08(火) 00:21:10.51ID:4Hc5PqSd
>>988「もっと楽な方法あったわ」
>>989「頭の固いお前が悪い」
>>990「オマエモナー」
>>991「人間に戻りたいです」
0994名前は開発中のものです。2014/07/08(火) 06:37:39.35ID:ZcFfD8ry
実際の現場でプログラムしかしない要員なんてほとんどいないだろ
大概は設計から製造、テストまで一通りやらされる
プログラムだけの仕事はオフショアでやる

プログラムしかできないとかデバッグ要員にしかならん
0995名前は開発中のものです。2014/07/08(火) 13:06:36.01ID:n3Bq3v3Y
int main()
{
for(i=995;i<1000;i++)
std::cout << "埋め";
}
0996名前は開発中のものです。2014/07/08(火) 13:18:07.15ID:qjtrVyE1
戻り値を戻せ。
こんな短いプログラムでミスするな。
0997名前は開発中のものです。2014/07/08(火) 13:21:39.89ID:HOUfCYEJ
cもc++もだいぶ前からmainは戻り値省略できるような
0998名前は開発中のものです。2014/07/08(火) 13:33:31.30ID:Lr0fEuau
iの型は宣言しなくていいのん?
0999名前は開発中のものです。2014/07/08(火) 14:41:48.07ID:aAa77qni
i++って++iに最適化されるとは限らないからやめとけとどっかで見たが
どの程度真実なのかね。
1000名前は開発中のものです。2014/07/08(火) 15:06:44.25ID:M09CLZ/Z
1000
        ,〜、
 ヽ('∀`)ノ ノ_ζ
  (  ) 彡
  /ω\
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。