2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

C/C++ゲーム製作総合スレッド Part6

1 :名前は開発中のものです。:2014/07/08(火) 19:30:19.51 ID:J+zVqUil.net
ゲーム製作におけるC/C++全般に関するスレです。

元スレ
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/

504 :名前は開発中のものです。:2014/11/04(火) 21:09:55.86 ID:zm0bWhhE.net
普通にandroidとPCで出してるが、
とりあえず、>>503はどういう方法でゲーム作っているのか書いてから
どこら辺がデタラメか指摘してもらえるかな?

505 :名前は開発中のものです。:2014/11/04(火) 22:19:13.99 ID:8wIs/lt8.net
ハードコーディングと移植性に何の関係もないことくらい移植したら分かるだろ
見栄を張って嘘をついてもすぐにばれてしまうというこったw

506 :名前は開発中のものです。:2014/11/04(火) 22:42:12.25 ID:Jn/miYsu.net
ステートパターンだけど、
AIの行動パターンを制御する時みたいに、それぞれのステートが
共通の値(現在HPとか)を参照できる状態(ステート固有の値は持たない)で、
実行される処理だけ切り替えたい場合と、
シーンの切り替えみたいに、ステート固有の値を保管してシーンをスタックに詰んで戻ってきたい場合と、
実装方法は>>446で同じだけど、明確に意味が違うとして別クラス(インターフェース)にすべきだよね?

507 :名前は開発中のものです。:2014/11/04(火) 22:46:48.54 ID:zm0bWhhE.net
何言ってんだ?
外部にスクリプトで記述していたら、本体は機種依存や特殊な部分だけ移植すればいいだろうが。
ハードコーディングなんぞしてたら移植するたびに作り直しじゃないか。

508 :名前は開発中のものです。:2014/11/04(火) 22:48:00.93 ID:2N3psa7J.net
>>506
するべきだと思う
じゃないとシーンの制御にAIのオブジェクト渡せるみたいなわけわからん事になる

509 :名前は開発中のものです。:2014/11/04(火) 23:07:53.61 ID:K2k2Os5b.net
イベントなんかをハードコーディングすると機種依存が発生するって言ってる?

510 :名前は開発中のものです。:2014/11/04(火) 23:17:05.61 ID:zm0bWhhE.net
極端なたとえ話をすると、エミュを作成する場合で
ゲーム固有のイベントをその汎用的なエミュに組み込むのか?組み込まないだろ?というのとあまり変わらない。

511 :名前は開発中のものです。:2014/11/04(火) 23:18:46.07 ID:2N3psa7J.net
もうUnity使えばいいんじゃないかな

512 :名前は開発中のものです。:2014/11/04(火) 23:36:33.23 ID:rDud6J5G.net
移植するつもりがあるなら移植を考えたコードにすりゃいいし
別に移植考えないなら考えてないコードでもいいんじゃない?
まぁどっちでも好きな様にすりゃいいんだけど

513 :名前は開発中のものです。:2014/11/04(火) 23:41:58.41 ID:K2k2Os5b.net
やっとわかったけど
多分大抵の人はスクリプトの用途をもっと限定的なものとして話してると思うわ

514 :名前は開発中のものです。:2014/11/04(火) 23:48:24.99 ID:zm0bWhhE.net
分かりにくくてスマンかった。ついでに移植で話がそれたのもスマンかった。
要はstateパターンやswitch振り分けのほかにDSLという選択肢を示したかっただけ。

515 :名前は開発中のものです。:2014/11/04(火) 23:50:26.53 ID:GMRH/mFP.net
もうエンジン部分以外はほとんどスクリプトでいいと思うけどね
処理速度が必要な部分が判明したときだけコードをC++に移すかんじで
FFCCはソース見当たらなかったがほとんどがスクリプトだったと見た記憶がある

http://www.inside-games.jp/article/2009/09/07/37504.html
http://game.watch.impress.co.jp/docs/20080224/ffcc.htm

516 :名前は開発中のものです。:2014/11/04(火) 23:52:06.45 ID:8wIs/lt8.net
>>507
スクリプトを使うかどうかと何の関係もないのだがw
ボロがでるばかりwww

517 :名前は開発中のものです。:2014/11/05(水) 00:01:59.05 ID:23olDi5X.net
>>515
まさにそう。使ってるライブラリが開発停止になっても、エンジン部のすげ替えもできるし。

