C/C++ゲーム製作総合スレッド Part6
レス数が1000を超えています。これ以上書き込みはできません。
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/
0002名前は開発中のものです。
2014/07/08(火) 20:06:44.54ID:5wDx0zvvDXライブラリ 総合スレッド その18
http://peace.2ch.net/test/read.cgi/gamedev/1399459468/
0003名前は開発中のものです。
2014/07/08(火) 22:28:56.27ID:HDpYeZ9Bドラゴンファンタジー2ってソフトが良い出来で、オープンソフトで動作させて改良もしたい。
ゲームをブラウザで!RPGツクール2000、WOLF RPGエディタ、NScripterが動くサイト - NAVER まとめ
RPGツクールやWOLF RPGエディター、NScripterをご存じだろうか。
どれも有名なゲームのエンジンであるが、これらがブラウザ上で動作するウェブサイトを発見したのでここで紹介したい。
http://matome.naver.jp/odai/2137760829980740001
カテゴリ:ロールプレイング | Plicy [プリシー]
http://plicy.net/GameSearch?Genre_Mode=1&Genre_Select=0
0004名前は開発中のものです。
2014/07/09(水) 00:33:05.16ID:/9oaau4B超一流大の超一流サークルに味噌っかすとして在籍したけど
「戻り値」という奴は漏れなく糞だった
一流の先輩と同期の一流の素質持ちは「返り値」と呼んでいた
それ以来、相手の実力を測る一指標になった
0005名前は開発中のものです。
2014/07/09(水) 00:42:18.61ID:gH6YrqIg0006名前は開発中のものです。
2014/07/10(木) 23:08:04.49ID:BdedQXe00007名前は開発中のものです。
2014/07/10(木) 23:56:25.48ID:2LHVKMhd0008名前は開発中のものです。
2014/07/12(土) 11:17:35.85ID:ncc3HdV6ポインタとか配列少し組み合わせただけでインテリセンス全く効かなくてIDEが考えるのやめるから
素のプログラミング能力が鍛えられるぞ
0009名前は開発中のものです。
2014/07/12(土) 11:44:15.86ID:7m2fpbr80010名前は開発中のものです。
2014/07/12(土) 14:26:52.71ID:vQ3bn+KM0011名前は開発中のものです。
2014/07/12(土) 15:31:31.54ID:dx44IWETVS使って削減した時間で技術書読んだ方が良い
0012名前は開発中のものです。
2014/07/12(土) 19:27:51.35ID:YFwp2REv0013名前は開発中のものです。
2014/07/13(日) 23:54:43.48ID:6xdbF51mstd::string, map, vectorとか避けてたけど自分はフツーに使っちゃってるんだよね。
0014名前は開発中のものです。
2014/07/13(日) 23:56:16.44ID:2b5ueZ890015名前は開発中のものです。
2014/07/14(月) 00:05:45.54ID:ghns6Q0L使い方知ってりゃ使うかもしれん。
0016名前は開発中のものです。
2014/07/14(月) 00:06:33.81ID:ghns6Q0L0017名前は開発中のものです。
2014/07/14(月) 00:21:08.41ID:RkncYO6G0018名前は開発中のものです。
2014/07/14(月) 06:38:37.12ID:4dgjpkas0019名前は開発中のものです。
2014/07/14(月) 06:54:19.85ID:rCKkTZCt0020名前は開発中のものです。
2014/07/14(月) 10:44:14.50ID:89yPaujnそういうのってご本人から理由を聞くのが一番早いと思うんですよねぇ
例えば組込では、不具合が事故に繋がるような制御部とか、かなりカッチリ
とした規約を設ける場合とかありますし。ターゲットハードウェアの仕様上
の都合で使える選択肢に各種の制限が加わる場合も今でもありますし
それと人材流動性が低い場合、社内で整備された資産が「標準」ですから。
それが「要求される機能を満足してます」「みんなが既に習得してます」
「既に安定しており、信頼されてます」などなど、諸々の理由で使われます
一方で人材流動性が高いとか、社内の資産が乏しいとか、様々な理由で
プログラマの裁量権が大きい(臨機応変にやってください状態)の場合は
承認プロセス無しにどんどん新しいライブラリやツールを導入しますね
0021名前は開発中のものです。
2014/07/14(月) 15:04:44.76ID:Ic3STpJMそれともオクツリーとの判定で済ませる?
0022名前は開発中のものです。
2014/07/14(月) 15:33:33.84ID:zcJRIfiPPhysXは個人使用ならライセンス的に......
0023名前は開発中のものです。
2014/07/14(月) 20:28:44.19ID:89yPaujnライセンスフィーとかロイヤリティの類は発生しませんよ。お金の面
では心配無用かと
http://www.nvidia.co.jp/object/physx_downloads.html
> The NVIDIA binary PhysX SDK is 100% free for both commercial and
>non-commercial use
数年前、地方の即売会でジャケット詐欺の物理18禁ゲーを200円で配布
した際、事前に海外の開発者向けのコミュニティで、その手の話題の中で
便乗質問しまして、ライセンス的にはノープロブレムって言われました
0024名前は開発中のものです。
2014/07/15(火) 00:01:33.50ID:qX1m7C3+自分が定義した座標情報とかを他所に任せて移動方向とかフィードバックがくるのか?
全然想像つかない
0025名前は開発中のものです。
2014/07/15(火) 09:29:57.46ID:fXHr03lw勝手に物理エンジン内でモノが動く(ゲームキャラクター側には何の影響もない)
必要なタイミングで、物理エンジン内の箱の位置や角度情報を取り出す
その位置や角度をし、自分のゲーム内のキャラクタに適用する
0026名前は開発中のものです。
2014/07/15(火) 10:30:27.70ID:bF6wBS740027名前は開発中のものです。
2014/07/15(火) 12:49:35.84ID:YEdbM4Lm腕と髪に剛体が仕組まれてて、腕の動きに剛体がついていく
腕の剛体が髪の剛体にあたると髪の剛体が動いて、髪の動きとなる
0028名前は開発中のものです。
2014/07/18(金) 00:32:45.27ID:RFAJhKUJ0029名前は開発中のものです。
2014/07/18(金) 18:24:17.00ID:HNYPZCeU例えば飛行船の上で戦うとか
キャラクターだから自立はできる、けど飛行船の揺れは影響させたいし、>>25の解説だけ聞くと物理エンジン内の空間ではキャラクターを表すオブジェクトが倒れそう
まぁ倒れないんだろうけど
0030名前は開発中のものです。
2014/07/18(金) 20:22:38.58ID:RFAJhKUJお前は物理シミュレータを作りたいのか?
それともゲームが作りたいのか?
0031名前は開発中のものです。
2014/07/18(金) 21:31:31.69ID:wz9t21HDこの認識が間違い
キャラクターは空間に固定されてアニメーションさせてるだけだから倒れたりバランスを失ったりすることはない
0032名前は開発中のものです。
2014/07/19(土) 09:04:53.45ID:MwsgZEhXんー・・・
例えば飛行船が急降下したとき、
乗ってるキャラクターは浮いたり偏ってる方に滑ったりする
この時、物理エンジン内で倒れていたら無理矢理起こす(固定?)という感じになるのか
0033名前は開発中のものです。
2014/07/19(土) 09:28:41.17ID:aecMKE4f普通、物理エンジンはキャラクターそのものには使わず
キャラクターの髪の毛とかスカートとかにしか使わない
> 「不安定な足場」を物理エンジンに任せようとする
っていうのが無理
http://www.gravitysensation.com/sumotori/index.php
極端な例だが、キャラクターの動きを物理エンジンに任せてしまうと、このゲームみたいに無茶苦茶になる
0034名前は開発中のものです。
2014/07/19(土) 11:45:17.81ID:ZZT3dE9z物理エンジンに丸投げと言っても、物理エンジンが自作コードから独立して動くわけじゃないし、
ゲームである以上、100%物理エンジン任せにすることはない。ガンガンプログラマが修正していく。
実際、メタッルギアソリッドのプログラマはその昔、
物理エンジンに任せることは多いが、そのままでは全くゲームにならないので「嘘」を入れていると言っていた。
例えば、人間キャラが自分より大きな物体(岩など)を押して動かす…などのギミックが使えないのだとか。
>>33
「キャラ自体に物理エンジンは反映させない」と言い切るのは、ちょっと乱暴じゃないかな?
実際それが楽なのは間違いないんだけどさ。
例えば、物理演算空間では単純な形状の剛体(直方体など)で登録しておいて、
位置情報だけキャラクターに反映させるとかさ。
0035名前は開発中のものです。
2014/07/25(金) 07:42:06.20ID:0cPiHr0B0036名前は開発中のものです。
2014/07/27(日) 14:09:28.81ID:S7CCeGik物理エンジン
0037名前は開発中のものです。
2014/07/27(日) 16:35:38.39ID:hDFrb6h9それとも1つのクラスにスクリプトか何かで頑張ってるの?
範囲攻撃だとか回復だとか防御だとかバフだとか色々あるけど、
今作ってるゲームで、スキルクラスを継承してプログラムで記述するか、
予めできるだけ多くのパターンを予想してパラメータを盛り込みまくるか
0038名前は開発中のものです。
2014/07/27(日) 16:39:07.72ID:hDFrb6h9近接攻撃クラスと魔法攻撃クラスとか
0039名前は開発中のものです。
2014/07/29(火) 04:04:42.63ID:AylXEMId基本的にはスクリプト。どんなスキルでも格納できる万能構造体を作れるならテーブル化するか、
SQLite なんかのデータベースを利用するって方法もある。
0040名前は開発中のものです。
2014/08/01(金) 19:58:25.02ID:HHwlbQuz0041名前は開発中のものです。
2014/08/02(土) 05:01:01.75ID:eOu4XZLT大人になってもSEとして奴隷労働確定。
目的のための手段なのか、手段のための目的なのか。
目的を達成することを第一義に置かないといけない。
0042名前は開発中のものです。
2014/08/02(土) 08:07:18.21ID:xbgScl0r大人になってもPGとして奴隷労働確定
どうすれば良くなるのか、良くする為にはどうすればいいのか
自己を成長させる事を第一義に置かなければならない
0043名前は開発中のものです。
2014/08/02(土) 12:00:37.08ID:lHwJwlEc0044名前は開発中のものです。
2014/08/02(土) 18:15:56.09ID:8HdFTJm8キャラクターが削除された直後に衝突リストを探索するときに特定の関数を呼び出すとフリーズする
ヌルチェックしてるし、キャラクターをdeleteしたポインタに次の行でNULL代入してるし、
そもそもフリーズする直前にそのインスタンスの別の関数は呼び出しても問題ない
フリーズする関数を呼び出す直前と、関数の最初にログを吐くと関数に入ってないようにみえる
意味がわからん
0045名前は開発中のものです。
2014/08/02(土) 19:25:04.15ID:TmM60CSLというか、錯誤により不具合を作り出してる張本人の、曖昧で、主観的な
供述のみからエスパーレスを引き出そうとしても解決にならないんじゃね
真剣な相談なら不具合を再現できる最小構成のソースコードを晒す
(これ用意する人はその過程で不具合の原因を突き止める確率高い。
つまり質問に至らない場合が多い)
0046名前は開発中のものです。
2014/08/02(土) 19:26:38.81ID:xbgScl0r大体の箇所わかってんならブレークポイントでぽちぽちしながら臭い所探せば
0047名前は開発中のものです。
2014/08/02(土) 19:59:07.91ID:bumse5jz0048名前は開発中のものです。
2014/08/02(土) 20:05:22.19ID:/jwwYoCrそのログ書き出しはちゃんとfflushしてるか?
強制終了させたらバッファに残ってるログは捨てられるよ
0049名前は開発中のものです。
2014/08/02(土) 20:50:36.25ID:dX02eCqqフリーズすることなんてしょっちゅうだ。
フリーズの原因なんて46の言うように無限ループに入ってることがほとんど。
しかも自分の思い込みで「ここで無限ループになんてなるはずがない」と思ってる部分だったりする。
だから逆に「ループの全ては無限ループできる」と探せば割りと早く見つかったりする。
まぁひとつひとつ調べていくのが結局は早い。
0050名前は開発中のものです。
2014/08/02(土) 22:07:42.24ID:juDjvEHG「全て中断」ボタンを押すかCtrl + Alt + Breakで無限ループの中に一時停止させて
F10押してループ判定を追っていけばいいんじゃね?
マルチスレッドでなければブレークポイント使って探るのは効率悪いと思うの
005144
2014/08/03(日) 05:08:34.12ID:jLtHhqBC別スレッドでアニメーション動かしてるからメインスレッド止まってもアニメーションは動くはずだし
でもAndroidNDKだからブレイクポイント使えない
0052名前は開発中のものです。
2014/08/03(日) 10:47:06.01ID:LcYcpDyVリストってことは、該当のポインタを削除するだけじゃなく
その前の要素にあるnextポインタも修正しなきゃならないわけだよな?
deleteだけじゃなく、その修正もしてるか?
してるなら、deleteと修正の間に、別スレッド(描画?)が参照してたりシないか?
0053名前は開発中のものです。
2014/08/03(日) 11:28:48.20ID:ygJOSsne>でもAndroidNDKだからブレイクポイント使えない
使えます。是非使ってください。本当にお願いします。
それと、既に指摘されてる問題部分の切り分けをして下さい。
最小構成でテストして下さい。出来ないならコードをうp
0054名前は開発中のものです。
2014/08/03(日) 11:31:35.11ID:DGgM8UM0操作前後でロックが必要だけどしてないんじゃね?
005544
2014/08/03(日) 13:03:28.60ID:Q2PG92NDごめんなさいstd::listではなくstd::vectorでダブルバッファリングしてます
更新ごとに入れ替わって、push_backされないオブジェクトはdeleteされてそのポインタにNULLが入ります
0056名前は開発中のものです。
2014/08/03(日) 13:39:34.89ID:pnMbsHQKレスしてる暇があるなら単体テストしなよ
0057名前は開発中のものです。
2014/08/03(日) 15:21:07.80ID:CNCHN1HK0058名前は開発中のものです。
2014/08/03(日) 23:21:55.40ID:X5LmADYNこういうメンバ関数ってどんな扱いになってるんですかね?
関数はデータじゃないので扱われないとすると都合いいんだけど、
ポインタだけで扱われてるのか、それともプログラムコードまで含まれるのか。
こんな説明じゃ分かりにくいですかね……。えーと。
以前から、「オブジェクトを生成するたびに、関数(のプログラムコード)も作られ、
オブジェクトごとにコードをそれぞれ持っている」なのか、それとも「関数のプログラムコードは
別のどこかに作られるだけで、オブジェクト内にはそこを示すポインタだけが作られてる」のか疑問だったんですが、
メンバ関数を修正してから修正前のデータを読み込んでみたところ、不正落ちするようになったもので
ひょっとして、前者なのかな? と思った次第でして。
0059名前は開発中のものです。
2014/08/03(日) 23:49:05.25ID:LcYcpDyVhttps://sites.google.com/site/boostjp/tips/serialize
0060名前は開発中のものです。
2014/08/03(日) 23:54:41.45ID:NYhfIPC5仮想関数使ってたらvtableのアドレスが格納されるから、それまで一緒にリストアすると落ちるんじゃないか?
0061名前は開発中のものです。
2014/08/04(月) 00:15:41.74ID:3huMrwYj0062名前は開発中のものです。
2014/08/04(月) 00:35:39.14ID:S6rlQ+o7http://www.microsoft.com/japan/msdn/vs_previous/visualc/techmat/feature/jangrayhood/
0063名前は開発中のものです。
2014/08/07(木) 12:24:04.59ID:t1Sego2o例えば一部の種類の敵は近くの自分と同じ種類の敵の数で動きが変わるとか、敵Bと敵Cが合体攻撃するとか、
ステージ内の他の敵の状態を参照する必要に駆られた時ってどうやってアクセスするべき?
敵のリストを持った敵管理クラスが敵の行動選択時に毎回敵のリストのポインタを投げるのか、
敵Bクラスがstaticで自身のクラスのリストを作っておいて、敵Bの情報が欲しいクラスがこれにアクセスするのか。
他にも地形によって移動が変わる(落ちないようにとか)場合の地形データのアクセス方法ってどうするべきなの?
0064名前は開発中のものです。
2014/08/07(木) 13:00:48.69ID:GofjvCIT必要に応じて管理クラスに問い合わせるという感じ
というか、何パターンか方法を考えているなら、適当にどれか試してみればいいと思うよ
動けばそれでいいし、問題があるなら直せばいいだけだし
006544
2014/08/07(木) 17:44:22.62ID:62RjpHCx敵が地形情報にアクセスできても不自然じゃないのでは
0066名前は開発中のものです。
2014/08/14(木) 01:20:33.31ID:McYBYG45SDLかcocos2dあたりになるのかな?
0067名前は開発中のものです。
2014/08/14(木) 14:25:37.69ID:KaQreIxk0068名前は開発中のものです。
2014/08/14(木) 19:21:35.91ID:tnMEEuh8日本語少なくて諦めてたけど、少しずつ揃ってきてるし、なによりDxLibで自作するようなクラスが
揃ってるのがありがたい
0069名前は開発中のものです。
2014/08/14(木) 23:14:33.68ID:hKNZ3m31プライベート関数を作るのって妙に抵抗があるんだよな
パブリックは明確に必要だなってわかるんだけど
0070名前は開発中のものです。
2014/08/15(金) 00:31:11.83ID:oe50SlNL無名名前空間使えばいいんじゃね?
0071名前は開発中のものです。
2014/08/15(金) 04:08:25.52ID:rUjRhF5gディレクトリでなんかやってるけど
不都合とかあるかな
0072名前は開発中のものです。
2014/08/15(金) 05:19:42.53ID:c/9kGC5uファイルをメモリのように扱う機能が既に存在していたでござる
0073名前は開発中のものです。
2014/08/15(金) 07:01:48.62ID:ohMMiKIE数十行もあるのなら、2回以上で関数にする
しないと、修正・テストを常にダブルでしないといけない
>>72
そもそもメモリの基本が、mmap(memory map)で、
確保したメモリを、どんなオブジェクトで使おうが自由
まあ一般的なもので、自分が思いつくようなものは、
たいてい誰かが作っているだろう
0074名前は開発中のものです。
2014/08/15(金) 09:58:24.44ID:c/9kGC5u0075名前は開発中のものです。
2014/08/15(金) 10:41:13.57ID:j6cgjhWqアクセス方法含めてファイルAPI使わない木構造コンテナならググれば色々ある
APIフックして自分しか見えないRAMドライブを作ったことあるけど行儀悪いから他でもみかけないな
0076名前は開発中のものです。
2014/08/16(土) 06:39:10.61ID:L92YcU8p0077名前は開発中のものです。
2014/08/16(土) 17:19:05.66ID:8Fs/dbncstd::vectorとかコンテナみたいなのに使うんですか?
ライブラリ作るときぐらいですか?
0078名前は開発中のものです。
2014/08/16(土) 17:29:23.54ID:FVHp6E5m大文字のTemplateって何か特別な意味がある言葉なの?
0079名前は開発中のものです。
2014/08/16(土) 18:04:48.11ID:8Fs/dbnc0080名前は開発中のものです。
2014/08/16(土) 19:19:43.39ID:KpuwMNAx0081名前は開発中のものです。
2014/08/17(日) 00:29:52.38ID:DxB78rur実際それくらいしか使ってないやってヒトも結構いると思う。
0082名前は開発中のものです。
2014/08/17(日) 01:22:39.68ID:ecqmGiuWその中身も用途も知らずに誰かに使われるだけですよね?
でなければポリモーフィズムとかで代用出来そうだし
0083名前は開発中のものです。
2014/08/17(日) 01:37:28.43ID:rcRtUElV基本的にはただの置き換えだが?
0084名前は開発中のものです。
2014/08/17(日) 02:35:54.03ID:DxB78rur0085名前は開発中のものです。
2014/08/17(日) 03:14:42.38ID:lY+LSruTコンテナ <int>
コンテナ <ユーザ定義クラス>
コンテナが、様々な型に対応できる
0086名前は開発中のものです。
2014/08/17(日) 10:03:56.33ID:ecqmGiuW要はtemplateの処理って誰かから値を貰って処理するのではなく
値を右から左に受け渡すだけで・・・
0087名前は開発中のものです。
2014/08/17(日) 10:13:42.02ID:rcRtUElVそれはソースを追えとしか言えんな。templateはその性質上、クローズド化が出来ないから。
0088名前は開発中のものです。
2014/08/17(日) 10:52:23.87ID:eh8TRovFSTLですらちょっとした記述漏れで出るエラーメッセージが適切じゃないんだよな
記述した行じゃなくてテンプレートソースの位置のエラーメッセージだし
0089名前は開発中のものです。
2014/08/17(日) 16:34:24.06ID:2LOHSTCb0090名前は開発中のものです。
2014/08/18(月) 12:06:43.86ID:/xfKqDtl0091名前は開発中のものです。
2014/08/18(月) 12:20:19.06ID:Amfk7YXr0092名前は開発中のものです。
2014/08/18(月) 17:33:11.61ID:/xfKqDtl0093名前は開発中のものです。
2014/08/18(月) 18:04:50.85ID:xxNYX8Uv0094名前は開発中のものです。
2014/08/19(火) 10:38:31.24ID:g/Td6fwvコロンがダメなのかい?
0095名前は開発中のものです。
2014/08/20(水) 12:24:47.31ID:vpc/8MHVstd見るとスネークケースだけどライブラリ見るとローワーキャメルケースだし
主流なオブジェクト指向で揃えたいのならJavaやC#みたいにアッパーキャメルケースだし
"ID"は両方大文字でもよかったり、HINSTANCEみたいにどこから意味のある単語なのかわかりづらいし
0096名前は開発中のものです。
2014/08/20(水) 17:29:53.86ID:zC8dBj+K0097名前は開発中のものです。
2014/08/20(水) 18:27:48.79ID:8ddmLszJ0098名前は開発中のものです。
2014/08/21(木) 12:39:31.06ID:cVduPEKK第一引数省略できたら最強なんだけどなぁ
MPLのgetはめんどくさすぎる
0099名前は開発中のものです。
2014/08/22(金) 08:08:31.76ID:np7Y3ytG0100名前は開発中のものです。
2014/08/22(金) 08:24:17.61ID:+/wZ7jnKいくら何でも世間をナメすぎwww
0101名前は開発中のものです。
2014/08/22(金) 13:04:18.40ID:GdbuT6p8知らなかったこんなのが普通にコンパイル出来た
int 関数(int ほげ, int はげ)
{
return ほげ + はげ;
}
0102名前は開発中のものです。
2014/08/22(金) 17:22:04.27ID:kNYnH0VP0103名前は開発中のものです。
2014/08/22(金) 18:16:28.30ID:tnjQY6BU漢字を使えるが
0104名前は開発中のものです。
2014/08/22(金) 20:27:56.63ID:knEiP0zptypedef int 整数
みたいな感じで型を日本語化して頑張ってた友達を思い出した
0105名前は開発中のものです。
2014/08/22(金) 21:01:32.45ID:+rbtpV8xさすがにこの条件で行く奴は居ないだろうと思うが……
と思ってよく見たらプランナーだった、紛らわしいな
0106名前は開発中のものです。
2014/08/23(土) 11:34:38.27ID:VlCYIhcaプランナーってそんな楽なお仕事なん?
0107名前は開発中のものです。
2014/08/24(日) 19:03:04.47ID:+YyUmjGHだから値段が安くても人は来ると
0108名前は開発中のものです。
2014/08/25(月) 12:46:11.86ID:13Ou/jq/0109名前は開発中のものです。
2014/08/25(月) 21:12:10.93ID:fIeVmxmzプランナーになってぼくのかんがえたさいきょうのげーむ作るんだ!
って人が多いイメージだわ
0110名前は開発中のものです。
2014/08/26(火) 02:42:29.32ID:zRu6Y76+0111名前は開発中のものです。
2014/08/26(火) 03:02:43.23ID:9nJGtRzs非エンジニアの人でも、ある程度形を作り上げられるっていう
0112名前は開発中のものです。
2014/08/28(木) 03:18:53.81ID:X8+LqzAg使った方が言われたのですが
MinGWのgccで使う方法はあるのでしょうか?
0113名前は開発中のものです。
2014/08/28(木) 12:27:05.34ID:IogRuqxm0114名前は開発中のものです。
2014/08/28(木) 14:45:11.67ID:fyv86xWh思った
0115名前は開発中のものです。
2014/08/28(木) 16:18:23.85ID:bFGeiPpWとコンソールで実行した時ループが遅くなるのはなんでですか?
目で追える速度でしか文字列を描画できないなら
計算だらけのゲームなんてまず作れませんよね?
0116名前は開発中のものです。
2014/08/28(木) 18:13:14.40ID:c3zFvuJr0117名前は開発中のものです。
2014/08/28(木) 18:25:00.80ID:kFtDpON/ファイル出力する記号 >でやったら画面表示より速いし、ゲームなんかで使う描写を、使えば速いし。
0118名前は開発中のものです。
2014/08/28(木) 18:34:21.79ID:p3a/rk2Rwindowsのコンソールの文字出力はCUIベースの補助的な表示がメインで、
コンソールの文字出力が遅いから早くしてほしいなんて誰も望まない
0119名前は開発中のものです。
2014/08/28(木) 18:35:31.68ID:cOy/jyaiと言うか、文字一つ出力するのに何バイトのデーターを画面に書き込む必要があるか考えてみ?
0120名前は開発中のものです。
2014/08/28(木) 18:45:56.07ID:cOy/jyaiあ、そう言えば昔、PC-98がdos/vよりも優位な点として文字出力速度が早い事を売りにしていたな
0121名前は開発中のものです。
2014/08/28(木) 19:17:50.59ID:izIKodD2DOS/Vにあるのかないのかは知らんけど。
0122名前は開発中のものです。
2014/08/28(木) 19:22:18.05ID:cOy/jyai0123名前は開発中のものです。
2014/08/28(木) 19:39:22.02ID:p3a/rk2R昔はコンソールは補助的なものじゃなかったし
今よりずっと遅い時代があったからでしょ
0124名前は開発中のものです。
2014/08/28(木) 20:10:27.78ID:lAEGR6jwいや、話のネタに思い出したからついでに書いただけだよ
昔はテキスト表示で画面をマスクしたりと、遅いマシンの
様々な機能をフル活用して使っていたみたいだね
0125名前は開発中のものです。
2014/08/29(金) 13:24:27.28ID:7LwoDteC目で追える速度に遅くしてるんじゃね
つ Ctrl+S
0126名前は開発中のものです。
2014/08/29(金) 17:27:19.27ID:PQKddMMrint hoge;
};
Aiu* aiu = new Aiu();
ってした時
Aiu aiu2 = *aiu;
ってした場合、aiuの寿命が切れた後もaiu2に保持されるんでしょうか?
コピーコンストラクタは定義してないです
0127名前は開発中のものです。
2014/08/29(金) 17:35:13.67ID:I0DNX3OS0128名前は開発中のものです。
2014/08/29(金) 18:05:40.44ID:B+gnwrXfその Aiu aiu2 = *aiu; はメンバの値が複製されるだけだから、その後にaiu->hogeを書き換えてもaiu2->hogeは変わらない
だからaiuの指す先がdeleteされようがaiu2に影響はない
0129名前は開発中のものです。
2014/08/29(金) 19:30:47.56ID:+jt7R30F{
int a;
}
class Heap
{
Stack stack;
}
void main()
{
Heap* heap = new Heap();
}
っていうプログラムの場合、int aはメモリ内のどこにあるのでしょうか?
そもそもヒープ領域のオブジェクトの中のスタック領域の場合ってメモリ的にはどうなるのでしょうか?
0130名前は開発中のものです。
2014/08/29(金) 19:53:53.39ID:B+gnwrXf0131名前は開発中のものです。
2014/08/30(土) 18:37:32.98ID:5AIFhixXEclipseの言ってるエラーが意味不明で困っています
どうしたら結果が得られますか?
エラー内容: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());
}
}
0132名前は開発中のものです。
2014/09/01(月) 11:52:34.58ID:NxW8u5cBC++erならやっぱり自分でパーサー作って読み込むの?
0133名前は開発中のものです。
2014/09/01(月) 17:34:00.00ID:7vpWhfmFAssimp
0134名前は開発中のものです。
2014/09/02(火) 14:27:36.03ID:PUVCbn2i0135名前は開発中のものです。
2014/09/02(火) 17:26:57.05ID:tdHhEDHkこれ良さげやね
BSDライセンスだし色々出来そう
スレッドセーフなのもポイント高い
0136名前は開発中のものです。
2014/09/06(土) 11:58:19.59ID:khJXlvEeこれ誰かわかりませんか?
0137名前は開発中のものです。
2014/09/06(土) 18:09:59.56ID:AxxHSbmNで検索してみた?
0138名前は開発中のものです。
2014/09/07(日) 11:10:43.48ID:s9vhQEyf()内に値があるとかなんとかとか・・・
でも引数のエラーは別にあるし、全く同じ文(変数名は違うけど)をコピペしてきたものだし・・・
0139名前は開発中のものです。
2014/09/08(月) 21:02:33.10ID:tesqRk+dGUIライブラリとかのイベントドリブンでゲーム作る方法が全くわかんないぜ
DXライブラリでは1フレームごとの処理をupdateメソッドの中でやってたから、
アクションゲーム上のキャラクタなどがゲーム内時間での同期が簡単だったんだけど
イベントドリブンだと、そういう「メイン時間軸」による制御がないから
ゲーム内時間で厳密に同期が取れないとこが気持ち悪い
例えば、前者では1フレームごとにキャラクターの速度ずつ動いて、衝突判定も一斉にできるけど、
後者だとライブラリ側が(おそらく裏で_秒単位でポーリングしてて)『ボタン押されたよ!』って判断するから、
用いる時間の粒度が、自分が定めたいゲーム内時間じゃなくなってしまうという・・
イベントドリブンを用いる手前、1フレごとにupdateイベント起こすなんて二度手間はやりたくないし・・
(Unity3Dはupdateとイベント併用型らしいけど、どうやってるんだろ)
0140名前は開発中のものです。
2014/09/08(月) 21:18:20.61ID:tYyDmrPQWindowsとか普通のアプリでアニメーションしたいならWM_TIMERとか別スレッドのタイマーで処理してから
描画のWM_PAINTを間接的に呼び出してるわけだし
描画のイベントを約16msで起こして内部で状態更新すれば60フレームのゲームだ
0141名前は開発中のものです。
2014/09/09(火) 01:28:32.21ID:iF9Myub/ダブルバッファってのもなんか、全ての描画リソースを2倍持つって結構勿体無いなとか思うんだけど
ネトゲでよく200fpsとか表示されててなんじゃこりゃとか思ったことあるけどゲーム内処理ループの事だよね?
0142名前は開発中のものです。
2014/09/09(火) 03:36:37.22ID:C1Zjzm8i受信しているウィンドウメッセージを処理するようにするようにする方法が一つある
(DxLibで言えばProcessMessage関数みたいなもんだと思いねぇ)
0143名前は開発中のものです。
2014/09/09(火) 14:01:53.66ID:3oFzTnHF結局のところ、Δ(←前回Updateから今回Updateが呼ばれるまでにかかったリアル時間)を使って
移動距離[ゲーム内距離] = Δ[リアル時間] ÷ 単位時間[リアル時間/ゲーム内時間] × 速度[ゲーム内距離/ゲーム内時間]
で、処理することになる。
ちなみに、Updateの中でもキー操作拾えるから慣れてるほうでいい
ただGUI部品はイベントでやるのがラク
0144名前は開発中のものです。
2014/09/09(火) 20:43:35.21ID:8XdiQ/JL0145名前は開発中のものです。
2014/09/09(火) 23:05:52.44ID:iF9Myub/0146名前は開発中のものです。
2014/09/10(水) 07:18:00.15ID:CE6mrTSg円運動とか放物線とかバネの伸縮とか
最近の物理の教科書には載ってないのかね?
0147名前は開発中のものです。
2014/09/10(水) 08:04:28.67ID:+NofARIs前フレームの座標と今フレームの座標は線形動作じゃないのか
それが積み重なって円や放射状になるわけで
0148名前は開発中のものです。
2014/09/10(水) 08:16:26.68ID:qlf1nlfh人間が扱いやすいから、近似的に線形代数で計算するだけだろ。
0149名前は開発中のものです。
2014/09/10(水) 08:52:17.08ID:pn1h5JmMこれに対して非線形動作は単位時間毎に別の速度で動く。
前者は直線的な、後者は曲線的な動作になる傾向がある。
0150名前は開発中のものです。
2014/09/10(水) 09:37:06.65ID:qlf1nlfhカオス理論 - Wikipedia
カオス理論は、力学系の一部に見られる、予測できない複雑な様子を示す現象を扱う理論である。ここで言う予測できないとは、決してランダムということではない。
その振る舞いは決定論的法則に従うものの、積分法による解が得られないため、その未来の振る舞いを知るには数値解析を用いざるを得ない。
複雑系 - Wikipedia
複雑系とは、相互に関連する複数の要因が合わさって全体としてなんらかの性質を見せる系であって、
しかしその全体としての挙動は個々の要因や部分からは明らかでないようなものをいう。
複雑系は決して珍しいシステムというわけではなく、実際に人間にとって興味深く有用な多くの系が複雑系である。
系の複雑性を研究するモデルとしての複雑系には、蟻の巣、人間経済・社会、気象現象、神経系、細胞、人間を含む生物などや現代的なエネルギーインフラや通信インフラなどが挙げられる。
複雑系は、単純な要素に分解して法則や原理に落とし込む還元主義の方法論では理解できない。
生物を分解してしまうと死んでしまい「生物(生きている物)」として理解できないように、複雑系は分解してしまうと本質が抜け落ちてしまうものだからである。
したがって、複雑系の分野を貫く基本スタンスとして「複雑な現象を複雑なまま理解しようとする姿勢」を挙げることができる。
複雑な現象を複雑なまま理解しようとする学問、手法は「複雑系の科学」などと呼ばれることが多いが、その源流に眼を向けると、
アリストテレスの「全体とは、部分の総和以上のなにかである」といった言い回しにまで遡ることができる。
0151名前は開発中のものです。
2014/09/10(水) 09:50:08.57ID:+NofARIs0152名前は開発中のものです。
2014/09/10(水) 09:55:53.07ID:pn1h5JmM0153名前は開発中のものです。
2014/09/10(水) 10:04:39.49ID:bDY0fB3w移動量とかは加速度とか考慮したらいいじゃない
物理エンジンに投げちゃうとそんなに気にしなくて済むし
0154名前は開発中のものです。
2014/09/10(水) 10:24:30.94ID:qlf1nlfh線形の常微分方程式の解は、変数の数がいくら多くても、
あるところをグルグル回る(振動解) あるところに収束する 無限大に発散する のどれかになります。
ところが、非線形方程式になると、たった変数3つでも、予測不可能な複雑な解になる場合があります。
Lorenz 方程式
1963年、E.N.Lorenz は大気の運動のシミュレーションを試みました。次のようなLorenz方程式を導いたのです。
http://www.gaia.h.kyoto-u.ac.jp/~sakai/visual/2/Lorentz.gif
この方程式は、xz、xy といった2次の項(非線形項)を含みます。これが、非線形常微分方程式 と言われるゆえんです。
彼は、この方程式の解が、定常解でも周期解でもなく、不規則に振動を続けることを発見しましたのです。たとえば、
a=10、b=28、c=8/3
の時の解を、Euler法で積分すると、このようになります。
http://www.gaia.h.kyoto-u.ac.jp/~sakai/visual/2/lorenz1.jpg
「簡単な方程式からは、簡単な答えしか出てこない」または「真理は単純である」と信じられていた当時としては、この事実は衝撃的でした。
カオス状態では、初期値の違いが指数関数的に増大するという特徴があります。
http://www.gaia.h.kyoto-u.ac.jp/~sakai/visual/2/lorenz2.jpg
このことから Lorenz は、「長期の天気予報は不可能である」と結論づけました。
Lorenz の表現を借りれば、「アリゾナの砂漠に飛んでいる一匹の蝶が、ニューヨークに嵐がくるかどうかを決める」ということになります。これをバタフライ効果と呼びます。
http://www.gaia.h.kyoto-u.ac.jp/~sakai/visual/2/index25.htm
0155名前は開発中のものです。
2014/09/10(水) 10:37:15.67ID:pn1h5JmM物理エンジンがあれば考えるわ
0156名前は開発中のものです。
2014/09/10(水) 11:01:26.76ID:qlf1nlfh最近の物理ではそういう方を扱ってるようだが。
ゲージ・重力対応(AdS/CFT対応)
このような、超弦理論の「統一理論的な」性質を最大限に応用したアイディアの一つがゲージ・重力対応です。
この対応を用いると、ゲージ場の量子論における困難な計算や解析を、一般相対性理論における容易な計算に「変換」することが可能となる場合があり、場の量子論の新たな計算手法として注目されています。
http://www.phys.chuo-u.ac.jp/labs/nakamura/overview/index.html
AdS/CFT対応で探る非平衡相転移
概 要:我々の身の回りは非平衡現象であふれている。例えば物質に外部電場を加えて電流を流すという物理過程は、物質中で熱やエントロピーが生成される非平衡過程である。
このような非平衡過程を、電場や電流が大きく両者の関係が非線形となる領域で記述することは現代物理学の難問の一つとなっている。
この難問に向けての新たなアプローチとして最近注目されているのがAdS/CFT対応である。
この対応は、ある種の強結合ゲージ理論を一般相対性理論の言語に書き換える理論的 な枠組みであるが、これを用いると、ゲージ粒子の多体系の非平衡過程を一般相対性理論を用いて解析できる可能性がある。
講演者は最近、このAdS/CFT対応を用いて、強く相関する荷電粒子系の非線形電気伝導を重力理論を用いて解析し、非線形領域において、従来知られていなかったタイプの非平衡相転移が存在することを理論的に見出した。
この非平衡相転移では電気伝導度、あるいは微分伝導度が電流密度の関数として不連続に変化する。
2次相転移点も存在し、そこではいくつかの臨界現象を確認することもできる。
本講演では、発見された新奇な非平衡相転移について報告するとともに、AdS/CFT対応が非平衡物理学に新たな切り口をとなる可能性について述べたい。
http://asuka.phys.nara-wu.ac.jp/2013/07/13-03.html
0157名前は開発中のものです。
2014/09/10(水) 12:31:50.45ID:O1JsX9o20158名前は開発中のものです。
2014/09/10(水) 13:47:47.01ID:TOw/PRIW物理シミュレーションでも作ってんの?
0159名前は開発中のものです。
2014/09/10(水) 13:53:07.44ID:V+psMTaV0160名前は開発中のものです。
2014/09/10(水) 14:00:04.34ID:TOw/PRIWそんな精密に計算する必要なくない?
位置、速度、加速度をフレーム間で線形に計算すればそれっぽく動くと思うんだけど
0161名前は開発中のものです。
2014/09/10(水) 15:59:28.51ID:OJbZlwnu内部計算の間隔は一定のものとして扱うのが一般的だと思うよ。
0162名前は開発中のものです。
2014/09/10(水) 17:49:57.40ID:piOg7Z3/ダブルバッファは描画の基本
バッファが1つだと、描画の途中経過が、画面に映されてしまうので、
見えない裏の画面にすべてを描いてから、表裏の画面を入れ替える
0163名前は開発中のものです。
2014/09/10(水) 20:26:02.06ID:0Gu5fApf多分>>141が言ってるのはそういうことじゃなくて、
マルチスレッドやらで描画リソースを2つ、例えばAとBを持って
Aを描画中にBを更新→Bを描画中にAを更新 っていう意味じゃないのかな
全ての描画リソースを2倍って言ってるし
DXライブラリが勝手にそうしてるって>>141が勘違いしてるかもだけど
0164名前は開発中のものです。
2014/09/10(水) 21:02:15.93ID:+NofARIsメインループの中のUpdate関数の中で
delete this;
return new NextScene();
ってやりたいんですが、ぬるぽエラーにならないでしょうか?
関数はインスタンスに関係無くstaticな存在だと聞いたことがあるんですが、イマイチよくわからないです
受け取り側では
while(true){
if((scene=scene->Update())==NULL)break;
}
こんな感じで、NULLが帰ってきたらゲーム終了です
0165名前は開発中のものです。
2014/09/10(水) 21:14:44.14ID:yJISCIw+「C++ delete this」でぐぐると吉
0166名前は開発中のものです。
2014/09/10(水) 21:17:37.71ID:yJISCIw+> while(true){
> if((scene=scene->Update())==NULL)break;
> }
この方式なら、変数sceneをshared_ptrとかunique_ptrとかのスマートポインタにしておけば
代入のタイミングで元々入っているインスタンスをdeleteしてくれるから
そっちの方がシンプルで安全かも知れない
0167名前は開発中のものです。
2014/09/10(水) 21:24:41.93ID:+NofARIsポインタでしか使わず、配置もしない
0168名前は開発中のものです。
2014/09/10(水) 22:26:12.02ID:+NofARIsネット上のサンプルではクラス定義と一緒に書いてるみたいで実装と分かれていません
operatorもtemplate同様ヘッダーでしか定義出来ないんでしょうか?
0169名前は開発中のものです。
2014/09/11(木) 00:03:08.79ID:asVl9LWgbeginで得たイテレータにインクリメント重ねると必ずendで得たイテレータになるのでしょうか?
0170名前は開発中のものです。
2014/09/11(木) 00:08:52.32ID:dW8hm7Drそしたら自ら開放しにいかなくても、参照が消えたら開放されるはずだろ。
0171名前は開発中のものです。
2014/09/11(木) 00:32:27.41ID:U19JA4G4その状態でAとBが重なったかだけ取得することってできる?
onTriggerEnterとかもコリジョンオフにしたから動作しないし、
自前で衝突判定プログラム作るしかない?
0172171
2014/09/11(木) 00:33:42.60ID:U19JA4G4書くスレ間違えました
0173名前は開発中のものです。
2014/09/11(木) 22:01:08.21ID:asVl9LWgこれなんでerrorが出るのかよくわからないんですが、どういうことなんでしょうか?
ポインタが0にNULLとして反応してるってことですか?
0174名前は開発中のものです。
2014/09/11(木) 22:06:54.07ID:3lU2at1b0175名前は開発中のものです。
2014/09/11(木) 22:24:22.87ID:VO9tt5QZ引数間違ってるんじゃないの
0176名前は開発中のものです。
2014/09/11(木) 22:30:38.71ID:Vk9/avmuポインタがNULLとかはコンパイル時には関係ないよ
コンパイルしたらエラーが出るんだよね?
インテリセンス的なやつはソース修正してもすぐに反映されないから、
IDE上ではエラーになっててもコンパイルしたら行けるとかあるよ
その下に出てる定義が本当にその上のDrawの定義なら行けそうに思うんだけどなあ
なんかインクルードのファイルが実は別のやつになってたとかそんな問題くらいしか思いつかないな
0177名前は開発中のものです。
2014/09/11(木) 23:17:52.95ID:PusxPgQr0178名前は開発中のものです。
2014/09/12(金) 01:29:52.01ID:55HmiNZ2imageresource型で、下のウィンドウがDraw関数です
0179名前は開発中のものです。
2014/09/12(金) 01:35:12.60ID:MvhPALDv0180名前は開発中のものです。
2014/09/12(金) 09:19:01.28ID:M+TP6FjVなおかつImageResourceがその型をpublic継承してないとか?
試してないから全く見当違いかも知れないけど
0181名前は開発中のものです。
2014/09/12(金) 11:29:01.17ID:L2eUAZ9Y0182名前は開発中のものです。
2014/09/12(金) 16:54:40.75ID:M+TP6FjV解決おめ
0183名前は開発中のものです。
2014/09/13(土) 12:46:42.97ID:qOD9bpYo自分のPC2台(両方XP)で動かすと問題なく動き、知人AのPC(Windows7)でも問題なく動くのですが
知人BのPC2台(両方Windows7)だと必ず「プログラムを停止します」とでて終了するという
謎の現象に悩まされています。
落ちる場所は毎回同じようなので、プログラムの要所要所に、テキストファイルに
メッセージを吐き出す命令を加えてみたところ、ある if文 のところで落ちてると判りました。
そこで今度はその if文 で使ってる変数6つをテキストに吐き出すようにしたところ、
その4つめの変数吐き出す部分で終わるようになってしまいました。
(つまり落ちる場所がずれた)
この if文 はループになっており、特定のループ時にのみ落ちる事が判明していますが
この変数自体はループにおいて全く変更されておらず、この変数が原因とは考えにくいです。
次に、このif文は無くてもこの場合たいした支障のでない部分だったので
まるごと消去してみたのですが、それでもやっぱり落ちました。
ここにきて行き詰まってしまって、どう調べていいのかわからなくなりました。
・実はこの部分以外に原因があってそれを見逃してる?
・この関数のこの部分が何らかの影響で破壊されているのか?
・なぜ知人BのPCでだけ発生する?(しかも2台とも)
何か考えられる原因とかありますでしょうか?
0184名前は開発中のものです。
2014/09/13(土) 13:29:31.89ID:N7NNCB+K0185名前は開発中のものです。
2014/09/13(土) 13:31:47.88ID:p7BFEjLV昔のデバッガだとアセンブラで見れて実際に命令がおかしくなってる部分を確認できたわけだが、今は無理だな
0186名前は開発中のものです。
2014/09/13(土) 13:54:57.42ID:p7BFEjLVもしくはメモリに余裕がないとか
0187名前は開発中のものです。
2014/09/13(土) 13:58:59.50ID:FxWLsqJE0188名前は開発中のものです。
2014/09/13(土) 14:40:43.79ID:ktDMwsVO配列とかJavaと勘違いしてたかもしれないけど
0189名前は開発中のものです。
2014/09/13(土) 15:06:29.64ID:Zs9/uEmoC++では、自動的に初期化されるのは静的変数の時だけ(全変数が0に初期化される)
それ以外のスタックやヒープの変数は何らかの初期化をどこかで行う必要があるね
0190名前は開発中のものです。
2014/09/13(土) 16:41:17.80ID:6DC3rx39> その4つめの変数吐き出す部分で終わるようになってしまいました。
そのテキストを吐き出す処理も立派な処理なので、落ちる場所がずれる可能性はあるよ。
デバッグ用に処理を追加してもずれるので原因究明が難しい。
とにかくメモリーを壊してる処理が無いかどうかチェックして
修正したらテストしてもらうとか…
0191名前は開発中のものです。
2014/09/14(日) 11:36:56.77ID:0Se26vk6問題のあるPCを使わせてもらって、IDE入れて直接確認するのが一番早い
もしくは強制終了が出なくなるまで、プログラムをどんどんコメントアウトしていって、原因箇所を突き止めるとか
思いつく原因は、ZeroMemoryで初期化サイズを間違えて、余計な領域まで0にしているとか?
0192名前は開発中のものです。
2014/09/14(日) 12:01:02.08ID:kfEvYRg/自分の場合はネトゲが一部動かなくなったし
0193名前は開発中のものです。
2014/09/14(日) 14:26:42.23ID:wa/wX/ErそれをIDEで開けばデバッグ実行してるような状態になるから
そこでどこでエラーが出たか、どの変数に何が入っているかを確認するといい
開発環境を入れるのは>>192と同意見、入れない方が良いと思う。
0194名前は開発中のものです。
2014/09/14(日) 21:12:12.71ID:62kRP5LB関数ヘッダが実体と違うというウルトラCもありえなくはない
printf でバッファ破壊というオチはよくある罠
>なぜ知人B
俺は詳しくないが DEP の設定がどうのとたまに聞く
自PCで再現できればそれに越したことはないが、そうでなければ気にしても仕方ない
0195名前は開発中のものです。
2014/09/15(月) 00:44:13.42ID:IlfRDj6Oどうせランタイム入れるから、変わらないんじゃないの?
>ネトゲが一部動かなくなった
まじか
0196名前は開発中のものです。
2014/09/15(月) 00:44:19.95ID:GS0jslvNとか言われるけど、やっぱ事実?w
0197名前は開発中のものです。
2014/09/15(月) 01:33:48.17ID:Xt8gwGjX・コンパイル前のソースコードがある
0198名前は開発中のものです。
2014/09/15(月) 01:39:55.70ID:GS0jslvN開発者ではない第三者の前で再現してどーすんだw
0199名前は開発中のものです。
2014/09/15(月) 03:13:10.79ID:wd8jmKt80200名前は開発中のものです。
2014/09/15(月) 07:07:16.38ID:wuAS4ub9デバッガの例外動作関連に割り込んでるみたいだな
アンインストールしても何か残ってたし
0201名前は開発中のものです。
2014/09/15(月) 20:14:31.20ID:+WwuNSKX0202名前は開発中のものです。
2014/09/16(火) 09:20:44.20ID:4EKEuM8s0203名前は開発中のものです。
2014/09/17(水) 02:32:28.35ID:lSNjy4CG0204名前は開発中のものです。
2014/09/17(水) 06:50:46.77ID:2baRZfUFアプリが大きいサイズの連続したメモリー空間が確保できないしか影響ないだろ
0205名前は開発中のものです。
2014/09/17(水) 19:59:00.60ID:BSiz0TOucocos2dみたいに「フレームワーク」ほどいかない自由なのが好きなんだけど
0206名前は開発中のものです。
2014/09/17(水) 20:20:12.05ID:2sT7Gz4p0207名前は開発中のものです。
2014/09/17(水) 21:26:51.10ID:T7ONrPQzダメージが発生した時その配列にpush_backして、キャラクターが更新される時にまとめて処理してるですが
その通知配列に何を入れるかすごい悩んでるんですが、他の人はどうやってやってるんですか?
今は、ダメージとか属性とかデバフ情報とかを伝える手紙のような構造体をvectorにpush_backして
ダメージを受けるキャラクター側の耐性とか加味して処理しようかなと考えてます
・攻撃発生時に構造体の自動変数を生成して、コピーして伝える
・攻撃発生時に構造体をインスタンス化して、ポインタを伝える
・予め攻撃通知用の構造体を静的な値(日本語としての静的)として持っておき、ポインタを伝える
の3つぐらいは思い付くのですが、それぞれ一長一短でどうしたものかなーと・・・
0208名前は開発中のものです。
2014/09/17(水) 21:41:21.93ID:Ek0OO0vX1つめはコピー量が気になる、2つめは毎度newするのが気になる、
ってことなら、3つめのでいいんじゃないの?
日本語としての静的の意味はよくわかんないけど
0209名前は開発中のものです。
2014/09/17(水) 22:18:22.34ID:T7ONrPQz武器を装備して殴りあうだけならいいんですが、
魔法とか攻撃手段が増えると、すごい勢いで増えるかなーと
0210名前は開発中のものです。
2014/09/17(水) 22:40:21.67ID:Ek0OO0vX構造がよくわからないからなんとも言えないけど、
3つのパターンともサイズに関してはあんまり変わらないよね
どうしても気になるなら、通知って方法自体からやり直してみるとか
メモリは必要なら潤沢に使ってもいいと思うけどね
自分なら5M、10Mくらいならそれが必要なら気にせず使うかな
0211名前は開発中のものです。
2014/09/17(水) 22:49:18.55ID:T7ONrPQz同時攻撃されることも考えて・・・
そういえばこの通知をスタックしてって
自分の更新タイミングで一括処理する以外にどんな方法があるんですか?
アクションゲーム作った時と同じ構造で作ったんですが、逐次処理の方がいいんですかね
0212名前は開発中のものです。
2014/09/17(水) 23:14:42.49ID:GQlJBbYl物理ダメ、魔法ダメ、属性、デバフ系とかをまとめた攻撃情報構造体みたいなものを用意
攻撃時に構造体へ情報を詰め込む
Character.Attacked(AttackInfo*)みたいな関数へ構造体を渡す
関数内で最終的なダメージを算出って感じ
FFみたいなゲージ戦闘なら審判みたいなものを用意して、攻撃側と防御側のステータスを渡して
審判が最終的なダメを計算、敵へダメージを与えるってのもありかも?
やるかはわからないけど、防御側のカウンターダメージとかもできそう
0213名前は開発中のものです。
2014/09/17(水) 23:32:10.49ID:Ek0OO0vXスタックせずに同時のタイミングを処理する別の方法としてなら、
ステータスを更新前と更新後用に分けといて、
同じタイミング中は更新前を参照して更新後を書き換えるとか?
0214名前は開発中のものです。
2014/09/17(水) 23:34:50.13ID:T7ONrPQzありがとうございました
0215名前は開発中のものです。
2014/09/18(木) 00:24:30.25ID:64bH7faF一時的なオブジェクトのインスタンス化と削除は、
コンパイラによって最適化される場合があるらしいね
ソースはgems
0216名前は開発中のものです。
2014/09/18(木) 02:30:55.45ID:E/1zPl06>構造はFFみたいにゲージが貯まったら、
>行動できるってやつで、システムはそのままです
ATB(Active Time Battle)は、FFの特許じゃないの?
もう、特許が切れているの?
0217名前は開発中のものです。
2014/09/18(木) 05:08:15.17ID:djmncf26これか?
出願1991年だから切れてるんじゃない?
しかしこういう特許ってゲームのルールは特許にならないからって回りくどくてめんどくさい書き方してるな。でもこれに書いてある通りに実装しなくても似てるだけで訴えるんだろ?
あほくさ
0218名前は開発中のものです。
2014/09/18(木) 11:19:02.99ID:l5OvmxOh余計な待ち時間を増やすとか
あほくさ
0219名前は開発中のものです。
2014/09/18(木) 19:22:54.91ID:5nIXhLpZありがとう!参考になります
当たり判定が直感的で良さそうですね
0220名前は開発中のものです。
2014/09/18(木) 19:34:17.61ID:UPAtERIr0221名前は開発中のものです。
2014/09/18(木) 20:12:10.67ID:djmncf260222名前は開発中のものです。
2014/09/18(木) 23:10:54.55ID:5nIXhLpZ実際にスクエニに連絡して確認したことあるよっていう人がいないも案外おかしいよな
0223名前は開発中のものです。
2014/09/19(金) 03:27:56.19ID:HwK1MKsPユーザが待つ必要があり、時間のムダ
一般的には、ユーザが待たずに、入力し終わってから、
技を発動するまで、プログラム側で待つ
FFがなぜ、ATBのような非効率なシステムを発明したのか、疑問に思う
0224名前は開発中のものです。
2014/09/19(金) 06:39:00.50ID:SD9Sg4bw0225名前は開発中のものです。
2014/09/19(金) 07:39:46.20ID:kDTQDM8B0226名前は開発中のものです。
2014/09/19(金) 18:20:13.98ID:PqYwrc40サガみたいにスロット少なくするのとかアクションゲームみたいに1ボタンごとに割り当てにしないと
ユーザーに不利にしかならない
0227名前は開発中のものです。
2014/09/19(金) 21:54:17.52ID:GkCFCk/kスタオとかテイルズオブシリーズとかか
あれも魔法とかをリストから選択する機会は無くはないけど
さすがに選択中はゲーム進行止まってたな
0228名前は開発中のものです。
2014/09/21(日) 20:54:11.89ID:+/5x6E0N親クラスのルーチンワーク上で呼び出せれば
その関数を子クラスから呼ばせたくないけど、定義はさせたいっていうのが可能なのかなーって
例えばアクションゲームでキャラクターが攻撃を受けた時に、
その親クラスがコリジョン処理する時にノックバックするのかとか、状態異常をキャラクターに追加するとか
0229名前は開発中のものです。
2014/09/21(日) 21:19:32.29ID:yu1YxmSd0230名前は開発中のものです。
2014/09/21(日) 23:30:37.12ID:+/5x6E0NHSPとか?
Javaは論外としてC#とか向いてるのかな
0231名前は開発中のものです。
2014/09/22(月) 07:38:18.22ID:NiqYAxp5ただ、スクリプト使う状況って、意外とリファクタリングで何とかなる状況が多いけどな
0232名前は開発中のものです。
2014/09/22(月) 07:49:16.65ID:7IVENz3sDLLで組めば状態の変数をDLL側で持たないかぎり本体起動しっぱなしで入れ替えもできるし
組み込みスクリプトも何度か使ったが、外部データに関連する計算式程度しか有効的に活用出来なかったわ
0233名前は開発中のものです。
2014/09/22(月) 08:56:45.93ID:NiqYAxp5あと、個別の動作を順序だてて使いたい場合には使った方が楽
0234名前は開発中のものです。
2014/09/22(月) 09:08:18.28ID:NiqYAxp5protectedやfriendじゃ駄目なの?
0235名前は開発中のものです。
2014/09/22(月) 09:11:46.10ID:eY0HQZ22protectedじゃ子クラスから何度も呼び出されてもわからないじゃん
呼び出せるのは親クラスだけ、ただし親クラスが呼び出す関数を子クラスは定義できる
みたいなのがあったらいい感じに縛れそう
0236名前は開発中のものです。
2014/09/22(月) 09:23:12.77ID:NiqYAxp50237名前は開発中のものです。
2014/09/22(月) 11:02:48.99ID:bWbweNXIどうしてもやりたいときは関数ポインタ使うか, 236 のようにカウンタとかフラグで親クラスが管理するしかないんじゃね?
0238名前は開発中のものです。
2014/09/22(月) 12:34:08.13ID:pzX41AB7private virtualって出来なかったっけ?
0239名前は開発中のものです。
2014/09/22(月) 12:35:34.50ID:pzX41AB7じゃあ無理だ。ごめん。
0240名前は開発中のものです。
2014/09/22(月) 19:40:03.48ID:BR22T/mE@親のクラスで関数オブジェクトを返り値とするprotected関数を定義しといて、
子側でオーバーライドし、実行したい処理(関数オブジェクト)を定義し、返すようにする。
A親のクラスのprivate関数で、↑のprotected関数を呼び出し、さらに返り値である
関数オブジェクトを実行するようにしておく。
こうすれば、protected関数を複数回呼び出しても、処理自体が実行されないので
チーム間での疎通ミスは減らせるはず。
ちなみに、関数を子クラス内に定義して関数オブジェクトとして渡すのではなく、
protected関数をオーバーライドするブロック内でラムダ式で記述すれば、
子クラス内で処理を複数呼び出してしまうミスも防ぐことができる
こういう内部処理を外出しするの、D言語とかJavaだと簡単なんだけど、
C++だとラムダ式で返そうと思ったら参照をキャプチャしないといけないんだっけ?
0241名前は開発中のものです。
2014/09/22(月) 19:48:34.84ID:BR22T/mE子クラス側で定義する関数内で、その関数をなんの脈絡もなく再起呼び出しして
無限ループに陥らせることは誰にも防ぐことも縛ることもできないっていうやつよwww
おそらくだけど>>235が縛りたいと言ってるのはその類の話になると思う。
複数回呼ばれて困る処理を子クラスで定義可能な以上、防ぐことはできない。
変更可能な状態を子クラスに公開し、かつ、その処理を子クラスに委ねてるからね・・・。
0242名前は開発中のものです。
2014/09/22(月) 22:25:57.61ID:BR22T/mE0243名前は開発中のものです。
2014/09/24(水) 17:43:40.72ID:mcOEvjH/0244名前は開発中のものです。
2014/09/24(水) 17:49:53.05ID:cFhvO8dH0245名前は開発中のものです。
2014/09/24(水) 17:53:27.57ID:u5gVrNuz2.メモリ管理を完ぺきに把握し、完璧にスケジューリングする
3.スマートポインタ等を使ってガベージコレクションを実装する
0246名前は開発中のものです。
2014/09/24(水) 17:57:31.66ID:1Xr/Cbhv規模の小さいものならそれでも構わないけど、例えばskyrimみたいなオープンワールドのゲームだと無理だよね。
0247名前は開発中のものです。
2014/09/24(水) 18:10:10.66ID:1Xr/CbhvGC実装しただけでメモリの断片化が無くなったら苦労しないよ。
Androidで使われてるVMのdalvikは最後までコンパクションの実装出来なかったし。
0248名前は開発中のものです。
2014/09/24(水) 18:30:05.75ID:FbXuVkZ2基本的にはメモリハンドルでメモリを管理して、
必要なときだけポインタを返すやり方
メモリー配置が変わるとポインタの配置が変わるんでね
ちなみにメモリの再配置はメモリ取得のたびに行ってるから、
メモリ取得の多い場合は処理が重くなる欠点がある
0249名前は開発中のものです。
2014/09/24(水) 18:34:03.41ID:FbXuVkZ2基本的には一度取得したメモリを再利用するやり方
0250名前は開発中のものです。
2014/09/24(水) 18:53:43.12ID:FbXuVkZ2もう片方には取得するメモリサイズを入れておく、なんて事もした
0251名前は開発中のものです。
2014/09/24(水) 18:59:44.67ID:Xjyy1rtc・サイズの増減がないデータは起動時に確保・終了時に解放
・増減があるなら最大数を決めて固定領域を使いまわす
この時個々の要素を同じサイズに揃えることが大事
サイズが違うならまた別の領域にまとめる
・あるいは処理順一定でLIFOにできるならスタックを真似てぶち込むのも一考
0252名前は開発中のものです。
2014/09/24(水) 19:46:03.82ID:LrfGaICk例えば、使わなくなったメモリはリストから外して、
使う場合には使わなくなった領域をリストに再登録するとか
0253名前は開発中のものです。
2014/09/24(水) 19:48:26.36ID:RqPQCow/0254名前は開発中のものです。
2014/09/24(水) 20:02:12.50ID:LrfGaICkさあ?自分のリスト構造は自作で、基本はvector使って作ってる。
STLのリスト構造は使わなくなったらdeleteしてるらしいから、
あまり信用してないんだよな。まあ、増減量が一定量を越えると
自分のやり方でもフラグメンテーションの危険は高まるわけだが。
0255名前は開発中のものです。
2014/09/24(水) 20:07:55.87ID:BMl/3hMSそのメモリを触る可能性のあるスレッドを全て止めなきゃいけなかったり、メモリをメンバーに持つクラスを(標準ライブラリ含む)を使用できなかったりデメリット多すぎる
0256名前は開発中のものです。
2014/09/24(水) 20:18:47.07ID:LrfGaICkスレッドはあんまし使わないから関係ないかもしれないけど
0257名前は開発中のものです。
2014/09/24(水) 21:46:52.60ID:2qY3dsir解ってないな。さすが使わないだけある。
0258名前は開発中のものです。
2014/09/24(水) 21:57:16.58ID:LrfGaICk別々にメモリ取得して別々のコンパクションで監理すれば良いじゃん。
そりゃ、スレッド間通信をどう解決するかという問題は残るが。
0259名前は開発中のものです。
2014/09/25(木) 02:06:25.63ID:zb4pUBj70260名前は開発中のものです。
2014/09/25(木) 06:27:40.78ID:KZOA8+6u0261名前は開発中のものです。
2014/09/25(木) 09:20:46.75ID:SiUQKnDuよっぽどじゃなけりゃ断片化の弊害なんて目立たないし
商業のデカいタイトルだとGC独自実装してるらしいが
0262名前は開発中のものです。
2014/09/25(木) 10:09:34.46ID:Wwt/1FNM0263名前は開発中のものです。
2014/09/25(木) 10:16:44.99ID:GasQ7lmcコンパクションなんて画面の切り替えみたいな暗転で良いシーンで
シリアライズしてオブジェクト作り直しで
64bitならメモリ空間が広くなったから気にせず標準実装でいくけどな
0264名前は開発中のものです。
2014/09/25(木) 10:21:10.03ID:BS6aeyL9固定メモリ配置(って言い方で通じるかな、名前が分からん)にして
どっからどこのアドレスまで何のデータ、って設計までやりそうな印象がある
0265名前は開発中のものです。
2014/09/25(木) 10:22:30.69ID:4YQaZ6ET数時間のプレイの成果が謎のエラーでパーになったぞ どうしてくれる
0266名前は開発中のものです。
2014/09/25(木) 10:57:38.17ID:Q3KR10H7謎のエラーならメモリの断片化関係無いだろ何言ってんだ。
そもそも断片化しようが無尽蔵に増えていくわけでも無いのにそこ勘違いしてないか?
0267名前は開発中のものです。
2014/09/25(木) 11:46:44.21ID:Wwt/1FNMそもそもメモリのフラグメンテーションは見かけ以上にメモリを浪費するから問題になるわけで
0268名前は開発中のものです。
2014/09/25(木) 12:15:21.37ID:0U2Nzxja普通はフラグメントじゃなくてメモリリークを疑うわな
0269名前は開発中のものです。
2014/09/25(木) 12:16:23.34ID:NZ65e36X32bitマシンは切り捨てですか?
0270名前は開発中のものです。
2014/09/25(木) 12:22:47.53ID:NZ65e36Xフラグメンテの問題は使用メモリが少ないにもかかわらずメモリ取得出来なくなるんだが?
数バイトのゴミのような大量のメモリ取得が大きなメモリの再取得を失敗させるから問題なわけで
0271名前は開発中のものです。
2014/09/25(木) 12:27:57.77ID:0U2Nzxjaヒープに展開したメモリが断片化してんだからOS読みの使用量は肥大するだろ
0272名前は開発中のものです。
2014/09/25(木) 12:36:56.59ID:NZ65e36Xただな、vectorしか使ってない、mallocやnewを使ってない状況では、メモリリークは起きない
0273名前は開発中のものです。
2014/09/25(木) 12:51:35.78ID:Wwt/1FNM32Bit環境でフラグメンテーションを発生させる事などたやすいわ〜!!
0274名前は開発中のものです。
2014/09/25(木) 13:11:46.20ID:Wwt/1FNMちなみに32Bit環境の最大メモリー容量は4Gバイト
0275名前は開発中のものです。
2014/09/25(木) 13:57:33.94ID:7St3vxLxPCによってなる場合とならない場合があるし、突然そうなったり直ったりする
誰か分かる人いる?
0276名前は開発中のものです。
2014/09/25(木) 14:05:40.51ID:0U2Nzxjaこれwindowsで試しにやってみたら、断片化起きないのな
なんでだと思って調べてみたら、小さいサイズと大きいサイズのアロケートが
ぜんぜん遠くの場所に確保されて、断片化しないように勝手に配置してた
ググるとLow Fragmentation Heap(vista以降でデフォルトで有効)って機能が在るらしく、
これのせいで断片化が起きにくくなってるらしい
これはwin(vista以降)限定にはなるけど、こんな機能があるなら断片化はそんなに気にしなくてもいいのかも
0277名前は開発中のものです。
2014/09/25(木) 14:56:31.50ID:Q3KR10H7どうやるんだよ。具体的に言って見ろよ
0278名前は開発中のものです。
2014/09/25(木) 15:51:45.34ID:Wwt/1FNMあれ!?て事はうちで今起きてるフラグメンテーションは……メモリの機能を解析しないと解らないか
>>277
悪い、古いOSで5Gまでしか無理だった
奇数番目の数バイトのメモリと10Mのメモリを配置が動くようにサイズを交互に変更して……
って事を考えてたんだが……
0279名前は開発中のものです。
2014/09/25(木) 15:51:52.00ID:eZ0WvKEX10Mバイト程度と数バイトが連続して並べられるような実装のmallocが前提でもいいぞ。例よろしく。
0280名前は開発中のものです。
2014/09/25(木) 15:58:51.73ID:eZ0WvKEX数バイトと10Mバイトを交互に変更したらなんで5Gもいくんだよ。
古いOSってなんだよfreeした領域を再利用しないような糞実装の環境か?どんな環境だよ。少なくとも64BitのOSなんだよな?
0281名前は開発中のものです。
2014/09/25(木) 16:42:29.27ID:Wwt/1FNM10Mバイトのメモリの後ろに数バイトのメモリが動く
2 10Mバイトのメモリの容量を増やす
最初に動かした数バイトのメモリの後ろに10Mバイトのメモリが動き
10Mの空き領域が出来る
3 今の前から2番目の数バイトのメモリを増やす10Mバイトのメモリの後ろに……あれ!?
0282名前は開発中のものです。
2014/09/25(木) 16:54:07.84ID:mt5vjM8o普通に考えて2で出来た10MBの空き領域に3で増やした数バイトが配置されるだろ。
0283名前は開発中のものです。
2014/09/25(木) 17:28:22.48ID:Wwt/1FNMと簡単に考えていたが、難しい
0284名前は開発中のものです。
2014/09/25(木) 17:47:48.32ID:GasQ7lmcVirtuaAllocで予約だけして埋めてけばアプリから見たらメモリ確保に失敗できるだろうよ
0285名前は開発中のものです。
2014/09/25(木) 17:49:24.77ID:aYvhPGQT圧倒的にページデフォルトのほうがロスが大きいし。
フラグメンテーション解消もOS依存だし。
そこにこだわるくらいならメモリプールして再使用したほうがマシ。
0286名前は開発中のものです。
2014/09/25(木) 18:33:30.97ID:Wwt/1FNM0287名前は開発中のものです。
2014/09/25(木) 18:39:35.35ID:aYvhPGQTページフォールト - Wikipedia
ページフォールト (page fault) とは、プログラムが物理メモリがマップされていない仮想アドレス空間上のページにアクセスしたときにハードウェアが発生する割り込み(または例外)である。
ページフォールトを処理するソフトウェアは一般にオペレーティングシステム (OS) の一部であり、ページフォールトを発生させるハードウェアを一般にメモリ管理ユニットと呼ぶ。
OSのメモリ管理がページフォールトを処理し、その仮想アドレスにアクセスできるようにするか、無効なアクセスであるとしてページフォールトを発生させたプログラムを強制終了させることができる。
名前にフォールト(障害)とあるものの、ページフォールトは必ずしも致命的なエラーではない。
Windows、Unix系OS(Mac OS X、Linux。*BSD、Solaris、AIX、HP-UXなど)、z/OSといった仮想記憶方式を採用するOSでは、
ページフォールトは普通に発生するし、必須な機能でもある。
マイクロソフトは(Windows Vistaなどの)リソースモニタの最近のバージョンで、ページフォールトの意味で「ハードフォールト」(hard fault) という呼称を使っている[1]。
0288名前は開発中のものです。
2014/09/26(金) 02:25:48.99ID:m0bZOMy5ゲーム開発を勉強したいんだけどどういう本を買えばいいかわからない
言語はC++で描画はDirectXを使いたい
とりあえず明快C言語の入門編は買った
0289名前は開発中のものです。
2014/09/26(金) 03:16:50.45ID:A4xH7Wvc0290名前は開発中のものです。
2014/09/26(金) 07:13:47.30ID:zpPM/1OBDXライブラリ 総合スレッド その18
http://peace.2ch.net/test/read.cgi/gamedev/1399459468/
0291名前は開発中のものです。
2014/09/26(金) 09:00:00.52ID:FT0pZNED入門ゲームプログラミング (Professional Game Developerシリーズ) 大型本 ? 2014/1/30
がいいみたいだぞ
WindowsゲームプログラミングでWin32apiについても勉強しておくといいかも
DXライブラリ使った方が楽だけど
0292名前は開発中のものです。
2014/09/26(金) 10:12:15.38ID:gU5F+WDx0293名前は開発中のものです。
2014/09/26(金) 10:16:07.11ID:rbkJ86iO0294名前は開発中のものです。
2014/09/26(金) 12:18:19.00ID:+75O60pj0295名前は開発中のものです。
2014/09/26(金) 15:10:36.26ID:m0bZOMy5C++で行きたい
>>290
それはどう言う物?
>>291
DirectXに関してはそのProfessional Game Developerとか言うの買ってみる
Win32apiってのでお勧めの本はあったりする?
>>294
出来る
0296名前は開発中のものです。
2014/09/26(金) 15:43:11.22ID:KjwlBlc20297名前は開発中のものです。
2014/09/26(金) 16:17:40.31ID:JcYHmNqsDXライブラリはDirectXのラッパー
初心者でも簡単にゲームを作れるように製作された
0298名前は開発中のものです。
2014/09/26(金) 17:48:05.16ID:rO+kEazw0299名前は開発中のものです。
2014/09/26(金) 18:04:39.11ID:9JMnzgXVgame engine architecture
game programming gems
取り敢えず俺が読んだ本でよかったもの
最近やってないから内容ほとんど忘れたけど
0300名前は開発中のものです。
2014/09/26(金) 19:01:22.83ID:bysjYWQH0301名前は開発中のものです。
2014/09/27(土) 17:06:21.54ID:4H/ikRQa0302名前は開発中のものです。
2014/09/27(土) 17:09:38.13ID:yBneoUhB一つのファイルにアーカイブして暗号化したものを読み込む
0303名前は開発中のものです。
2014/09/27(土) 22:59:20.87ID:wImin9kVソリューションエクスプローラーにリソースフォルダあるけど、なんかexeのアイコンぐらいしかわからん
0304名前は開発中のものです。
2014/09/27(土) 23:08:35.84ID:SGVF4lSG0305名前は開発中のものです。
2014/10/02(木) 00:06:30.72ID:fnVH62pXこれってグラフィックVRAMでも起きますよね?しかもメーカーによって発生頻度が変わるという。
0306名前は開発中のものです。
2014/10/02(木) 12:09:22.18ID:zEULmnAZ0307名前は開発中のものです。
2014/10/02(木) 12:58:09.55ID:iGYHLveA複数のアプリでVRAMを取り合った結果GPU上に実際にあるかは保証できないし
0308名前は開発中のものです。
2014/10/04(土) 22:09:19.67ID:fjoq6jVy0309名前は開発中のものです。
2014/10/05(日) 02:33:34.79ID:V/yeiJ3y0310名前は開発中のものです。
2014/10/05(日) 03:23:02.94ID:ofmLJ6L4メリットを感じない。
C/C++で書くとしてもゲームじゃないから板違い。
自己解凍したいだけならググれ。
0311名前は開発中のものです。
2014/10/05(日) 09:24:05.22ID:Xq3Ljg/Vこれ結局どうやるの?
0312名前は開発中のものです。
2014/10/05(日) 09:32:21.92ID:644ev0/vとかでググればわかるだろ
プログラミングの前にグーグル先生の使い方覚えろよ
0313名前は開発中のものです。
2014/10/05(日) 09:46:06.79ID:aV15d1fGhttp://code.msdn.microsoft.com/windowsdesktop/10-4ca748ce
0314名前は開発中のものです。
2014/10/05(日) 10:35:25.80ID:Y65zx5bAhttp://en.wikipedia.org/wiki/List_of_installation_software
0315名前は開発中のものです。
2014/10/11(土) 14:23:54.11ID:W7Sb4d1k触れている間、すごい勢いでHPが減ってしまいます
その攻撃は一回だけダメージを受けてあとは無視したいんですが、どういうふうに実装すればいいのかわかりません
キャラクターが直前の受けた攻撃を覚えるというのでもいいんですが、「連続攻撃」などがあるため、兼ね合い上無理です
0316名前は開発中のものです。
2014/10/11(土) 14:31:25.31ID:yKOIaJY/その攻撃にリスト持たせて相手の参照保持するとか
0317名前は開発中のものです。
2014/10/11(土) 15:52:45.46ID:VK47TOFi・無敵時間を作る
・触れてる間ずっと減るという前提で威力を調節する
このへんか?
0318名前は開発中のものです。
2014/10/11(土) 19:19:54.03ID:ftnQTcbt一回ダメージを主人公に与えた敵キャラは主人公に再ダメージ与えるには一定時間かかるようにするとか
連続攻撃の時だけインターバル無効にして
0319名前は開発中のものです。
2014/10/12(日) 05:36:54.90ID:H/GXxxmgあのクッソ高いVisualStudioProfessional2013とか使ってんの?
0320名前は開発中のものです。
2014/10/12(日) 05:45:57.20ID:EhXtC2jR0321名前は開発中のものです。
2014/10/12(日) 07:49:44.05ID:J+1JVnSpいや、使ってるのはVisual Studio Professional 2012だ
数年おきに買い換えてるけどね
0322名前は開発中のものです。
2014/10/12(日) 07:55:19.92ID:/BVTES1n0323名前は開発中のものです。
2014/10/12(日) 08:01:53.97ID:J+1JVnSp・Windows8アプリを作れる
後、何があったかな?まあ、買う意味はあまり無かったが
0324名前は開発中のものです。
2014/10/12(日) 08:05:24.48ID:J+1JVnSpというのがあったか
0325名前は開発中のものです。
2014/10/12(日) 08:23:20.45ID:lmLFkKE0Intel コンパイラもアドインとして実装だし
アプリ作るのにMFCよりATLがついてるのとリソースエディタがあるのが楽
ゲーム向けといえばシェーダデバッガが使える。Pixは使えない環境が増えたから
0326名前は開発中のものです。
2014/10/12(日) 08:29:03.38ID:5ggxpAbS0327名前は開発中のものです。
2014/10/12(日) 08:38:04.82ID:J+1JVnSp検索しても概念しか出てこないんだが
0328名前は開発中のものです。
2014/10/12(日) 08:47:31.90ID:M/9KBN8Z商業利用は可能らしい
0329名前は開発中のものです。
2014/10/12(日) 10:27:41.59ID:SHzxfoNm0330名前は開発中のものです。
2014/10/12(日) 11:20:36.06ID:xlzIAwTnVisualStudioのProfessionalを使う意味があると感じている
DirectXを直接叩かない人には恩恵は殆どないかもしれないが
0331名前は開発中のものです。
2014/10/12(日) 12:00:27.61ID:dKaNtW9R比べてるのVS2010だけどnamespaceのごとにフォルダ作るのとかめんどくさくない?
0332名前は開発中のものです。
2014/10/12(日) 21:20:23.78ID:Xey/qQ/10333名前は開発中のものです。
2014/10/12(日) 23:04:27.97ID:H/GXxxmgExpress2013で実行ファイルのアイコンって変えられないのか?
0334名前は開発中のものです。
2014/10/12(日) 23:06:08.28ID:fyt7rxnY0335名前は開発中のものです。
2014/10/12(日) 23:17:56.44ID:V7vL1J090336名前は開発中のものです。
2014/10/13(月) 00:33:49.65ID:hzHBieoQ表示→その他のウィンドウ→リソースビュー→該当アイコン
0337名前は開発中のものです。
2014/10/13(月) 01:34:31.59ID:uF6f/HdY0338名前は開発中のものです。
2014/10/13(月) 12:10:48.20ID:OHHj8O/3if(hoge != NULL && hoge->a == 1)
0339名前は開発中のものです。
2014/10/13(月) 12:30:34.27ID:rKI73evO0340名前は開発中のものです。
2014/10/13(月) 13:18:53.44ID:X0f4tC8kってかそれぐらい自分で適当にテストすればいいんじゃ
0341名前は開発中のものです。
2014/10/13(月) 14:58:01.00ID:Qf2MnFbB不具合の原因になるよ
0342名前は開発中のものです。
2014/10/13(月) 15:12:08.33ID:rsHrWC8oどちらを読んでも目眩がする。
0343名前は開発中のものです。
2014/10/13(月) 15:49:22.33ID:Fnhb7LNv0344名前は開発中のものです。
2014/10/13(月) 16:36:57.29ID:hzHBieoQ知り合いの言語仕様にやたら詳しい人がこういうコード書いてたから、今は大丈夫なんだろうと思うが
昔は、式の中がどういう順で評価されるかはコンパイラ依存だったはずなので、こういうコードは NG だった
自分は不安なので2段階に分けてる
0345名前は開発中のものです。
2014/10/13(月) 16:48:29.25ID:rsHrWC8o0346名前は開発中のものです。
2014/10/13(月) 17:11:00.07ID:kMnfNib9だから、>>338の文は言語仕様的には問題ないよ
0347名前は開発中のものです。
2014/10/13(月) 17:16:52.97ID:obVPXN/U0348名前は開発中のものです。
2014/10/14(火) 03:20:21.89ID:EcN5Ngh+ちょくちょく出てこない?
安全に使いたいとか。
0349348
2014/10/14(火) 03:33:56.66ID:EcN5Ngh+あんまり的確な例とは言えないかも。申し訳ない。
例えば単純なゲームプログラムで、Enemyクラスを用意し、これとプレイヤーキャラの当たり判定をしたいとする。
当たり判定を行って、接触してないと判定されたらミス処理はスルー。
また当然ながら、敵データがまだ生成されてない(nullptr)なら、当たり判定を行うまでもなくミス処理はスルー。
こんな感じのときに>338は使えると思う。
もちろん、最初に全部生成してからフラグで管理しろよとか、リストで管理しろよとか、他にも方法はあるだろうけど。
0350名前は開発中のものです。
2014/10/15(水) 11:58:17.17ID:KHlvqLu2こういうの参考サイトに載ってなくて…
0351名前は開発中のものです。
2014/10/15(水) 14:43:08.97ID:/0utetRgチャットウィンドウに投げるなり、吹き出しクラスを生成するなり…かなあ?
それとも、2Dゲームだと出来るけど、3Dゲームだと出来ない問題ってこと?
0352名前は開発中のものです。
2014/10/16(木) 00:04:46.56ID:6yN2mL4I改善したい場合、どこがボトルネックになってるかを知る必要があるじゃない?
これを視覚的に確認する方法ってないのかな?
GPUViewってのがあったみたいだけど、今は入手できない?
0353名前は開発中のものです。
2014/10/16(木) 01:44:49.63ID:RD+zBY34GPUのオーバーヘッドを調べるならVisualStudio2012以降のグラフィックステバッグか、
VisualStudioアドオンのnVidiaNSight
あとDirectXSDKについてくるPIXとか
0354名前は開発中のものです。
2014/10/16(木) 14:07:15.58ID:QS36hJY2まとめられるのは2D描画だけだと思うけど
0355名前は開発中のものです。
2014/10/16(木) 14:11:40.09ID:iU5kylbT0356名前は開発中のものです。
2014/10/16(木) 15:57:05.99ID:XA7dLBCP0357352
2014/10/16(木) 23:15:25.79ID:6yN2mL4Iやはり、そのあたりですかね。
http://game.watch.impress.co.jp/img/gmw/docs/586/729/html/gra_53.jpg.html
http://game.watch.impress.co.jp/img/gmw/docs/586/729/html/gra_54.jpg.html
http://game.watch.impress.co.jp/img/gmw/docs/586/729/html/gra_55.jpg.html
http://game.watch.impress.co.jp/img/gmw/docs/586/729/html/gra_56.jpg.html
これ、PSVitaのゲーム開発環境の解析画面なんだけど、こういう感じで見たいなぁ。
>>354
DirectXTKのPrimitiveBatchで、異なるトポロジ(三角ポリと線)を頻繁に切り替えながら描画
(切り替わる度にDrawコールされる)してしまっていたのをできるだけまとめて描画するようにしたら、
Debugモード時に4倍くらいfpsが上がってマジ感動した。
Releaseモードは、わずかに向上するか、ほとんど変わらないときもあった。
>まとめられるのは2D描画だけだと思うけど
3Dモデルならジオメトリインスタンシングが使えるケースがあるね。
0358名前は開発中のものです。
2014/10/16(木) 23:59:18.32ID:mNWrvpmfDrawCall単位で何マイクロ秒かかってるかってのを測定して
CSVかXMLでエクスポートすることはできるみたい
0360名前は開発中のものです。
2014/10/17(金) 10:58:36.38ID:i0zyuJTBおう、諦めな
0361名前は開発中のものです。
2014/10/17(金) 22:20:59.73ID:t1QiiFRycocos2d-xやろうぜ(´・ω・`)
0362名前は開発中のものです。
2014/10/19(日) 21:58:12.45ID:A4TBNuX7プログラミングよりストア登録とか素材作りでつみそう
0363352
2014/10/19(日) 22:56:32.89ID:Me3iytM1このスライドの33枚目にあるようなタスク所要時間の視覚化機能を実装したいなぁ。
GPUの処理時間とか、どうやって計測するんだよ!w
0364名前は開発中のものです。
2014/10/20(月) 06:37:43.13ID:Vt4+cJIA0365名前は開発中のものです。
2014/10/20(月) 11:09:09.21ID:YjayBuJo3Dモデルや絵かける方がよっぽどゲーム作れるぞ
0366名前は開発中のものです。
2014/10/20(月) 11:29:32.25ID:jwhsqWX+絵や話つくりは何とかなりそうなんだけど音関係がなあ・・・
0367名前は開発中のものです。
2014/10/20(月) 11:53:52.64ID:DtF3+BwM絵なんてそれなりのツール使って作品にあった書き方練習すれば半年でなんとかなる
初心者用サイトも多いし
音は何からどうすればいいかわからなくて詰む
0368名前は開発中のものです。
2014/10/20(月) 12:00:13.49ID:wIxNXk0C絵の方がアニメーションとかサイズとか考えると難しいよ
0369名前は開発中のものです。
2014/10/20(月) 12:37:30.84ID:mkykchgR0370名前は開発中のものです。
2014/10/20(月) 13:17:49.07ID:b7HsFQvV0371名前は開発中のものです。
2014/10/20(月) 14:07:32.34ID:GwxwpQhhって言われた端からこれだもんな
0372名前は開発中のものです。
2014/10/20(月) 14:15:39.93ID:jwhsqWX+0373名前は開発中のものです。
2014/10/20(月) 14:34:05.88ID:RcYiFGCh0374名前は開発中のものです。
2014/10/20(月) 14:35:40.06ID:xrex0yYU0375名前は開発中のものです。
2014/10/20(月) 18:54:24.39ID:+9Jsm3nb0376名前は開発中のものです。
2014/10/20(月) 19:20:29.41ID:+9Jsm3nbnamespaceごとにファイルを作っても全く問題はないが?
0377名前は開発中のものです。
2014/10/20(月) 20:05:13.07ID:k9NKmLW6昔Unityの話題だしてごめんな
0378名前は開発中のものです。
2014/10/20(月) 20:59:37.69ID:mkykchgR100レス消費するのに1ヶ月て
0379名前は開発中のものです。
2014/10/20(月) 21:26:24.20ID:GwxwpQhh流れが遅けりゃ何を話題に出してもいいのか?
勢い至上主義の人は別の板に行ったほうがいいぞ
0380名前は開発中のものです。
2014/10/20(月) 21:44:59.67ID:mkykchgR話の広がりを全て排除するオキテでもあんの?
0381名前は開発中のものです。
2014/10/20(月) 22:03:31.71ID:crBxYzk60382名前は開発中のものです。
2014/10/20(月) 22:07:06.42ID:5MyCaHfJ物理エンジン使うの大げさかな?
C++でスクラッチで実装してる人いる?
0383名前は開発中のものです。
2014/10/20(月) 22:49:22.88ID:T47b68DN「効果音」「BGM」「歌」はこう作る(Cubase/VOCALOIDで)
音だってプログラミング!
ってな記事があるよ
12月号が10/24発売だからチェックするなら早めにな
0384名前は開発中のものです。
2014/10/21(火) 00:05:57.07ID:rqDahQkSモーションとかで設定すんのきついからエンジンでいいんじゃ
0385382
2014/10/21(火) 00:10:52.73ID:CEedc/zFたしかに。
パフォーマンスもエンジンのほうが良さそうだし、
簡単なことでも、下手に自分で組むよりイイかも。
コリジョン全般もやらせられるし。
ありがとう、エンジン使う方向でいくわ。
0386名前は開発中のものです。
2014/10/21(火) 00:35:00.20ID:DPj+H0co0387名前は開発中のものです。
2014/10/21(火) 22:05:55.64ID:zLum7v8jOGREかな?
0388名前は開発中のものです。
2014/10/22(水) 19:05:01.43ID:mUYRFHNVバフがつくキャラクタークラスに「〜のバフがあったら〜」という処理を記述するのが簡単なんだろうけど、
バフの数だけキャラクタークラスの処理が増えるのってなんか変だし、
キャラクタークラスが行動しようとするたびにバフ一つ一つにチェックかけるのか・・・
0389名前は開発中のものです。
2014/10/22(水) 19:22:28.97ID:1itouT9H武器毎にキャラクタークラスの処理増えてるわけじゃないだろ?
それと同じだよ
0390名前は開発中のものです。
2014/10/22(水) 20:23:54.50ID:WiWK8TWz0391名前は開発中のものです。
2014/10/22(水) 20:26:43.81ID:eqXGTzBzステータスを一時的にパワーアップするのをバフ、
逆にパワーダウンするのをデバフって。
0392名前は開発中のものです。
2014/10/22(水) 20:36:40.39ID:T1nolpti0393名前は開発中のものです。
2014/10/22(水) 21:44:48.22ID:hFcfDOrV0394名前は開発中のものです。
2014/10/22(水) 22:31:22.09ID:U9EexPEjモンハンとか武器ごとに増えてない?
最近は10秒以内に他のデバフを食らわないと即死するデバフとか、特定の属性の敵に攻撃力2倍とか、3秒に一回キャラクターの行動を中断する麻痺デバフみたいな、
単純なステータス操作じゃないものが多くて、そういうの視野に入れて作ろうかなと
そういや構造って、
ゲーム起動時にstatic変数としてバフのインスタンスを持っておいて、キャラクターのポインタとバフの残り時間を与えれば結果を返してくれるようにするのか、
キャラクターにバフがついた瞬間インスタンス化して、バフが消えた瞬間deleteするようなクラスを作るか
どっちがいいんですか?
0395名前は開発中のものです。
2014/10/23(木) 08:02:34.39ID:I+oJL2c70396名前は開発中のものです。
2014/10/23(木) 08:15:05.80ID:s5Cm5p+vクラスに自殺機能的なものを持たせつつ、キャラごとにリストで持っておきたいなあ。
あー、でもフィールド自体にスリップダメージ効果、みたいなパターンもあるか。
0397名前は開発中のものです。
2014/10/23(木) 09:46:02.30ID:VAxuJujrそうするとバフが欲しい情報はマップ上にあるオブジェクトのリストと、キャラクターのポインタと、時間かな
ゲームの仕様にもよるけど大体この3つ安定
0398名前は開発中のものです。
2014/10/23(木) 09:46:44.49ID:VAxuJujrステートパターンだと一つしか状態異常かからなくない?
ポケモンなら一つだけど
0399名前は開発中のものです。
2014/10/23(木) 10:02:49.79ID:s+t98wQk0400名前は開発中のものです。
2014/10/23(木) 13:23:41.02ID:noQ9gUlZそういうの作るほうは大変だけどユーザにウケるか、手間に見合うかというと、う〜ん
かえってわかりにくいと敬遠されかねない
その点討鬼伝のミタマはうまくやったなと思う いろいろな意味でw
0401名前は開発中のものです。
2014/10/23(木) 17:30:00.96ID:I+oJL2c7ステートパターン+配列でいいじゃん?
ゲームの仕様側を単純化しないと実装の複雑化はさけられないぞ
std::vector<State*> state_list;
state_list += new Poison();
0402名前は開発中のものです。
2014/10/23(木) 19:43:01.60ID:I0e3Ds/Cなんでもありを想定して作って結局あんまり使わないなんてムダだし
0403名前は開発中のものです。
2014/10/23(木) 21:28:12.43ID:qInVWJ1Lそういうのが無くてもStateパターンって便利?
0404名前は開発中のものです。
2014/10/24(金) 00:54:44.36ID:jy1RY2Vz0405名前は開発中のものです。
2014/10/24(金) 20:11:21.11ID:ddPt2zGiスリップダメージならイベント処理時にダメージ&継続判定して再度イベント投げるみたいな
オーバーヘッドでかそうだけど汎用性はある気がする
0406名前は開発中のものです。
2014/10/24(金) 22:30:58.39ID:LvhDFXW3オーバーヘッドとかそう言うのはプロファイラで測ってから言いなさいな
普通、負荷がかかるのはもっと重い処理の部分でしょ
0407名前は開発中のものです。
2014/10/25(土) 03:42:15.96ID:fVKGIfTf0408名前は開発中のものです。
2014/10/25(土) 07:52:10.14ID:NLLH5JYR0409名前は開発中のものです。
2014/10/26(日) 16:26:16.62ID:RQv84B/3だからそのオーバーヘッドが大きいかどうかはそこがネックになってるかどうかで判断しろって言ってるんでしょ
0410名前は開発中のものです。
2014/10/26(日) 17:41:30.80ID:dULlRr0tだからそれがオーバーヘッドキックかどうかはそれがキックになってるかどうかで判断しろって言ってるんでしょ
0411名前は開発中のものです。
2014/10/26(日) 18:19:06.69ID:Z5NRlQnX0412名前は開発中のものです。
2014/10/26(日) 19:50:32.98ID:YANUPprV0413名前は開発中のものです。
2014/10/26(日) 19:56:46.37ID:eW7jlsGh0414名前は開発中のものです。
2014/10/26(日) 22:10:45.35ID:PTfFlHbF0415名前は開発中のものです。
2014/10/26(日) 22:20:48.23ID:Wgbd5x3C0416名前は開発中のものです。
2014/10/26(日) 22:37:50.70ID:RQv84B/30417名前は開発中のものです。
2014/10/27(月) 22:07:07.84ID:sM1yBz6U0418名前は開発中のものです。
2014/10/28(火) 00:30:16.35ID:/GKC+OVC0419名前は開発中のものです。
2014/10/28(火) 21:29:09.92ID:ysAm8J5x0420名前は開発中のものです。
2014/10/29(水) 19:22:23.08ID:nDYTAhVm0421名前は開発中のものです。
2014/10/29(水) 23:42:07.72ID:4ZmDH5l40422名前は開発中のものです。
2014/10/31(金) 00:17:00.08ID:nSbgcPzE自分は限界を感じてC++はゲームライブラリをラップするエンジン部分だけに使って
ゲームロジック部分はLuaでできるように勉強してる
C++(エンジン) // C++(エンジン上で動作するパーツ) // Lua(パーツを利用するロジック) // Lua(モデルやイベント用スクリプト)
0423名前は開発中のものです。
2014/10/31(金) 07:04:00.65ID:m5w778wA何で書くかというより設計の問題でしょ
0424名前は開発中のものです。
2014/10/31(金) 10:05:54.22ID:6bcSF0zB自分もLua使ってて今作ってるけど、ロジックはC++で組んでる(組む予定)
Luaでやるのはキャラの初期値などのパラメータ値の設定やイベントの記述、
画面背景に表示するものをLuaで記述、くらいの予定かな
>>423の人も言ってるけど、Luaで書けるならC++でも書けるから、何をLuaに求めるかだと思うけど、
自分の場合はLuaでやるメリットはリコンパイルせずにレベルデザインの動作確認を行えるようになること
ロジック部分はLuaに追い出すと速度的なデメリットが大きそうなのと、
Luaで書けるようにすること自体の工数も大きそうなのでやめた
0425名前は開発中のものです。
2014/10/31(金) 12:53:25.76ID:CfUZyuSt0426名前は開発中のものです。
2014/10/31(金) 17:49:19.79ID:wudHshK90427名前は開発中のものです。
2014/10/31(金) 17:59:48.36ID:881Z1hau0428名前は開発中のものです。
2014/10/31(金) 18:15:11.72ID:jL8HxUOw0429名前は開発中のものです。
2014/10/31(金) 18:24:36.01ID:6bcSF0zBいらねーよw
0430名前は開発中のものです。
2014/10/31(金) 19:02:05.50ID:LbK2+I6l3種類ほど
一つはシナリオとかのイベント管理用
一つはレコード単位のデータ管理用
一つはツリー構造のデータ管理用
0431名前は開発中のものです。
2014/10/31(金) 19:18:37.90ID:oJQR+l+C・クラスとヘッダーに分けなくていい
・importはC/C++のincludeより使いやすいと思う
C/C++だとどれをインクルードすべきか調べないと分からない事もあるし
・ネイティブの部分だけ予めコンパイルしておけば、変更したコードを複数のデバイスですぐにデバッグ可能
・GCでメモリ管理が自動に
・リフレクションでクラスの情報に実行時アクセス
・実行時の式評価(デバッグに使う)
実行時コード編集は確かにあまり役立ってないかも
デリゲート・・・はC++11なら使えるのか
0432名前は開発中のものです。
2014/10/31(金) 19:23:51.37ID:GqyQ4J03実行中に変更出来ないと一回落として変更して同じところまで進めないといけないから
レベルの調整とかしてるとめちゃくちゃめんどい
0433名前は開発中のものです。
2014/10/31(金) 19:24:16.18ID:LbK2+I6l0434名前は開発中のものです。
2014/10/31(金) 19:32:27.85ID:6bcSF0zBまあ半分わかるけど、相当規模が大きなものじゃないといらないし、
代替としてその環境を作るスクリプトも組めるし、
途中で変えちゃったら、ユーザーがほんとにその条件に辿り着けるのかテストにならないから
やっぱりいらないな
0435名前は開発中のものです。
2014/10/31(金) 20:11:52.54ID:GqyQ4J03ロジックをスクリプトで記述するなら汎用ゲームエンジンでいい気がするな
Unityとかめっちゃお手軽よ
0436名前は開発中のものです。
2014/10/31(金) 20:42:19.68ID:3MYWoAmv0437名前は開発中のものです。
2014/10/31(金) 20:58:16.81ID:qWph+yLX0438名前は開発中のものです。
2014/10/31(金) 22:36:22.81ID:ARi4wFqk0439名前は開発中のものです。
2014/10/31(金) 22:57:08.23ID:oJQR+l+Cいーるどぅ
0440名前は開発中のものです。
2014/10/31(金) 22:59:35.82ID:r+epGFzI0441名前は開発中のものです。
2014/10/31(金) 23:09:11.23ID:BXR79UmAシューティングゲームアルゴリズムマニアクスにあったように記憶してる。
手元にないから確かじゃないけど。
0442440
2014/10/31(金) 23:15:42.18ID:r+epGFzIありがとうございます!
その本は持っているのですが、IKについて書かれていることに気付きませんでしたw
コードも書いているので参考になりそうです。
他の本も、ご存知の方がおられたら是非教えてください。
0443名前は開発中のものです。
2014/11/01(土) 01:19:56.78ID:/W7J7qqw最近読んだのだとこれ
XNAのソースがサンプルであるけど今はXNA自体が使えない
http://www.borndigital.co.jp/book/94.html
0445名前は開発中のものです。
2014/11/01(土) 10:44:08.91ID:oqeDiPeWBがtrueならD、falseならE
DがtrueならF、falseなら・・・
という感じで
if (A) {
if (B) {
if (D) {
F();
} else {
G();
}
} else {
E();
}
} else {
C();
}
というようなことになってしまいます
例えばAがゲーム開始フラグ、Bがプレイヤー出現フラグ、Dが敵出現フラグという時
最初にC()でカウントを回してAをtrueにしゲーム開始
E()でカウントを回してプレイヤーを出現
G()でカウントを回して敵を出現
F()でバトル開始
のような感じになるのですが、どうすればいいのでしょう
あまり良くないですがswitch caseなどでもいいのかなと考えてます
0446名前は開発中のものです。
2014/11/01(土) 11:05:49.01ID:/W7J7qqwステートパターン使うといいよ
IStateを実装した開始ステート、敵出現ステートなどをつくって、
unique_ptr<IState> state = make_unique<InitialState>();
while ...
state->update();
if (state->next)
state = state->next;
0447名前は開発中のものです。
2014/11/01(土) 16:11:10.84ID:XJ9qlDD+0449名前は開発中のものです。
2014/11/02(日) 01:02:23.40ID:p7BeypyfやっぱりStateパターンが良いですよね
ありがとうございます
0450名前は開発中のものです。
2014/11/02(日) 10:54:46.91ID:F1N1A3wTStrategyパターンって
コードの書き方はまったくと言っていいほど同じじゃないですか?
Stateは状態的な切り替え、
Strategyは機能的な切り替え、
というふうに、どういう使い方をするかで名称が別れてるということですか?
0451名前は開発中のものです。
2014/11/02(日) 12:52:42.92ID:2+iLF1K9状態遷移はストラテジーっぽい
0452名前は開発中のものです。
2014/11/02(日) 13:07:10.08ID:nNeu0fIH後から見た時に結構重要だったりするよね
0453名前は開発中のものです。
2014/11/02(日) 13:26:08.13ID:bYY9FFGo例えば遷移だと>>446のやり方はそれぞれのStateの中で自分に関係する遷移条件と遷移先だけ指定するから
ソースを見ただけじゃ全体の遷移一覧がぱっと見えてこないんだよなぁ
0454名前は開発中のものです。
2014/11/02(日) 20:23:50.79ID:rvNm7bLn偏移状態はUMLなりその他の手段で伝わればいい
0455名前は開発中のものです。
2014/11/02(日) 20:58:59.62ID:F1N1A3wTその通りに動くっていう仕組みはスマートで憧れるなぁw
動かす側(エンジン側)のC++コードは一切変更しないでいい。
0456名前は開発中のものです。
2014/11/02(日) 21:39:22.79ID:2+iLF1K90457名前は開発中のものです。
2014/11/02(日) 23:03:44.43ID:nU5X7LHx0458名前は開発中のものです。
2014/11/02(日) 23:46:34.29ID:bYY9FFGo0459名前は開発中のものです。
2014/11/03(月) 11:18:44.11ID:awPRm7Lk各処理に番号付けてswitchで振り分けながら順番に処理した方がまだ見通しよくなりそう
0460名前は開発中のものです。
2014/11/03(月) 12:22:49.27ID:h2Nq+Bdg0461名前は開発中のものです。
2014/11/03(月) 12:27:51.68ID:DUvfBBxq0462名前は開発中のものです。
2014/11/03(月) 13:23:55.34ID:EKtPAmoI1行ですっきり書けてかっこいいと思ってやってるんだろうけど
結局デバッグするときにどの関数が実際に呼ばれてるのか
分かりにくくなったりするだけなんだよなあ
状態変数使ってifelseとかswitchの方が分かりやすいし
そもそも状態遷移の処理なんかそんなに頻繁に書き換えないし
状態遷移の処理で致命的なバグになって開発が頓挫なんてしないし
結局プログラマーのオナニーでしかないんだよなあ
ファミコンなんかクラスどころか関数すらないのに神ゲーいっぱいあったわけで
オナニーに精力を出すくらいならもっと内容に力入れてよ
0463名前は開発中のものです。
2014/11/03(月) 13:31:20.68ID:DUvfBBxqベタな書き方で十分なら、それでいいところは多いね。
0464名前は開発中のものです。
2014/11/03(月) 13:33:27.09ID:Haa+1SS6他人と共同で作業してたりコードレビューしたりしないなら好きにすればいいさ
多少のわかりにくさはコメントでカバーすることもできるし
それが原因で時間かかっていつまで経っても完成しないとかだと目も当てられないが
0465名前は開発中のものです。
2014/11/03(月) 13:33:31.87ID:TMDXQf530466名前は開発中のものです。
2014/11/03(月) 13:36:09.35ID:DUvfBBxq楽しいねw
ポリモーフィズムで、ほとんどコードをいじることなくなった基幹クラスがあることが嬉しいw
場合によってはベタ書きのほうが総合的にイイなぁ、と思うところも多々あり。
0467名前は開発中のものです。
2014/11/03(月) 15:20:17.50ID:awPRm7Lk関数名じゃなくて数値と対応付けてswitchで処理するって事
複数のboolで分岐してるのをintひとつでやる感じ
列挙型でやればコードも見やすいかも
そもそも関数名でswitchなんて出来ないしね
0468名前は開発中のものです。
2014/11/03(月) 15:42:10.04ID:LRPNDOfH自動的に対応付けてCのソースコード生成とか、昔からよくあるサボりテク
STGの敵キャラや弾みたいな、簡易なシーケンシャル制御では重宝するかと
0469名前は開発中のものです。
2014/11/03(月) 15:42:40.12ID:LRPNDOfH0470名前は開発中のものです。
2014/11/03(月) 16:29:35.49ID:almwUFeG0471名前は開発中のものです。
2014/11/03(月) 16:38:51.58ID:w8rbKk4KCならまだしも、C++で関数ポインタって使いにくいと思うんだけど
非staticなメンバ関数使おうとしたらめんどくさいし(function<...>とかあるけど)
あと一口に状態遷移っていっても
アクションゲームの敵とか、個々のゲーム内オブジェクトの動作みたいな規模と
RPGでのフィールド/メニュー/先頭シーンの切り替えみたいな規模のものがあるけど
それによっても求められる要件は結構違ってくるんじゃないか
0472名前は開発中のものです。
2014/11/03(月) 16:47:13.78ID:6bdXEtlk関数付き構造体としてしかC++使えていないだろうし
0473名前は開発中のものです。
2014/11/03(月) 17:15:54.38ID:awPRm7Lk少なくとも>>445の例でstateパターンが最適とは思えない
0474名前は開発中のものです。
2014/11/03(月) 17:30:10.15ID:s5EHYVPLhttp://boost.cppll.jp/HEAD/libs/mpl/doc/paper/mpl_paper.html
の、「5. 例: コンパイル時 FSM ジェネレータ」の辺りを読んでみると
>>445が抱いた疑問に対して、わりと明瞭に答えているような気が
しないでもない
「ネストしたif(またはswitch-case)を使ってFSMの構造を実装する
ことは特に間違いではないが」というように、状況によって最適な
実装は変わるんだよね
0475名前は開発中のものです。
2014/11/03(月) 17:38:52.31ID:EKtPAmoIステートパターン使ってない奴を見下し軽蔑し
ステートパターンを使うことを強要してくる
こういうやつがいるからソースコードをgithubに公開とかする気が失せるんだよなあ
日本人てほんと頭悪い民族なんだなと思う
0476名前は開発中のものです。
2014/11/03(月) 17:40:45.30ID:DUvfBBxq0477名前は開発中のものです。
2014/11/03(月) 17:43:52.24ID:71HprTRFすごいなその日本人ってやつは
0478名前は開発中のものです。
2014/11/03(月) 17:49:10.69ID:s5EHYVPL0479名前は開発中のものです。
2014/11/03(月) 17:56:31.99ID:Z17rldcf商業ならそうもいかないだろうけど
0480名前は開発中のものです。
2014/11/03(月) 18:00:07.61ID:eKZugS4h他人のソース全く意味わからないし。
0481名前は開発中のものです。
2014/11/03(月) 18:26:59.05ID:EKtPAmoI日本人は絶対写真出さないしニックネームだからな
ネットゲームでも外人は気さくに話しかけてくるが日本人は基本無口だからな
晒しとか陰湿な行為を行うのは日本人という民族が劣ってるからなんだろう
0482名前は開発中のものです。
2014/11/03(月) 18:34:22.56ID:Z2NKRK1eもっと自分に自信を持ったら?
0483名前は開発中のものです。
2014/11/03(月) 19:12:02.78ID:LRPNDOfH0484名前は開発中のものです。
2014/11/03(月) 21:02:33.52ID:6bdXEtlk頭悪いし才能ないから諦めたほうがいいよ
0485名前は開発中のものです。
2014/11/03(月) 21:22:08.07ID:/5RkG39n0486名前は開発中のものです。
2014/11/03(月) 21:41:28.69ID:DUvfBBxq0487名前は開発中のものです。
2014/11/03(月) 21:47:10.70ID:awPRm7LkだからJAVAやってればいいじゃん
君にネイティブ言語はちょっと難しいんじゃないかな
0488名前は開発中のものです。
2014/11/03(月) 23:31:40.14ID:6bdXEtlk継承ひとつ理解できないおつむじゃ諦めたほうがいい
もしくは独自のヘンテコなやり方をしたければ、ここで披露せずに一人でやっていなさい
0489名前は開発中のものです。
2014/11/03(月) 23:48:43.67ID:kGGiNKfpでもstateパターン作るなら、状態遷移図は別にドキュメントを作る必要があると思う。
テーブルでやる場合はソースだけでもいいが、抜けがないかの確認がしにくい。
階層型の状態遷移はどうやるといいのだろうか。nestが2階層とか決まってたらまだいいけど、
自由に階層作りたいとか。
0490名前は開発中のものです。
2014/11/03(月) 23:51:38.06ID:kGGiNKfpコードも見やすく、変更も動的にできるし。
0491名前は開発中のものです。
2014/11/04(火) 00:05:07.98ID:zm0bWhhE0492名前は開発中のものです。
2014/11/04(火) 00:09:15.45ID:8wIs/lt8親階層を子階層から遷移させる手法が考えどころになるだろうね
自分は独自のやり方でやってるけど、一般的にはどういうやりかたが
推奨されて普及しているのかよく分からない
0493名前は開発中のものです。
2014/11/04(火) 00:40:17.63ID:ROF6NvON0494名前は開発中のものです。
2014/11/04(火) 01:00:57.23ID:gmdSbkqZ0495名前は開発中のものです。
2014/11/04(火) 01:25:54.32ID:eIlBUMlD興味があるので、できれば試用感を教えてほしいんだけど
0496名前は開発中のものです。
2014/11/04(火) 02:14:53.36ID:zm0bWhhEライブラリいっぱい使うと時間がかかるとか、
なんでアホな話になるかね。
外部データとして扱えることが最大の利点だろうに。
移植のこととか考えてないんかねこの人たちは。
0497名前は開発中のものです。
2014/11/04(火) 02:17:27.43ID:ROF6NvON0498名前は開発中のものです。
2014/11/04(火) 02:33:18.69ID:zm0bWhhEシーケンシャルな書き方で >>445 を書けて
GameStart();
ShowPlayer();
ShowEnemy();
BattleStart();
てことで、定型の処理は隠ぺいして保守しやすくスッキリ見通せる。
さらにスクリプトからスクリプトを生成して動的に実行するということも可能になるんで
非常にフレキシブル。
boostのコルーチンは使ったことない。
0499名前は開発中のものです。
2014/11/04(火) 06:57:09.55ID:64bWIxQw逆にC++だと移植大変だったりする?
OSのAPI以外でもコードに差って出たりするの
0500名前は開発中のものです。
2014/11/04(火) 13:13:42.12ID:8wIs/lt8コンパイル時間云々もDLLにすれば解決するよ
俺的には、Luaはユーザーに自作マップとかMODを作らせるものだと思ってる
洋ゲーだとMODツールキットにLuaがよく使われているしな
0501名前は開発中のものです。
2014/11/04(火) 20:36:39.38ID:zm0bWhhEC++の中にハードコーディングしたイベントだらけだったら、
コードを把握するのも大変で移植するのに萎えないか?
その点実行部分とスクリプトで明確に分けれるのが大きい。
実行部分は作る人が仕様に沿ってつくるだけだし、どのプラットホームでも共通のスクリプトにできる。
ちなみにLuaはANSI C準拠なんで、C++がダメな環境でもOK。
0502名前は開発中のものです。
2014/11/04(火) 21:00:59.89ID:xgvPL05Xコード把握するの大変だけど移植するわけじゃないからおkとはならないでしょ
0503名前は開発中のものです。
2014/11/04(火) 21:03:11.80ID:IS/2iQRa移植以前に完成したことないだろ
0504名前は開発中のものです。
2014/11/04(火) 21:09:55.86ID:zm0bWhhEとりあえず、>>503はどういう方法でゲーム作っているのか書いてから
どこら辺がデタラメか指摘してもらえるかな?
0505名前は開発中のものです。
2014/11/04(火) 22:19:13.99ID:8wIs/lt8見栄を張って嘘をついてもすぐにばれてしまうというこったw
0506名前は開発中のものです。
2014/11/04(火) 22:42:12.25ID:Jn/miYsuAIの行動パターンを制御する時みたいに、それぞれのステートが
共通の値(現在HPとか)を参照できる状態(ステート固有の値は持たない)で、
実行される処理だけ切り替えたい場合と、
シーンの切り替えみたいに、ステート固有の値を保管してシーンをスタックに詰んで戻ってきたい場合と、
実装方法は>>446で同じだけど、明確に意味が違うとして別クラス(インターフェース)にすべきだよね?
0507名前は開発中のものです。
2014/11/04(火) 22:46:48.54ID:zm0bWhhE外部にスクリプトで記述していたら、本体は機種依存や特殊な部分だけ移植すればいいだろうが。
ハードコーディングなんぞしてたら移植するたびに作り直しじゃないか。
0508名前は開発中のものです。
2014/11/04(火) 22:48:00.93ID:2N3psa7Jするべきだと思う
じゃないとシーンの制御にAIのオブジェクト渡せるみたいなわけわからん事になる
0509名前は開発中のものです。
2014/11/04(火) 23:07:53.61ID:K2k2Os5b0510名前は開発中のものです。
2014/11/04(火) 23:17:05.61ID:zm0bWhhEゲーム固有のイベントをその汎用的なエミュに組み込むのか?組み込まないだろ?というのとあまり変わらない。
0511名前は開発中のものです。
2014/11/04(火) 23:18:46.07ID:2N3psa7J0512名前は開発中のものです。
2014/11/04(火) 23:36:33.23ID:rDud6J5G別に移植考えないなら考えてないコードでもいいんじゃない?
まぁどっちでも好きな様にすりゃいいんだけど
0513名前は開発中のものです。
2014/11/04(火) 23:41:58.41ID:K2k2Os5b多分大抵の人はスクリプトの用途をもっと限定的なものとして話してると思うわ
0514名前は開発中のものです。
2014/11/04(火) 23:48:24.99ID:zm0bWhhE要はstateパターンやswitch振り分けのほかにDSLという選択肢を示したかっただけ。
0515名前は開発中のものです。
2014/11/04(火) 23:50:26.53ID:GMRH/mFP処理速度が必要な部分が判明したときだけコードをC++に移すかんじで
FFCCはソース見当たらなかったがほとんどがスクリプトだったと見た記憶がある
http://www.inside-games.jp/article/2009/09/07/37504.html
http://game.watch.impress.co.jp/docs/20080224/ffcc.htm
0516名前は開発中のものです。
2014/11/04(火) 23:52:06.45ID:8wIs/lt8スクリプトを使うかどうかと何の関係もないのだがw
ボロがでるばかりwww
0517名前は開発中のものです。
2014/11/05(水) 00:01:59.05ID:23olDi5Xまさにそう。使ってるライブラリが開発停止になっても、エンジン部のすげ替えもできるし。
>>516
キミは分からないならもういいよ、独自の路線を走ってくれw
たぶん一人だけで開発してるだろうから、いまのままでも特段不便はないだろ。
0518名前は開発中のものです。
2014/11/05(水) 00:12:09.01ID:mDgxc5Qoそれと組み込みスクリプト言語を使用することに何の関連性も無いのよ
0519名前は開発中のものです。
2014/11/05(水) 00:21:14.06ID:23olDi5Xで、俺の主張は>>514だが、キミの主張はなんなの?過去発言から意図が見えないのだが?
単に俺に突っかかって来るだけなら、相手しても無駄なので遠慮したいんだが。
0520名前は開発中のものです。
2014/11/05(水) 00:27:01.07ID:mDgxc5Qoあまり背伸びをするなよw
0521名前は開発中のものです。
2014/11/05(水) 00:28:29.32ID:23olDi5X0522名前は開発中のものです。
2014/11/05(水) 00:36:27.94ID:mDgxc5Qoしったか君が大恥をかいたのであった♪
0523名前は開発中のものです。
2014/11/05(水) 00:45:38.59ID:/iQIEZEB前提が共有できてないのに知ったか吹いてると大恥かくよ
0524名前は開発中のものです。
2014/11/05(水) 00:50:14.08ID:IdGIx4uz個人で作る小規模ゲームでもよく使われるの?
オールC++の人も多いのかな?
0525名前は開発中のものです。
2014/11/05(水) 00:55:37.53ID:x4hCla17移植先がC++ならOSのAPI叩く部分とエンジン駆動部分を綺麗に分離しとけば、
移植性に関しては大して変わらないようにも思うし、
スクリプトの最大のメリットが移植性とか言われるとやっぱすごい違和感在るわ
つうかゲーム自体をスクリプトで書くならもうすでにこのスレで話す内容じゃないな
0526名前は開発中のものです。
2014/11/05(水) 00:56:41.89ID:mDgxc5Qo遂にその程度のことも分からなかったID:23olDi5Xが大恥かいたということだね
0527名前は開発中のものです。
2014/11/05(水) 01:16:22.19ID:IsY3AQRwc++だけで何の問題もない
0528名前は開発中のものです。
2014/11/05(水) 01:19:11.85ID:IdGIx4uz移植とか気にせんでえーし楽だ。
0529名前は開発中のものです。
2014/11/05(水) 01:33:14.61ID:1mW5bpIrデータの分離は常識だけど、それをさらに進めて制御も分離できる
データとそれを使うコードは密接なことも多いから
まるごと分離できると何も考えなくて済むし
0530名前は開発中のものです。
2014/11/05(水) 02:09:12.31ID:23olDi5Xいや、>>496 で言ってるように最大の利点はデータとして分離できること。
移植が注目されてるが、質問から思わず伸びたに過ぎない。利点の一つではあるが。
ちなみに>>422は俺ではないが、ほぼ同じ経緯をたどっているね。
特に複数人で開発するときスクリプトはかなり便利。
割と簡単に使えるようにしてから、デザイナーが演出とかいろいろ直接いじったりできる。
※あいつら、結構シビアなんでいちいち要求に応じて、こっちで作業してたらめんどくっさい。
また、前は書き換え専用の実行ファイル持ってたが、
データとしてゲーム部分を持っているのでリリース後、ゲーム中にアップデートすることもできる。
某プロテクトの関係で実行ファイルを書き換えられないので、これ地味に結構良い。
0531名前は開発中のものです。
2014/11/05(水) 02:22:26.32ID:23olDi5Xほんとこれだね
0532名前は開発中のものです。
2014/11/05(水) 02:24:59.33ID:IdGIx4uz覚えとこ。
0533名前は開発中のものです。
2014/11/05(水) 03:13:21.00ID:H18oW5WU例えばキャラクターの行動を外部データ(テキスト形式)で設定するとして、俺がどうやろうかと考えると
テキストを読み込む→書かれてた文字を判定→それに従ってキャラを設定する
という単なる外部データ読み込み処理になるわけだけど、
これだと特に意識しない限り独自形式でやることになるから、スクリプト言語とか関係なくなる。
んじゃよく聞くスクリプト言語ってのはなんなんだと考えると
誰かが考えたスクリプト言語にしたがって自分で実行プログラムを組んでいる?
しか思いつかないんだが、これだとあまりにも非効率で、一般に広まるとは考えにくい。
んじゃライブラリみたいな形で配布されてるの? とも思うんだが、それを自分のプログラムに組み込むのって
最初に挙げた、自分の独自形式でテキスト読み込むほうが楽でしかも早くね? と思ってしまう。
0534名前は開発中のものです。
2014/11/05(水) 04:02:31.79ID:23olDi5X独自だろうが何だろうが、スクリプトを見て処理の流れが一発でわかるとベスト。
ノベルゲーのテキスト処理のスクリプトは想像しやすいんじゃないかな?
これはいくらなんでもハードコーディングはしないでしょ。
ただ、自分で四則演算や変数・関数を実装しようとすると、
テキストの構文解析、意味解析、スタックマシン等を勉強して
yaccやbisonでコンパイラを作る大変な羽目になる。
んで、そんなことせずとも簡単にそういう機能を組み込めるように
LuaやSquirrelがある。それにこの二つはメジャーで、かなり広まってる。
0535名前は開発中のものです。
2014/11/05(水) 04:45:23.73ID:vpLYRihW0536名前は開発中のものです。
2014/11/05(水) 07:24:36.56ID:gZJGpYilxmlとかをデータ構造と言われると納得できるがスクリプト言語と言われるとなんかモニョる
いや、スクリプト言語をデータ構造として使える事は理解しているし、
データ構造をスクリプト言語の代わりとしては使えない事も理解しているが……
0537名前は開発中のものです。
2014/11/05(水) 08:24:52.84ID:JAMPZGh30538名前は開発中のものです。
2014/11/05(水) 08:58:45.06ID:Tq/w+cMa通りでスレの流れが理解できんわけだ…
0539名前は開発中のものです。
2014/11/05(水) 19:54:47.73ID:LE8Hhxvhキャラクターの行動を記述できるような表現力のある
実質的にスクリプト言語と呼んで良いようなものを簡単に書けるなら
他の人が作ったものを学習して使う方が面倒に思うのでは
他の人が作ったスクリプト言語を使うにしてもブラックボックスで使うのと
中身を検査して使うのとでは手間が大幅に違う
まだお互いに無意識な認識の違いがかなりあるのではないか
0540名前は開発中のものです。
2014/11/06(木) 01:14:24.74ID:u3pLa7VG処理としてのスクリプトってのはどういう風に使うかわかんねぇや
例えばDXLibとLuaを使うとする。
DXLibは基本的にシングルスレッドで、ゲームループ中にupdateとdrawを交互に呼び出すっていうのが主流だけど、
そのupdate中にLuaスクリプトを呼ぶとすると、その処理中、ループはそこで止まってることになる。
AIのルーチンとか、ウェイト無しでひたすら処理すればいいやつはそれで良いけど。
コルーチンを駆使するような挙動(※)を記述する場合って、意図したように動かすの難しいよね?
(※四角形を右に3秒かけて30ドット移動させた後に、上に2秒かけて50ドット動かす、など)
コルーチンを2段重ねにして、
obj.move(30, 0, 3000) //xに30ドット、1000ミリ秒
obj.move(0, -50, 2000)
//moveの実装
void move(int x, int y, int time) {
int frame = time * FPS / 1000;
float dx = (float)x / frame
float dy //略
for(i = 0; i < frame; ++i) {
time / FPS
this.x += dx;
this.y //略
yield();
}
}
こんな感じ?(これじゃズレるけど)
0541名前は開発中のものです。
2014/11/06(木) 02:25:22.77ID:PKFZPuVAfloat delta = (now_time - begin_time) / (float)time で 0〜1まで変化するので、
x(y) * deltaでその時点での移動量が出るから初期位置に足してやる。
終了条件は1以上になったときで、強制的に初期位置にx(y)を足して処理を抜ける。
0542名前は開発中のものです。
2014/11/06(木) 03:09:54.65ID:EqcVgNy30543名前は開発中のものです。
2014/11/06(木) 14:42:03.47ID:/931C6S2特開2011−220825
でググって一番最初のリンク
今更こんなんで特許申請するとか頭おかしいし、なぜ取れるんだろうか…
0544名前は開発中のものです。
2014/11/06(木) 15:30:14.91ID:58LXPdcWホントにそうなら取り消されるんじゃない?
0545名前は開発中のものです。
2014/11/06(木) 15:41:51.54ID:SeWxbthZ訴えなければ取り消されない
ちなみに低額訴訟なら簡単に訴えれる
0546名前は開発中のものです。
2014/11/06(木) 15:46:35.49ID:SeWxbthZちなみに3Dゲームに興味の無い俺は訴えないけどな
まあ訴えるなら頑張れ
0547名前は開発中のものです。
2014/11/06(木) 15:53:35.47ID:/931C6S2最終的には一般的なプログラム上での話しになってる
これは酷過ぎるな…
何の価値もないこの申請がトヨタの誰かの業績になってると思うと腹立つな
0548名前は開発中のものです。
2014/11/06(木) 15:56:19.75ID:WRpf6OH00549名前は開発中のものです。
2014/11/06(木) 16:08:27.82ID:/931C6S2そしてこういう下らない特許は山ほどあって
ゲーム 特許 訴訟
でググると結構色々あるな
0550名前は開発中のものです。
2014/11/06(木) 16:13:48.30ID:es6ThdJv0551名前は開発中のものです。
2014/11/06(木) 18:44:11.46ID:F7RERGXP0552名前は開発中のものです。
2014/11/06(木) 19:53:55.97ID:rZJzoyGTロード中にミニゲームが遊べる
って特許が12月で切れるんやな
0553名前は開発中のものです。
2014/11/06(木) 20:31:37.28ID:KMTyqLtjそれも、どこから出てきたのか見当もつかないサブマリン特許みたいな物ならなおさら
0554名前は開発中のものです。
2014/11/06(木) 21:01:35.08ID:/931C6S2ミニゲームだったらナムコだろ
リッジ7のロード中にゼビウスが遊べた時はびびったw
0555名前は開発中のものです。
2014/11/06(木) 21:11:28.90ID:Zp1CF6nb>>543みたいなゴミ特許が効力あるとか、唖然とするわ・・・。
0556名前は開発中のものです。
2014/11/06(木) 21:19:10.59ID:MoMQBjON審査過程をチェックする機構もあるのか怪しい。
0557名前は開発中のものです。
2014/11/06(木) 21:25:50.58ID:OmSV/1Vy0558名前は開発中のものです。
2014/11/06(木) 21:40:44.92ID:58LXPdcWまず考えられるのは今までに同じ特許がなかった事を調べる、くらいだろう。
次に既知の技術として存在してないかを調べるんだろうけど、
これいちいち調べてられないよな。漏れがでるのはしょうがない。
ネットが発展した現代では、調べるのもかなり容易になってきたのではないかと思うが、
審査官が来る日も来る日もググってると考えるとなにか悲しいものがあるな……。
0559名前は開発中のものです。
2014/11/06(木) 21:53:29.21ID:mXBMs4Fv0560名前は開発中のものです。
2014/11/06(木) 22:55:27.98ID:T/qTIcHW新規性の判断はそこでされたんじゃないの?
0561名前は開発中のものです。
2014/11/06(木) 23:20:16.77ID:MoMQBjON0562名前は開発中のものです。
2014/11/06(木) 23:37:08.84ID:u3pLa7VGあーいや、そういう話じゃなくて、
DXLibだとメインループ回ってるから、いくらLuaでコルーチンがあっても
1ループ間の時間に合わせて処理返さないといけないよなって話
0563名前は開発中のものです。
2014/11/07(金) 00:36:18.17ID:YN7LVK2N0564名前は開発中のものです。
2014/11/07(金) 00:41:45.93ID:WL/Bhc4K0565名前は開発中のものです。
2014/11/07(金) 01:43:20.36ID:OPX5vmffそいつらを上手く奴隷として扱えるようになるのが社会の勝ち組。
0566名前は開発中のものです。
2014/11/07(金) 01:53:01.03ID:cHXJDjI4座標はupdateスレッドでロックしてるし描画するにしてもdrawスレッドでロックしないといけないだろ
メモリを2倍使ってダブルバッファリングで交互にリソースを入れ替えてもいいけど1フレーム遅れるし
要素ごとにロックとアンロックしてたらそっちのほうが処理重いでしょ
モーションブラーとかドロップシャドウみたいな、書き足すようなシェーダとかなら分かるんだけど、ゲームの要素そのものを描画するのにマルチスレッド?ってすごい疑問なんだけど
どんな風にやってるの?
0567名前は開発中のものです。
2014/11/07(金) 02:53:09.53ID:BtR0AX8uマルチスレッドで描画するのに「1フレーム遅れる」って関係あんの?
0568名前は開発中のものです。
2014/11/07(金) 03:13:07.36ID:QezXslKR片方はとにかく描画する
ロックアンロックで同期させるならマルチスレッドをやめる
0569名前は開発中のものです。
2014/11/07(金) 06:56:56.78ID:cuSqlZ5aというか、マルチスレッドだけでも本がいっぱい出てるからそれを参考にしたらいいかと
0570名前は開発中のものです。
2014/11/07(金) 07:32:03.69ID:9A2ZZlGVそれぞれのスレッドに別々の役割を与えて異なる処理を分担させる事になる
あと、マシンに対する負荷を減らすには同期処理しまくらないと意味がないし
ロックアンロックが重くなると言ってる奴はマルチスレッドを根本から誤解してる
というかとにかく本を読め
0571名前は開発中のものです。
2014/11/07(金) 07:53:25.81ID:7gbV2cfzその中ですべての作業を終わらせる事を考えろ
重い処理は役割分担して複数のスレッドで終わらせばいいし、
軽い処理はわざわざ役割分担する必然性は無いからな
0572名前は開発中のものです。
2014/11/07(金) 08:07:38.45ID:0E5IqK7U0573名前は開発中のものです。
2014/11/07(金) 08:58:33.47ID:cHXJDjI4もし描画スレッドで更新スレッドがロックしてる描画要素を描画しようとしたらアンロックされるまで待つのか?
0574名前は開発中のものです。
2014/11/07(金) 09:08:00.46ID:4PyQVSc6そんな事しなくても並列処理してくれるもんなの?
0575名前は開発中のものです。
2014/11/07(金) 09:22:31.34ID:xV0IZ5SCjavaとかだと排他ロックするのすごい重い気がするんだけど
C++だとそんなことないの?
0576名前は開発中のものです。
2014/11/07(金) 11:15:34.21ID:+qZS8i0Yロックしている間に別のスレッドをフルに動かすのがデフォ
0577名前は開発中のものです。
2014/11/07(金) 11:42:28.34ID:KHDaX/cLで、コマンドの作成を出来る限りマルチスレッドで行なう
最後にメインスレッドが自前の描画コマンドを解析しつつ各種API(DirectXやOpenGL)を呼び出していく
0578名前は開発中のものです。
2014/11/07(金) 11:53:44.31ID:CL7k1iDn0579名前は開発中のものです。
2014/11/07(金) 12:23:40.03ID:mfboXhbt描画範囲が重なる場合はこの手段が使えないね
あとスレッドって、何度も起動させて使うよりも、
一度起動させたらロックさせながら使い回す方が処理が早いね
0580名前は開発中のものです。
2014/11/07(金) 15:24:47.03ID:Frm/uGA7今の話ってどのプラットフォームを想定して進行してるの?
DirectX? OpenGL? ソフトウェア描画? それとも特に規定しない全般?
0581名前は開発中のものです。
2014/11/07(金) 23:07:57.05ID:JstQIuBK0582名前は開発中のものです。
2014/11/08(土) 10:52:03.60ID:CsoGcbNXウチのタブレットは4コアだ
PCはシングルコアだが
PCはわりと長持ちだらなぁ
0583名前は開発中のものです。
2014/11/08(土) 11:16:44.54ID:kQCHHHLCカメラの射影行列使いまわすんだからカメラのインスタンスロックしないと危ないよね
で、カメラのアップデートは更新処理するスレッドで回すんだから結局更新スレッドと描画スレッドで占有権を撮り合う形になるから
アンロック待ちが当たり前なのか
0584名前は開発中のものです。
2014/11/08(土) 11:30:01.41ID:unIj8h+A0585名前は開発中のものです。
2014/11/08(土) 12:09:00.67ID:mcbpZdSD気になってはいるんだけど試せてないんだよな
0586名前は開発中のものです。
2014/11/08(土) 12:09:24.51ID:hcp3vt2I1フレーム内で不整合起きなきゃいいんだしそんな神経質にやることないと思うけど
描画スレッド内で他スレッドから書き込まれる領域とスレッド内で使う領域分けておけばいいんじゃない
0587名前は開発中のものです。
2014/11/08(土) 12:10:50.95ID:/8NTzH0L0588名前は開発中のものです。
2014/11/08(土) 12:11:13.95ID:mcbpZdSDまさにGPUへのコマンドリストの構築と発行をやってくれるっぽいんだが
0589名前は開発中のものです。
2014/11/08(土) 12:11:48.40ID:V2oqVXE4ImmediateContextしか使ってない。
DefferedContextは並列化の点で少し中途半端なものらしく、
この点を改善するのもDirectX12の目的みたいよ。
早くDirectX12を触りたいなぁ。
0590名前は開発中のものです。
2014/11/08(土) 12:51:36.67ID:omvuHK+K重い処理をやってるとウィンドが動かなくなるとかw
0591名前は開発中のものです。
2014/11/08(土) 13:25:48.11ID:omvuHK+Kあと、コア数の足りないマシンは切り捨てるの?
0592名前は開発中のものです。
2014/11/08(土) 14:33:58.84ID:kQCHHHLCまぁそうじゃなくても、今どきPCでゲームやろうって人がシングルコアなんて無いと思うけど
0593名前は開発中のものです。
2014/11/08(土) 14:46:37.18ID:omvuHK+Kおまえは>>582を読まなかったのか?
あと、PCはネットに繋ぐための道具とかワープロの代わりとしか思ってない人は珍しくないし、
そーゆー人はPCが壊れるまで買い換えない
0594名前は開発中のものです。
2014/11/08(土) 14:50:59.54ID:zEUiJRA70595名前は開発中のものです。
2014/11/08(土) 14:54:18.14ID:CsoGcbNX2Dゲームの信者はまだまだ多い
0596名前は開発中のものです。
2014/11/08(土) 15:00:01.75ID:mKjDtcTQ0597名前は開発中のものです。
2014/11/08(土) 15:46:47.80ID:hKybVK3fいいこと思いついた、お前ら古ゲーを新型OSでも動くように移植しようぜ
え?俺?ソースもないのにそんなのやる気ないです
0598名前は開発中のものです。
2014/11/08(土) 17:38:42.74ID:Gya1/bv4王道とかあるの?
0599名前は開発中のものです。
2014/11/08(土) 17:52:05.59ID:R8iM6laI(ジャンルによって、ツールによって)意味が異なるので、そこんとこの絞り込みを
0600名前は開発中のものです。
2014/11/08(土) 18:03:53.69ID:R8iM6laIですよねぇ…
>>591
個人的なケースでは、自分が使ってるi5のノートPCのバッテリ駆動状態で
できるだけ長く動かせるように仕方なく組んだ事ならありますねぇ
即売会でのデモ用(試遊用)として、予備バッテリーを何個も持って行きたく
なかったので。あと夏なので、あまりアッチッチーになるのも困るんで
0601名前は開発中のものです。
2014/11/08(土) 18:11:24.52ID:Gya1/bv4例えばRPG作るとして、タイトル、セーブデータ選択、マップ、戦闘、またマップ、町のマップ、お店で購入、みたいなシーンの管理
今あげた奴の中でも、戦闘までシーンとして管理していいのかどうかとか
0602名前は開発中のものです。
2014/11/08(土) 19:04:20.72ID:kQCHHHLCでもマップ画面でショップ画面になっても、画面とは名ばかりの操作できるウィンドウが表示されるだけなのかもしれないし
0603名前は開発中のものです。
2014/11/08(土) 19:26:18.89ID:omvuHK+K0604名前は開発中のものです。
2014/11/08(土) 20:42:42.63ID:hcp3vt2Iこうしなきゃいけないなんて決まりはないんだから複雑さ見て決めりゃいいと思うけど
0605名前は開発中のものです。
2014/11/08(土) 21:13:23.69ID:omvuHK+Kメニューはメニューウィンドウ、買い物は販売メニューウィンドウ、
所持金は金額ウィンドウ、ってな感じに分けてるが、
戦闘シーンは別プログラムで処理している
タイトルシーンではメニューウィンドウ出してるし
あと、フィールドマップと町マップとダンジョンマップでは、
データを変えて同じプログラムで処理している
この辺はわざわざ別個のプログラムにする事は考えもしなかったな
0606名前は開発中のものです。
2014/11/08(土) 21:33:54.63ID:0KWVrT870607名前は開発中のものです。
2014/11/08(土) 22:19:46.15ID:zEUiJRA7やっぱりGoFの流用?
0608名前は開発中のものです。
2014/11/08(土) 23:09:04.26ID:xWQV6qjI0609名前は開発中のものです。
2014/11/08(土) 23:25:12.94ID:hcp3vt2I0610名前は開発中のものです。
2014/11/08(土) 23:48:44.70ID:zEUiJRA7振る舞いに関するパターンやね。メモリ管理も含めた。
0611名前は開発中のものです。
2014/11/09(日) 00:03:30.39ID:tU74c/u+スクリプト言語のコルーチンを使えば簡単簡単
マルチスレッド?あれは同じメモリに複数アクセスすると例外を発生させるから難しいんだよ、
処理速度は早くなるけどな
0612名前は開発中のものです。
2014/11/09(日) 00:20:14.91ID:tU74c/u+スレッディング・ビルディング・ブロックに対応するのかな?
0613名前は開発中のものです。
2014/11/09(日) 02:11:09.89ID:b6C1rYs5以下、あくまでも私感
演出上の場面(シーン)として。テレビゲームの典型的な和RPG(例:ドラクエ)
同様にマップ移動と戦闘で完全に切り替えてるなら、別シーンとして区切る
ゲームルールというかゲームマスター視点で。マップ移動中と戦闘中では
時間も移動距離も各キャラの見た目も状態もできる事も挙げればキリがない
くらい仕事が異なるので、別シーンとして区切る
プログラミングの視点で。自分は戦闘だけでテストできるようにしときたい派。
戦闘における値のやり取りが面白さの肝だと思う戦闘厨(ストーリーとか設定
とか見た目なんて飾りだよ派)なので、まず戦闘が面白くなるまで練り込みたい
から。マップ移動時とは別のモジュールとして区切る
0614名前は開発中のものです。
2014/11/09(日) 02:45:25.53ID:CGct2DUQなんで階層を一つまでに制約してるん
0615名前は開発中のものです。
2014/11/09(日) 07:19:30.89ID:b6C1rYs5んー。そんな話はしていないと思うんだが…何か誤解があるようなので
もう少しkwsk頼む。整理するために確認させてもらっていいかな?
・モジュール分割する事 (或いはシーンを分ける事)
・入れ子(ネスティング)しない事 (或いは階層を一つまでに制約する事)
これらは直結するか?(YES/NO)
0616名前は開発中のものです。
2014/11/09(日) 10:41:43.85ID:IF+insbOマップ画面中に戦闘画面とか
0617名前は開発中のものです。
2014/11/09(日) 11:21:15.79ID:ot2OM0IR階層構造付きのStateパターン(?)って、どうやるの?
Scene
├Title
├Game
|├Play
|├Pause
|└Result
└Config
みたいな構成で、Game::PauseからTitleに飛ぶとか。
単に名前空間で分けるだけにして、シーンとしては並列に扱うのが楽だとは思うんだけどさ。
0618名前は開発中のものです。
2014/11/09(日) 11:29:19.51ID:8zzCuCYW0619名前は開発中のものです。
2014/11/09(日) 11:54:42.19ID:ot2OM0IRあるシーンの中で、別のシーン(メニュー画面など)を挿入するという話だったのね。失敬した。
0620名前は開発中のものです。
2014/11/09(日) 11:58:46.71ID:mPPfhXcl実際の持ち方としてはリストの方がいい。
RPGで戦闘画面の背景にマップ画面を使ったり、
ARPGでメニュー画面開いてる間も敵が動くようにできる
Stateパターンはシンプルな動作の切り替えに留めて、
シーンの遷移はAndroidのintentを参考にして作りこんだ方が良い
0621名前は開発中のものです。
2014/11/09(日) 12:05:20.17ID:ot2OM0IRテイルズシリーズのどれかだったか、
フィールドでメニュー画面を開いて、そこからタイトル画面に戻ると、
暗転中にフィールドのBGMが一瞬だけ流れるというネタがあったなあ。
シーンそのものはともかく、BGMをスタックで管理してたからなんだろうか。
0622名前は開発中のものです。
2014/11/09(日) 17:00:17.96ID:IF+insbOstoiとかctoiとかcptoiとかならわかるけどなんでaなの?
0623名前は開発中のものです。
2014/11/09(日) 17:02:41.77ID:EiTaW/mCasciiコードから変換だから
0624名前は開発中のものです。
2014/11/09(日) 21:42:38.03ID:6dA8GNBZあいうえおのaかと思ってた
0625名前は開発中のものです。
2014/11/11(火) 00:52:56.10ID:XQVF6NRm0626名前は開発中のものです。
2014/11/11(火) 01:38:28.59ID:Ml1KtPS50627名前は開発中のものです。
2014/11/11(火) 09:36:35.03ID:KfLTdZLl0628名前は開発中のものです。
2014/11/11(火) 11:07:29.28ID:uQazbP0q0629名前は開発中のものです。
2014/11/11(火) 11:46:03.47ID:NdomKUg0いつからアラビア数字はアルファベットになったんだよ
0630名前は開発中のものです。
2014/11/11(火) 14:06:45.04ID:l6H8mfSNシェーダー・・・座標変換と色の計算
バッファ・・・シェーダーの変数
バインド・・・バッファの適用
ソケット・・・ネットワークの変数
send・・・データの送信
recv・・・データの受信
っていう感じであってる?
0631名前は開発中のものです。
2014/11/11(火) 15:51:23.77ID:FlAn94PSそういう理解で構わないから、実際に使って(試して)(手を動かして)みたほうがいい
あれこれ疑問を持つのはその後でいい
0632名前は開発中のものです。
2014/11/12(水) 10:33:52.89ID:3FzO9Rn6学習にはいいと思うけど、現実的ではないように思えるんだけど…
0633名前は開発中のものです。
2014/11/12(水) 11:21:02.43ID:tRAW/G/v0634名前は開発中のものです。
2014/11/12(水) 12:10:58.56ID:nj7UpIrk0635名前は開発中のものです。
2014/11/12(水) 12:13:44.26ID:2wLmFIfAやっぱトロい言語じゃ駄目だぁな
0636名前は開発中のものです。
2014/11/12(水) 12:15:34.55ID:Jp7fJIBGwikiかどこかに集約してくれ(他力本願
0637名前は開発中のものです。
2014/11/12(水) 12:25:14.03ID:U9TuOuDT動的言語はハードウェア側での最適化が難しいけど
0638名前は開発中のものです。
2014/11/12(水) 12:25:50.29ID:AuBOaCee>>636
言い出しっぺの法則
0639名前は開発中のものです。
2014/11/12(水) 12:36:22.31ID:NowaE2rM今は速度が必要なら並列化を目指せばいいからな
0640名前は開発中のものです。
2014/11/12(水) 13:07:42.51ID:dBZQKyvTC#がどうなってんのかわかんないけど
0641名前は開発中のものです。
2014/11/12(水) 13:18:03.99ID:uNUWqhDA0642名前は開発中のものです。
2014/11/12(水) 13:24:07.08ID:nj7UpIrk0643名前は開発中のものです。
2014/11/12(水) 14:19:53.36ID:Uu3QrSPF0644名前は開発中のものです。
2014/11/12(水) 14:33:14.13ID:ovXfI3JTUnityでC#の人気が爆発してるし、薄いクラスライブラリで良いのがあればいいのだが
http://d.hatena.ne.jp/Nagise/20090322/1237723661
0645名前は開発中のものです。
2014/11/12(水) 17:16:29.25ID:5VJqGqvpそういう理解で構わないから
@自分に適した道具選べ
Aそれ使って面白いもの作れ
B人に遊んでもらえ
これ出来る奴は、お前の疑問とは縁がない。関係ないからな
0646名前は開発中のものです。
2014/11/12(水) 17:46:38.37ID:AuBOaCee別にすべての開発者が作った物を「俺のゲームをやってくれ!!!!1」ってガンガン公開する訳じゃないから
他人に公開するにしても、自分すら楽しめないようなゲームはクソの中のクソ キングオブクソ
0647名前は開発中のものです。
2014/11/12(水) 21:20:04.82ID:SYY1txKH0648名前は開発中のものです。
2014/11/12(水) 21:53:11.34ID:GHnQwsv6Visualスクリプトエディタが強力になったのもあるけど
0649名前は開発中のものです。
2014/11/13(木) 07:26:45.01ID:R9H0HNzV誰か買ったことある人いたら教えて
0650名前は開発中のものです。
2014/11/13(木) 11:32:24.41ID:pEhVoeVbもう一度根本的に一から設計しなおしてくれと言いたくなるぐらいグチャグチャになってる…
最新の仕様も含めて深く理解するにはとてつもなく困難な言語なのは間違いない
0651名前は開発中のものです。
2014/11/13(木) 11:36:07.43ID:HK6+TuGrやりたいことがはっきりしてれば目的は達成できる
0652名前は開発中のものです。
2014/11/13(木) 12:45:39.27ID:UMYfazR7いろいろあるからこそ汎用性はダントツのトップだし、
掘ろうと思えばどこまででも掘れる拡張性もある
バグの出やすさに目をつぶれば開発者理想の言語じゃないですか
なお初心者には
0653名前は開発中のものです。
2014/11/13(木) 16:15:51.23ID:mQixsQeM0654名前は開発中のものです。
2014/11/13(木) 23:08:38.36ID:5guIEaf6生産性が必要な所はOOPで書く
みたいに分けられて良い…のかな
0655名前は開発中のものです。
2014/11/14(金) 13:14:55.84ID:5wiMUdhH「水陸両用ですね。最高じゃないですか」
0656名前は開発中のものです。
2014/11/14(金) 20:31:26.83ID:yjqeER4j0657名前は開発中のものです。
2014/11/14(金) 20:36:28.88ID:BUwtlw7S0658名前は開発中のものです。
2014/11/14(金) 21:31:13.67ID:PGsqEl+k0659名前は開発中のものです。
2014/11/15(土) 00:35:42.62ID:QsaQ9+YOスクリプト使う理由が一つ減った?
0660名前は開発中のものです。
2014/11/15(土) 01:07:43.80ID:ocCnTJxq0661名前は開発中のものです。
2014/11/15(土) 01:51:29.18ID:FYIlPqIe0662名前は開発中のものです。
2014/11/15(土) 02:44:54.65ID:csIS2THdC++でyieldが使えるようになる
0663名前は開発中のものです。
2014/11/15(土) 06:20:29.97ID:QsaQ9+YOhttp://blogs.msdn.com/b/vcblog/archive/2014/11/12/resumable-functions-in-c.aspx
0664名前は開発中のものです。
2014/11/15(土) 07:59:55.58ID:v6LA9C/H0665名前は開発中のものです。
2014/11/15(土) 08:21:47.08ID:a7IQ1KUVgeneratorの関数内の変数は静的な領域に確保されんのかな
普通にスタック積んでたらこんなん実装出来ないよな
0666名前は開発中のものです。
2014/11/15(土) 08:33:02.98ID:v6LA9C/HBoost.Coroutine
0667名前は開発中のものです。
2014/11/15(土) 09:14:58.45ID:/7FTHmq8何が嬉しいのかさっぱり分からん・・・(汗)
コロチン??
0668名前は開発中のものです。
2014/11/15(土) 09:51:15.18ID:v6LA9C/H例えばオブジェクトを順番に返したいときに楽するならlistとかvectorに入れて返すよね?
でも一つずつ順番に処理していくだけであれば一度に全部作ってメモリに持っておくのはメモリの無駄
parserとか作るとき、なるべく省メモリにしたいけど(XMLのSAXみたいに)使い勝手は落としたくないときとかに便利
0670名前は開発中のものです。
2014/11/15(土) 11:15:19.49ID:a7IQ1KUVよくわからんけどヒープに確保されんのかな
0671名前は開発中のものです。
2014/11/15(土) 12:26:57.64ID:VJG7MPsg0672名前は開発中のものです。
2014/11/15(土) 12:41:40.07ID:v6LA9C/Hhttp://d.hatena.ne.jp/melpon/touch/20091212/1260584012
0673名前は開発中のものです。
2014/11/15(土) 17:09:58.52ID:VJG7MPsg誰か一言で言い表して
0674名前は開発中のものです。
2014/11/15(土) 17:13:41.84ID:skgsPBOlコルーチン
http://en.wikipedia.org/wiki/Coroutine
0675名前は開発中のものです。
2014/11/15(土) 17:23:51.51ID:VJG7MPsg関数の途中でデータ返せるってだけか
でもこれ返り値受け取る側はどういう処理になるんだ?
受け取ったらそのまま次の行に行きそうだけど、そうすると次呼び出された時中断したところから再開するのか?
0676名前は開発中のものです。
2014/11/15(土) 17:28:35.72ID:IlcXR0Tx0677名前は開発中のものです。
2014/11/15(土) 21:07:43.80ID:csIS2THd何のためにLua導入してまでコルーチン使ってると思ってるのかと・・・・
0678名前は開発中のものです。
2014/11/15(土) 21:28:20.19ID:nxADb3aY0679名前は開発中のものです。
2014/11/15(土) 21:49:25.06ID:Cvi6GQeLサブルーチンでマルチスレッド制御をするよりもお手軽だし
0680名前は開発中のものです。
2014/11/15(土) 23:50:56.76ID:/7FTHmq8へぇ〜。
コルーチンを使ったテクニック・トリック集みたいなの欲しいな。
0681名前は開発中のものです。
2014/11/16(日) 22:25:19.06ID:BmMQH27Tオレの理解がおかしいのかこれw
0682名前は開発中のものです。
2014/11/17(月) 00:42:18.99ID:WLL2OPoM0683名前は開発中のものです。
2014/11/17(月) 10:29:07.85ID:Ld14qEhv別にLua導入せずともsetjump longjumpでコルーチンは作れるけどね
非同期処理が同期処理と同じように書けるから滅茶苦茶便利なのは使った人にしか分からんだろうね
0684名前は開発中のものです。
2014/11/17(月) 11:54:49.69ID:J8hAdEWAその理解であっているとおもうよ。
状態を(コード上は)ヒープに持たなくても、ローカル変数を引き継いだり、
ループを途中から再開できる、構文糖みたいなもの。
0685名前は開発中のものです。
2014/11/17(月) 20:35:59.87ID:KwtC8N0w原理的にはシーンをStateパターンで切り替えるのと変わらないし
0686名前は開発中のものです。
2014/11/18(火) 18:34:34.98ID:tX1o0EDZ無改造の物をオリジナルとして、
そのデータ配列を丸ごとコピーして改造(変数に変更を加える)して、
それをあらかじめ確保しておいた保存用の配列にぶっ込めばいいのだろうか
0687名前は開発中のものです。
2014/11/18(火) 18:45:45.72ID:MnekbNE00688名前は開発中のものです。
2014/11/18(火) 18:58:45.41ID:VF38SoXrステータスを上げるだけの改造なら
修正値を保持するor改造回数を保持するって感じじゃない?
0689名前は開発中のものです。
2014/11/18(火) 21:07:47.07ID:Lfan6beG最初からアイテム欄にある全ての武器について、名前・ステータス・種別などのデータを個々に持たせてしまったほうが良さそう。
要は、「どうのつるぎ」が「2本」という管理じゃなくて
「どうのつるぎ(武器ID:001)/攻:12/防:0/価格:100G」 「どうのつるぎ(武器ID:002)/攻:12/防:0/価格:100G」 みたいにするっていう。
0690名前は開発中のものです。
2014/11/18(火) 21:48:09.63ID:qY3UPxZdアイテム名+1みたいに変動が決まってるなら最初から別のアイテムとしてデータ作ればいい
0691名前は開発中のものです。
2014/11/18(火) 22:44:11.50ID:QzZupUBq------------------------------
装備マスタ(装備ID, 名前, 基礎攻撃力, 基礎○○力, ...)
生成装備(生成装備No, 装備ID, 攻撃力補正値, ○○力補正値, ...)
プレイヤー所持装備(生成装備No, 装備中キャラNo) //ここに持たせる[装備中キャラNo]は冗長だけど、ここで持たせておくと便利
キャラクターマスタ(キャラID, 名前, 属性, 攻撃力成長率, ○○力成長率, ...)
生成キャラクター(生成キャラNo, Lv, 生成装備No, ...)
------------------------------
(かなり端折ってるけど)こんな風で、起動時にロードされてプレイ中ずっと不変なマスタと、
動的生成したり変化する部分に分けて、武器の能力を可変にして自動生成できるようにしたり、
敵モンスターのレベルを変動させて自動生成できるように頑張ったな
作っていく上で失敗したと思ったのが、キャラの属性がマスタ側で固定なせいで、
敵の色違いキャラ作るごとにマスタ1行作るハメになったり、主人公をキャラメイクさせたいときに、
キャラメイクパターン分の主人公マスタを作らないといけなくなって、スマートじゃなかったので諦めた
ただ、これはこれで設計としては正しかったんじゃないかな、とも思ってる。
というのも、バランス調整する時に、マスタを変更すればセーブデータ上の「生成装備」の能力も修正されたから。
今作ってるのは、↑でいうマスタの部分を「テンプレート」と称して、
装備テンプレート(テンプレID, 連番, 名前, 基礎攻撃力) //アップデートで能力を修正したら新規行で連番を振る
生成装備(生成装備No, テンプレID, 現在適用連番, 名前, 攻撃力)
生成装備側に値を複写(基礎攻撃力→攻撃力)して、その後は自由に変更できるようにする。
アップデート時は、連番が一番大きいテンプレートとの差分で修正できるようにするつもり
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変数の中身を消す処理はしてません
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:TxBmxmRH0816名前は開発中のものです。
2014/12/10(水) 21:26:51.59ID:PG4tDcoQ0817名前は開発中のものです。
2014/12/10(水) 21:27:36.02ID:Z1DuKoHtで、商業でやってるところはだいたい自分で書いてるとすでに答えられてる
0818名前は開発中のものです。
2014/12/10(水) 21:34:16.87ID:FC5BkzvK0819名前は開発中のものです。
2014/12/10(水) 21:35:32.23ID:X2qHCJlAそれを簡単なC++から使うか、適当なスクリプト言語から使うかの差しかない。
0820名前は開発中のものです。
2014/12/10(水) 21:48:54.83ID:Z1DuKoHtそれをしないためのプログラミング言語なんだし
バージョン管理は商業で作るところならまず間違いなく専用のソフトを入れているし、
個人でやるなら中〜大規模な作品でもなければ多分なくても管理できる
何人か集まって作るならその時導入を検討すればいい
0821名前は開発中のものです。
2014/12/10(水) 22:03:07.95ID:FC5BkzvKバージョン管理って個人的なのでも結構使うなあ・・・
ソースに変なコメントとか残したくないんだよねw
0822名前は開発中のものです。
2014/12/10(水) 22:21:09.59ID:6ysuSswG0823名前は開発中のものです。
2014/12/10(水) 22:22:55.40ID:WqzdIXuzsvn等の外部のバージョン管理システムも使いたければ使える
0824名前は開発中のものです。
2014/12/10(水) 23:18:34.81ID:SWjWjl7/場合によっては編集前のコードをコメントで残すとかいうルールしいてることもある
もうアホかと
0825名前は開発中のものです。
2014/12/10(水) 23:36:58.77ID:FC5BkzvKGitだとサーバーとか立てなくても気軽にローカルでリポジトリ
作れたりとかできちゃうから楽だわ
作業内容はソースにコメントで残すんじゃなくコミットログに
押し込めるし時系列で追えるしね
0826名前は開発中のものです。
2014/12/11(木) 00:13:34.16ID:RhkXQVIG0827名前は開発中のものです。
2014/12/11(木) 00:16:26.40ID:6Drf6QBaちょっと思い付いたらブランチ切って気が済むまで弄り倒して
上手く行ったらそのままマージ、
ダメだったら元のブランチをチェックアウトすれば元通り。
今はGUI付きのクライアントもあるし有り難い時代だ
0828名前は開発中のものです。
2014/12/11(木) 02:04:41.77ID:vflPKXfmUnityやcocos2dの経験者歓迎とか書いてあるぞ
商用で普通に使われてるんだと思うんだが
0829名前は開発中のものです。
2014/12/11(木) 08:52:12.08ID:6p4P8aMh弱小は既存ツール使うしか選択肢がない
0830名前は開発中のものです。
2014/12/11(木) 09:22:11.45ID:HPqpSaB40831名前は開発中のものです。
2014/12/11(木) 13:18:32.61ID:2JpT6opCUnity使った商業作品なんて山ほどあるだろ
>>829
いやだからどこの世界の話だよ。
0832名前は開発中のものです。
2014/12/11(木) 19:04:56.48ID:aRGwjS4y0833名前は開発中のものです。
2014/12/11(木) 19:10:00.11ID:b4/DV/vlそれでも大抵の人は困ることはないだろうけど
0834名前は開発中のものです。
2014/12/11(木) 21:50:30.14ID:jqIw6zJe海外だとアンリアルエンジンで作った大型タイトルあるぽいんだが
http://ja.m.wikipedia.org/wiki/Unreal_Engineを採用したゲームソフト一覧
0835名前は開発中のものです。
2014/12/11(木) 22:59:37.83ID:aRGwjS4yいろんなユーザ(団体)が利用できるという意味での汎用?
エロゲやアマチュアまで含めれば、テキストゲーム系エンジンやツクール等も結構多そうだが。
0836名前は開発中のものです。
2014/12/11(木) 23:14:39.27ID:jqIw6zJeUnityとUE位しか知らんけど
2Dもこういうエンジンってなんかあるんかな
0837名前は開発中のものです。
2014/12/11(木) 23:22:19.61ID:FC/EOQl8・・・
cocos2d-x
http://peace.2ch.net/test/read.cgi/gamedev/1390136237/
0838名前は開発中のものです。
2014/12/11(木) 23:43:01.37ID:jqIw6zJeソシャゲではよく使われてるみたいだけど
0839名前は開発中のものです。
2014/12/12(金) 00:23:08.10ID:QnblLndCいろんな開発エンジンを次々使いこなせるだけの柔軟さと適応力は充分潰しが利くと言えると思う。
0840名前は開発中のものです。
2014/12/12(金) 02:25:38.84ID:bDxMroSG独自仕様のゲーム作るなら特に
0841名前は開発中のものです。
2014/12/12(金) 07:21:28.86ID:o+Ocs+h7エンジン使いこなせるって言ってもエディタ使って効率的に作れるだけでプログラマとしてはスクリプタレベルよ
0842名前は開発中のものです。
2014/12/12(金) 12:34:20.78ID:wXPiKRYS何でも自前で作るのが良いとは限らないだろ
0843名前は開発中のものです。
2014/12/12(金) 13:11:01.77ID:so0Qz3P5何でもかんでも自分で書いて糞のようなコード量産するより、広く使われているゲームエンジンの良い設計のコードに触れる方が為になる。
0844名前は開発中のものです。
2014/12/12(金) 13:27:08.97ID:evwzVpBf0845名前は開発中のものです。
2014/12/12(金) 16:01:25.41ID:v/KVbnR10846名前は開発中のものです。
2014/12/12(金) 17:38:37.97ID:cemAAiyOできますん
0847名前は開発中のものです。
2014/12/12(金) 18:39:21.32ID:ntY+D6GU0848名前は開発中のものです。
2014/12/12(金) 19:46:05.18ID:KvfRzLEl0849名前は開発中のものです。
2014/12/12(金) 20:17:56.66ID:6Y7Yxnc10850名前は開発中のものです。
2014/12/12(金) 20:19:28.11ID:evwzVpBf0851名前は開発中のものです。
2014/12/12(金) 20:48:58.45ID:s0rRP3Zy0852名前は開発中のものです。
2014/12/12(金) 21:30:09.86ID:EW3P8d8Tそこらのサイトに書いてある簡単なテンプレコードほどの価値もないからな…
0853名前は開発中のものです。
2014/12/12(金) 21:41:45.52ID:KfzBrrjx自分で読めないのは論外だけど
0854名前は開発中のものです。
2014/12/12(金) 22:33:35.88ID:evwzVpBf0855名前は開発中のものです。
2014/12/12(金) 23:05:56.51ID:KfzBrrjxいずれにしても自分で読む気も起きないようなコードはただのゴミ
0856名前は開発中のものです。
2014/12/12(金) 23:44:33.51ID:b4Xh27MQそのライブラリを深く理解する事がないとか、ライブラリになるようなものを書くことがないというのであれば、それだけの資質だったということ
0857名前は開発中のものです。
2014/12/12(金) 23:59:52.22ID:EW3P8d8Tよほど天才的なプログラミングの素質でもなければソフト作りのはるか手前で地面に転がるぞ
っつーか、ライブラリ製作自体がソフト製作に近いし
0858名前は開発中のものです。
2014/12/13(土) 06:34:13.77ID:/sKItXqVまあ、適材適所じゃね?
今更ゲーム製作でデータ圧縮や暗号化、組み込みスクリプトのコードを書く奴は滅多にいないだろ
書いたけどな、俺は、スクリプトを
けど、ゲーム製作での一番のキモは独創性だろ
そんな所は自分で書くしか方法が無いんだよ!
独創性の無い、ありふれたゲームを作りたいなら、好きに流用すればいいさ
0859名前は開発中のものです。
2014/12/13(土) 10:06:03.65ID:KmIl68fQどんなコードでも読める能力の方がいい。
0860名前は開発中のものです。
2014/12/13(土) 10:33:09.68ID:GVgS9kEW読めるコード書けないとチーム開発で役に立たないじゃん
リバースエンジニアリング専門でやんの
0861名前は開発中のものです。
2014/12/13(土) 11:10:08.60ID:vJXa5IWH0862名前は開発中のものです。
2014/12/13(土) 11:19:10.70ID:KmIl68fQ何書いても読めない人はいるわけで。
0863名前は開発中のものです。
2014/12/13(土) 11:28:25.00ID:A651+XDEすげーな。
実力派だな。
やっぱ自分で書くのが一番気持ちいいな。
基本的には一人で全部組んでるな。
生産性は別にしてw
0864名前は開発中のものです。
2014/12/13(土) 11:46:26.04ID:OLxz298bまあlint通してからやれば比較的楽だが
0865名前は開発中のものです。
2014/12/13(土) 12:02:01.67ID:cTfiogfqstruct(ストラクト)
const(コンスト)
yield(イヨールド)
extern(エクスターン)
explicit(エクスプリクト)
sizeof(サイズオフ)
0866名無しさん@そうだ選挙に行こう
2014/12/13(土) 12:42:15.70ID:GVgS9kEWyieldいーるど
exturnいくすたーん
explicitいくすぷりしっと
sizeofさいずおぶ
0867名無しさん@そうだ選挙に行こう
2014/12/13(土) 12:46:53.80ID:YQCx+6st○extern
0868名無しさん@そうだ選挙に行こう
2014/12/13(土) 12:47:23.37ID:GVgS9kEW0869名無しさん@そうだ選挙に行こう
2014/12/13(土) 12:47:27.98ID:vmsxYpAR0870名無しさん@そうだ選挙に行こう
2014/12/13(土) 13:34:00.06ID:cTfiogfqその「ある画像」の不透明度に依存して画面遷移を操作してもいいんでしょうか?
・その画像の不透明度は他で操作されない
・SetOpacityの内部で0以下255以上の数値はそれぞれ最小値最大値に正規化される
という環境であるものの、減少し続ける値を等価演算子で比較したりするのは、ゲームを作り慣れてる人から見るとどうなのかなと
それに、画面に複数ある内の1つのパーツでしかない画像に画面が依存するのはオブジェクト指向?的にはどうなんでしょうか?
Scene::update(){
if(image->GetOpacity() == 0){
//遷移する
}else{
image->SetOpacity(image->GetOpacity()-15);
}
}
0871名無しさん@そうだ選挙に行こう
2014/12/13(土) 13:39:12.16ID:A651+XDE透明度を直接評価するんじゃなくて、
もう少し抽象的に、遷移準備完了状態、みたいなものを評価したら汎用的じゃない?
0872名無しさん@そうだ選挙に行こう
2014/12/13(土) 13:54:47.72ID:cTfiogfqこんな?感じでしょうか
違和感すっきりしたんでこれでやってみます、ありがとう
Scene::update(){
if(image->GetOpacity() == 0){
transitionFlag = true;
}else{
image->SetOpacity(image->GetOpacity()-15);
}
if(transitionFlag){
//遷移
}
}
0873名無しさん@そうだ選挙に行こう
2014/12/13(土) 15:13:37.37ID:ZiMlwiS0フルスクラッチ派:「あぁ^〜痒いところに手が届くんじゃぁ^〜」(バリバリ
0874名無しさん@そうだ選挙に行こう
2014/12/13(土) 18:29:40.45ID:OLxz298b0875名無しさん@そうだ選挙に行こう
2014/12/13(土) 20:39:35.80ID:8y/GDHu5ある程度ガリガリ書けるようになるまで絶対に真似するんじゃないぞ!
0876名無しさん@そうだ選挙に行こう
2014/12/13(土) 20:59:49.32ID:xmg5RhiV0877名無しさん@そうだ選挙に行こう
2014/12/13(土) 21:24:26.17ID:ht1CXKxj0878名無しさん@そうだ選挙に行こう
2014/12/13(土) 22:34:29.96ID:ZiMlwiS0しょぼしょぼとリファクタリングだなぁ…そのサイクルを繰り返す内に
ライブラリやら何やらが自然と充実していったよ
凡人だから知見の獲得は経験の積み重ねによるところが大なんだよねぇ
0879名無しさん@そうだ選挙に行こう
2014/12/13(土) 22:37:32.08ID:8y/GDHu5あのくらいの代物詰め込んだライブラリを作るなら他人の作った物使って下さい、頼むから
元々多くの人に使われる予定がなかったからなのか、
超がつくくらい初期の関数のせいなのか、あの関数欠陥が多すぎ
一体何に使う予定だったんだろうか?
0880名無しさん@そうだ選挙に行こう
2014/12/13(土) 23:06:20.95ID:A651+XDEゲーム売ってるんだ。
すごい。
自分の作ったゲームをプレイしてもらうのって、やっぱ即売会がいいの?
ネットでそういう場とかないのかな?
最近だと、ニコニコの自作ゲームコンテストみたいなのかな?
0881名無しさん@そうだ選挙に行こう
2014/12/13(土) 23:31:59.05ID:MCAEResEDLSiteとかDMMとか、いくらでもあるが?まあエロや萌えに偏ってるきらいはあるが
0882名無しさん@そうだ選挙に行こう
2014/12/14(日) 02:35:05.98ID:9YbZbvSi0883名無しさん@そうだ選挙に行こう
2014/12/14(日) 09:49:32.25ID:BC24ajZK元々プロ中のプロしか使わない前提だけどな
前提をひっくり返すなら中級者以下がCを使うこと自体がおかしい
0884名無しさん@そうだ選挙に行こう
2014/12/14(日) 11:18:28.43ID:V/uzlPBvコマンドラインでインタラクティブなんてシェルで十分だし
0885名無しさん@そうだ選挙に行こう
2014/12/14(日) 15:09:32.61ID:L+QkNmy7おじさんは古型なので流行りの頒布方法とかよくわからないけど
言いたかった事は、凡人なら頒布(他者に晒すor他者の評価を聞く
過程)を伴う経験のサイクルは大切だということ。PDCA、反復型
身近な友人同士でも即売会でも何でもいいと思うよ
0886名前は開発中のものです。
2014/12/17(水) 07:39:05.49ID:AgN/4Z5H0887名前は開発中のものです。
2014/12/17(水) 09:32:33.84ID:4MvBwvFG0888名前は開発中のものです。
2014/12/17(水) 10:25:45.45ID:/fBBXLJf0889名前は開発中のものです。
2014/12/17(水) 12:10:44.24ID:H3GRnYo+0890名前は開発中のものです。
2014/12/20(土) 19:07:18.57ID:Chph+5fV0891名前は開発中のものです。
2014/12/20(土) 20:02:00.84ID:keBzJKTRほぼ自動的に決まるから、あんまりメリット/デメリットを意識することって無いと思う。
0892名前は開発中のものです。
2014/12/20(土) 21:32:50.60ID:hNo8GLbSただスタックはあくまで一時的なものって意味合いが強くて、
容量制限があるからあんまりでっかいものをガンガン作れないってのと、
あとCPUキャッシュ的に有利ってのがあるけど、
まあ>>891の言うように実際使うときははあんまりメリット・デメリットを意識することも無いと思う
0893名前は開発中のものです。
2014/12/21(日) 03:38:59.26ID:tJq5gWK6・レジスタの値を書き換えるだけでメモリ確保されたことになるので比較的速い
・変数のスコープが抜けた時に自動的に解放される
ヒープ
・スタックには確保できない大きな領域を使える
・確保するサイズを実行時に動的に決定できる(スタックでもできなくはないけど)
・スコープを跨いだ寿命の長いメモリ領域として使用できる
あとなんかあるかな
0894名前は開発中のものです。
2014/12/21(日) 11:16:24.87ID:UoMqn2et調べてみたら自動変数がスタックでnew演算子を使うのがヒープって書いてあるけどあってるの?
0895名前は開発中のものです。
2014/12/21(日) 11:18:03.73ID:cF9cgol+メモリ解放が殆ど自動化されているから
ヒープ確保でも単純ミスでメモリリークすると言う事が少ない
0896名前は開発中のものです。
2014/12/21(日) 11:43:00.73ID:UoMqn2et参照が0になったらその場で開放してくれる言語ってないの?
スマポ利用するとかじゃなくて言語レベルで。VM無いと無理なのか?
0897名前は開発中のものです。
2014/12/21(日) 12:12:25.01ID:ImGMMbuW0898名前は開発中のものです。
2014/12/21(日) 12:18:34.78ID:cF9cgol+最近のVMのGCはかなりうまくやってくれていると思うけど
>>897
(゚Д゚)ハァ?.NETはGCするだろ
0899名前は開発中のものです。
2014/12/21(日) 12:20:14.63ID:xV1M/iBeswift
ARC有効にしたObjective-C
参照カウントだけだと弱参照するところをどうやっても意識する事になるから流行らないんだろうよ。中途半端だから。
0900名前は開発中のものです。
2014/12/21(日) 12:57:51.36ID:IwHuX+Twswiftは今っぽい構文なだけで、その辺りは15年前レベルだよな。
参照カウント + 循環参照用のGCはスクリプト言語ならあるな。 PythonとかSquirrelとか。
クロージャをサポートすると、循環を避けるのは難しい。
0901名前は開発中のものです。
2014/12/21(日) 14:04:19.84ID:tJq5gWK6以前どっかで教えてもらったGCの各アルゴリズム(とそれを実装してる主な言語)をまとめてるサイト
結構勉強になった
見ていて、C++上で既存のデータ構造との親和性を保ちながら実装するのは無理そうだなーとも感じた
0902名前は開発中のものです。
2014/12/21(日) 14:05:13.03ID:tJq5gWK6× 実装するのは無理そうだなーとも感じた
○ 実装するのは俺には無理そうだなーとも感じた
0903名前は開発中のものです。
2014/12/21(日) 17:21:30.42ID:3dyKCo+m0904名前は開発中のものです。
2014/12/23(火) 01:05:19.57ID:UuPEmr1nしかもバカって一度持った印象を絶対に改めないから…
0905名前は開発中のものです。
2014/12/23(火) 20:19:18.60ID:y5yR41zs0906名前は開発中のものです。
2014/12/23(火) 22:15:26.87ID:I+Smn/JJいつデストラクタを呼ぶかを自動化するのがGCなんだよなぁ
0907名前は開発中のものです。
2014/12/23(火) 22:25:27.90ID:IjLiTo3jガベコレの意義が分からない。
0908名前は開発中のものです。
2014/12/23(火) 23:15:42.17ID:PQqq+vmbsharedは循環参照に気を使わないといけないのがなぁ
0909名前は開発中のものです。
2014/12/24(水) 04:46:42.87ID:INaba3Bc0910名前は開発中のものです。
2014/12/24(水) 09:59:07.80ID:+KNBOnw3スコープを抜けた後も別のスレッドで使われるから。
0911名前は開発中のものです。
2014/12/24(水) 19:08:44.28ID:JqKQyI9rぼく「これもやっといて」
GC「あ、すいません、今掃除してるんで」
ぼく「今すぐ処理してほしいんだけど」
GC「あと20分ぐらい待ってください」
ぼく「は?処理できない・・・」
こんな印象
0912名前は開発中のものです。
2014/12/24(水) 23:09:56.90ID:mC2vVuxE0913名前は開発中のものです。
2014/12/25(木) 00:07:59.44ID:GYUw7kdqRAIIと関係なくね?流れ的にRAIIでは対応出来ないケースを挙げたように読めるんだけど。
0914名前は開発中のものです。
2014/12/25(木) 00:11:13.27ID:MJlq1Aj40915908
2014/12/25(木) 00:51:14.98ID:0+lNtng/ちょっと違う
スコープを抜けたときに普通にデストラクタが呼ばれるものを「生」と、
スマートポインタ等で使う工夫したデストラクタと区別するために言ってみた
>>914
生のポインタとスマポがわかるなら適当に空気嫁や
0916名前は開発中のものです。
2014/12/25(木) 01:24:40.70ID:C10OwjTO0917名前は開発中のものです。
2014/12/25(木) 01:26:24.11ID:0+lNtng/0918名前は開発中のものです。
2014/12/25(木) 02:39:55.48ID:+bLp0IG70919名前は開発中のものです。
2014/12/25(木) 06:37:13.40ID:GYUw7kdqその説明でも意味わかんねえんだけど?
スマートポインタ等で使う工夫したデストラクタ?
スマートポインタのデストラクタの事?
それとスレッドがどう関係してくるんだ?
0920名前は開発中のものです。
2014/12/25(木) 07:27:27.19ID:lfp6OMz3GCって掃除して!って言えば掃除してくれるよ?
問題は、掃除してくれと言える人が少ない事とか、
捨てるべきでないものまで捨てちゃう事かと
ヒープ上の参照は無視して掃除するんだよなぁ……
0921名前は開発中のものです。
2014/12/25(木) 08:08:39.90ID:MJlq1Aj4質の悪いGCを使っているか、単に使い方をミスってるだろ
0922名前は開発中のものです。
2014/12/25(木) 08:15:02.30ID:MJlq1Aj4ちょっと違う じゃねーよ
確保する場所がスタック上かヒープ上かの違いだけじゃねーか
0923名前は開発中のものです。
2014/12/25(木) 08:54:43.93ID:wubB5pdOGCって最初は親切だけど、結局面倒臭いものなんだね
メモリ管理をする手間は変わらないじゃん
0924名前は開発中のものです。
2014/12/25(木) 10:29:27.96ID:Y3U3uktgv8は少ないと思う
0925名前は開発中のものです。
2014/12/25(木) 12:54:07.39ID:MhE4palG0926名前は開発中のものです。
2014/12/25(木) 14:31:05.41ID:+bLp0IG7結構色々なゲームで使うA*だけでもそれなりに食うってのに
0927名前は開発中のものです。
2014/12/25(木) 15:29:01.01ID:ZzsGRtB90928名前は開発中のものです。
2014/12/25(木) 16:21:19.48ID:qeWu8Kkf0929名前は開発中のものです。
2014/12/25(木) 21:11:54.62ID:ICmaagKnん、学校の宿題?違うなら以下の逆質問に答えてみてくれないか?
@ shared_ptrの典型的実装は何
A @でメモリリークする場合の典型的原因は何
B mediatorの目的は何
C BはAを誘発する方向に作用するか
mediator使ってAを招いてメモリリークさせる男の人ってどう思う?
0930名前は開発中のものです。
2014/12/25(木) 21:30:48.42ID:0+lNtng/違うわ
普通はやらんがスタック上でも別にスレッドで使えるわ
確保する場所の話をしてるんじゃねぇ
デストラクタを呼んだ時の振舞の違いを言っとるんだ
0931名前は開発中のものです。
2014/12/25(木) 21:47:40.02ID:MJlq1Aj4「デストラクタが呼ばれ方」の話だったはずが、いつの間にか「呼んだ時の振舞」に摩り替わっている。
具体例まで挙げないと、君の話は他人には理解できないぞ。
0932名前は開発中のものです。
2014/12/25(木) 22:18:25.00ID:rdtwM2Emそもそも配置newしないかぎり自分でデストラクタを呼ばないし。どんどん謎な方向へ。
0933名前は開発中のものです。
2014/12/25(木) 22:24:10.39ID:0+lNtng/スレッド使ってたら↑みたいなのは管理が面倒なので使えないっしょ。それだけの話
で、参照カウンタを使ってデストラクタ呼ぶか、マーク&スイープみたいな仕組みでデストラクタを呼ぶか
その振る舞いが違うけど、俺は循環参照に気を使って設計しないといけないのは、やだなぁと言っただけ
そもそも深い話でも続けるような内容でも何でもないだが
0934名前は開発中のものです。
2014/12/25(木) 22:27:00.95ID:0+lNtng/0935名前は開発中のものです。
2014/12/26(金) 11:43:36.55ID:IXxiiBMK0936名前は開発中のものです。
2014/12/26(金) 16:51:22.54ID:xlNeQ6wG特に多くの人がつまづく面倒くさい処理を自動でやってくれるって素敵やん?
解放処理を描かずに済む分コードも減るし、初心者やうっかりさんにやさしいし
世の中にはそういうできる限り完全自動にこだわる人もいるのです
細かい個別の事案にまで高速に対処できる高い能力を持ったオートデストラクタなんて、
それこそマイクロソフト並の巨大企業が本腰入れてデータ集めないと完成まで何年かかるか分からないレベル
消すには消せるが処理速度に影響を与えて邪魔で使えなかったりすればゴミだし
0937名前は開発中のものです。
2014/12/26(金) 18:51:58.22ID:9MuNlFH5自分で何とかしろ、ってこと。
RAIIで十分じゃない。
0938名前は開発中のものです。
2014/12/28(日) 12:00:32.40ID:DVHfXhJLそのポインタ変数にNULLを入れて他の処理でNULLチェックをしてぬるぽ回避してるんですが、
逆に言えばdeleteした後NULLを入れてないとぬるぽ回避できないということで、
一般的に職業プログラマではどういうふうにdeleteした変数を識別してるんでしょうか?
0939名前は開発中のものです。
2014/12/28(日) 12:24:23.36ID:5FK2L+6G0940名前は開発中のものです。
2014/12/28(日) 13:58:25.18ID:dAYPhj1N#define SAFE_RELEASE(p) { delete p; p = NULL; }
みたいなマクロ使ってるのを見たことある
俺の趣味プログラミングだとshared_ptrやunique_ptr使ってる
boolへの型変換が定義されてるから普通のポインタみたいに
if (p) { /* スマートポインタが有効だった時の処理 */ }
とかできるし
0941名前は開発中のものです。
2014/12/28(日) 14:54:46.81ID:DVHfXhJLまぁ生ポインタと同じように扱えるならそっちのほうがいい感じですか
代入で参照カウントが増えるのはオペレーターとかいうやつですか
0942名前は開発中のものです。
2014/12/28(日) 18:56:20.33ID:uPxHRIHVちょっと作ったらテストしてリークしてたらメッセージでるし、
deleteのタイミングが難しい場合ぐらいしかスマポ使わないよ。
ポインタ変数なんか、ほとんどの場合どっかのクラスのメンバーに
なってるからデストラクタでdeleteするようにしてるし
0943名前は開発中のものです。
2014/12/28(日) 20:49:21.58ID:KLVWt4tsどのように実装すれば良いでしょうか
Siv3Dを使っています
0944名前は開発中のものです。
2014/12/28(日) 20:55:05.01ID:ToxqMv2lゲーム中に出現するキャラクタの数は大体決め打ちできるんじゃないの。
Cの作法に則って毎回newして確保するんじゃなくて、例えば1オブジェクト最大256バイト、
80体まで出現するならchar slot[256*80]のような形で生メモリ領域をあらかじめ確保しておいて、
ふだんはp = (Actor*)&slot[256*n]; if (p->Exists) { p->Act(); }でいい気がするんだけど。
もちろんActorは基底クラスで、必要でない時はp->Exists = falseにする。
作成時はnewでなくスタック上でコンストラクタ呼び出して、領域に内容丸ごとコピー。
もしかしたら全然違う用途の話かも知れないけど。
0945名前は開発中のものです。
2014/12/28(日) 20:57:03.11ID:R8bFfUbq0946名前は開発中のものです。
2014/12/28(日) 21:15:10.93ID:vMYsGefx動的メモリ確保はパフォーマンスへの影響が大きいので、
可能な限りは最大出現数分の配列を確保しておく。
0947名前は開発中のものです。
2014/12/28(日) 22:21:01.45ID:D5X5qYnm他のジャンルならともかく、敵が出るたびになんだかカクつくSTGなんか嫌だぞ
0948名前は開発中のものです。
2014/12/29(月) 00:30:37.06ID:gxX17JP7その画面にいる間オブジェクトは一定だろうから >>942 方式で十分だと思う。
そう考えるとゲームの場合、シミュレーションとか特殊なルールでオブジェクト数に
上限を設けたくないとかでなければポインタ制御は簡素に纏める方向でいいと思うんだわ。
0949名前は開発中のものです。
2014/12/29(月) 00:45:24.09ID:Ue1eh9PXスマポを知って感動して以降、newするものやopen/close系のものは余程でない限りはRAIIで書くようにしてたら、
deleteを書くことが(ほぼ)なくなった。
当然、メモリリークもゼロ。
RAIIを知った前後でプログラムの規模・品質が雲泥の差になったわ。
0950名前は開発中のものです。
2014/12/29(月) 01:07:57.04ID:0UxFRGu40951名前は開発中のものです。
2014/12/29(月) 01:44:11.15ID:32D0f9iV0952名前は開発中のものです。
2014/12/29(月) 07:13:22.67ID:aw7mXH6p0953名前は開発中のものです。
2014/12/29(月) 11:06:00.25ID:UPrXKgd40954名前は開発中のものです。
2014/12/29(月) 18:43:53.95ID:aw7mXH6pVS以外を使っていたりとかVS標準スマポの仕組みや性能が気に入らないってのは知らない
っつーかな、書き落としはリークじゃなくね
0955名前は開発中のものです。
2014/12/30(火) 03:36:36.79ID:vvze8R+p簡単な圧縮かけた方がファイルからデータに展開するのも早いし、
(ファイルの読み書きの速度と展開速度を天秤にかけた)
解析する人にとっても多少は面倒になるかな?と思って
GPLとかに感染しないのがあると良いな
やっぱ、自力でやるしか無い?
0956名前は開発中のものです。
2014/12/30(火) 03:46:28.22ID:W5CPlMBgzlib
0957名前は開発中のものです。
2014/12/30(火) 04:01:26.42ID:bdHUCtIv0958名前は開発中のものです。
2014/12/30(火) 08:13:45.13ID:swhFWkgZ0959名前は開発中のものです。
2014/12/30(火) 09:05:37.93ID:6MynlDel圧縮率あって高速ってのは魅力的だわ
0960名前は開発中のものです。
2014/12/30(火) 09:25:49.71ID:HpQ+h6E5mmapして切り出せばメモリ確保も要らない。
0961名前は開発中のものです。
2014/12/30(火) 18:48:29.71ID:UWJ4OXBNhttp://d.hatena.ne.jp/kazuhooku/touch/20131010/1381403041
0962名前は開発中のものです。
2014/12/30(火) 23:03:50.59ID:HpQ+h6E50963名前は開発中のものです。
2014/12/31(水) 10:36:13.73ID:rJyBxJIfファイルの内容なんてデコードしたらすぐ捨てるだろ
そんな回りくどいことしないで普通に読み込めばいい
サーバーにおいて複数のプロセスから同じファイルの内容を読み込む時なんかは
読み込み用のバッファが要らなくなるからメモリ節約に繋がるらしいが
殆どのケースで速度が遅くなるだけだから使う理由が無い
0964名前は開発中のものです。
2015/01/01(木) 16:48:21.14ID:jkRIISMUprivate:
// 型 m_funcArray;
void FuncA();
void FuncB();
void FuncC();
public:
void CreateFuncArray() {
m_funcArray[0] = &FuncA;
m_funcArray[1] = &FuncB;
m_funcArray[2] = &FuncC;
}
void ExecuteFuncArray() {
for (int i = 0; i < m_funcArray.Length; i++) {
m_funcArray[i]();
}
}
}
こんな感じでクラスにメンバ関数ポインタの配列を作って実行したいのですが
メンバ関数ポインタの配列の型をどう宣言すれば良いでしょうか
0965名前は開発中のものです。
2015/01/01(木) 18:08:05.65ID:cWuPuXeCclass CTestClass {
private:
void (CTestClass::*m_pFunc[3]) ();
void FuncA();
void FuncB();
void FuncC();
void SetTable() {
m_pFunc[0] = &CTestClass::FuncA;
m_pFunc[1] = &CTestClass::FuncB;
m_pFunc[2] = &CTestClass::FuncC;
};
};
0966名前は開発中のものです。
2015/01/01(木) 18:10:47.53ID:cWuPuXeCvoid Exec( int i ) {
(this->*(m_pFunc[i])) ();
}
0967名前は開発中のものです。
2015/01/01(木) 18:29:15.58ID:jkRIISMUありがとうございます
なるほど*はその位置につけるんですか
0968名前は開発中のものです。
2015/01/02(金) 17:10:32.59ID:dGIIjPDHRED,
GREEN,
BLUE
}
void func(Signals signal) {
if (signal == Signals::RED) {
// 処理
}
}
enum classを使って引数を識別したかったのですが次のようなエラーが出ました
error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
どうすればいいのでしょうか
0969名前は開発中のものです。
2015/01/02(金) 17:16:07.35ID:nBM88kHl0970名前は開発中のものです。
2015/01/02(金) 17:47:26.94ID:dGIIjPDH0971名前は開発中のものです。
2015/01/04(日) 15:42:29.73ID:8cIsCjgM末尾にEOFらしき文字化けした文字があってXML等のパースに失敗するんですが
filesizeを-1してreadしたり、読み込んだchar*の末尾のEOFと思われる要素に\0をいれて回避しているんですが
根本的な解決方法がわかりません
どうしたらいいですか
0972名前は開発中のものです。
2015/01/04(日) 16:06:48.29ID:Ep14vw0Nfilesize 数ぶんの文字が無かったんだろう。
入力バッファ末尾の未初期化の領域が見えているだけ。
改行コードの変換 \r\n --> \n とかでちょうど1文字減ってるんじゃないの?
バイナリモードで読めば、たぶんファイルサイズと文字数が一致するはず。
その後の処理が \r\n に対応してないといけないけど。
テキストモードで読みたいなら、istream_iterator を使うのが定番かな。
0973名前は開発中のものです。
2015/01/05(月) 13:29:36.70ID:61MXvLfY0974名前は開発中のものです。
2015/01/05(月) 13:52:13.89ID:+omNtWXl他の方法はgetで一文字づつ読みつつeofチェック
ファイルが全てメモリに置いても問題ないサイズならstd::stringとoperator>>で全部一度に取得
好きなの選べ
0975名前は開発中のものです。
2015/01/06(火) 11:25:41.33ID:BevxLkojなんかeofまで読み込むのはifstreamの仕様らしいですね
0976名前は開発中のものです。
2015/01/06(火) 18:08:33.09ID:+D28bBOU0977名前は開発中のものです。
2015/01/07(水) 13:02:30.14ID:NiXFoaGkhttp://www1.axfc.net/u/3387806
ソフトウェア3DCGライブラリを作っているのですが、
80万ポリゴン/秒(C2D E8400 OC 3.6GHz上&フラットシェーディング&テクスチャマッピングなし)
しか出ません。ソフトウェアレンダリングってこんなものなんですか?
0978名前は開発中のものです。
2015/01/07(水) 18:26:06.67ID:PQ5kLSMd0979名前は開発中のものです。
2015/01/07(水) 18:57:47.13ID:vA0pKoe4DirectXのリファレンスドライバでメッシュを表示する適当なもの作ってそれと比較してみたら?
0980名前は開発中のものです。
2015/01/07(水) 20:29:35.89ID:PQ5kLSMd車輪の再開発じゃない?
http://en.wikipedia.org/wiki/Mesa_(computer_graphics)#Software_renderer
http://irrlicht.sourceforge.net/features/
0981名前は開発中のものです。
2015/01/07(水) 22:42:06.11ID:Wqt7oMn8このプログラム自体は特に速度をどうこうしているものではないようですね。
ちょっと見ただけだけどソースは一部ですよね
SSEとかも使ってないし、マルチスレッドでもないですよね
描画対象はメモリ? に一旦描画している感じなのかな
描画範囲を分割してマルチスレッドにしてはどうですか?
0982名前は開発中のものです。
2015/01/08(木) 20:42:14.85ID:Mw182kRW0983名前は開発中のものです。
2015/01/08(木) 22:06:01.19ID:7iBzssXL0984名前は開発中のものです。
2015/01/08(木) 22:18:13.29ID:5+CLNQq00985名前は開発中のものです。
2015/01/09(金) 13:53:51.10ID:VWlQDlh60986名前は開発中のものです。
2015/01/09(金) 17:34:34.87ID:Iw10L3clちょっとSSE勉強してみます。
今更ソフトウェアレンダラなのは
自分で作れば最小限の機能になって使いやすいと思ったからです。
自作OSへの転用も簡単ですし。
SSE版は別プロジェクトでやってみます。
0987名前は開発中のものです。
2015/01/09(金) 17:49:58.46ID:6dSDlYuJ効率よく使ったとして数%の成績アップだ。体感では違いがないとかなりうる。
0988名前は開発中のものです。
2015/01/09(金) 18:21:14.91ID:YwByCpOo何その理由
普通にOpenGLかDirect3Dで良いじゃん
自作OSってふざけてんの?
0989名前は開発中のものです。
2015/01/10(土) 06:38:12.95ID:FMkme2Bg面白い物好きが来たな
OS作るのがメインでゲーム作りがサブなのか
目指すは究極のマルチプラットフォーム?
あるいは新しい3D環境でも作り出したいのかな?
レイトレーシングという概念を勉強すると、また新しい世界が見えるかも?
0990名前は開発中のものです。
2015/01/10(土) 10:07:13.00ID:JC3btUBLその後、FPGAに実装したらさらに楽しいと思う。
0991名前は開発中のものです。
2015/01/10(土) 10:28:58.93ID:XEF52+tX自作物のパフォーマンスがどれだけ酷いか解るし。
まぁ趣味なんだろうから好きにしたら良いと思うけど。
0992名前は開発中のものです。
2015/01/11(日) 00:41:53.86ID:EFs4nj8Kオペレーション・システムそのものの開発ときたか
夢がデカすぎて全体像が見えない
0993名前は開発中のものです。
2015/01/11(日) 00:44:24.46ID:IZj/cFBqがんばってくれ。
0994名前は開発中のものです。
2015/01/11(日) 00:50:41.76ID:2AMxCLe9986がそうとは思わないがな
0995名前は開発中のものです。
2015/01/11(日) 06:09:25.57ID:vPB1OoJW全部ソフトウェアになるのか
0996名前は開発中のものです。
2015/01/11(日) 09:26:23.44ID:DORzARTJ実はOSの方は既にある程度出来てまして・・・w
「三十日でできる!OS自作入門」のはりぼてOSをもとに作ってます。
ちなみにソフトウェアレンダラに至った経緯は
OS作った
↓
それでゲーム作りたい
↓
でも3dCG使えない
↓
じゃあレンダラ作ろう
↓
ある程度出来た←いまここ
自作OSの方はSSE未対応なのでlinux/OSX/Windows版のみの特権になるっぽいですね
今日中には移植しようと思ってます!
0997名前は開発中のものです。
2015/01/11(日) 10:21:27.64ID:RDQlUyF+C/C++ゲーム製作総合スレッド Part7 [転載禁止]2ch.net
http://peace.2ch.net/test/read.cgi/gamedev/1420939171/
0998名前は開発中のものです。
2015/01/11(日) 10:39:34.22ID:IZj/cFBq乙〜!
やっぱゲームプログラミングは一番楽しいぜ。
0999名前は開発中のものです。
2015/01/11(日) 18:55:24.63ID:9XLW+JE+1000名前は開発中のものです。
2015/01/11(日) 19:08:48.17ID:+gxvr94o10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。