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