>>516
キミは分からないならもういいよ、独自の路線を走ってくれw
たぶん一人だけで開発してるだろうから、いまのままでも特段不便はないだろ。

518 :名前は開発中のものです。:2014/11/05(水) 00:12:09.01 ID:mDgxc5Qo.net
まず、OSやOpenGLのAPIをアプリロジック内にハードコーディングしちゃうアホとか君だけだからね
それと組み込みスクリプト言語を使用することに何の関連性も無いのよ

519 :名前は開発中のものです。:2014/11/05(水) 00:21:14.06 ID:23olDi5X.net
薄いラッパー書いて使ってるが何か?w
で、俺の主張は>>514だが、キミの主張はなんなの?過去発言から意図が見えないのだが?
単に俺に突っかかって来るだけなら、相手しても無駄なので遠慮したいんだが。

520 :名前は開発中のものです。:2014/11/05(水) 00:27:01.07 ID:mDgxc5Qo.net
嘘デタラメを書き散らすウザイやつを笑ってるだけだよ
あまり背伸びをするなよw

521 :名前は開発中のものです。:2014/11/05(水) 00:28:29.32 ID:23olDi5X.net
ああ、そうw

522 :名前は開発中のものです。:2014/11/05(水) 00:36:27.94 ID:mDgxc5Qo.net
かくしてスクリプト言語を使わないと移植が困難になるとかいう根拠なきトンデモ説が論破され
しったか君が大恥をかいたのであった♪

523 :名前は開発中のものです。:2014/11/05(水) 00:45:38.59 ID:/iQIEZEB.net
ゲーム自体をスクリプトでつくれば移植するときエンジンを交換するだけで済むって話でしょ
前提が共有できてないのに知ったか吹いてると大恥かくよ

524 :名前は開発中のものです。:2014/11/05(水) 00:50:14.08 ID:IdGIx4uz.net
ってか、スクリプト使ってる人って多いのかな?
個人で作る小規模ゲームでもよく使われるの?
オールC++の人も多いのかな?

525 :名前は開発中のものです。:2014/11/05(水) 00:55:37.53 ID:x4hCla17.net
交換だけったって結構C++で書き換えるコードもアリそうだけどな

移植先がC++ならOSのAPI叩く部分とエンジン駆動部分を綺麗に分離しとけば、
移植性に関しては大して変わらないようにも思うし、
スクリプトの最大のメリットが移植性とか言われるとやっぱすごい違和感在るわ

つうかゲーム自体をスクリプトで書くならもうすでにこのスレで話す内容じゃないな

526 :名前は開発中のものです。:2014/11/05(水) 00:56:41.89 ID:mDgxc5Qo.net
マルチプラットフォームのエンジンなりラッパーを挟めば何も交換する必要もない
遂にその程度のことも分からなかったID:23olDi5Xが大恥かいたということだね

527 :名前は開発中のものです。:2014/11/05(水) 01:16:22.19 ID:IsY3AQRw.net
winのしか作る気ないしな
c++だけで何の問題もない

528 :名前は開発中のものです。:2014/11/05(水) 01:19:11.85 ID:IdGIx4uz.net
自分もC++/Win/DirectXオンリー派。
移植とか気にせんでえーし楽だ。

529 :名前は開発中のものです。:2014/11/05(水) 01:33:14.61 ID:1mW5bpIr.net
スクリプトは覚えるのめんどくさいかもしれんけど便利だよ
データの分離は常識だけど、それをさらに進めて制御も分離できる
データとそれを使うコードは密接なことも多いから
まるごと分離できると何も考えなくて済むし

530 :名前は開発中のものです。:2014/11/05(水) 02:09:12.31 ID:23olDi5X.net
>>525
いや、>>496 で言ってるように最大の利点はデータとして分離できること。
移植が注目されてるが、質問から思わず伸びたに過ぎない。利点の一つではあるが。
ちなみに>>422は俺ではないが、ほぼ同じ経緯をたどっているね。

特に複数人で開発するときスクリプトはかなり便利。
割と簡単に使えるようにしてから、デザイナーが演出とかいろいろ直接いじったりできる。
※あいつら、結構シビアなんでいちいち要求に応じて、こっちで作業してたらめんどくっさい。

また、前は書き換え専用の実行ファイル持ってたが、
データとしてゲーム部分を持っているのでリリース後、ゲーム中にアップデートすることもできる。
某プロテクトの関係で実行ファイルを書き換えられないので、これ地味に結構良い。

