C/C++ゲーム製作総合スレッド Part5
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2014/01/16(木) 00:00:31.27ID:w6WW3hAo元スレ
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/
0103名前は開発中のものです。
2014/01/26(日) 08:53:27.52ID:Iw5/1QMx2000個ぐらいなんだけど、多い?
0104名前は開発中のものです。
2014/01/26(日) 09:28:31.24ID:+p1FZWASだから要素数がいくつだったらって話じゃないよ
0105名前は開発中のものです。
2014/01/26(日) 09:48:24.53ID:f2NeeHoK0106名前は開発中のものです。
2014/01/26(日) 12:46:34.63ID:WQN234w50107名前は開発中のものです。
2014/01/26(日) 15:37:26.70ID:1jTIwhcQ瑣末
0108名前は開発中のものです。
2014/01/26(日) 16:41:16.86ID:RpTDvif5STLコンテナにアロケータ設定できるのも知らんのか?
そもそもメモリコンパクションがどうとかいう話は
GC系言語ですらとっくに切り捨てた昔話だと思うが
0109名前は開発中のものです。
2014/01/26(日) 17:41:28.90ID:f2NeeHoKアローケーター操作するの面倒じゃね?
ある程度大きめにメモリーを取得しといて使い回す方が楽っぽいが
0110名前は開発中のものです。
2014/01/26(日) 17:56:52.23ID:RpTDvif5好きなようにやればいいさ
0111名前は開発中のものです。
2014/01/26(日) 18:42:00.91ID:f2NeeHoKあらかじめ取得しといた容量よりも大きなサイズが必要になったら倍のサイズに領域を拡張してる
0112名前は開発中のものです。
2014/01/26(日) 18:47:27.36ID:f2NeeHoKつーか>>102の場合はvectorよりもlist使った方が良くないかい?
0113名前は開発中のものです。
2014/01/26(日) 18:52:43.37ID:y8TPPY9Q実際ベンチマークを取るとvectorの方が速いことが多いので侮れない。
0114名前は開発中のものです。
2014/01/26(日) 18:59:37.83ID:f2NeeHoK0115名前は開発中のものです。
2014/01/26(日) 19:20:58.79ID:1jTIwhcQ>>114
やっぱり瑣末かと。換言すれば、取るに足らない、微レ存、取越苦労、枝葉、の話かと。
いや違う考慮に値するというなら問題が再現可能な状況を示してみればいいのでは。
異常な頻度で確保/再割当/解放を繰り返すような無理な状況設定が必要になるけど。
件の話なら適切にreserve使えばいいかと。それで解決しない問題ってあるかな?
0116名前は開発中のものです。
2014/01/26(日) 19:22:33.48ID:1jTIwhcQヒープ割当はフラグメンテーション回避で独自のメモリプールをーとかこの手の
取らぬ狸の皮算用になりがちな話題は何度目かというくらい既視感があったので
過去発言を適当に検索。関連ありそうなので貼り
> PCの場合、例えば平凡なDoug Lea Malloc(の亜種)を使うことについて
> 処理速度上の問題で難癖を付けるには、意図的に相当に意地悪な(過酷な)状況設定を
> 引っ張ってくる必要があると思うなぁ
> 例えば3D視点のゲームで、視覚効果に使う粒子状の短命オブジェクトが盛り盛り
> 無数に画面上に散りばめられてて、それらが何と一粒一粒馬鹿正直にヒープから
> メモリ割り当てされてて何の工夫もない線形リストに挿入されてて、毎フレーム
> 線形リストを馬鹿正直に巡回して一粒一粒更新したり削除即時解放したりとか
(この状況設定がなぜ意地悪かというと)
> 描画関数に渡すパーティクル用のデータ構造と明らかに違う状態だから
(不必要な)
> セットアップもあるしね。まぁ、いずれにせよ、何でそんな馬鹿な
> 想定を持ち出すんだと閉口するような話に持っていかないと処理速度上の
> 問題で横槍いれるのは難しいと思う
0117名前は開発中のものです。
2014/01/26(日) 19:24:03.74ID:y8TPPY9Qオレオレ用語じゃ意味が分からん。
おそらくその現象は君の脳内世界でしか発生しない。
0118名前は開発中のものです。
2014/01/26(日) 19:43:21.57ID:f2NeeHoK1jTIwhcQには意味が通じてるぞ?w
>>115
いや、そこまで分かってるなら特に問題は無い……な
ただ、ゲームの場合、ムチャなメモリーの使い方する事が多いから、
reserveを忘れる事も珍しくないのでは?と思ったんだが
まあ、些末な問題と言えば些末な問題か
0119名前は開発中のものです。
2014/01/26(日) 20:01:52.93ID:NBq5fzCq0120名前は開発中のものです。
2014/01/26(日) 20:31:03.96ID:q4s5e5oc初期化したときに必要な分確保しとけってことでいいの?
0121名前は開発中のものです。
2014/01/26(日) 20:59:04.35ID:RpTDvif50122名前は開発中のものです。
2014/01/26(日) 21:10:15.17ID:RpTDvif5コピーコンストラクタのコストが多数生じること、またコピーコンストラクタにおける
コピーの実装に関する適切さ(シャローコピー・ディープコピー)といった面倒が生じる
リスクを考慮すると、ポインタ型にすることを心がけた方が良いってのはあるかな
もちろん、プリミティブ型に関してはなんの心配も必要ない
0123名前は開発中のものです。
2014/01/26(日) 21:16:08.13ID:f2NeeHoK容量を十分確保しておけば、無効になりにくいだけで
0124名前は開発中のものです。
2014/01/26(日) 21:59:47.79ID:f2NeeHoK必要な分が分かってる場合はそれでいい
分かってない場合はポインタを取得し直す必要がある。
0125名前は開発中のものです。
2014/01/26(日) 22:16:48.30ID:QJMQDIrFソースのバックアップとレポジトリは取れってのをテンプレに入れないか?
0126名前は開発中のものです。
2014/01/26(日) 22:24:33.83ID:f2NeeHoK0127名前は開発中のものです。
2014/01/26(日) 23:17:21.24ID:lvnLOcR2参考:ゲ製におけるSTLの問題
ttp://i-saint.hatenablog.com/entry/20101012/1286822888
012836
2014/01/26(日) 23:44:04.69ID:UYS8+7kl処理が多少重いとはいえ、致命的な重さじゃないしな
処理を軽くする場合にはSTLを使うが、それもかなり拡張してあるしな
012936
2014/01/27(月) 00:09:52.23ID:H+nDAORl0130名前は開発中のものです。
2014/01/27(月) 00:16:52.22ID:EXjzd9fa0131名前は開発中のものです。
2014/01/27(月) 01:48:26.16ID:mugBVfcbEffective C++ とか与太本に洗脳されて全メソッドにinline修飾するようなもんだ
0132名前は開発中のものです。
2014/01/27(月) 02:09:19.06ID:4xmtC5j/0133名前は開発中のものです。
2014/01/27(月) 02:31:16.30ID:R0saBUqG配列の先頭や中間に挿入されたら
バグのもとになりやすい
0134名前は開発中のものです。
2014/01/27(月) 06:25:50.94ID:qr20Z00A「必要な分がわかっていない場合」を回避すればいいじゃない
0135名前は開発中のものです。
2014/01/27(月) 07:45:48.10ID:qHfddkTR0136名前は開発中のものです。
2014/01/27(月) 07:48:53.10ID:vLlLVDDe間違えた
×>自前すれば
○>自作すれば
0137名前は開発中のものです。
2014/01/27(月) 11:18:44.83ID:EXjzd9fa未来の自分にバグを押し付けるようなやり方は、あまり好きじゃないが……ま、人それぞれか
0138名前は開発中のものです。
2014/01/27(月) 12:25:27.76ID:qr20Z00A※元々の>>124の問題は、ポインタ再取得ってのもあったが
>>135
kwsk
>>137
話が見えんw
0139名前は開発中のものです。
2014/01/27(月) 14:38:03.04ID:LXwSCF8mvectorにインスタンスをaddした後
vectorが要素数増やそうとメモリ上の位置が変わってもnewしたメモリ位置は変わらないよね?
vectorが移動してるだけでvectorのメモリ上の参照してインスタンスを取ってくるわけじゃないから
newした時点でインスタンスのメモリ上の位置は変わらないんじゃないの?
0140名前は開発中のものです。
2014/01/27(月) 15:44:25.62ID:mugBVfcbvectorは配列を内部でもってるだけ
T* m_buffer = new T[buffer_size];
add(T obj)されると m_buffer[index] = obj; のようにコピーする
そしてバッファサイズが足りなくなると再確保してコピーするわけだ
int new_size = old_size * 2;
T* newBuffer = new T[new_size];
for(i < old_size)
{
newBuffer[i] = m_buffer[i]; // 構造体とかだと、ここのコピーコスト(大)
}
delete[] m_buffer; // <= ここで以前確保したポインタは無効
m_buffer = newBuffer;
0141名前は開発中のものです。
2014/01/27(月) 16:15:48.48ID:0NY/NAUW0142名前は開発中のものです。
2014/01/27(月) 17:01:18.91ID:mugBVfcb大した利点もなさそうだが、プリミティブはSTL::vector、
クラス・構造体はboost::ptr_vectorとか使い分けるのも悪くないと思う
メモリ断片化が〜とかいう話だったらもういいかげんにしろ
0143名前は開発中のものです。
2014/01/27(月) 17:57:35.18ID:HdFzU7eb値型(スタック型)を格納してるvectorから、
ある要素の参照(生ポインタ)を取り出しておいた場合、
vectorのリサイズが起きた後はその参照はアテにならなくなる。
っていう話だよな。
vectorに値型そのまま入れるなんて、自分で線形台数用のクラス(それこそ名前がVectorとかになりそうだが)
作ろうと思った時くらいじゃない?
0144名前は開発中のものです。
2014/01/27(月) 18:20:18.10ID:mugBVfcbもしプリミティブ型の意味が分からないとしたら、
int, double, float, long, char, short, wcharのことだからな
あらゆるポインタ型も実際はただのintだから同じノウハウで扱える
0145名前は開発中のものです。
2014/01/27(月) 18:35:32.27ID:HdFzU7ebヒープとスタックの話・・・というのも語弊があるか、
なんつーか、メモリ上への確保の仕方とかメモリレイアウト考えたらこうなるよねって話だったのよ、ごめん
0146名前は開発中のものです。
2014/01/28(火) 00:45:58.29ID:qfuPw86M0147名前は開発中のものです。
2014/01/28(火) 00:52:07.03ID:uQ48xUyE要素がでかくて頻繁に入れ替えが発生してインデックスアクセスがしたいならshared_ptrで包んでvectorにでも入れときゃいい
>>144
64bit環境だとintとポインタのサイズが同じとは限らないから泣くぞ
0148名前は開発中のものです。
2014/01/28(火) 01:18:23.07ID:ZKatshV9原文は「non desktop」なんだよな。
前から思ってたんだが、
限定されたハイエンドPC環境で「しょぼい」コンテンツを走らせられるからドヤ顔ってどうよ?
ゲ製道を究めようとしているワコウドを、間違った方向に導いてるって自覚あるか?
無策無能をアピールして幸せか?
0149名前は開発中のものです。
2014/01/28(火) 01:21:24.73ID:ZKatshV9正:「非PC環境」
くsっそおおおおおおおおお
0150名前は開発中のものです。
2014/01/28(火) 02:11:44.70ID:IvP/YXMv0151名前は開発中のものです。
2014/01/28(火) 10:18:11.91ID:GoTWhCD+0152名前は開発中のものです。
2014/01/28(火) 10:42:27.82ID:S18aQwZbそれで64ビット対応出来なかったorz
0153名前は開発中のものです。
2014/01/28(火) 12:23:39.88ID:OCGZ+qT0俺のメモリがサザエさんみてーだとっ!?
0154名前は開発中のものです。
2014/01/28(火) 21:43:15.57ID:29GW3hhm0155名前は開発中のものです。
2014/01/29(水) 17:24:08.73ID:zjmYRHvLおっちゃん、BeagleBone Blackとかで遊ぼうよ。なかなか楽しいよ?
0156名前は開発中のものです。
2014/01/30(木) 00:48:09.40ID:Ft4RSVu9Linuxいじるのも大概飽きたが、
画期的な商品開発にでも
いっちょう取り組んでみるか?
しかし発火とかしないよな?www
0157名前は開発中のものです。
2014/02/02(日) 08:52:27.78ID:txo1/+Rb何か良い組合せアイデアでもないもん加納おっぱいおっぱい
ゲ製だと教育、もしくは協力作業を通じた相性判定、もしくはお前ら童貞が最も好きなコンテンツ分野みたいなんになるんかねwww
0158名前は開発中のものです。
2014/02/02(日) 12:41:35.95ID:8PIr/JRW0159名前は開発中のものです。
2014/02/02(日) 14:11:43.15ID:HpiJy6Kg残念な人が棲み憑いてるんです
0160名前は開発中のものです。
2014/02/02(日) 19:49:39.87ID:HpiJy6Kg0161名前は開発中のものです。
2014/02/02(日) 20:11:53.27ID:8PIr/JRW88 :名前は開発中のものです。:2014/01/24(金) 17:30:23.22 ID:jYeepMxG
さすが中3だ
匿名掲示板で自分の事を勝手に語り始めた
自分が特別な存在であり、周囲より目立って当然であるという厨二病症状が伝わってくる
そんな貴方に対し、先輩として一つ、大人の現実を教えよう
ゲームを作りたければ、プログラミングだけじゃ駄目だ
プログラミングと絵を練習しなさい
音楽が得意なら音楽にも手を付けなさい
絵が描けないまま大人になれば、辿り付く先はゲーム会社のディレクターではなく、過労のIT豚小屋企業だ
さぁ、若者よ、時間が無いぞ
今日からpixivに通うんだ
0162名前は開発中のものです。
2014/02/03(月) 00:20:11.99ID:v+BnfntH他人に企画任せられる環境ならPGだけでいいが
0163名前は開発中のものです。
2014/02/03(月) 00:38:34.47ID:/+Ylube70164名前は開発中のものです。
2014/02/03(月) 08:14:19.87ID:Lht//rT6アスキーアート
ドット絵
ローポリ
リアルポリゴン
アニメシェーダ
イラスト
まあAAはほぼ完全に廃れたが
0165名前は開発中のものです。
2014/02/03(月) 09:48:24.68ID:2oQL0ulv3D素材は自分で作らないと厳しい。
0166名前は開発中のものです。
2014/02/03(月) 20:57:27.18ID:0M4cDuVxたいして才能の無い凡人が練習したくらいで通用するものなの?
0167名前は開発中のものです。
2014/02/03(月) 21:22:38.34ID:/+Ylube70168名前は開発中のものです。
2014/02/03(月) 21:51:26.39ID:svmXZgc+スキルに応じて仕事は分担されてるだろ
何でプログラマが絵を書かなきゃならんのだ
0169名前は開発中のものです。
2014/02/03(月) 22:07:10.79ID:eCQAtwWs自分の作りたいゲームを作りたいとか、分け前を増やしたいとか、動機は色々だが
0170名前は開発中のものです。
2014/02/03(月) 22:10:32.11ID:/+Ylube70171名前は開発中のものです。
2014/02/03(月) 22:11:53.17ID:eCQAtwWs0172名前は開発中のものです。
2014/02/03(月) 22:15:15.46ID:xlOVneBMチーム制作も1人で作ってるチームが大半だな
絵とか音楽とかのリソースはネットで拾うけどね
でもそれって結局のところは1人で作ってないよね
リソースまで全部っていう意味で1人で作ってる上で有名なのを作ってるんだとしたらただの天才だからどっかの企業に引き抜かれてろ
0173名前は開発中のものです。
2014/02/03(月) 22:27:34.48ID:eCQAtwWs好きに作らせてくれて、好きに売らせてくれるような、夢のような企業があるの?
むしろ、売れ行き重視で好きに作らせてくれない、
倫理観とかが大事で好きに売らせてくれない、
といった企業がほとんどじゃね?
0174名前は開発中のものです。
2014/02/03(月) 22:30:48.05ID:/+Ylube7趣味なんだから人それぞれのスタイルでいいだろう
0175名前は開発中のものです。
2014/02/03(月) 22:49:21.68ID:xlOVneBMうん、わかった
自分の生活費さえなんとかできるなら1人で自由に作ってな
0176名前は開発中のものです。
2014/02/03(月) 22:55:48.33ID:HKt11pxu0177名前は開発中のものです。
2014/02/03(月) 23:24:56.58ID:/+Ylube7もっと時間のかからない遊びに流れるのも手だけど
0178名前は開発中のものです。
2014/02/03(月) 23:32:32.16ID:eCQAtwWs0179名前は開発中のものです。
2014/02/03(月) 23:37:42.57ID:eCQAtwWs0180名前は開発中のものです。
2014/02/03(月) 23:49:11.10ID:Ny+RFe0l0181名前は開発中のものです。
2014/02/04(火) 00:08:11.00ID:uJ0GtlwQ金持ちに成りたいと考える事は悪い事だと思う?
0182名前は開発中のものです。
2014/02/04(火) 00:23:08.29ID:J1FJfMJW0183名前は開発中のものです。
2014/02/04(火) 00:33:58.33ID:uJ0GtlwQ【同人】作ったゲームを金にする その4
http://toro.2ch.net/test/read.cgi/gamedev/1336913652/
0184名前は開発中のものです。
2014/02/04(火) 19:06:59.83ID:uJ0GtlwQ昔のゲームはアスキーアートを絵として使ってたわけだが?
0185名前は開発中のものです。
2014/02/04(火) 19:09:55.94ID:uJ0GtlwQとはいえbeep音でwevファイルを再生させてた事もあるからあなどれん
0186名前は開発中のものです。
2014/02/04(火) 19:58:16.47ID:J1FJfMJWやれメンツが無能だとかいってたらきりが無いわけだ
0187名前は開発中のものです。
2014/02/04(火) 20:14:51.47ID:uJ0GtlwQそういやそれも一人で作るようになる理由の一つだったな
まあ、人数が増えると衝突も増えるからな
むしろあの頃は、DQ1が出る前までは独りで作るのが当たり前だったような……
0188名前は開発中のものです。
2014/02/04(火) 20:22:21.38ID:J1FJfMJWひゃあ!ゲーム爺は生涯現役だぜ
0189名前は開発中のものです。
2014/02/04(火) 20:27:51.59ID:uJ0GtlwQが、パソコン持ってないのにパソコン本を買ったりするぐらいに憧れてたな
0190名前は開発中のものです。
2014/02/04(火) 20:41:31.66ID:uJ0GtlwQ0191名前は開発中のものです。
2014/02/04(火) 20:55:24.69ID:G5JzxpFK0192名前は開発中のものです。
2014/02/04(火) 21:09:48.44ID:uJ0GtlwQ0193名前は開発中のものです。
2014/02/06(木) 07:38:03.22ID:Mklm8P+v中村光一氏がDQ抜けたのが悔やまれる。
お色気コンテンツに憤慨していたエピソードは笑える。
0194名前は開発中のものです。
2014/02/06(木) 20:33:21.38ID:wgo5Jh7Q0195名前は開発中のものです。
2014/02/06(木) 21:01:16.01ID:YaLd/g6Z0196名前は開発中のものです。
2014/02/06(木) 21:10:32.33ID:wgo5Jh7Q0197名前は開発中のものです。
2014/02/09(日) 03:20:30.53ID:yNPMLa+Y0198名前は開発中のものです。
2014/02/09(日) 03:48:09.82ID:n/hHVigC0199名前は開発中のものです。
2014/02/09(日) 03:53:10.61ID:CEeCxVwx燃え尽きた印象があるな
一発屋というより、沢山あった弾を同じ場所に撃ち込んじゃった感じ
0200名前は開発中のものです。
2014/02/09(日) 04:22:56.68ID:eECi/LC1あの時代にスクランブルを完全移植した情熱の炎は、そう簡単には消えないさ!
俺は信じてるぜ!
0201名前は開発中のものです。
2014/02/09(日) 16:33:33.68ID:Om4RLWnjとりあえずminiMax法で作ろうとしており参考にしているサイトのURLは
http://hp.vector.co.jp/authors/VA015468/platina/algo/2_2.html
です。
このサイトの
for(最初の子節点の手; 未評価の子節点がある; 次の子節点に移る)
という部分を見る限り先に子節点がいくつあるのか調べておく必要があると思うのですが
その解釈でよろしいですか?
0202名前は開発中のものです。
2014/02/09(日) 16:43:02.64ID:c5g9RcWt先に子節点を調べなくてもできるけど
先に調べておかないと置けないにも拘わらず置くかどうかを計算するから無駄な計算が増えるし、バグで置いた場合に何処でバグが発生してるのか調べるのが大変になる
■ このスレッドは過去ログ倉庫に格納されています