[過去ログ] ゲームプログラミング相談室【Part5】 (970レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
174
(1): 03/01/30 00:37 ID:L8+k5MAr(1/2) AAS
>>171
描画をタスク自身が行うとは考えにくい。
タスクというレベルにまで到達しているなら、
「描画専門タスクに描画を依頼する」
という方式になっていると思う。

描画されるものとしての飛行機と、
アプリ内でのオブジェクトとしての飛行機を、
省1
175: 03/01/30 02:17 ID:BqRtFvdb(1/4) AAS
>>173
2方向リスト処理ですよね。この場合、私の質問は、STLで書いちゃうと
std::list<task *> tasklist;
tasklist.remove(this);
tasklist.insert(newpoint, this);
の newpoint の位置をどうやってチェックしてるんですか?っていう意味だったのです。
listの先頭から全部なめていくのかなー・・・、それとも別の頭いいやり方があるのかな〜と。
省9
176
(1): 03/01/30 02:20 ID:ZJQj5onM(1) AAS
>>171
そのページの概念は処理順が安定している内部処理に絞られた物なので、
描画には向かないです。つーか勝手に用語用法決められても(汗

描画系で言ったら、

フレーム毎に「TCBアドレス+カメラ距離のセット」のリストを作成し、
距離基準にソーティングした後、リストを順になめて描画をする

様な処理が必要です。(実際にはマルチパスレンダやらなにやらで、優先度
省1
177: 03/01/30 02:26 ID:BqRtFvdb(2/4) AAS
あ、情報共有のところ、修正って言うか追加です。

「飛行機作るときに、a1 に a2 へのポインタかませば良いんじゃないの?」
っていうのは、飛行機を構成する疑似タスクがたくさんになってくると、メモリ領域の中身が
ポインタだけで埋まっちゃう・・・とか思ったので、使わないんじゃないかなとおもいました。
178: 171 03/01/30 03:30 ID:BqRtFvdb(3/4) AAS
>>176 なるほどです。めもめも。

#これで書けたら、うれしなっとプチ
179
(1): デフォルトの名無しさん 03/01/30 03:38 ID:dIfJNfqd(1) AAS
私は new 飛行機 でやってる人なので、参考になるかわからんけど…

newpointの位置
「ここから先は敵タスク」みたいな目印用のタスクを何個か加えて、
それのポインタをグローバルで持たせてる。
それ使って大雑把にサーチした後に細かく見てる感じでやってるけど… 他に良い方法あるのかな

情報の共有
基本的に、子が親のポインタを持つのみ。
省7
180
(1): >>169 03/01/30 03:47 ID:Lo8nF9w1(1) AAS
3Dの場合、半透明部分は後で描画しないといけないとか、細かい処理があるので、
「3D描画エンジン(仮名)」というような割合高機能なクラス(もしくは関数群)を作って、
それに描画を依頼する形で考えると良いのでは。

1.各物体オブジェクト(タスク)は、「3D描画エンジン」に指定位置での指定3Dモデルの
  描画を依頼する。
2.「3D描画エンジン」は、それらの情報(位置、方向+モデル)を総合してソートなどして
  描画順などを決め、一気に描画する。
省3
181: 03/01/30 07:34 ID:xfHNFz6r(1) AAS
WM_PAINTで一気に描画するWindowsの基本と一緒だね。
タスクは結局ステートを変更するだけに過ぎない。
182: 171 03/01/30 13:02 ID:BqRtFvdb(4/4) AAS
>>179
>情報の共有
子同士で何かするときのイメージなんだけど、親を掲示板に見なして、
A「なんかすっぜ」
B「おー」

B「おれはやったぜ」

A「そかりょかーい」
省6
183
(1): 03/01/30 14:45 ID:U9i8fY1r(1) AAS
>情報の共有
俺は、ポインタに1クッションおく「ハンドル」を使ってる。
Windowsのウインドウハンドル(HWND)なんかと概念は同じ。
ポインタを直接持たずに、ハンドルからポインタを得る。

安全だけど、面倒くさい。

参考URL
外部リンク[html]:www2.tky.3web.ne.jp
184: あぼーん [あぼーん] あぼーん AAS
あぼーん
185: 03/01/30 21:45 ID:L8+k5MAr(2/2) AAS
>>183
破滅的な状態を回避するには有効だと思う。
186: 03/01/31 10:15 ID:6VWpyBYm(1) AAS
要するにMVCモデルとかDocument-Viewモデルというやつだな。
187
(2): 03/01/31 11:35 ID:4bR+Vd+q(1/3) AAS
すみません質問です。
CGIはサーバ&クライアントの関係を用いて
データのやり取りとりを行いデータの読み出しや書き込みをしていますよね?

ではGAMEではどのようにしてセーブをおこなったりしているのですか?
ゲームボーイやファミコンの本体にサーバとクライアントの機能が
備わっているとは思えないのですが…。
どのような仕組みで保存(セーブ)をしているのでしょか?
188: 03/01/31 11:37 ID:6ynLwhZo(1) AAS
いやすべてがクライアント/サーバ型じゃないから。
GAMEって例えば?
189: 03/01/31 11:40 ID:4bR+Vd+q(2/3) AAS
どんなゲームでもいいんですが
ドラクエでもなんでもデータセーブ機能がついているゲーム。

サーバ&クライアントの関係を使わないとしたら
どのようにして保存をするのですか?

どのような言語で書かれたプログラムを使うのかとかおしえてください。
あとできればその理論が知りたいです。
190: 03/01/31 11:40 ID:H1fkys7O(1) AAS
>>187
マルチうぜぇ
消えろ
191: 03/01/31 11:41 ID:NYWMKE8k(1) AAS
マルチポストじゃなければ答えてあげたのにね……残念。
192: 03/01/31 11:45 ID:4bR+Vd+q(3/3) AAS
すみません。
この時間では書込みが少ないと思いマルチにしてしまいました。

おしえてください。。。
193: 03/01/31 11:50 ID:Oks/Mlfb(1) AAS
答えてあげたいけど、マルチポストは大嫌い。
そのような abuse 行為は善意に支えられたネットワークにとって
最大の敵であることを知りなさい。

恥知らず。
194: 03/01/31 11:57 ID:yMAewiuo(1/2) AAS
あのさ、マルチポストってだけならば別にわるいことって、ネチケットのFAQで読んだことがあるよ。
それも一度や二度ではなく。URLなんか覚えてないけどね。

ただし、質問者がマルチポストした先の答えをまとめて、
全ての回答者にこれこれこーなりました、ありがとーと言って回るならばっておまけ付き。
195: 03/01/31 12:07 ID:Q0GDcsqu(1) AAS
メモリカードとかに記録してるんだろ?
なんでサーバ・クライアントの話が出てくるのか分からないんだけども
196: 03/01/31 12:46 ID:yMAewiuo(2/2) AAS
>どんなゲームでもいいんですがドラクエでもなんでもデータセーブ機能がついているゲーム。

んっとさー、おーざっぱに答えるから嘘ついてるかもだよ。

コンピューターっていうのは CPU と メモリ とそれらをつなぐバスっていうのが最低限の要素なんだよね。

ファミコンっていうのは、メモリをつけてないコンピュータを売りつけて、
遊ぶためにはメモリ(ROMカセット)を買ってくださいって仕組みだったんだよ。

で、ROMカセットの中に RAM も入れて、電池で連続起動しておけばセーブシステムのいっちょあがり。
197: 03/01/31 13:30 ID:nYsHWhwS(1) AAS
連投規制で書き込めないと見た。
198: あぼーん [あぼーん] あぼーん AAS
あぼーん
199
(2): 03/01/31 19:18 ID:qsXaXa9v(1/2) AAS
Cを中心に簡単なゲームを作りたいと考えているのですが、
Game Programming Gems以外に何か参考になる図書はありませんでしょうか?
よろしくお願いします。
200: 416 ◆quHoSW/FCI 03/01/31 19:49 ID:2OuKlzSK(1) AAS
>>187
 認識がヘン。

 CGIやネットゲームのようなサーバ&クライアントの関係がある環境でも、
それは単に、サーバ側にデータを保存させているか、クライアント側に保存させて
いるかの設定の違いに過ぎない(CGIやとクラ側保存は・・・クッキーがあるか)。

 データ保存が可能な環境と、保存命令があれば可能。サーバ&クライアントの
関係はぜんぜん関係無い。
201: 03/01/31 21:13 ID:2op7A3hN(1) AAS
というか要するに187は、CGI…というかPerl辺りを
限定的な環境でちょこっとかじっただけなんでしょ。
一生懸命説明しても無駄だと思う。
202: 03/01/31 22:13 ID:2ZzIvrax(1) AAS
最初は実体を例示しないとわからないのは仕方ないけど
ずっとその例示を引きずるのは頭悪いな
203
(1): 03/01/31 23:02 ID:vCqXldk6(1) AAS
>>199 簡単な、どんなゲームを作りたいの?
204: 03/01/31 23:36 ID:qsXaXa9v(2/2) AAS
>>203
インベーダーゲームみたいな2Dの簡単なソフトです。主にシューティングを中心に作りたいです。
205
(1): 03/01/31 23:51 ID:B3NC8eT4(1) AAS
>>199
ゲームプログラミング遊びのレシピ―アルゴリズムとデータ構造
外部リンク:www.cmagazine.jp
外部リンク:www.amazon.co.jp
は、どーでしょうか。

本屋さんでよく見かけるので、立ち読みしやすいと思う。
C++Builder&Delphiなのでそのままでは使いにくいけど、
省1
206: 03/02/01 00:33 ID:JG1cEAZ6(1) AAS
>>205
ありがとうございます。参考になりました。
207: あぼーん [あぼーん] あぼーん AAS
あぼーん
208
(1): 03/02/02 16:57 ID:6i0/vwvm(1) AAS
2Dで、人間の関節などを動かせるようにしたいのですが、
まずどのようなものを勉強すればいいのでしょうか。

キーワードとかってあります?
209: 03/02/02 17:02 ID:9DYxK8lo(1) AAS
2Dで?
どうもイメージ沸かない・・・
210: 03/02/02 17:05 ID:fhT0wplm(1) AAS
>>208
階層構造,ローカル座標系
IK,FK
ここまでは3Dでもいっしょ
2Dなら画像の回転も必要かな
211: 03/02/02 17:11 ID:zcwy9VYW(1/2) AAS
2Dで関節っていうと、幼稚園児向けの番組で動かしてる人形を思い出す……。
手足にそれぞれ黒い棒がついてて、関節がおかしな方向に平気で曲がる紙人形。
212: 03/02/02 17:12 ID:zcwy9VYW(2/2) AAS
あとはこれか
「多関節キャラによる格闘ゲームを作るスレ」その2
2chスレ:gamedev
213: 03/02/02 19:02 ID:DGXzuX3G(1/2) AAS
IK,FK を検索エンジンで調べるためのキーワードをおしえれ。
214: 03/02/02 19:32 ID:t6/9t4TG(1) AAS
インバースキネマティクス
215
(1): 03/02/02 19:59 ID:DGXzuX3G(2/2) AAS
ありがとぅょ
216: 03/02/02 23:29 ID:ngVInDbv(1) AAS
>>215
FK(フォワードキネマティクス)の方が簡単だから
IKよりFKをやってみては?
217
(1): 03/02/03 07:46 ID:JqqWIodK(1) AAS
えーと、PALスレとか、リフレッシュレートスレでいわれてる、不定間隔なフレーム処理の補間ってどうやるんですか?

B宗(v += a)な私には、フレーム処理を 5ms 毎に実行して、それを V-Sync で描画するぐらいしか想像がつかないんだけどー。
218
(1): 03/02/03 08:53 ID:0/huq5OJ(1) AAS
>>217
リフレッシュレートに関する論争
外部リンク[html]:matsuzak.pobox.ne.jp
219: あぼーん [あぼーん] あぼーん AAS
あぼーん
220
(3): 03/02/06 00:54 ID:2WnqR6mA(1) AAS
2Dゲームを作るときに、アニメーション画像って、どうやって管理しますか?
RPGの主人公がマップ上を歩くときに、手足が動いたりするのですが、
タイマーをかけて、stateを1,2,3,4,1,2,...って変えていって、
stateの値ごとに描画を変えるのがいいですか?

それだと、アニメーションが複雑になると、プログラムも汚くなるのですが、
もっと見やすくていい方法ってないですか?
221: 03/02/06 01:11 ID:yacnI+6d(1) AAS
>>220
アニメーションデータを表すデータ構造を作れ。
そしてそれを解釈して描画するプログラムを作れ。

これなら、アニメーションが複雑になってもプログラムに影響は無いぞ。
さらに、アニメーションデータを編集するツールを作るともっといい。
222: あぼーん [あぼーん] あぼーん AAS
あぼーん
223: 03/02/07 00:53 ID:WYEzYilN(1) AAS
>>220
>もっと見やすくていい方法ってないですか?
きちっとした設計できれいにコーディングをする
いやマジです
関数とか構造体とかクラスってわかります?
224
(1): 03/02/08 23:35 ID:B2NmrZjg(1) AAS
>>220
状態遷移のクラスを作って、定期的にそいつから
アニメーションパターンの数字を取得するようにする。
描画するときは、その数値に対応した絵を表示させるだけ。
225
(2): 03/02/08 23:49 ID:He/KRUT1(1) AAS
>>224
すいません。想像しづらいのですが、
クラスのインターフェースを書いてもらえますか?
226: 03/02/09 00:43 ID:EKddfl4f(1) AAS
>>225
甘えるなゴルァ

「有限状態オートマトン」で検索するか、
"Game Programming Gems 1" の 「3.1 有限状態マシンクラス」を読んでくれ。
(全然難しい内容ではないが、まあ、一応)
227: 03/02/09 00:45 ID:yUWb7xod(1) AAS
何回か作り直してればそのうちマトモな形になるよ
228: 03/02/09 01:09 ID:gYbNlh+m(1) AAS
>>225
外部リンク[txt]:210.143.102.80
229: あぼーん [あぼーん] あぼーん AAS
あぼーん
230
(1): 03/02/10 16:24 ID:FAmepXpS(1) AAS
処理落ち率の計算の仕方を教えてください。
フレームを飛ばさないのに、処理落ちするって、どういうことですか?
処理は落ちてないんじゃないですか?
231
(1): ぽぷり 03/02/10 16:27 ID:6VC5i/Lt(1/2) AAS
最初からココで聞いたらよかったかな。
あと2箇所に書き込んだマルチだが良かったら質問よろしく頼みます

いまFF4のパクリ作ってるんだけど戦闘の曲を.wmaで作った。

で、これをループでエンドレスで流すわけだが
そのまま初めのフレーズ(ダダダダ、ダダダダ・・・・)に戻ってしまう。

この曲は1分54秒まであるんだが
俺としては0:00から1:54まで流した後
省6
232: デフォルトの名無しさん 03/02/10 16:28 ID:sFeXOrcI(1) AAS
ゲームで時間のかかる処理をしていると画面の
キャラクターの移動などがズルッズルッと遅くなる。
これが処理落ちしているという状態。
時間内に処理が終わらないのを「落ち」といっているのでしょう。
この場合処理はとばしていません。

パソコンでよく見られるのが、処理が重いときに処理をスキップする
やつです。画面の更新がなめらかでなくなってカクカクして見えます。
233: あぼーん [あぼーん] あぼーん AAS
あぼーん
234: あぼーん [あぼーん] あぼーん AAS
あぼーん
235
(3): 03/02/10 17:15 ID:xlyrLNIL(1) AAS
>>231
DirectShowでも、DirectSoundでも、MCFでも、プログラム上で制御は可能だが…。
236: 03/02/10 17:25 ID:VY6anJSf(1) AAS
>>231
マルチウゼー

2chスレ:gamedev
2chスレ:gamedev
237
(3): ぽぷり 03/02/10 20:03 ID:6VC5i/Lt(2/2) AAS
>>235
HSPでは無理かな?
プログラム上の制御って、どんな項目で検索したらいいでしょうか?
238: 03/02/10 21:04 ID:pyEAMejp(1) AAS
>>230
処理落ちとコマ落ちについても >>218 のリンク先に
書いてるから読んでみ。
239: 03/02/10 22:04 ID:n899aQqE(1/2) AAS
>>237
>>235が十分なくらいキーワードだしてるよ。
MCI(MCFは間違いだよな?)、DirectSound、DirectShow
HSPはよく知らないが、
MCIはWindowsAPI、DirectSound、DirectShowはCOMが扱えれば大丈夫。
HSPがそれらを扱うのが難しい言語ならば、
他の人が作ったライブラリを使う手もある。
省1
240: 03/02/10 22:09 ID:n899aQqE(2/2) AAS
>>237
こんな方法もあるようだ。
外部リンク:www.google.co.jp
241: 03/02/10 23:15 ID:+EgLsXBk(1) AAS
>>237
マジで氏んでくれ。
242: 235 03/02/11 00:32 ID:OEwInXkJ(1) AAS
MCFは間違い。
何やってんだ、俺。
243: 03/03/02 11:58 ID:1UsFLoT7(1) AAS
保守sage
244
(1): 03/03/04 22:15 ID:QU9Qm2YP(1) AAS
敵の弾で曲がるレーザー系のを作って見たいのですが、
雰囲気としては一度敵機の近くでゆっくり動き、目標に向かって
早い曲線を描こうと思っています。おそらくゆっくり部分と狙撃部分の
2つのルーチンを使用するかとおもいますが、問題が2つほどありまして、
1)曲線が目標位置によってイビツになる。
2)レーザー表現を座標引き渡しで20個ほど丸オブジェクトを使用
  したので、処理が遅い。
省1
245
(6): 03/03/08 01:35 ID:AeESF41/(1/4) AAS
見た目だけクォータビューで、内部的にはトップビューなゲームを制作中なのですが、
座標を四十五度回転させてから上下半分に潰して表示している為に、見た目上上下の移動が遅く、左右の移動が早く見えてしまいます。
こういう場合、みなさんどうしていますか?
246: デフォルトの名無しさん 03/03/08 01:52 ID:omw6bur7(1/2) AAS
>>244
遅レスだけど。

1)
float f = atan2(目標とのyの差, 目標とのxの差) - (現在の進行方向);
while (f<-3.14) f += 3.14*2;
while (f>3.14) f -= 3.14*2;
(新たな進行方向) = (現在の進行方向) + f*(曲がり具合0.0〜1.0);
省4
247
(1): 03/03/08 01:58 ID:Qzt+JfAG(1/4) AAS
>>245
画像にかけた、縮尺を移動量にもかける。
上下が左右の50%なんだろ?
じゃあ、移動量も50%でいいじゃん。