531 :名前は開発中のものです。:2014/11/05(水) 02:22:26.32 ID:23olDi5X.net
>>529
ほんとこれだね

532 :名前は開発中のものです。:2014/11/05(水) 02:24:59.33 ID:IdGIx4uz.net
なるほど。
覚えとこ。

533 :名前は開発中のものです。:2014/11/05(水) 03:13:21.00 ID:H18oW5WU.net
スクリプトってよくわからない。素人で申し訳ないが。

例えばキャラクターの行動を外部データ(テキスト形式)で設定するとして、俺がどうやろうかと考えると
テキストを読み込む→書かれてた文字を判定→それに従ってキャラを設定する
という単なる外部データ読み込み処理になるわけだけど、
これだと特に意識しない限り独自形式でやることになるから、スクリプト言語とか関係なくなる。

んじゃよく聞くスクリプト言語ってのはなんなんだと考えると
誰かが考えたスクリプト言語にしたがって自分で実行プログラムを組んでいる?
しか思いつかないんだが、これだとあまりにも非効率で、一般に広まるとは考えにくい。

んじゃライブラリみたいな形で配布されてるの? とも思うんだが、それを自分のプログラムに組み込むのって
最初に挙げた、自分の独自形式でテキスト読み込むほうが楽でしかも早くね? と思ってしまう。 

534 :名前は開発中のものです。:2014/11/05(水) 04:02:31.79 ID:23olDi5X.net
テキスト読んで設定するだけでも立派なスクリプト。
独自だろうが何だろうが、スクリプトを見て処理の流れが一発でわかるとベスト。
ノベルゲーのテキスト処理のスクリプトは想像しやすいんじゃないかな?
これはいくらなんでもハードコーディングはしないでしょ。

ただ、自分で四則演算や変数・関数を実装しようとすると、
テキストの構文解析、意味解析、スタックマシン等を勉強して
yaccやbisonでコンパイラを作る大変な羽目になる。

んで、そんなことせずとも簡単にそういう機能を組み込めるように
LuaやSquirrelがある。それにこの二つはメジャーで、かなり広まってる。

535 :名前は開発中のものです。:2014/11/05(水) 04:45:23.73 ID:vpLYRihW.net
BulletMLとか、こういう説明には向いてそうな感じがする

536 :名前は開発中のものです。:2014/11/05(水) 07:24:36.56 ID:gZJGpYil.net
テキスト形式のデータ構造とスクリプト言語を同一視するのは、なんだかな
xmlとかをデータ構造と言われると納得できるがスクリプト言語と言われるとなんかモニョる
いや、スクリプト言語をデータ構造として使える事は理解しているし、
データ構造をスクリプト言語の代わりとしては使えない事も理解しているが……

537 :名前は開発中のものです。:2014/11/05(水) 08:24:52.84 ID:JAMPZGh3.net
ノベルゲームの場合はプログラミング言語としてのスクリプトって言うかまんま台本だな

538 :名前は開発中のものです。:2014/11/05(水) 08:58:45.06 ID:Tq/w+cMa.net
ノベルゲーごときにこんな議論してたのか
通りでスレの流れが理解できんわけだ…

539 :名前は開発中のものです。:2014/11/05(水) 19:54:47.73 ID:LE8Hhxvh.net
>>533
キャラクターの行動を記述できるような表現力のある
実質的にスクリプト言語と呼んで良いようなものを簡単に書けるなら
他の人が作ったものを学習して使う方が面倒に思うのでは
他の人が作ったスクリプト言語を使うにしてもブラックボックスで使うのと
中身を検査して使うのとでは手間が大幅に違う
まだお互いに無意識な認識の違いがかなりあるのではないか

540 :名前は開発中のものです。:2014/11/06(木) 01:14:24.74 ID:u3pLa7VG.net
外部データの代わりとしてのスクリプト(初期化の時に呼び出すとか)はわかるんだけど
処理としてのスクリプトってのはどういう風に使うかわかんねぇや

例えば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();
 }
}

こんな感じ?(これじゃズレるけど)

541 :名前は開発中のものです。:2014/11/06(木) 02:25:22.77 ID:PKFZPuVA.net
最後合わせればそれでもいいんだけど、時間で考えたらいい。
float delta = (now_time - begin_time) / (float)time で 0〜1まで変化するので、
x(y) * deltaでその時点での移動量が出るから初期位置に足してやる。
終了条件は1以上になったときで、強制的に初期位置にx(y)を足して処理を抜ける。

