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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
307: 02/02/01 14:11 ID:6mOXvhF8(2/2) AAS
じゃあ、某スレのマネで、、

( ´ー`)y─┛~~~
はい、次の方どぉぞ
308: 02/02/01 15:34 ID:3FgmOISv(1/3) AAS
ギミックについて教えてください。
検索したら車のギミックとプラモのギミックぐらいしかでてきませんでした。
309
(1): 02/02/01 15:43 ID:??? AAS
ギミック [1] _gimmick_
(1)からくり。仕掛け。
(2)〔音〕 奇をてらった演奏。また,普通では出せないような音を用いた演奏。

( ´ー`)y─┛~~~
はい、次の方どぉぞ
310
(1): 02/02/01 15:44 ID:??? AAS
スプライト表示について教えてください。

ポリゴンキャラが拾ったアイテムを画面の奥から出てくるような感じで
画面端のアイテム欄に並べて行きたいんですけどスムーズに移動できません。
2D座標で計算すると、ポリゴンとの位置関係がおかしくなるし、
3Dにすると、最前面に表示していてもポリゴンが刺さって前面に来てしまいます。
311
(1): 02/02/01 15:46 ID:3FgmOISv(2/3) AAS
>>309
ゲームのギミックを処理してキャラを裸にしたいのですが可能なソフトはありますか?
服のデータだけ消して全身肌色にしたいのです。
312: 02/02/01 15:48 ID:??? AAS
Ztestをオフにしなされ。

( ´ー`)y─┛~~~
はい、次の方どぉぞ
313: 02/02/01 15:49 ID:??? AAS
312 は >>310 だず。もうじわげねえ。
314
(1): 02/02/01 16:35 ID:??? AAS
>>311
>ゲームのギミックを処理してキャラを裸にしたい

多分それは違う。
君の現状はおそらく、キャラの服のデータだけ消すことで
君自身の股間のギミックを処理することができるということに過ぎない。
315: 02/02/01 16:39 ID:??? AAS
( ´ー`)y─┛~~~
はい、次の方どぉぞ
316: 02/02/01 16:42 ID:ilrgY29+(1) AAS
タスクに代わるもっとカコイイ方法ってありますか?
317
(1): 02/02/01 16:45 ID:3FgmOISv(3/3) AAS
>>314
>君自身の股間のギミックを処理することができるということに過ぎない。

最初は「はぁ?」と思いましたが考えたら激しく笑いました。
服のデータはどうやって消すのでしょうか?なにかソフトが必要なんですか?
318: 02/02/01 17:14 ID:??? AAS
209のパターンファイルは作りやすいなw
319: 02/02/01 19:50 ID:??? AAS
>>317
ここは「ゲームプログラミング相談室」なのよ。
頼むからもう他所に行ってくれ。返答もしないでくれ。な。
320
(6): 02/02/01 23:05 ID:yaKNvp5t(1/3) AAS
質問:
こうゆう関数が作りたいんです。
Vector TurnVector(Vector source, Vector target, float percent);

sourceベクトルをtargetベクトルにpercentの割合だけ近づけた(回転させた)
ベクトルを返す関数です。なるべく高速なアルゴリズムにしたいのですが、
どうすればいいのでしょうか?
321
(1): 02/02/01 23:11 ID:??? AAS
>>320
0<=percent<=1

[return vector] = (1 - percent) * [source] + percent * [target]

をSSEとか使って高速化したいって話か?
322
(1): 320 02/02/01 23:21 ID:yaKNvp5t(2/3) AAS
>>321
説明不足だったので補足します。
sourceとtargetは長さ1の単位ベクトルで、戻り値も単位ベクトルに
したいんです。つまりsourceからtargetへ回転させる必要があり、
percentでその角度の割合を調整する感じです。
(Vectorはx、y、zのfloatの構造体です。)
323
(2): 02/02/01 23:34 ID:??? AAS
>>322
普通に外積+内積+4元数使った方法は分かってて、それよりも
高速にしたいって事かな?
324
(2): 02/02/01 23:40 ID:??? AAS
>>320
GameProgrammingGemsに載ってたやつだと駄目なの?
325
(1): 320 02/02/01 23:45 ID:yaKNvp5t(3/3) AAS
>>323
自分で考えられる方法は、それぞれのベクトルのyawとpitchを求めて、
角度を計算してベクトルを割り出す、って感じです。
これより速い方法なら大歓迎です。