つーか、それ
クォータービュー風表示で、内部がトップビューって言うか?
一瞬意味が分らなかった。
248: あぼーん [あぼーん] あぼーん AAS
あぼーん
249
(1): 245 03/03/08 03:30 ID:AeESF41/(2/4) AAS
>>247
お返事有り難う御座います。
内部でのベクトルも表示時には四十五度回転しているため、
それではうまくいかないのです……。
(内部的に下にすすめが表示上は左下に、右に進めば右下に進んでいるように見えます)
内部のマスは正方形ですが、表示時は菱形なので移動量がおかしくみえるということなのですが……。
250
(1): 03/03/08 04:03 ID:Qzt+JfAG(2/4) AAS
>>249
その処理だと、クォータービューって言わないじゃん。
つまり、クォータービューって斜め見下ろし型でしょ?
君の言ってる移動処理は、トップビューでただ45度回転してるだけだよ。
それでは、描画と移動処理が噛合う訳が無いよ。

普通は、トップビューと同じ処理で、横長の菱形MAPchipやなんかを
用意してキャラをMAPchipより手前にずらして立たせて
省11
251
(1): あぼーん [あぼーん] あぼーん AAS
あぼーん
252
(2): 03/03/08 04:10 ID:tiy6mV84(1/3) AAS
すべての方向に対して、同じ時間で移動できる場所に点を打ってその点を補完して線にする。
すると、君のプログラムでは、正方形が出来上がるわけだ。
ところが現実には円になることが期待される。

君のプログラムは、内部的には「円を正方形で近似している」んですよ。
そのまま表示すれば、移動方向によって速度に変化が生じるのは当たり前。
対策は、内部のプログラムを書き直して円を円として扱うようにするか、
あるいは円を八角形で近似するように書き直すか、
省2
253
(1): 252 03/03/08 04:12 ID:tiy6mV84(2/3) AAS
ごめん勘違い。
無視してください。
254
(1): 03/03/08 04:32 ID:Qzt+JfAG(3/4) AAS
ん?やっぱさ247で言ってる通りでいいじゃんか。
君の描画処理って45度回転して上下に潰すっていてるよね?
その言ってる正方形ってのがMAPなんだろうが、
移動ベクトルにも同じ処理してないじゃん。
上下に潰すって事は、Y軸方向にスケールをかけてる訳だ。
そのY軸方向のスケールを、移動ベクトルにもかけてるか?
つまり、移動ベクトルはX成分はそのままで
省2
1-
あと 716 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.025s