542 :名前は開発中のものです。:2014/11/06(木) 03:09:54.65 ID:EqcVgNy3.net
LuaとC++のデータ橋渡しとか、C++書く側が結構面倒くさそうだな

543 :名前は開発中のものです。:2014/11/06(木) 14:42:03.47 ID:/931C6S2.net
おい、姿勢制御にクォータニオンを使う方法が特許取られてたぞ

特開2011−220825

でググって一番最初のリンク
今更こんなんで特許申請するとか頭おかしいし、なぜ取れるんだろうか…

544 :名前は開発中のものです。:2014/11/06(木) 15:30:14.91 ID:58LXPdcW.net
周知の技術って特許にならないんじゃなかったっけ。
ホントにそうなら取り消されるんじゃない?

545 :名前は開発中のものです。:2014/11/06(木) 15:41:51.54 ID:SeWxbthZ.net
訴えれば取り消せる
訴えなければ取り消されない
ちなみに低額訴訟なら簡単に訴えれる

546 :名前は開発中のものです。:2014/11/06(木) 15:46:35.49 ID:SeWxbthZ.net
間違えた。低額訴訟じゃなくて少額訴訟だった。
ちなみに3Dゲームに興味の無い俺は訴えないけどな
まあ訴えるなら頑張れ

547 :名前は開発中のものです。:2014/11/06(木) 15:53:35.47 ID:/931C6S2.net
申請者はトヨタ自動車になってて、最初は工業用ロボット制御の事で始まってるが
最終的には一般的なプログラム上での話しになってる
これは酷過ぎるな…

何の価値もないこの申請がトヨタの誰かの業績になってると思うと腹立つな

548 :名前は開発中のものです。:2014/11/06(木) 15:56:19.75 ID:WRpf6OH0.net
特定の特許申請に対して異議申し立てとか再審請求とか出来るんだろうか?

549 :名前は開発中のものです。:2014/11/06(木) 16:08:27.82 ID:/931C6S2.net
実際は、相手から訴えられない限り特許無効申請なんて誰もしないだろうね

そしてこういう下らない特許は山ほどあって
ゲーム 特許 訴訟
でググると結構色々あるな

550 :名前は開発中のものです。:2014/11/06(木) 16:13:48.30 ID:es6ThdJv.net
訴訟起こされるほど拡散力の強いゲームを作ってみたいもんだね

551 :名前は開発中のものです。:2014/11/06(木) 18:44:11.46 ID:F7RERGXP.net
よくわからんがゲ製には関係ないじゃろ

552 :名前は開発中のものです。:2014/11/06(木) 19:53:55.97 ID:rZJzoyGT.net
特許で思い出したけどコナミだかどっかの
ロード中にミニゲームが遊べる
って特許が12月で切れるんやな

553 :名前は開発中のものです。:2014/11/06(木) 20:31:37.28 ID:KMTyqLtj.net
実際に訴訟を起こされたら>>550みたいな考えは吹き飛ぶだろう
それも、どこから出てきたのか見当もつかないサブマリン特許みたいな物ならなおさら

554 :名前は開発中のものです。:2014/11/06(木) 21:01:35.08 ID:/931C6S2.net
>>552
ミニゲームだったらナムコだろ
リッジ7のロード中にゼビウスが遊べた時はびびったw

555 :名前は開発中のものです。:2014/11/06(木) 21:11:28.90 ID:Zp1CF6nb.net
なぁ、特許って本当に社会の発展に貢献してるんだろうか・・・?
>>543みたいなゴミ特許が効力あるとか、唖然とするわ・・・。

556 :名前は開発中のものです。:2014/11/06(木) 21:19:10.59 ID:MoMQBjON.net
特許を審査するメンバーってちゃんと仕事してるのか考えさせるよな。

審査過程をチェックする機構もあるのか怪しい。

557 :名前は開発中のものです。:2014/11/06(木) 21:25:50.58 ID:OmSV/1Vy.net
永久機関そのままは駄目だけどちょっと表現変えるだけで通るみたいだしな

558 :名前は開発中のものです。:2014/11/06(木) 21:40:44.92 ID:58LXPdcW.net
特許の審査ってなにやってるんだろうと考えると、
まず考えられるのは今までに同じ特許がなかった事を調べる、くらいだろう。

