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/
0692名前は開発中のものです。
2014/11/19(水) 00:34:02.86ID:OX7d9Gn4実は真っ先に考えたのはそれなんだけど、
アイテムや改造の数を増やせば増やすほどモコモコとアイテムの全体数が増えて、
管理を考えるとおしっこもっちゃいそうな量になって困った
自由度も低かったし
>>689-691
やっぱりそういう風にやるしかないか、再利用性も高そうだし
いろいろな意見をありがとう 参考になった
0693名前は開発中のものです。
2014/11/19(水) 07:21:33.65ID:/n+zepvC実態ではなくアイテムIDで保持しようとするから難しくなるんじゃ?
0694名前は開発中のものです。
2014/11/19(水) 07:53:10.12ID:VDiSqvaf要するに、データを丸々コピーするのじゃいかんのか?って事だろ?
俺は逆に最近レコード管理に切り替えた
っつーかソースコードを一カ所に纏める方が楽だし、メモリ消費も減るから、俺はこの方がいいと思ってる
って言うか、存在しない名前のアイテムが発生するバグに対応するのが面倒で
0695名前は開発中のものです。
2014/11/19(水) 08:04:49.35ID:VDiSqvaf0696名前は開発中のものです。
2014/11/19(水) 16:05:10.60ID:MSY6gmXEこれだからRPGは初心者にはおすすめできないんだが、何故初心者に限ってRPGを作りたがるんだ
0697名前は開発中のものです。
2014/11/19(水) 19:21:08.31ID:HWXJ3kGsSIM・・・バランス調整や、AIやナビゲーションマップ等が面倒
ADV・・・フラグ管理やテキスト作成が面倒
ACT・・・地面や壁との接触判定、マップを作るのが面倒
RCE・・・車を操作するAIが面倒、サーキットのウェイポイントの調整が大変
STG・・・当たり判定を飛ばすだけ、壁なんて要らん、AIも適当でいい、テキストもいらん、敵がいつ出てくるかだけ考えろ、伸ばしたい分野だけ拘れる登竜門的存在
0698名前は開発中のものです。
2014/11/19(水) 20:59:46.83ID:OX7d9Gn4まあ、パズルはそれこそAIがな
将棋で超AI作ってプロ棋士と戦わせるだけでお祭りになるくらい
0699名前は開発中のものです。
2014/11/19(水) 23:18:55.69ID:7ML/+Uac0700名前は開発中のものです。
2014/11/20(木) 00:30:04.14ID:vWl5cX6m土日の内に作っちゃう人間なので、RPGとかデカブツは無理だなぁ
元々好きじゃないから作る気も起きないわけだが
0701名前は開発中のものです。
2014/11/20(木) 04:07:38.08ID:h+JiqRdV集中力自慢で4日間睡眠時間2時間で仕上げきる、それを自慢にしてた。
だが社会人になって悟った。
ある程度以上のものを作ろうと思ったら、それじゃ駄目なんだと。
プロマネとしてチームを率いることができなければ、いつまでも
徹夜自慢のバカのままで終わるんだと。
0702名前は開発中のものです。
2014/11/20(木) 05:21:30.14ID:vSwwwYEe0703名前は開発中のものです。
2014/11/20(木) 16:13:36.88ID:ASkU6c/s0704名前は開発中のものです。
2014/11/20(木) 17:24:27.51ID:5jfsrVJn0705名前は開発中のものです。
2014/11/20(木) 17:50:24.81ID:6dfcdxQ7絵とか音楽とかにこだわりだしたら誰かの手も借りたくなる事はある
だが、素材探しをしているうちに結局完璧に自分の構想を実行できるのは自分だけだと悟る
俺が何人か欲しい
0706名前は開発中のものです。
2014/11/20(木) 18:06:31.42ID:5jfsrVJnそもそもC/C++にこだわる必要もなくね?人海戦術に向いた言語なら色々とあるんだし
0707名前は開発中のものです。
2014/11/20(木) 18:38:32.43ID:5jfsrVJnまあ、少数精鋭で作られたゲームの方が良いゲームは多くね?
人数が増えれば増えるほど、どうしても軸はプレまくるからな
0708名前は開発中のものです。
2014/11/20(木) 19:31:14.46ID:iI+OSFLHAppleのソフトウェアの品質が次第に低下している理由は? - GIGAZINE
http://gigazine.net/news/20141016-apple-software-quality/
Appleは世界的な巨大企業ですが、同レベルの企業に比べるとはるかに小さなソフトウェアチームを意図的に構成しています。
これは「たくさんのB級プレイヤーを雇用するより、少しのA級プレイヤーを雇用する方が好ましい」というスティーブ・ジョブズの方針によるもの。
ジョブズが亡くなった後もこの方針は続いていますが、「最上級の人材」だけでチームを構成するため、人手が足りないチームへ別チームの人材がヘルプに入ることがあります。
最高の人材獲得に挑戦するのは間違ったことではないのですが、キーパーソンのエンジニアがiPhoneチームのヘルプに入っていたために、OS X Leopardのリリースが遅れた、という事態も起こっています。
0709名前は開発中のものです。
2014/11/20(木) 19:36:39.53ID:36zbpl++0710名前は開発中のものです。
2014/11/20(木) 19:37:10.26ID:36zbpl++0711名前は開発中のものです。
2014/11/20(木) 22:05:42.89ID:93aHVuNb人が必要になるのは基本的に素材作りだろうし
0712名前は開発中のものです。
2014/11/20(木) 22:16:36.81ID:xrUP7PKrなにしろ、自分はメタデータが頭の中に叩き込まれている少なくとも中級者だ
そこからバランス調整に入ったら初心者がうんざりするゲームになりそう
バグ取りも自分の発想だけだと限界があるし
ま、制作自体には直接関わりない事だけどね
0713名前は開発中のものです。
2014/11/20(木) 23:09:21.65ID:94t7DNRtでも標準ライブラリが貧弱なC++だと、まずstl, boost, pocoとか
どれを使うかで決裂しそうだな
0714名前は開発中のものです。
2014/11/20(木) 23:47:01.70ID:XIRb6nJJ0715名前は開発中のものです。
2014/11/21(金) 00:06:46.12ID:1pvURVep今だと何の用途につかってるの?
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変数の中身を消す処理はしてません
■ このスレッドは過去ログ倉庫に格納されています