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/
0716名前は開発中のものです。
2014/11/21(金) 00:13:35.21ID:eEbWn5CX0717名前は開発中のものです。
2014/11/21(金) 00:21:11.37ID:7CnZSeAT人それぞれ
C++11対応してくれない環境での同等ライブラリとしてとか、
uBLAS
Geometry
Graph
など標準入りしてないけど有用なライブラリもあるし、
coroutineとかC++11以降にBoost入りしたのもある。
Boost.GeometryはMySQLに使われてたりするよ。
0718名前は開発中のものです。
2014/11/21(金) 03:19:55.68ID:K9GeSQKwC++11最高だ。
0719名前は開発中のものです。
2014/11/21(金) 07:08:46.35ID:qV4oLsfC0720名前は開発中のものです。
2014/11/21(金) 07:19:13.80ID:pFBl4fEs自分から売り込め、もしくは起業しろ、あるいは同人から始めろ
0721名前は開発中のものです。
2014/11/21(金) 08:02:03.86ID:KX4IO8pf競争率激しくて経営者もやりたいことやらせてもらえて感謝しろみたいな態度でくるから
激務薄給で使い捨てだよ
0722名前は開発中のものです。
2014/11/21(金) 08:51:37.88ID:LfVWOyzthttp://wc2014.2ch.net/recruit/
http://kanae.2ch.net/job/
http://kanae.2ch.net/prog/
質問者共々、行ってらっしゃい
0723名前は開発中のものです。
2014/11/22(土) 00:33:56.72ID:GjARED3K>マだけの人海戦術製作
それ楽しそうだね。
テクスチャ、モデリング、効果音も含めて、すべてProcedualに生成するってやつでしょ。
音楽だけは無理か。
0724名前は開発中のものです。
2014/11/22(土) 11:11:14.41ID:2kOY5/sq0725名前は開発中のものです。
2014/11/22(土) 11:27:35.29ID:UXfM8O3M音楽でもMMLのライブラリがあればプログラミングするように作曲が可能
0726名前は開発中のものです。
2014/11/22(土) 12:04:53.88ID:2kOY5/sqMabinogi Music Languageかと思ってた
0727名前は開発中のものです。
2014/11/22(土) 12:51:58.39ID:z05T//p3アイテムを実体処理するとセーブデータ改造が容易になるけどな
昔、ソーサリアンてゲームでアイテム魔法の空を飛ぶ魔法の消費MPを0にした事がある
0728名前は開発中のものです。
2014/11/22(土) 15:25:07.79ID:2kOY5/sq・リソースファイルを暗号化する
・リソースファイルが改竄されていないかハッシュ値を照合する
・メモリ上の値が書き換えられていないかチェックする
の3つでいい?他にするべきことってある?
スタンドアロンなゲームを想定してる
0729名前は開発中のものです。
2014/11/22(土) 15:28:45.59ID:4gvnFUCF0730名前は開発中のものです。
2014/11/22(土) 15:50:11.91ID:2kOY5/sqそのスタンスいいな
githubへのリンクでも添付するか
0731名前は開発中のものです。
2014/11/22(土) 16:53:28.19ID:5ZWxKn8Mオンラインの場合は別だけど
0732名前は開発中のものです。
2014/11/22(土) 17:01:09.64ID:GtITkLZ+0733名前は開発中のものです。
2014/11/22(土) 17:02:59.01ID:ycIYhRSf0734名前は開発中のものです。
2014/11/22(土) 17:31:14.63ID:2kOY5/sq実績「一度もデータを変更せずにクリア」とか
0735名前は開発中のものです。
2014/11/22(土) 18:43:56.35ID:rQjhf0Yu0736名前は開発中のものです。
2014/11/23(日) 01:04:58.19ID:4ZBc6dKCなんでそんな当たり前のことを?と変な話にしか見えない俺
っつーか、ハッシュならまずあり得ないだろうが実績ごと改造されそうだよ
0737名前は開発中のものです。
2014/11/23(日) 01:18:05.75ID:mI42wc3z0738名前は開発中のものです。
2014/11/23(日) 01:22:28.60ID:SnMKy+pN0739名前は開発中のものです。
2014/11/23(日) 11:11:41.84ID:+dJYaAUV0740名前は開発中のものです。
2014/11/23(日) 12:27:51.29ID:EqABDKyOチートされる規模まで広がるようになってから対策を考えても遅くない。
それ以前にチート対策なんて、
「桃尻にて落ちなんは、心憂かるべしと思ひけり」ってやつだ。
0741名前は開発中のものです。
2014/11/23(日) 12:30:53.64ID:kaKHHfmSチート目的ならバイナリかテキストの違いしかない
オンラインでランキングや対戦等他人との接点がある場合には対策したほうが良いけどオフラインは自由にしてやりたい
0742名前は開発中のものです。
2014/11/23(日) 13:56:57.65ID:82D+n2ICまぁチート防止法なら>>728の3つで十分な気がする
メモリ上の数値チェックはしなくてもいいと思うけどww
0743名前は開発中のものです。
2014/11/23(日) 14:02:44.82ID:+dJYaAUVリソース抜き出しとか通信盗聴は別にして
0744名前は開発中のものです。
2014/11/23(日) 16:18:46.75ID:n5OStoXo0745名前は開発中のものです。
2014/11/23(日) 16:49:33.89ID:cJk/+EVeほんとこれ。
この意見とまったく同意見だわ。
0746名前は開発中のものです。
2014/11/23(日) 20:40:57.35ID:4ZBc6dKCそこまでして公開するくらいなら、むしろ公開せずに自分で楽しむよ
タダで公開している時点でメリットなんてないだって?
この俺が、金やちやほやされるためにゲームを作っていると思っているのかーッ!
(目を泳がせながら)
0747名前は開発中のものです。
2014/11/24(月) 00:38:32.67ID:8cacGq0B0748名前は開発中のものです。
2014/11/24(月) 10:03:38.23ID:dzDmH2rP0749名前は開発中のものです。
2014/11/24(月) 17:33:44.16ID:Z/FunYTKクソゲー杉てタルいんで、さっさと改造してCGだけ回収してる
改造できない同人ゲーなんてやってられっかよ
0750名前は開発中のものです。
2014/11/24(月) 17:55:20.84ID:2xrZiHXU0751名前は開発中のものです。
2014/11/24(月) 18:39:45.23ID:zdvI3CUV修羅の国のゲームは同人であるなしに関わらず基本的にクソゲー
クソゲーでない修羅の国のゲームは希少
0752名前は開発中のものです。
2014/11/26(水) 17:10:13.93ID:uKd9Te04中央のスプライトの大きさによって位置を変えられるようにするには、
どのような方法が考えられるでしょうか?
あらかじめ中央のスプライトにフラグを設定しておいて、
その数値によって周りの位置を制御するという方法は思いついたのですが、
どうもマジックナンバーだらけで気持ちが悪いし汎用性が低いのです
0753名前は開発中のものです。
2014/11/26(水) 17:20:11.22ID:Y1/yNkyi0754名前は開発中のものです。
2014/11/26(水) 19:59:12.17ID:AChn1R5P0755名前は開発中のものです。
2014/11/26(水) 20:02:16.64ID:/W/8yg6H0756名前は開発中のものです。
2014/11/26(水) 20:23:02.74ID:utK4NJ2p0757名前は開発中のものです。
2014/11/26(水) 20:49:02.86ID:gy/4zLs8中央のスプライトだけ特別扱いする必要はないんじゃないの?
0758名前は開発中のものです。
2014/11/29(土) 12:17:43.47ID:RkdSMohZこれかな?
0759名前は開発中のものです。
2014/11/29(土) 12:18:18.60ID:RkdSMohZ0760名前は開発中のものです。
2014/11/30(日) 12:30:11.20ID:2LtupVMk0761名前は開発中のものです。
2014/11/30(日) 15:32:55.05ID:wowBQ4xChttps://sites.google.com/site/cpprefjp/reference/vector/data
sizeは要素数取得
beginとendはイテレータ始端と終端取得
frontは先頭要素の参照取得でv[0]と一緒
dataはvectorのデータをただの配列として使いたい時用で&(v[0])と一緒
イテレーターは全部の要素に処理する時とかに使う時が多いけどsizeの数だけ繰り返しとかでも出来るし
使い分けとか考えなくても好きに使ったらいいんじゃない
0762名前は開発中のものです。
2014/11/30(日) 16:30:02.97ID:9UMHtIHEfor_each(ary.begin(), ary.end(), func());
このような感じで書ける、ary がvector<int> であってもいいし、list<int>であってもいい、
最初にlist<int> で、あとでvector<int>に書き直してもfor_eachはそのままで使えるので書きなおす必要はない。
typedef list<int> IntArray;
このようにtypedefしておけば IntArrayを使ってあとでvectorに変えるのも
typedef vector<int> IntArry;
にすればいいだけになるので変更が楽になる。
ただ、ゲームのプログラムだと速度的に最初からvectorに決まってたりする。
dataはstringのc_str()のように、受け取る側が配列ポインタになってる時に使うものだと思う。
C言語のライブラリとかはそのようなのが多いしな。
0763名前は開発中のものです。
2014/11/30(日) 18:07:42.80ID:2LtupVMkありがとう
0764名前は開発中のものです。
2014/11/30(日) 18:49:40.41ID:09iyr5dNDirectXMathのXMMatrixPerspectiveFovLHの第2引数に与える、画面のアスペクト比なんだけど、
直前で
float fAspect = VP.Width / VP.Height;
ってな感じで書いてたら、Debugモードだと正常に動作するのに、
Releaseモードだとクラッシュする。
とりあえず、コメントアウトしながら原因箇所を追跡したら、上記のアスペクト比算出箇所に行き着いたわけ。
試しにvolatile修飾子を付けてみたら正常に動作することになったから、
最適化で削られたことが判明したんだけど、これ、どういうときに発生するか知ってる?
今までコンパイラ(VC++)に裏切られたことが一切なくて、信頼しきってただけに、ちょっとショック・・・。
今回は小規模なテストプログラムだから大した影響はなかったんだけど、
大規模で複雑なの組んでるときにこういうのが出ると話がややこしくなって厄介だ。
0765名前は開発中のものです。
2014/11/30(日) 19:08:33.40ID:6mhBW/fH99%以上は本人のミスだ
0766名前は開発中のものです。
2014/11/30(日) 19:19:20.08ID:wowBQ4xCデバッグビルドってデバッグコード埋め込むだけだと思ってたわ
http://msdn.microsoft.com/ja-jp/library/dykf6bx9.aspx
0767名前は開発中のものです。
2014/11/30(日) 19:28:29.73ID:3sYJoklf0768名前は開発中のものです。
2014/11/30(日) 19:28:51.51ID:6mhBW/fH0769名前は開発中のものです。
2014/11/30(日) 19:37:40.53ID:mq2znQaRその変数が引数としてしか使われてないなら、変数を経由しないで
計算結果を直接スタックに乗せるようになってる、とかかなぁ。消えた原因は。
あんまり関係ない話だけど
つい最近(というか今日)、DirectXMathで躓いたのが
newで確保したXMVECTORの配列が16バイトアラインメントに乗って無くて
SSEのmovapsでアクセス違反が起きるって奴だった。
アクセス違反が報告されたメモリアドレスが「0xFFFFFFFF」ってなってて
どういうこっちゃとしばらく悩んだよ・・・。
0770764
2014/11/30(日) 19:54:39.02ID:09iyr5dNちょ・・・、今回クラッシュするところの逆アセンブリ結果が、同じくmovapsっす・・・。
floatの引数削られるのと、どう関係あるか分からないけど。
DirectXMathのSSE絡み、ちょっと怖いっすね。
>その変数が引数としてしか使われてないなら、変数を経由しないで
>計算結果を直接スタックに乗せるようになってる、とかかなぁ。消えた原因は。
そうそう、引数にしか使われてないから、ダイレクトにスタックに乗せるのは納得する。
けど、なぜクラッシュw
0771名前は開発中のものです。
2014/11/30(日) 20:14:02.81ID:mq2znQaRmovapsはXMMレジスタへ128ビット分のデータを一括転送するSSE命令だけども
メモリ⇔レジスタの転送の場合、メモリ側が16バイト境界に沿っている必要があるのよ。
(movapsのaはalignedのa)
XMMatrixPerspectiveFovLHの戻り値を格納しようとしている変数(XMMATRIX)の
メモリアドレスが怪しい気がする。
XMMATRIXはXMVECTOR4個の塊だし
0772名前は開発中のものです。
2014/11/30(日) 20:25:50.60ID:mq2znQaR多分、リリースビルドでだけ発生する原因は、速度優先の最適化によって
movups命令(16バイト境界に沿っていなくてもOK、ただし低速)からmovaps(高速)に
使用する命令が置き換えられたからだと思う。
で、多分fAspectにvolatileを付けたら動くってのは
fAspectの分だけスタック使用量が増えるから、格納先変数のアドレスが
16バイト境界に合うようになって、それでエラー落ちしなくなるんじゃないかな・・・
でも「_m128 型の変数は、16 バイト境界に自動的にアラインされます。」ってMSDNには書いてあるから
違う原因かも。
0773764
2014/11/30(日) 21:00:10.04ID:09iyr5dNサンクス。
fAspectが増えたことで16Byteアラインしたから通ったとしたら、たまたまで怖い気もw
いずれにせよ、たしかに_m128型使ってる以上、アラインされることは期待できそうだよね。
0774名前は開発中のものです。
2014/11/30(日) 21:49:21.14ID:3sYJoklf0775名前は開発中のものです。
2014/11/30(日) 22:42:52.60ID:wowBQ4xCヒープに確保すんのはやめた方がいいらしいけど
http://msdn.microsoft.com/ja-jp/library/ee418725%28v=vs.85%29.aspx
0776名前は開発中のものです。
2014/12/03(水) 13:17:19.43ID:Z1yRDwuo0777名前は開発中のものです。
2014/12/03(水) 13:18:24.64ID:iziS6ZnM0778名前は開発中のものです。
2014/12/03(水) 21:11:51.59ID:OgMzERcn・C標準のfopen系
・C++標準のfstream系
・WinAPIのCreateFile、ReadFile、WriteFile
みたいに、たくさんあるけど、使い分けってどうしてる?
0779名前は開発中のものです。
2014/12/03(水) 22:44:11.09ID:TXwtBb38普段使いのC++で機種依存しないライブラリはstream系
C系のライブラリで開発汁ときはfopen系
いずれにせよメインプログラムから直接ファイル操作関数は使わなーい
0780名前は開発中のものです。
2014/12/04(木) 01:02:24.18ID:YkojZjJMC標準を使うとランタイムライブラリが必要になるので却下。
今どき使うのはオッサンとバカだけ。
C++も結局はWinAPIの薄いラッパに過ぎないので、
基本的にはWinAPIを呼ぶのが正解。
0781名前は開発中のものです。
2014/12/04(木) 03:01:38.93ID:ClGYe+T3try-catchを使っただけでもCRTが要るだろ?
あと、Windowsなら、よく使うのはAPIの関係でIStream系が多いなぁ。
0782名前は開発中のものです。
2014/12/04(木) 03:07:11.75ID:iZaOw4vq0783名前は開発中のものです。
2014/12/04(木) 08:11:19.48ID:L+71L5pW例外、IO、メモリ関係とかはランタイム必要そうだけど
その辺全部OSのAPIで済ますの?
0784名前は開発中のものです。
2014/12/04(木) 08:35:11.34ID:y13HpW+M0785名前は開発中のものです。
2014/12/04(木) 09:42:58.76ID:ClGYe+T3昔のATLコンポーネントで、実行ファイルを小さくするためにランタイム無しってのはたまに見かけた。
IOやメモリ関係は、Win APIで代替が利く。 例外は使わないか、SEHやRAIIで代用。
ただ、浮動小数やstd::*を使えないし、かなりの制限を受けるよ。
0786名前は開発中のものです。
2014/12/04(木) 10:01:50.12ID:Eg8ibX6rそっちの方がオッサンくさい。
0787名前は開発中のものです。
2014/12/04(木) 19:29:15.66ID:tgdEpz3NWinAPIでも、
shared_ptr<void> pFile( CreateFile( ... ), CloseHandle );
でRAIIできるし、WinAPIならメモリマップドファイルが使えるから、Seekすることが多い用途で使う。
fopen系でも、上記要領でRAIIできるけど、
fopenだと、VC++でfopen_s使えって警告がウザいし、1行でスマートに書けないから嫌い。
でも、fprintf、fscanfは便利なんだよなぁ・・・。
0788名前は開発中のものです。
2014/12/04(木) 21:52:37.38ID:BSnl4VWGファイル入出力に近いモジュールは一度組んだらほぼ手を加えないので
環境依存のAPIを使ってても、次に使う時は細かいこと忘れちまってるな
オッサンだな
0789名前は開発中のものです。
2014/12/04(木) 21:53:54.27ID:BSnl4VWG0790名前は開発中のものです。
2014/12/06(土) 04:00:55.39ID:X/U/zDqchttp://jbbs.shitaraba.net/bbs/read.cgi/news/5097/1275245794/96 ←
0791名前は開発中のものです。
2014/12/07(日) 13:13:24.02ID:mFsIvomy他のメンバ関数でsizeが0になるんですが、vectorにそういう感じの仕様ってあるんですか?
http://codepad.org/QE4clISm
vector変数の中身を消す処理はしてません
0792名前は開発中のものです。
2014/12/07(日) 13:40:07.34ID:9LyEQ/ju0793名前は開発中のものです。
2014/12/07(日) 14:36:04.47ID:5KYRoGrU0794名前は開発中のものです。
2014/12/07(日) 14:39:37.63ID:hyValMsU0795名前は開発中のものです。
2014/12/07(日) 15:34:57.43ID:EqvPSafZ0796名前は開発中のものです。
2014/12/07(日) 16:06:32.38ID:6S6vavTT0797名前は開発中のものです。
2014/12/07(日) 16:43:30.16ID:dMVqqTm9C#やVB使う場合はfor each使うけどね
C++では扱いづらい
0798名前は開発中のものです。
2014/12/07(日) 16:52:24.55ID:dMVqqTm90799名前は開発中のものです。
2014/12/07(日) 16:56:54.79ID:9LyEQ/ju0800名前は開発中のものです。
2014/12/07(日) 17:45:42.30ID:e6dpx8ymイテレーター使えればなんでもいけるのこれ
0801名前は開発中のものです。
2014/12/07(日) 17:57:50.11ID:fL0IRO+A結局普通のforになることが多い。
0802名前は開発中のものです。
2014/12/07(日) 18:19:55.91ID:6S6vavTTあるあるw
でもそうでもない限りは記述が美しいから、できる限り使うようにしてるな。
0803名前は開発中のものです。
2014/12/07(日) 20:32:17.28ID:heuc+ktl0804名前は開発中のものです。
2014/12/07(日) 20:40:01.29ID:6S6vavTT知らんかったw
すげーw
さんきゅー。
0805名前は開発中のものです。
2014/12/07(日) 21:00:39.07ID:KCbAkKfJ範囲forのほうがむしろタイプ数が少ないような
0806名前は開発中のものです。
2014/12/07(日) 21:44:37.07ID:0+t1yYxF0807名前は開発中のものです。
2014/12/08(月) 00:26:35.24ID:Tkb5ImKOboost::for_eachというのもある
0808名前は開発中のものです。
2014/12/08(月) 01:42:50.74ID:/dWjo4ra考えてみれば当たり前だけどこれvector以外のコンテナで全ての要素でやったら計算量O(n2)になるな
こういうのちゃんと覚えておかないと使い所間違えそう
0809名前は開発中のものです。
2014/12/10(水) 15:07:51.95ID:fIQTJgumそれともUnityとかアンリアルエンジンとか?
0810名前は開発中のものです。
2014/12/10(水) 19:05:50.57ID:UFn2Nat6最近は一部エディタでもコンシューマ開発用キットを出してる
エディタ系はアクション系特化が多いので、
もしかしたらエディタ製もあるかもしれない
0811名前は開発中のものです。
2014/12/10(水) 20:57:58.95ID:WqzdIXuzUnityだってコア部分はC++で作られているだろ
0812名前は開発中のものです。
2014/12/10(水) 21:08:38.95ID:OgtEYajR0813名前は開発中のものです。
2014/12/10(水) 21:17:30.67ID:Z1DuKoHtそもそもプログラミング言語使わずにゲームが作れるのが一番の売りだし
0814名前は開発中のものです。
2014/12/10(水) 21:19:34.07ID:WqzdIXuzそう言うミドルウェアにライセンス料払いたくないか
全部自分でコントロールしたいから非オープンソースが嫌な人達だろう
0815名前は開発中のものです。
2014/12/10(水) 21:21:37.53ID:TxBmxmRH■ このスレッドは過去ログ倉庫に格納されています