次に既知の技術として存在してないかを調べるんだろうけど、
これいちいち調べてられないよな。漏れがでるのはしょうがない。

ネットが発展した現代では、調べるのもかなり容易になってきたのではないかと思うが、
審査官が来る日も来る日もググってると考えるとなにか悲しいものがあるな……。

559 :名前は開発中のものです。:2014/11/06(木) 21:53:29.21 ID:mXBMs4Fv.net
その特許を調べるためのシステムをつくるような話があった気がしたけど頓挫したんだっけ

560 :名前は開発中のものです。:2014/11/06(木) 22:55:27.98 ID:T/qTIcHW.net
この特許はフィードバック制御が必要だから、
新規性の判断はそこでされたんじゃないの?

561 :名前は開発中のものです。:2014/11/06(木) 23:20:16.77 ID:MoMQBjON.net
よし、車輪でも申請してみるか

562 :名前は開発中のものです。:2014/11/06(木) 23:37:08.84 ID:u3pLa7VG.net
>>541
あーいや、そういう話じゃなくて、
DXLibだとメインループ回ってるから、いくらLuaでコルーチンがあっても
1ループ間の時間に合わせて処理返さないといけないよなって話

563 :名前は開発中のものです。:2014/11/07(金) 00:36:18.17 ID:YN7LVK2N.net
c++側とlua側ともにもう少し詳しく書いてみ

564 :名前は開発中のものです。:2014/11/07(金) 00:41:45.93 ID:WL/Bhc4K.net
わからんって言ってるのに書いてみとはアスペしかいないのかよ

565 :名前は開発中のものです。:2014/11/07(金) 01:43:20.36 ID:OPX5vmff.net
プログラマはアスペ気味の糞が多いからねw
そいつらを上手く奴隷として扱えるようになるのが社会の勝ち組。

566 :名前は開発中のものです。:2014/11/07(金) 01:53:01.03 ID:cHXJDjI4.net
ていうかマルチスレッドで描画てどうやんの?
座標はupdateスレッドでロックしてるし描画するにしてもdrawスレッドでロックしないといけないだろ
メモリを2倍使ってダブルバッファリングで交互にリソースを入れ替えてもいいけど1フレーム遅れるし
要素ごとにロックとアンロックしてたらそっちのほうが処理重いでしょ
モーションブラーとかドロップシャドウみたいな、書き足すようなシェーダとかなら分かるんだけど、ゲームの要素そのものを描画するのにマルチスレッド?ってすごい疑問なんだけど
どんな風にやってるの?

567 :名前は開発中のものです。:2014/11/07(金) 02:53:09.53 ID:BtR0AX8u.net
俺、マルチスレッドってさっぱりわからんけど
マルチスレッドで描画するのに「1フレーム遅れる」って関係あんの?

568 :名前は開発中のものです。:2014/11/07(金) 03:13:07.36 ID:QezXslKR.net
片方はとにかく更新する
片方はとにかく描画する
ロックアンロックで同期させるならマルチスレッドをやめる

569 :名前は開発中のものです。:2014/11/07(金) 06:56:56.78 ID:cuSqlZ5a.net
マルチスレッドを理解してない奴が多いな、まあ自分もあんまり理解はしてないが
というか、マルチスレッドだけでも本がいっぱい出てるからそれを参考にしたらいいかと

570 :名前は開発中のものです。:2014/11/07(金) 07:32:03.69 ID:9A2ZZlGV.net
マルチスレッドの場合、普通は描画と更新を別々にするわけじゃない
それぞれのスレッドに別々の役割を与えて異なる処理を分担させる事になる
あと、マシンに対する負荷を減らすには同期処理しまくらないと意味がないし
ロックアンロックが重くなると言ってる奴はマルチスレッドを根本から誤解してる
というかとにかく本を読め

571 :名前は開発中のものです。:2014/11/07(金) 07:53:25.81 ID:7gbV2cfz.net
とにかく1フレームの中に時間は8msぐらいはあるんだ
その中ですべての作業を終わらせる事を考えろ
重い処理は役割分担して複数のスレッドで終わらせばいいし、
軽い処理はわざわざ役割分担する必然性は無いからな

572 :名前は開発中のものです。:2014/11/07(金) 08:07:38.45 ID:0E5IqK7U.net
120fpsがデフォなのか

