[過去ログ] ゲームプログラミング相談室 (986レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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
みなさんは、どうやってプログラムの勉強したんですか?
388(2): 02/02/20 18:02 ID:??? AAS
>>387
1. 本を読む
2. コードを読む
3. プログラミングする
いじょ。
389: 02/02/20 18:50 ID:??? AAS
>>387
作りたいものを作る
いじょ
390(2): 209 ◆jUZhK5lw 02/02/20 19:16 ID:??? AAS
>>388 389
んなこと、だれでもしってるつーの
391: 02/02/20 21:03 ID:??? AAS
>>390
じゃ、知らないことを書いてみれば?
392(1): 02/02/20 21:57 ID:??? AAS
>>390
プログラミングに王道はないんだよ…
393: 02/02/20 22:06 ID:??? AAS
>392
この言葉かっこいいな・・・
394(1): 02/02/20 22:14 ID:??? AAS
別に387がそうだという訳じゃないけど、
プログラミングを「覚えよう」という発想が間違い。
プログラミングは「理解」するもんだよ。
まぁ、日本の学校教育が「覚える」主体で「理解」を
求めてないから、どうしようもないんだけどねぇ。
395: 02/02/21 01:07 ID:??? AAS
プログラミングに邪道はあるのだよ‥‥
396: 02/02/21 02:02 ID:??? AAS
>>387
まずはプログラムを書く。作りたいものならなお良し。作らなければならないもの
なら更に良し。
んで、わからないことにぶち当たったら、自分で悩んで調べて何とかする。
それでもどうにもならなかったら、予め質問内容をきちんと調べて、自分がどこまで
わかっていてどこがわかっていないかを明確にした上で先達に聞く。
そして、書きながら、もしくは書いた後で、より良いコードにするためにはどうすれ
省3
397: [age] 02/03/05 04:05 ID:??? AAS
定期ageしとく
398(1): 02/03/05 10:37 ID:??? AAS
>>388
4.自分のコードを直す
つーか、糞コードを糞なままにしてると、上達せん。
399(2): 02/03/05 20:05 ID:??? AAS
>>398
でも、ゲームをつくることを最優先にしないと、
コードばっかいじって永遠に完成しなかったりする罠。
つくっては壊し、つくっては壊し...
400(1): 02/03/06 01:47 ID:??? AAS
>>399
で、そのうちに
1 行き当たりばったりで作るのではなく、事前に設計する
ことを覚える、と。ちなみに、その先は
2 設計ができるようになると、楽しくてはまり、過剰設計の罠に陥る。
3 リファクタリングを身に付ける。
と続く。
401: 02/03/06 17:03 ID:??? AAS
ゲームなら期限を決めて作る。
ちなみに俺は無期限だと完成できないタイプ。
402(3): 02/03/07 09:55 ID:??? AAS
>>399-400
この段階に入ってからが本番。学ぶべき事が格段に増える。
・モジュールやデータ構造といった、設計関連の知識
・ソートやサーチなどの、アルゴリズムに関する知識
・パーティクルや画像合成など、エフェクトに関わる知識
・UIやツール作りなどの、人間工学に関わる知識
403: 02/03/10 15:29 ID:??? AAS
>>394 に共感を覚えた。
プログラムに限らず数学とか頑張って手順を説明してるのに
「とりあえず答えは何?」と聞かれるとすげー腹立つ…。
(しかもそういう説明する奴は嫌われる、と(ワラ))
>>402
俺は特にプログラム初心者のゲームに欠けてるのはモジュールだと思うんだよね。
アルゴリズムとかエフェクトに関する知識がいくらあっても、
省1
404: 02/03/10 17:25 ID:??? AAS
結果がすべてだからな。
405: con tofu ◆iOTveYXw 02/03/10 21:40 ID:??? AAS
>>387-404
この辺り、すごく参考になりました。特に >>402 辺り。
皆さん、ありがd
ほかには
・プロセス/スレッドやメモリ等、OS寄りのことについて
もやっておくと、頭スッキリして楽になるように感じます。
406: 02/03/12 11:15 ID:3GjIfP2m(1) AAS
一応ageとこ。
407: 02/03/12 11:20 ID:??? AAS
AA省
408: 02/03/14 19:41 ID:??? AAS
age
上下前次1-新書関写板覧索設栞歴
あと 578 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.025s