- 1 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 19:30:19.51 ID:J+zVqUil]
- ゲーム製作におけるC/C++全般に関するスレです。
元スレ DXライブラリ 総合スレッド その17 toro.2ch.net/test/read.cgi/gamedev/1383795645/ 前スレ C/C++ゲーム製作総合スレッド Part1 toro.2ch.net/test/read.cgi/gamedev/1337516528/ C/C++ゲーム製作総合スレッド Part2 toro.2ch.net/test/read.cgi/gamedev/1351015269/ C/C++ゲーム製作総合スレッド Part3 toro.2ch.net/test/read.cgi/gamedev/1357899040/ C/C++ゲーム製作総合スレッド Part4 toro.2ch.net/test/read.cgi/gamedev/1376262450/ C/C++ゲーム製作総合スレッド Part5 peace.2ch.net/test/read.cgi/gamedev/1389798031/
- 33 名前:名前は開発中のものです。 mailto:sage [2014/07/19(土) 09:28:41.17 ID:aecMKE4f]
- >>32
普通、物理エンジンはキャラクターそのものには使わず キャラクターの髪の毛とかスカートとかにしか使わない > 「不安定な足場」を物理エンジンに任せようとする っていうのが無理 www.gravitysensation.com/sumotori/index.php 極端な例だが、キャラクターの動きを物理エンジンに任せてしまうと、このゲームみたいに無茶苦茶になる
- 34 名前:名前は開発中のものです。 mailto:sage [2014/07/19(土) 11:45:17.81 ID:ZZT3dE9z]
- >>32
物理エンジンに丸投げと言っても、物理エンジンが自作コードから独立して動くわけじゃないし、 ゲームである以上、100%物理エンジン任せにすることはない。ガンガンプログラマが修正していく。 実際、メタッルギアソリッドのプログラマはその昔、 物理エンジンに任せることは多いが、そのままでは全くゲームにならないので「嘘」を入れていると言っていた。 例えば、人間キャラが自分より大きな物体(岩など)を押して動かす…などのギミックが使えないのだとか。 >>33 「キャラ自体に物理エンジンは反映させない」と言い切るのは、ちょっと乱暴じゃないかな? 実際それが楽なのは間違いないんだけどさ。 例えば、物理演算空間では単純な形状の剛体(直方体など)で登録しておいて、 位置情報だけキャラクターに反映させるとかさ。
- 35 名前:名前は開発中のものです。 mailto:sage [2014/07/25(金) 07:42:06.20 ID:0cPiHr0B]
- 物理エンジンには衝突判定を丸投げするのが一番楽なんじゃない?
- 36 名前:名前は開発中のものです。 mailto:sage [2014/07/27(日) 14:09:28.81 ID:S7CCeGik]
- もう疲れました。探さないでください。
物理エンジン
- 37 名前:名前は開発中のものです。 mailto:sage [2014/07/27(日) 16:35:38.39 ID:hDFrb6h9]
- MMOとかのスキルってそれぞれ個別にクラス作ってるの?
それとも1つのクラスにスクリプトか何かで頑張ってるの? 範囲攻撃だとか回復だとか防御だとかバフだとか色々あるけど、 今作ってるゲームで、スキルクラスを継承してプログラムで記述するか、 予めできるだけ多くのパターンを予想してパラメータを盛り込みまくるか
- 38 名前:名前は開発中のものです。 mailto:sage [2014/07/27(日) 16:39:07.72 ID:hDFrb6h9]
- おおまかにクラス分けしてそれぞれに必要なパラメータを付け加えたほうが効率いいのかな
近接攻撃クラスと魔法攻撃クラスとか
- 39 名前:名前は開発中のものです。 mailto:sage [2014/07/29(火) 04:04:42.63 ID:AylXEMId]
- スキルの数にもよるけど、個別クラス化すると細かいクラスが大量生成されて収拾つかなくなる。
基本的にはスクリプト。どんなスキルでも格納できる万能構造体を作れるならテーブル化するか、 SQLite なんかのデータベースを利用するって方法もある。
- 40 名前:名前は開発中のものです。 mailto:sage [2014/08/01(金) 19:58:25.02 ID:HHwlbQuz]
- ついに3DSでもソーシャルゲーム出たけど、契約とかどうしてるの?
- 41 名前:名前は開発中のものです。 mailto:sage [2014/08/02(土) 05:01:01.75 ID:eOu4XZLT]
- クラスの概念にハマりこんだ奴は何も作れない。
大人になってもSEとして奴隷労働確定。 目的のための手段なのか、手段のための目的なのか。 目的を達成することを第一義に置かないといけない。
- 42 名前:名前は開発中のものです。 mailto:sage [2014/08/02(土) 08:07:18.21 ID:xbgScl0r]
- 思考停止した奴はまともなものは作れない
大人になってもPGとして奴隷労働確定 どうすれば良くなるのか、良くする為にはどうすればいいのか 自己を成長させる事を第一義に置かなければならない
- 43 名前:名前は開発中のものです。 mailto:sage [2014/08/02(土) 12:00:37.08 ID:lHwJwlEc]
- 作れることは、目的を達成できるのは大前提だろ
- 44 名前:名前は開発中のものです。 mailto:sage [2014/08/02(土) 18:15:56.09 ID:8HdFTJm8]
- フリーズするプログラムがあるんだけど、どうしたらいいのかさっぱりわからない
キャラクターが削除された直後に衝突リストを探索するときに特定の関数を呼び出すとフリーズする ヌルチェックしてるし、キャラクターをdeleteしたポインタに次の行でNULL代入してるし、 そもそもフリーズする直前にそのインスタンスの別の関数は呼び出しても問題ない フリーズする関数を呼び出す直前と、関数の最初にログを吐くと関数に入ってないようにみえる 意味がわからん
- 45 名前:名前は開発中のものです。 mailto:sage [2014/08/02(土) 19:25:04.15 ID:TmM60CSL]
- その衝突リストとやらを使わなければ動くんじゃねーの?(鼻くそホジホジESPレス)
というか、錯誤により不具合を作り出してる張本人の、曖昧で、主観的な 供述のみからエスパーレスを引き出そうとしても解決にならないんじゃね 真剣な相談なら不具合を再現できる最小構成のソースコードを晒す (これ用意する人はその過程で不具合の原因を突き止める確率高い。 つまり質問に至らない場合が多い)
- 46 名前:名前は開発中のものです。 mailto:sage [2014/08/02(土) 19:26:38.81 ID:xbgScl0r]
- エラーじゃなくてフリーズって、無限ループしてんじゃないの
大体の箇所わかってんならブレークポイントでぽちぽちしながら臭い所探せば
- 47 名前:名前は開発中のものです。 mailto:sage [2014/08/02(土) 19:59:07.91 ID:bumse5jz]
- ソースコードの左側をちょこんとクリックして、●をつけたくなるね
- 48 名前:名前は開発中のものです。 mailto:sage [2014/08/02(土) 20:05:22.19 ID:/jwwYoCr]
- >>44
そのログ書き出しはちゃんとfflushしてるか? 強制終了させたらバッファに残ってるログは捨てられるよ
- 49 名前:名前は開発中のものです。 mailto:sage [2014/08/02(土) 20:50:36.25 ID:dX02eCqq]
- >>44
フリーズすることなんてしょっちゅうだ。 フリーズの原因なんて46の言うように無限ループに入ってることがほとんど。 しかも自分の思い込みで「ここで無限ループになんてなるはずがない」と思ってる部分だったりする。 だから逆に「ループの全ては無限ループできる」と探せば割りと早く見つかったりする。 まぁひとつひとつ調べていくのが結局は早い。
- 50 名前:名前は開発中のものです。 mailto:sage [2014/08/02(土) 22:07:42.24 ID:juDjvEHG]
- Visual Studio使ってるなら、デバッグ実行してフリーズした状態で
「全て中断」ボタンを押すかCtrl + Alt + Breakで無限ループの中に一時停止させて F10押してループ判定を追っていけばいいんじゃね? マルチスレッドでなければブレークポイント使って探るのは効率悪いと思うの
- 51 名前:44 mailto:sage [2014/08/03(日) 05:08:34.12 ID:jLtHhqBC]
- 主観続報なんですが、衝突リストの直前で行われるdelete文をコメントアウトするとフリーズしないんですよ
別スレッドでアニメーション動かしてるからメインスレッド止まってもアニメーションは動くはずだし でもAndroidNDKだからブレイクポイント使えない
- 52 名前:名前は開発中のものです。 mailto:sage [2014/08/03(日) 10:47:06.01 ID:LcYcpDyV]
- deleteした場所を、他から参照してしまっていると仮定してみる。
リストってことは、該当のポインタを削除するだけじゃなく その前の要素にあるnextポインタも修正しなきゃならないわけだよな? deleteだけじゃなく、その修正もしてるか? してるなら、deleteと修正の間に、別スレッド(描画?)が参照してたりシないか?
- 53 名前:名前は開発中のものです。 mailto:sage [2014/08/03(日) 11:28:48.20 ID:ygJOSsne]
- >>51
>でもAndroidNDKだからブレイクポイント使えない 使えます。是非使ってください。本当にお願いします。 それと、既に指摘されてる問題部分の切り分けをして下さい。 最小構成でテストして下さい。出来ないならコードをうp
- 54 名前:名前は開発中のものです。 mailto:sage [2014/08/03(日) 11:31:35.11 ID:DGgM8UM0]
- 別スレッドから参照してるなら、
操作前後でロックが必要だけどしてないんじゃね?
- 55 名前:44 mailto:sage [2014/08/03(日) 13:03:28.60 ID:Q2PG92ND]
- >>52
ごめんなさいstd::listではなくstd::vectorでダブルバッファリングしてます 更新ごとに入れ替わって、push_backされないオブジェクトはdeleteされてそのポインタにNULLが入ります
- 56 名前:名前は開発中のものです。 [2014/08/03(日) 13:39:34.89 ID:pnMbsHQK]
- いい加減こういう小出し後出しはやめなよ
レスしてる暇があるなら単体テストしなよ
- 57 名前:名前は開発中のものです。 mailto:sage [2014/08/03(日) 15:21:07.80 ID:CNCHN1HK]
- こういう事になるから自前のdeleteなんて使わなきゃいいのに
- 58 名前:名前は開発中のものです。 mailto:sage [2014/08/03(日) 23:21:55.40 ID:X5LmADYN]
- メンバ関数を含むクラス(のインスタンス)を、まるごとデータファイルとして記録したりしてるんですけど
こういうメンバ関数ってどんな扱いになってるんですかね? 関数はデータじゃないので扱われないとすると都合いいんだけど、 ポインタだけで扱われてるのか、それともプログラムコードまで含まれるのか。 こんな説明じゃ分かりにくいですかね……。えーと。 以前から、「オブジェクトを生成するたびに、関数(のプログラムコード)も作られ、 オブジェクトごとにコードをそれぞれ持っている」なのか、それとも「関数のプログラムコードは 別のどこかに作られるだけで、オブジェクト内にはそこを示すポインタだけが作られてる」のか疑問だったんですが、 メンバ関数を修正してから修正前のデータを読み込んでみたところ、不正落ちするようになったもので ひょっとして、前者なのかな? と思った次第でして。
- 59 名前:名前は開発中のものです。 mailto:sage [2014/08/03(日) 23:49:05.25 ID:LcYcpDyV]
- 実用上の話だけでいいなら、シリアライズでググろう
https://sites.google.com/site/boostjp/tips/serialize
- 60 名前:名前は開発中のものです。 mailto:sage [2014/08/03(日) 23:54:41.45 ID:NYhfIPC5]
- >>58
仮想関数使ってたらvtableのアドレスが格納されるから、それまで一緒にリストアすると落ちるんじゃないか?
- 61 名前:名前は開発中のものです。 mailto:sage [2014/08/04(月) 00:15:41.74 ID:3huMrwYj]
- 後者だと思うしアドレス復元するのは無理ゲーじゃね
- 62 名前:名前は開発中のものです。 mailto:sage [2014/08/04(月) 00:35:39.14 ID:S6rlQ+o7]
- C++: 水面下の仕組み
www.microsoft.com/japan/msdn/vs_previous/visualc/techmat/feature/jangrayhood/
- 63 名前:名前は開発中のものです。 mailto:sage [2014/08/07(木) 12:24:04.59 ID:t1Sego2o]
- アクションゲームの敵キャラの行動選択の事なんだけど。
例えば一部の種類の敵は近くの自分と同じ種類の敵の数で動きが変わるとか、敵Bと敵Cが合体攻撃するとか、 ステージ内の他の敵の状態を参照する必要に駆られた時ってどうやってアクセスするべき? 敵のリストを持った敵管理クラスが敵の行動選択時に毎回敵のリストのポインタを投げるのか、 敵Bクラスがstaticで自身のクラスのリストを作っておいて、敵Bの情報が欲しいクラスがこれにアクセスするのか。 他にも地形によって移動が変わる(落ちないようにとか)場合の地形データのアクセス方法ってどうするべきなの?
- 64 名前:名前は開発中のものです。 mailto:sage [2014/08/07(木) 13:00:48.69 ID:GofjvCIT]
- 自分の場合、敵オブジェクトは自分を管理するクラスへのポインタを持っているので、
必要に応じて管理クラスに問い合わせるという感じ というか、何パターンか方法を考えているなら、適当にどれか試してみればいいと思うよ 動けばそれでいいし、問題があるなら直せばいいだけだし
- 65 名前:44 mailto:sage [2014/08/07(木) 17:44:22.62 ID:62RjpHCx]
- 現実的に考えた時
敵が地形情報にアクセスできても不自然じゃないのでは
- 66 名前:名前は開発中のものです。 [2014/08/14(木) 01:20:33.31 ID:McYBYG45]
- Macでc++を用いたゲーム作成だと
SDLかcocos2dあたりになるのかな?
- 67 名前:名前は開発中のものです。 mailto:sage [2014/08/14(木) 14:25:37.69 ID:KaQreIxk]
- 良い選択肢だと思うよ
- 68 名前:名前は開発中のものです。 [2014/08/14(木) 19:21:35.91 ID:tnMEEuh8]
- 一緒にSFML2やらね?DxLibやってるときにスレで単語出て、年始の頃から気になってた
日本語少なくて諦めてたけど、少しずつ揃ってきてるし、なによりDxLibで自作するようなクラスが 揃ってるのがありがたい
- 69 名前:名前は開発中のものです。 mailto:sage [2014/08/14(木) 23:14:33.68 ID:hKNZ3m31]
- そのクラスだけでしか使わない数十行のコードって何回出てきたら関数化する?
プライベート関数を作るのって妙に抵抗があるんだよな パブリックは明確に必要だなってわかるんだけど
- 70 名前:名前は開発中のものです。 [2014/08/15(金) 00:31:11.83 ID:oe50SlNL]
- >>69
無名名前空間使えばいいんじゃね?
- 71 名前:名前は開発中のものです。 mailto:sage [2014/08/15(金) 04:08:25.52 ID:rUjRhF5g]
- 名前空間とかそもそも使ってない
ディレクトリでなんかやってるけど 不都合とかあるかな
- 72 名前:名前は開発中のものです。 [2014/08/15(金) 05:19:42.53 ID:c/9kGC5u]
- メモリをファイルのように扱うクラスを完成させたら
ファイルをメモリのように扱う機能が既に存在していたでござる
- 73 名前:名前は開発中のものです。 mailto:sage [2014/08/15(金) 07:01:48.62 ID:ohMMiKIE]
- >>69
数十行もあるのなら、2回以上で関数にする しないと、修正・テストを常にダブルでしないといけない >>72 そもそもメモリの基本が、mmap(memory map)で、 確保したメモリを、どんなオブジェクトで使おうが自由 まあ一般的なもので、自分が思いつくようなものは、 たいてい誰かが作っているだろう
- 74 名前:名前は開発中のものです。 [2014/08/15(金) 09:58:24.44 ID:c/9kGC5u]
- メモリ上にファイルシステムを構築して、ツリー情報を制御したいのだが、どんなのがあるの?
- 75 名前:名前は開発中のものです。 mailto:sage [2014/08/15(金) 10:41:13.57 ID:j6cgjhWq]
- 他のアプリでも見える仮想ファイルシステムとしてならFUSE/Dokan
アクセス方法含めてファイルAPI使わない木構造コンテナならググれば色々ある APIフックして自分しか見えないRAMドライブを作ったことあるけど行儀悪いから他でもみかけないな
- 76 名前:名前は開発中のものです。 mailto:sage [2014/08/16(土) 06:39:10.61 ID:L92YcU8p]
- 他人の作ったコードって色々あるものなんだな
- 77 名前:名前は開発中のものです。 mailto:sage [2014/08/16(土) 17:19:05.66 ID:8Fs/dbnc]
- Templateって使ったこと無いんですが何に使うんですか?
std::vectorとかコンテナみたいなのに使うんですか? ライブラリ作るときぐらいですか?
- 78 名前:名前は開発中のものです。 mailto:sage [2014/08/16(土) 17:29:23.54 ID:FVHp6E5m]
- よく知らないんですが、
大文字のTemplateって何か特別な意味がある言葉なの?
- 79 名前:名前は開発中のものです。 mailto:sage [2014/08/16(土) 18:04:48.11 ID:8Fs/dbnc]
- Google日本語入力が大文字にしただけです
- 80 名前:名前は開発中のものです。 [2014/08/16(土) 19:19:43.39 ID:KpuwMNAx]
- templateは使えるのにテンプレートエンジンすら知らなかったり
- 81 名前:名前は開発中のものです。 mailto:sage [2014/08/17(日) 00:29:52.38 ID:DxB78rur]
- コンテナやライブラリ作りでお世話になることが多いのは確かだな。
実際それくらいしか使ってないやってヒトも結構いると思う。
- 82 名前:名前は開発中のものです。 mailto:sage [2014/08/17(日) 01:22:39.68 ID:ecqmGiuW]
- よくわかんないですけど、templateってtemplateを使った処理を持ってる側は中身を予測できない(何らかの処理ができない)ですよね?
その中身も用途も知らずに誰かに使われるだけですよね? でなければポリモーフィズムとかで代用出来そうだし
- 83 名前:名前は開発中のものです。 mailto:sage [2014/08/17(日) 01:37:28.43 ID:rcRtUElV]
- templateのやってる事はdefineの高度化で、
基本的にはただの置き換えだが?
- 84 名前:名前は開発中のものです。 mailto:sage [2014/08/17(日) 02:35:54.03 ID:DxB78rur]
- 予測できないってどういうことだろう
- 85 名前:名前は開発中のものです。 mailto:sage [2014/08/17(日) 03:14:42.38 ID:lY+LSruT]
- templateは、コンテナ(容れ物)によく使う
コンテナ <int> コンテナ <ユーザ定義クラス> コンテナが、様々な型に対応できる
- 86 名前:名前は開発中のものです。 mailto:sage [2014/08/17(日) 10:03:56.33 ID:ecqmGiuW]
- >>84
要はtemplateの処理って誰かから値を貰って処理するのではなく 値を右から左に受け渡すだけで・・・
- 87 名前:名前は開発中のものです。 mailto:sage [2014/08/17(日) 10:13:42.02 ID:rcRtUElV]
- templateの中で勝手に値が変更されるからどんな挙動をしているかが分かりにくいって事?
それはソースを追えとしか言えんな。templateはその性質上、クローズド化が出来ないから。
- 88 名前:名前は開発中のものです。 mailto:sage [2014/08/17(日) 10:52:23.87 ID:eh8TRovF]
- MPLとかエラー出ても追いきれないよ
STLですらちょっとした記述漏れで出るエラーメッセージが適切じゃないんだよな 記述した行じゃなくてテンプレートソースの位置のエラーメッセージだし
- 89 名前:名前は開発中のものです。 [2014/08/17(日) 16:34:24.06 ID:2LOHSTCb]
- sfmlはライセンスがGPLだったような
- 90 名前:名前は開発中のものです。 mailto:sage [2014/08/18(月) 12:06:43.86 ID:/xfKqDtl]
- え?templateの中で値が変更されることなんてあるの?
- 91 名前:名前は開発中のものです。 mailto:sage [2014/08/18(月) 12:20:19.06 ID:Amfk7YXr]
- operatorとか使わないの?
- 92 名前:名前は開発中のものです。 mailto:sage [2014/08/18(月) 17:33:11.61 ID:/xfKqDtl]
- 俺は使わん!
- 93 名前:名前は開発中のものです。 [2014/08/18(月) 18:04:50.85 ID:xxNYX8Uv]
- C++のラムダ、拡張for、タプルあたりは見た目が悪くて全然嬉しくないな
- 94 名前:名前は開発中のものです。 mailto:sage [2014/08/19(火) 10:38:31.24 ID:g/Td6fwv]
- 拡張forの見た目を悪いと取る人がいるのか
コロンがダメなのかい?
- 95 名前:名前は開発中のものです。 mailto:sage [2014/08/20(水) 12:24:47.31 ID:vpc/8MHV]
- 関数名ってどうしたらいいですか?
std見るとスネークケースだけどライブラリ見るとローワーキャメルケースだし 主流なオブジェクト指向で揃えたいのならJavaやC#みたいにアッパーキャメルケースだし "ID"は両方大文字でもよかったり、HINSTANCEみたいにどこから意味のある単語なのかわかりづらいし
- 96 名前:名前は開発中のものです。 mailto:sage [2014/08/20(水) 17:29:53.86 ID:zC8dBj+K]
- kansu
- 97 名前:名前は開発中のものです。 mailto:sage [2014/08/20(水) 18:27:48.79 ID:8ddmLszJ]
- 最近の環境だと漢字が使える場合があるな
- 98 名前:名前は開発中のものです。 [2014/08/21(木) 12:39:31.06 ID:cVduPEKK]
- C++もDとかScalaみたいに、クラスに対して手続きだけの後付け静的関数作った場合に、
第一引数省略できたら最強なんだけどなぁ MPLのgetはめんどくさすぎる
- 99 名前:名前は開発中のものです。 mailto:sage [2014/08/22(金) 08:08:31.76 ID:np7Y3ytG]
- jobinjapan.jp/job-listing/keyword-game-programmer.html
- 100 名前:名前は開発中のものです。 mailto:sage [2014/08/22(金) 08:24:17.61 ID:+/wZ7jnK]
- まあ、まともそうな所もあるけれど、時給800円って何だよwww
いくら何でも世間をナメすぎwww
- 101 名前:名前は開発中のものです。 mailto:sage [2014/08/22(金) 13:04:18.40 ID:GdbuT6p8]
- >>97
知らなかったこんなのが普通にコンパイル出来た int 関数(int ほげ, int はげ) { return ほげ + はげ; }
- 102 名前:名前は開発中のものです。 mailto:sage [2014/08/22(金) 17:22:04.27 ID:kNYnH0VP]
- ナメられてるのはゲームプログラマーなんだよなぁ・・・
- 103 名前:名前は開発中のものです。 mailto:sage [2014/08/22(金) 18:16:28.30 ID:tnjQY6BU]
- 最近も何もVisualStudioなら10年以上前から関数や変数名に
漢字を使えるが
- 104 名前:名前は開発中のものです。 mailto:sage [2014/08/22(金) 20:27:56.63 ID:knEiP0zp]
- typedef void 虚無
typedef int 整数 みたいな感じで型を日本語化して頑張ってた友達を思い出した
- 105 名前:名前は開発中のものです。 mailto:sage [2014/08/22(金) 21:01:32.45 ID:+rbtpV8x]
- >>102
さすがにこの条件で行く奴は居ないだろうと思うが…… と思ってよく見たらプランナーだった、紛らわしいな
- 106 名前:名前は開発中のものです。 mailto:sage [2014/08/23(土) 11:34:38.27 ID:VlCYIhca]
- 時給800円ってコンビニのバイトより安いけど
プランナーってそんな楽なお仕事なん?
- 107 名前:名前は開発中のものです。 mailto:sage [2014/08/24(日) 19:03:04.47 ID:+YyUmjGH]
- 人気のある仕事ではあるかもしれんな、プランナーは
だから値段が安くても人は来ると
- 108 名前:名前は開発中のものです。 mailto:sage [2014/08/25(月) 12:46:11.86 ID:13Ou/jq/]
- プランナーは好きにゲームを作れる(かもしれない)仕事だからな、一応
- 109 名前:名前は開発中のものです。 mailto:sage [2014/08/25(月) 21:12:10.93 ID:fIeVmxmz]
- 絵も音楽も無理でプログラム始めたけど難しいから
プランナーになってぼくのかんがえたさいきょうのげーむ作るんだ! って人が多いイメージだわ
- 110 名前:名前は開発中のものです。 mailto:sage [2014/08/26(火) 02:42:29.32 ID:zRu6Y76+]
- 最近は、Unity製サンプルを提示してくるプランナーも多い印象
- 111 名前:名前は開発中のものです。 mailto:sage [2014/08/26(火) 03:02:43.23 ID:9nJGtRzs]
- そういうプロトタイプをさくっと作れるのは、ああいうフレームワークの強みだよね
非エンジニアの人でも、ある程度形を作り上げられるっていう
- 112 名前:名前は開発中のものです。 [2014/08/28(木) 03:18:53.81 ID:X8+LqzAg]
- C言語でゲームを作るならDXライブラリ
使った方が言われたのですが MinGWのgccで使う方法はあるのでしょうか?
- 113 名前:名前は開発中のものです。 mailto:sage [2014/08/28(木) 12:27:05.34 ID:IogRuqxm]
- "DXライブラリ MinGW"でググったら公式配布ページも含めてゾロゾロ出てくるわけだが・・・。
- 114 名前:名前は開発中のものです。 mailto:sage [2014/08/28(木) 14:45:11.67 ID:fyv86xWh]
- こんな事聞くレベルの人間がなぜMinGWなんて使うのだろうと
思った
- 115 名前:名前は開発中のものです。 mailto:sage [2014/08/28(木) 16:18:23.85 ID:bFGeiPpW]
- while(true){printf("a");}
とコンソールで実行した時ループが遅くなるのはなんでですか? 目で追える速度でしか文字列を描画できないなら 計算だらけのゲームなんてまず作れませんよね?
- 116 名前:名前は開発中のものです。 [2014/08/28(木) 18:13:14.40 ID:c3zFvuJr]
- 文字表示系の処理は重いんです
- 117 名前:名前は開発中のものです。 [2014/08/28(木) 18:25:00.80 ID:kFtDpON/]
- 処理が重いというよりも、OSやコンパイラがConsoleで高速描写されないよう規制してるんだろ。
ファイル出力する記号 >でやったら画面表示より速いし、ゲームなんかで使う描写を、使えば速いし。
- 118 名前:名前は開発中のものです。 mailto:sage [2014/08/28(木) 18:34:21.79 ID:p3a/rk2R]
- コンソールはそもそも文字描画速度を速くしようなんて考え方で作られてないでしょ
windowsのコンソールの文字出力はCUIベースの補助的な表示がメインで、 コンソールの文字出力が遅いから早くしてほしいなんて誰も望まない
- 119 名前:名前は開発中のものです。 mailto:sage [2014/08/28(木) 18:35:31.68 ID:cOy/jyai]
- 今は文字を一つ画面に出力するよりもファイルに書き込む方が早い時代です
と言うか、文字一つ出力するのに何バイトのデーターを画面に書き込む必要があるか考えてみ?
- 120 名前:名前は開発中のものです。 mailto:sage [2014/08/28(木) 18:45:56.07 ID:cOy/jyai]
- >コンソールの文字出力が遅いから早くしてほしいなんて誰も望まない
あ、そう言えば昔、PC-98がdos/vよりも優位な点として文字出力速度が早い事を売りにしていたな
- 121 名前:名前は開発中のものです。 mailto:sage [2014/08/28(木) 19:17:50.59 ID:izIKodD2]
- ああいうのは、VRAMにテキストエリアがあるから速いんじゃないの。
DOS/Vにあるのかないのかは知らんけど。
- 122 名前:名前は開発中のものです。 mailto:sage [2014/08/28(木) 19:22:18.05 ID:cOy/jyai]
- PC-98は漢字ROMにフォントデータが入ってるから早いんだよ
- 123 名前:名前は開発中のものです。 mailto:sage [2014/08/28(木) 19:39:22.02 ID:p3a/rk2R]
- >>120
昔はコンソールは補助的なものじゃなかったし 今よりずっと遅い時代があったからでしょ
- 124 名前:名前は開発中のものです。 mailto:sage [2014/08/28(木) 20:10:27.78 ID:lAEGR6jw]
- >>123
いや、話のネタに思い出したからついでに書いただけだよ 昔はテキスト表示で画面をマスクしたりと、遅いマシンの 様々な機能をフル活用して使っていたみたいだね
- 125 名前:名前は開発中のものです。 mailto:sage [2014/08/29(金) 13:24:27.28 ID:7LwoDteC]
- >>115
目で追える速度に遅くしてるんじゃね つ Ctrl+S
- 126 名前:名前は開発中のものです。 mailto:sage [2014/08/29(金) 17:27:19.27 ID:PQKddMMr]
- struct Aiu{
int hoge; }; Aiu* aiu = new Aiu(); ってした時 Aiu aiu2 = *aiu; ってした場合、aiuの寿命が切れた後もaiu2に保持されるんでしょうか? コピーコンストラクタは定義してないです
- 127 名前:名前は開発中のものです。 mailto:sage [2014/08/29(金) 17:35:13.67 ID:I0DNX3OS]
- 自分で試したほうが早いだろ
- 128 名前:名前は開発中のものです。 mailto:sage [2014/08/29(金) 18:05:40.44 ID:B+gnwrXf]
- >>126
その Aiu aiu2 = *aiu; はメンバの値が複製されるだけだから、その後にaiu->hogeを書き換えてもaiu2->hogeは変わらない だからaiuの指す先がdeleteされようがaiu2に影響はない
- 129 名前:名前は開発中のものです。 mailto:sage [2014/08/29(金) 19:30:47.56 ID:+jt7R30F]
- class Stack
{ int a; } class Heap { Stack stack; } void main() { Heap* heap = new Heap(); } っていうプログラムの場合、int aはメモリ内のどこにあるのでしょうか? そもそもヒープ領域のオブジェクトの中のスタック領域の場合ってメモリ的にはどうなるのでしょうか?
- 130 名前:名前は開発中のものです。 mailto:sage [2014/08/29(金) 19:53:53.39 ID:B+gnwrXf]
- 普通にヒープ
- 131 名前:名前は開発中のものです。 mailto:sage [2014/08/30(土) 18:37:32.98 ID:5AIFhixX]
- picojsonというjsonパーサー使ってるんですが、
Eclipseの言ってるエラーが意味不明で困っています どうしたら結果が得られますか? エラー内容:expected primary-expression before ')' token あとテンプレートにポインタやらちょっと組み合わせると全く入力補完してくれないんですがなんなんですか void hoge::hoge1(picojson::object* jsonObject){ picojson::array& jsonArray = jsonObject->get<picojson::array>(); for (picojson::array::iterator it = jsonArray.begin(); it != jsonArray.end(); it++){ picojson::object& o = it->get<picojson::object>(); int unit_num = atoi(o["unit_num"].get<std::string>().c_str()); int unit_id = atoi(o["unit_id"].get<std::string>().c_str()); } }
- 132 名前:名前は開発中のものです。 mailto:sage [2014/09/01(月) 11:52:34.58 ID:NxW8u5cB]
- BlenderとかMayaで作ったモデルファイルとかモーションファイルって
C++erならやっぱり自分でパーサー作って読み込むの?
- 133 名前:名前は開発中のものです。 mailto:sage [2014/09/01(月) 17:34:00.00 ID:7vpWhfmF]
- >>132
Assimp
- 134 名前:名前は開発中のものです。 mailto:sage [2014/09/02(火) 14:27:36.03 ID:PUVCbn2i]
- DirectXも使えるの?
- 135 名前:名前は開発中のものです。 mailto:sage [2014/09/02(火) 17:26:57.05 ID:tdHhEDHk]
- >>133
これ良さげやね BSDライセンスだし色々出来そう スレッドセーフなのもポイント高い
- 136 名前:名前は開発中のものです。 mailto:sage [2014/09/06(土) 11:58:19.59 ID:khJXlvEe]
- >>131
これ誰かわかりませんか?
- 137 名前:名前は開発中のものです。 mailto:sage [2014/09/06(土) 18:09:59.56 ID:AxxHSbmN]
- expected primary-expression before ')' token 意味
で検索してみた?
- 138 名前:名前は開発中のものです。 mailto:sage [2014/09/07(日) 11:10:43.48 ID:s9vhQEyf]
- >>137
()内に値があるとかなんとかとか・・・ でも引数のエラーは別にあるし、全く同じ文(変数名は違うけど)をコピペしてきたものだし・・・
- 139 名前:名前は開発中のものです。 [2014/09/08(月) 21:02:33.10 ID:tesqRk+d]
- ずっとDXライブラリのwhileの中でやってきたせいで(ビジーウェイトっていうのかな?ポーリング?)
GUIライブラリとかのイベントドリブンでゲーム作る方法が全くわかんないぜ DXライブラリでは1フレームごとの処理をupdateメソッドの中でやってたから、 アクションゲーム上のキャラクタなどがゲーム内時間での同期が簡単だったんだけど イベントドリブンだと、そういう「メイン時間軸」による制御がないから ゲーム内時間で厳密に同期が取れないとこが気持ち悪い 例えば、前者では1フレームごとにキャラクターの速度ずつ動いて、衝突判定も一斉にできるけど、 後者だとライブラリ側が(おそらく裏で_秒単位でポーリングしてて)『ボタン押されたよ!』って判断するから、 用いる時間の粒度が、自分が定めたいゲーム内時間じゃなくなってしまうという・・ イベントドリブンを用いる手前、1フレごとにupdateイベント起こすなんて二度手間はやりたくないし・・ (Unity3Dはupdateとイベント併用型らしいけど、どうやってるんだろ)
- 140 名前:名前は開発中のものです。 mailto:sage [2014/09/08(月) 21:18:20.61 ID:tYyDmrPQ]
- 別に必要ならUpdate相当のイベント起こしたっていいじゃない
Windowsとか普通のアプリでアニメーションしたいならWM_TIMERとか別スレッドのタイマーで処理してから 描画のWM_PAINTを間接的に呼び出してるわけだし 描画のイベントを約16msで起こして内部で状態更新すれば60フレームのゲームだ
- 141 名前:名前は開発中のものです。 mailto:sage [2014/09/09(火) 01:28:32.21 ID:iF9Myub/]
- 俺もDXライブラリしか使ったことないからわかんないんだけど描画ループとゲーム内処理のループって分けてマルチスレッドにするもんなの?
ダブルバッファってのもなんか、全ての描画リソースを2倍持つって結構勿体無いなとか思うんだけど ネトゲでよく200fpsとか表示されててなんじゃこりゃとか思ったことあるけどゲーム内処理ループの事だよね?
- 142 名前:名前は開発中のものです。 mailto:sage [2014/09/09(火) 03:36:37.22 ID:C1Zjzm8i]
- 無限ループの中で定期的にPeekMessage関数を呼んで
受信しているウィンドウメッセージを処理するようにするようにする方法が一つある (DxLibで言えばProcessMessage関数みたいなもんだと思いねぇ)
|

|