573 :名前は開発中のものです。:2014/11/07(金) 08:58:33.47 ID:cHXJDjI4.net
じゃあ描画要素ごとにロックアンロックして、
もし描画スレッドで更新スレッドがロックしてる描画要素を描画しようとしたらアンロックされるまで待つのか?

574 :名前は開発中のものです。:2014/11/07(金) 09:08:00.46 ID:4PyQVSc6.net
描画スレッド分けるのは描画中にメインループ止まるの防ぐ為だと思ってたけど
そんな事しなくても並列処理してくれるもんなの?

575 :名前は開発中のものです。:2014/11/07(金) 09:22:31.34 ID:xV0IZ5SC.net
>>570

javaとかだと排他ロックするのすごい重い気がするんだけど
C++だとそんなことないの?

576 :名前は開発中のものです。:2014/11/07(金) 11:15:34.21 ID:+qZS8i0Y.net
ロックすると重くなるんじゃなくてロックの割り当てというかスレッドの割り当てを間違えてるから重くなる
ロックしている間に別のスレッドをフルに動かすのがデフォ

577 :名前は開発中のものです。:2014/11/07(金) 11:42:28.34 ID:KHDaX/cL.net
描画をマルチスレッドにするには自前の描画コマンド(のようなもの)を作らないと駄目だね
で、コマンドの作成を出来る限りマルチスレッドで行なう
最後にメインスレッドが自前の描画コマンドを解析しつつ各種API(DirectXやOpenGL)を呼び出していく

578 :名前は開発中のものです。:2014/11/07(金) 11:53:44.31 ID:CL7k1iDn.net
そこでluabindですよ

579 :名前は開発中のものです。:2014/11/07(金) 12:23:40.03 ID:mfboXhbt.net
そういや、描画範囲が違う場合は別々のスレッドで別個に書き込み出来るけれども、
描画範囲が重なる場合はこの手段が使えないね

あとスレッドって、何度も起動させて使うよりも、
一度起動させたらロックさせながら使い回す方が処理が早いね

580 :名前は開発中のものです。:2014/11/07(金) 15:24:47.03 ID:Frm/uGA7.net
ごめん、いまいち分かってないんだけど
今の話ってどのプラットフォームを想定して進行してるの?
DirectX? OpenGL? ソフトウェア描画? それとも特に規定しない全般?

581 :名前は開発中のものです。:2014/11/07(金) 23:07:57.05 ID:JstQIuBK.net
特にしてないはずだけど、DirectXはユーザが多いだけに暗黙な前提にしてる人が多そうなイメージ

582 :名前は開発中のものです。:2014/11/08(土) 10:52:03.60 ID:CsoGcbNX.net
最近はマルチコアなCPUも珍しくないからなぁ
ウチのタブレットは4コアだ
PCはシングルコアだが
PCはわりと長持ちだらなぁ

583 :名前は開発中のものです。:2014/11/08(土) 11:16:44.54 ID:kQCHHHLC.net
よく考えたら背景だろうがエフェクトだろうがキャラクターだろうが
カメラの射影行列使いまわすんだからカメラのインスタンスロックしないと危ないよね
で、カメラのアップデートは更新処理するスレッドで回すんだから結局更新スレッドと描画スレッドで占有権を撮り合う形になるから
アンロック待ちが当たり前なのか

584 :名前は開発中のものです。:2014/11/08(土) 11:30:01.41 ID:unIj8h+A.net
プログラム内であまり時間を使っていない部分までマルチスレッドにしてもパフォーマンスが落ちるだけ

585 :名前は開発中のものです。:2014/11/08(土) 12:09:00.67 ID:mcbpZdSD.net
DirectX11のDeffered Contextとか使うとうまくマルチコア化できるんかな
気になってはいるんだけど試せてないんだよな

586 :名前は開発中のものです。:2014/11/08(土) 12:09:24.51 ID:hcp3vt2I.net
>>583
1フレーム内で不整合起きなきゃいいんだしそんな神経質にやることないと思うけど
描画スレッド内で他スレッドから書き込まれる領域とスレッド内で使う領域分けておけばいいんじゃない

587 :名前は開発中のものです。:2014/11/08(土) 12:10:50.95 ID:/8NTzH0L.net
マルチスレッドを使ってドヤ顔したい年頃なんだろう

588 :名前は開発中のものです。:2014/11/08(土) 12:11:13.95 ID:mcbpZdSD.net
綴り間違ってた、「Deferred Context」だった
まさにGPUへのコマンドリストの構築と発行をやってくれるっぽいんだが