>>324
どんな内容でした?
326
(1): 324 02/02/01 23:57 ID:??? AAS
>>325
普通に外積+内積+4元数使った方法
327: 320 02/02/02 00:09 ID:??? AAS
>>326
その方法を知らないので具体的に教えてください。
328
(1): 323 02/02/02 00:25 ID:??? AAS
2ベクトルの外積で回転軸を得て、内積でcosθを得てクォータニオン
(4元数)を作って回すってやつ。素のままやると誤差が結構大変な
ので324の言ってる記事みたいな方法が重要になってくる。

4元数についてここで全部説明するのは大変なので、
 外部リンク[html]:www.cc.rim.or.jp
でもどうぞ。

あと、
省3
329
(1): 320 02/02/02 00:49 ID:??? AAS
>>328
情報どうもです。
4元数読んでみましたが、えらい深みにハマってしまいそうです…
330: 02/02/02 00:57 ID:i49zbV6r(1) AAS
( ´ー`)y─┛~~~
はい、次の方どぉぞ
331: 02/02/02 00:59 ID:??? AAS
>>329
素直にGameProgrammingGems買っとけ。
332
(2): 02/02/02 01:10 ID:??? AAS
タケェだろ…
333
(1): 02/02/02 01:19 ID:??? AAS
>>332
12000円ぐらい学生でも何ヶ月か節約すれば十分たまるだろ。
それでも高いと思うなら半額の原書買っとけ。
英語が読めないならプログラマなんてやめとけ。
334
(1): 332=323 02/02/02 01:31 ID:??? AAS
>>333
もし彼が中・高学生とかだったら、他にも使いたいこといっぱいあるし
そこまで要求するのは可愛そうってもんだよ。
#といいつつ俺は高校生の癖にGem2まで買っちまったがw
335: 02/02/02 02:01 ID:??? AAS
>>332
じゃあ本屋で、該当部分だけ立ち読みしとけ。
336: 02/02/02 02:12 ID:??? AAS
>>334
>#といいつつ俺は高校生の癖にGem2まで買っちまったがw
俺なんか高校生の癖に
「Game Programming Gems 1,2」
「Real-Time Rendering」
「Advanced Animation and Rendering Techniques」
「3D Game Engine Degine」
省3
337: アフォクサ.. 02/02/02 02:31 ID:??? AAS
( ´ー`)y─┛~~~
はい、次の方どぉぞ
338
(5): [age] 02/02/02 03:25 ID:??? AAS
シューティングゲームを作ってるのですが、敵の出現タイミングと
敵の攻撃、移動パターンで悩んでいます。
特に移動パターンで悩んでいて、自分の思ったように動いてくれません・・・。
基本的な Z といったパターンはどのように動かしたらいいですか?
339: 02/02/02 04:11 ID:??? AAS
>>338
敵の動き用のツールを作って、そこで移動パターンを作るのはどうですか?
340: [ ] 02/02/02 04:23 ID:??? AAS
最初はスクリプトを作って動かそうと思ったのですが、
スクリプトを作る時間が無かったので埋め込み型にしようとしたのですが・・・。
あとFlipのタイミングが合わず、敵の残像が残ってしまう・・・鬱だ逝こう
341: 質問はもう少し煮詰めてからお願いします 02/02/02 04:28 ID:??? AAS
( ´ー`)y─┛~~~
はい、次の方どぉぞ
342
(1): 02/02/02 05:26 ID:??? AAS
>>338
今現在、

 どういう実装にしていて、
 その結果、どう思ったように動いていないのか

具体的に書いてみ。(ソース出せるなら、それでも良いけど)
343: 02/02/02 05:31 ID:??? AAS
醤油なら出せるけどね。
344: 8945 02/02/02 05:44 ID:4W2oJZ3g(1) AAS
AA省
345
(1): 338 02/02/02 15:31 ID:uCuDAOXO(1) AAS
>>342
今現在の状況は・・・。
まず、弾の出し方ですが弾構造体をTAMA_MAX(17)個つくり、その中に
x、y、bmpdata、Activeを作って、それをポインタ参照でActiveじゃない
方からActiveにしています。Activeがfalseになる時は
640+弾サイズになる時です。
そこまではよかったのですが、敵の動かし方で詰まってしましました。
省4
346
(1): ≠342 02/02/02 16:53 ID:??? AAS
>>338
>Flipのタイミングが合わなくて残像が残る
よくわからん。 描画と敵の動きが別のスレッドなの?

適当にリンク
www.hh.iij4u.or.jp/~peto/Games/games_top.html

見当違いだったらすまん。
347
(1): 02/02/02 17:14 ID:??? AAS
>>345
>>345
Zに移動だったら、まず変数を1個増やす(例:Stat)

右に移動(Stat==0)→適当なところでStat++
→左下に移動(Stat==1)→適当なところでStat++
→右に移動(Stat==2)→適当なところで殺す

以上、バータリー的に行け
348: 338 [ ] 02/02/03 02:00 ID:??? AAS
>>346,347
アドバイスありがとうございました。
Flipの方は解決しました。
349: 02/02/03 02:06 ID:??? AAS
スクリプト指向
350: 02/02/03 03:45 ID:WfOFv5LQ(1) AAS
すみません。
英語サイトのどっかでゲーム用デザインパターンをまとめてあった
サイトがあったと思うのですがどこかわかる方いませんでしょうか?
ブックマークがなくなったので…。
351: 02/02/03 06:22 ID:??? AAS
けど、結局、通せんぼしてたよね、彼。
352: 02/02/03 09:52 ID:??? AAS
( ◔ฺ_◔ฺ)/ 彼女が回り道したから、結局、無意味な通せんぼだったよ。
353: 02/02/03 11:14 ID:??? AAS
外部リンク:www.gamasutra.com
ここ?
354: 妄想野郎 02/02/03 21:48 ID:??? AAS
モナーRPGつくれよおまえら
355
(2): 209 ◆jUZhK5lw 02/02/05 14:01 ID:??? AAS
ふっかーつ
敵を動かすのはどうしたらよいのでしょうか?
簡単な2DSTGでお願い致します。
356: 02/02/05 14:19 ID:??? AAS
>>355
>>256 のリンク先のソースは読んだか?
357
(1): 209 ◆jUZhK5lw 02/02/05 15:02 ID:??? AAS
読みましたけど、見たことがない関数が多少ありました(゜д゜)?
タスクとかスプライトとか。
358: 02/02/05 15:49 ID:??? AAS
>>357
スプライト云々は DirectX Graphics のヘルプ読め、タスクなんかは tsk.cpp, h/tsk.h
に実装があるだろ。
359: 02/02/05 19:25 ID:??? AAS
>355=jUZhK5lw
つーかマルチポストしてんじゃねぇよカスが
360
(1): 209 ◆2sDz/Rq6 02/02/06 00:46 ID:??? AAS
だから、209 ◆jUZhK5lw はもう放置しようよ・・・。
361
(4): 02/02/07 15:26 ID:??? AAS
外部リンク[html]:www.hh.iij4u.or.jp
を参考にしてC++でタスクを使っています。新しいタスクを作るときに
Cならば
TCB* t = task_make(pri,func)のようにすれば、
task_makeの実装によってあらかじめmallocしておいたヒープを渡せますが、
C++では
TCB_HOGE* t = new TCB_HOGE(パラメータ);
省4
362: 02/02/07 19:39 ID:??? AAS
>>360
あなたに指図される筋合いはありません。
何の権限があってそのような事を言うのですか?
363
(1): 02/02/07 20:36 ID:??? AAS
>>361
1. placement new を使う
2. operator new を定義して、自前でメモリ管理をする

あと STL 使っている場合テンプレートパラメタで渡す allocator にも手を入れないと、
完全にはメモリを管理下にはおけない。ただ、そこまでやる意味があるかというと、
俺は無いと思う。

(仕事でメモリの制限が厳しいハードを対象にプログラミングしてる場合を除く)
364
(1): 02/02/07 22:46 ID:??? AAS
>>361
そもそも C++ なら、タスク用の構造体を用意せずに

struct Task {
  virtual void Update(unsgned tick) = 0;
};

とでもインターフェースを用意してやって、Task を継承したクラスを、自機/弾/敵機
など必要なだけ用意。あとはメインループの中で
省15
365: 02/02/08 10:27 ID:??? AAS
うわーん
366
(1): 361 02/02/08 13:50 ID:??? AAS
お答えしてくれてありがとうございました。
>>363
operator new はクラスごとに書かなくちゃいけないのかな?
とりあえず何回もnewされるクラスに使ってみて、パフォーマンス
を比べてから、効果が大きいようであれば他のクラスにも使ってみます。
>>364
うう、関数オブジェクトだとかそこら辺は勉強してないのであまりわからないです
省2
367: 209 ◆jUZhK5lw 02/02/08 15:11 ID:??? AAS
うおーん
368
(1): 02/02/10 11:26 ID:tpvVEAK8(1) AAS
ゲームのアルゴリズムを学ぶのに良い本知りませんか?
みんなアルゴリズムってどうやって勉強してるんでしょうか?
369
(1): 02/02/10 12:05 ID:??? AAS
とあるページでCPUの占有率が常に100%なゲーム(アプリ)はダメみたいな事を書かれていましたけど、
何か理由があるのでしょうか?
370
(1): 02/02/10 13:39 ID:??? AAS
100%がダメというより
マルチタスクOSでの行儀がなってないとだめということだよね。
無限ループみたいな組み方すると
バックグラウンドのプロセスになかなか処理がいかなくなる。
そうするといろんな弊害が起きることが考えられる。
371: 02/02/10 14:24 ID:??? AAS
>>370
最初から他のアプリケーションと並行して動かすことを前提としないゲームなら、
それでも構わないと思うけどね。フルスクリーン表示なら全然問題ないでしょ。

ただ、ゲームをウィンドウモードで表示しながら Web で検索しようとか思うと、ちょっ
と嫌かも。
372: 369 02/02/10 20:12 ID:??? AAS
なるほど。理解できました。
ありがとうございます。
373: 02/02/10 23:16 ID:??? AAS
>368
ソフトバンクの「遊びのレシピ」って本は
各種ゲームのアルゴリズムとデータ構造を解説してる。
基礎的で単純なものばかりだけど,行き詰まってる人にはいいかも。

勉強法だけど,私は他のゲームを見てアルゴリズムを想像してるだけ。
374: 02/02/11 10:28 ID:??? AAS
おお。。あんたもそうか。
これがくせになってもう病気。。
GT3見ても何見てもだんだんフローチャートに頭の中になっていく…
375
(1): 02/02/16 14:06 ID:??? AAS
>>361,366
ワシも同じページ見ながらC++でタスク作ったことがある。
そんときは363と全く同じやり方に行き着いたよ。
メモリ管理は手を抜いて固定サイズメモリ領域の配列に
したけど。

いちいち各クラスのoperatow newを用意する必要はなくて、
タスク基底クラスのoperator newだけ自前で用意して、継承
省6
376: 02/02/17 10:19 ID:??? AAS
普通は固定から切り出しじゃないのか??
377
(1): 02/02/17 20:54 ID:??? AAS
>>375
> 関数ポインタの扱いがC++だと厄介
直接メンバ関数へのポインタを使わずに、多態を使えば良い。細かいことは
コンパイラが面倒見てくれるぞ。
378
(2): 02/02/18 02:33 ID:??? AAS
図々しくてすみませんけど。
固定から切り出しのソースコードが乗っているホームページ有りましたらキボンヌ。
379: 02/02/18 03:50 ID:??? AAS
>>378
operator new() の使い方が分からんの、それとも static なブロックからデータを
切り出す方法がわからない?

C++ chunk operator new あたりで検索かけて見つけたページ
外部リンク[html]:www.relisoft.com
380: 02/02/18 10:32 ID:??? AAS
(>_<)ワーショイ
381: 02/02/19 01:23 ID:??? AAS
>>378
placement new (operator new())に関しては、
More Effective C++ を読むのが良いかと。

固定から切り出しについては、確保した固定メモリ領域内の
アドレスを引っ張ってきてキャストするだけでいいんだが・・・
(もちろん管理は自前でやる必要があるけど)

で、任意サイズのメモリを切り出せるようにするとフラグメン
省4
382
(2): 02/02/19 01:44 ID:??? AAS
>>377
基底クラスのexec()は仮想関数にしといて、各クラスの関数
ポインタはstaticに定義したメンバ関数ポインタテーブルから
引く、と。
383
(1): 02/02/19 03:22 ID:??? AAS
AA省
384
(2): 382 02/02/19 23:29 ID:??? AAS
>>383
class Task {
public:
Task();
~Task();

  virtual void exec() = 0;

  static void* operator new(size_t);
省20
385: 384 02/02/19 23:33 ID:??? AAS
インデントが・・・。
鬱。
すまそ。
386: 02/02/19 23:51 ID:??? AAS
>>384
なるほど。各タスクの「中」で状態遷移させるのに、メンバ関数ポインタを使おうと
いう話ですね。理解しました。
387
(3): 02/02/20 11:45 ID:??? AAS
みなさんは、どうやってプログラムの勉強したんですか?
1-
あと 599 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.025s