589 :名前は開発中のものです。:2014/11/08(土) 12:11:48.40 ID:V2oqVXE4.net
自分もいまいちDefferedContextの使いどころが分からんくて
ImmediateContextしか使ってない。

DefferedContextは並列化の点で少し中途半端なものらしく、
この点を改善するのもDirectX12の目的みたいよ。

早くDirectX12を触りたいなぁ。

590 :名前は開発中のものです。:2014/11/08(土) 12:51:36.67 ID:omvuHK+K.net
そもそもウィンドスレッドとゲームスレッドにすら処理を分担できてないゲームが珍しくないけどな
重い処理をやってるとウィンドが動かなくなるとかw

591 :名前は開発中のものです。:2014/11/08(土) 13:25:48.11 ID:omvuHK+K.net
そもそもマルチスレッドでプログラムするのは良いけれど、コア数いくつのマシンを前提にしてる?
あと、コア数の足りないマシンは切り捨てるの?

592 :名前は開発中のものです。:2014/11/08(土) 14:33:58.84 ID:kQCHHHLC.net
コア数少なかったらOSが勝手にスレッド振り分けてくれるんじゃないの?

まぁそうじゃなくても、今どきPCでゲームやろうって人がシングルコアなんて無いと思うけど

593 :名前は開発中のものです。:2014/11/08(土) 14:46:37.18 ID:omvuHK+K.net
>>592
おまえは>>582を読まなかったのか?
あと、PCはネットに繋ぐための道具とかワープロの代わりとしか思ってない人は珍しくないし、
そーゆー人はPCが壊れるまで買い換えない

594 :名前は開発中のものです。:2014/11/08(土) 14:50:59.54 ID:zEUiJRA7.net
ゲーム用途じゃないじゃんw

595 :名前は開発中のものです。:2014/11/08(土) 14:54:18.14 ID:CsoGcbNX.net
DVD再生装置にインディーズゲーム、使い道はまだまだ広いぞwww
2Dゲームの信者はまだまだ多い

596 :名前は開発中のものです。:2014/11/08(土) 15:00:01.75 ID:mKjDtcTQ.net
エロゲじゃないんだw

597 :名前は開発中のものです。:2014/11/08(土) 15:46:47.80 ID:hKybVK3f.net
2Dっつーか古いOSでしか動かないゲーム?

いいこと思いついた、お前ら古ゲーを新型OSでも動くように移植しようぜ
え?俺?ソースもないのにそんなのやる気ないです

598 :名前は開発中のものです。:2014/11/08(土) 17:38:42.74 ID:Gya1/bv4.net
みんなはC++でゲーム開発するときシーン制御ってどうやってやってる?
王道とかあるの?

599 :名前は開発中のものです。:2014/11/08(土) 17:52:05.59 ID:R8iM6laI.net
そのシーンについて、もう少しkwsk

(ジャンルによって、ツールによって)意味が異なるので、そこんとこの絞り込みを

600 :名前は開発中のものです。:2014/11/08(土) 18:03:53.69 ID:R8iM6laI.net
>>584
ですよねぇ…

>>591
個人的なケースでは、自分が使ってるi5のノートPCのバッテリ駆動状態で
できるだけ長く動かせるように仕方なく組んだ事ならありますねぇ

即売会でのデモ用(試遊用)として、予備バッテリーを何個も持って行きたく
なかったので。あと夏なので、あまりアッチッチーになるのも困るんで

601 :名前は開発中のものです。:2014/11/08(土) 18:11:24.52 ID:Gya1/bv4.net
>>599
例えばRPG作るとして、タイトル、セーブデータ選択、マップ、戦闘、またマップ、町のマップ、お店で購入、みたいなシーンの管理
今あげた奴の中でも、戦闘までシーンとして管理していいのかどうかとか

602 :名前は開発中のものです。:2014/11/08(土) 19:04:20.72 ID:kQCHHHLC.net
例えばRPGのマップ画面で戦闘になると、戦闘画面へと切り替わるじゃん
でもマップ画面でショップ画面になっても、画面とは名ばかりの操作できるウィンドウが表示されるだけなのかもしれないし

603 :名前は開発中のものです。:2014/11/08(土) 19:26:18.89 ID:omvuHK+K.net
戦闘シーンこそ別個で管理しないとややこしいことになりそうなんだが……

総レス数 1001
246 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200