■掲示板に戻る■ ■過去ログ倉庫めにゅーに戻る■
シューティングゲームを作りたい!!
1 名前:   投稿日: 2001/05/19(土) 05:55
初心者なんですが・・・作れますかね。
よくありがちな、縦(横)スクロールであるタイミングで敵が
出てきて、敵がタマ打ってきて、敵やっつけて^^;。
どうなってるんでしょうか・・・。

やはり、そういったプログラムを一度読んでみるべきですかね。
手に入るのかわからないですが・・・。


2 名前: あのさあ 投稿日: 2001/05/19(土) 05:57
まず調べろよ。
本でも、ネット検索でも。
それでどうしても分らないことがあったらここに聞きに来たら?


3 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 06:30
>>1
http://www.google.com/
どうぞ。


4 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 06:43
>>1
とにかくさぁ、シューティングツクールなんかで作ってみろよ。
明確な目的も決まって無いのに、いきなりプログラムは無駄!


5 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 07:03
なかなか参考になる
http://mentai.2ch.net/test/read.cgi?bbs=kyoto&key=969000016


6 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 09:15
>>1
とりあえず、インベーダーかギャラクシアンかギャラガあたりを
『自力で』コピってみれ。どんなやり方をしても構わん。
他人がどうやってるのか探るのはその後でよかろう。


7 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 09:32
本格的につくるつもりなら4の言うとおり!
遊びのつもりなら・・・。


8 名前: 前にも書いたが 投稿日: 2001/05/19(土) 10:32
10 入力
20 移動
30 表示
40 GOTO 10


9 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 15:27
初期化がない


10 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 15:31
Syntax Error in 10
Ok



11 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 15:35
new
Ok



12 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 15:36
system


13 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 16:01
ここでも参考にしてがんばってくだちい。>>1

アーケード板「ギコディウスを作ろう」
http://yasai.2ch.net/test/read.cgi?bbs=arc&key=982466986


14 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 18:15
ここでも参考にしてがんばってくだちい。>>1

http://giggle.cside6.com/hotate/index.html


15 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 18:17
ギコディスがでたので、これも
http://piza.2ch.net/test/read.cgi?bbs=mona&key=983053600

思ったよりつくりがしっかりしてて、完成度高いし・・・。


16 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 20:09
最初は誰でも初心者。
絶対に完成させると意気込んで作り始めてみな。
そうすると、今の君に作れるか作れないかわかるよ。
他人のソースを読むのは、慣れてないと案外大変だから、
自分で作り始めた方がいいかもね。
ま、がんばれ!


17 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 21:02
とりあえず「インベーダ」ではなく「ギャラクシャン」を目指しなさい。
実は「インベーダ」の方が作るのが難しいのだ。


18 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 22:08
>この勢いで「ゴルァーガの塔」も作ってほしいナ・・・。

1よ、シューティングはやめてこっちを作れ。


19 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 22:57
すいません、インベーダーとギャラクシアンの違いを教えてください。


20 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 23:00
1はもう死んだのか?


21 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 23:03
>>19

17じゃないけど回答。

インベーダーは敵の列隊が左右に動くとき、残っている右端と左端の列が画面端に着くまで移動し折り返るけど、
ギャラクシアンはそんな動きしないので移動時の折り返し位置の判定が不要です。


22 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 23:07
ギャラクシアンは飛んでくるじゃん。


23 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 23:16
>>22

そっちは大した処理でも無いだろ。

インベーダは”どの列が端の列か”を一々検出せにゃならんのよ。
例えば右端1列をすべて倒すと、その時点で列隊の折り返し位置が変わるだろ?
この判定がウザイつーの。


24 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 23:27
↓の人達へ。煽らずマターリでいこう。


25 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 23:30
>>23
なるほどね。
仕組み考えると面白いナリ


26 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 23:37
インベーダーはバリア(?)の処理がめんどいんじゃない?


27 名前: 吾輩は名無しさんである 投稿日: 2001/05/19(土) 23:42
>>23
なんでなんで? 至って簡単だと思うナリが。
こんなんウザイゆーてたら何も作れまへんで。


28 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 23:42
>ギャラクシアソ
隊列編成や攻撃の際の動きをいかに華麗に見せるか
アレコレ工夫するのも楽しそうですね。つーか萌える。


29 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 23:43
>>27
そりゃ煽りっぽいですよ。
主観の相違を気にしちゃなるめぇよ。人それぞれさ。


30 名前: 吾輩は名無しさんである 投稿日: 2001/05/19(土) 23:57
思わずMAME起動してみたりしたが、どう見てもインベーダのが簡単ナリよ。
時代が古いからとかじゃなく、内容的に。敵は単純な二次元配列でいいし、
折り返し位置は敵を倒したときに再設定すればいいでしょ。
(個々の敵を今流のタスク管理でやっちまったりしたら逆に面倒かもね)
バリアはビットマップで持っといて、当たったら特定のパターンで消すだけ。

ていうか、そこまで完全移植する必要もないんだけどね。
#折り返しやバリアが面倒っちゅーならやらなきゃいいんですから。


31 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 00:04
最近の人達はシューティングの面構成や攻撃パターンを
加工するときってどうやってるんだろう?やはりBCBとかで
GUIなオーサリングツールのようなもの作ったりするのかしら?
う〜ん、か、かっこいいかもしれない。

私自身はPC-98の頃に趣味程度でチョロっとしたもの作る
場合が多かったんでテキスト形式のファイルにシコシコと
手打ちでスクリプト(テーブル?)書いてました。(つーかこれヘタレかな


32 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 00:04
インベーダの場合、防波堤があるでしょ?
それ難しいのだ。
1Dot単位で穴が空いてたしね>>オリジナル

だから、ギャラクシャンの方が無難だね。

あるいは防波堤のないインベーダだとか。
試しで作ってみるにはいいかも。


33 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 00:10
>>32

マターリな。
「難しいのだ」といきなり断言しても無意味でござそうらわずや?


34 名前: 23 投稿日: 2001/05/20(日) 00:11
>個々の敵を今流のタスク管理でやっちまったりしたら逆に面倒かもね

ごもっとも。あの程度のオブジェクト数なら難しく考える必要も無いか…
生き残りの敵を全て調べて折返し位置設定しても大した処理でもないし。
まぁ折り返しとバリアを考慮しない分だけはギャラクシアソの方が楽つーことで。


35 名前: 吾輩は名無しさんである 投稿日: 2001/05/20(日) 00:14
あっと、折り返しについてはかなり迂遠だった。
単にどれかのインベーダが画面端に当たったら
全部のインベーダの進行方向を変えればいいですな。ほらめっちゃカンタン。

>>32
ま、インベーダの頃はグラフィック面直書きですからね。


36 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 00:34
だんだん面白くなってきたぞ。
単なる駄スレではなかったぞ。


37 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 00:36
漏れはこの本でしゅーちんぐの作り方を学んだよ。
Turbo Cゲームプログラミング PC-9801シリーズ / 青山学/共著 日高徹/共著
http://shopping.yahoo.co.jp/shop?d=jb&id=18763073
98エミュと Turbo Cがあればそのまま試せる。
古本屋になら売ってるかも。


38 名前: 23 投稿日: 2001/05/20(日) 00:40
>>35
さっき気が付いた。
敵一匹ずつObjectとして管理しようとするクセが抜けない自分駄目スギ。
鬱山車脳。


39 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 01:04
>>36

たまには駄スレを救済してみるのも悪くないナリよ。
1が登場しないけれど、皆でスレを育てれば何とかなるさ。


40 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 01:08
>>37

な、懐かしいタイトル。中身はよく知らないんだけど
93年頃には本屋でよく見かけた憶えアリ。今でも置いてあるんかな。


41 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 01:16
ところで今までシューティングゲーで「これどーやってんの」みたいな複雑なアルゴリズムってある?

とネタふりするテスト。


42 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 01:32
>>31
云われてみれば確かに。今じゃこれだけ便利なツールに囲まれてる
わけだし、そういうスタイルが定着しても不思議じゃないですね。
実際のところどうなんだろう。>最近の趣味ゲープログラミング事情

DirectorやFlashライクなツールで、シューティングのバランス
調整とかしてる図を想像。絵になりますなぁ。(; ´Д`)ハァハァ


43 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 03:00
雷電IIのプラズマレーザー(紫色のクネクネ曲がるヤツ)の実装方法教えて。


44 名前: 1 投稿日: 2001/05/20(日) 03:19
どうも、遅れまして、駄目スレ立てました1です^^;。
スレ立ててから次に回線つなぐまでちょいと時間がかかってしまいました。

レスの数々どうもです。
そうですね、やはりまずは自分で調べるべきですね。良いHPを紹介して
くれた人もいるようで、ありがとうです。勉強してきます。

目的なんですが、シューティングが作りたいというよりは(まぁ作りたい
んですが)、趣味でゲームプログラミングしたいので、まずはゼビウスの
ようなゲームを作れるようになりたいという思いがありまして。
上達したいという方が強いです。こういうゲームのアルゴリズムの部分
をまだ覗いたことがなかったので。とりあえずいろいろやってみます。


45 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 03:19
http://faculty.web.waseda.ac.jp/parity/professor.html


46 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 03:49
プラズマ教授とセイブ開発を絡めるのか(ワラ


47 名前: 鬱ゲー 投稿日: 2001/05/20(日) 03:59
ゲームに使われているアルゴリズムって、教えて貰うとめちゃ
単純なんだけど、普通こんなの思い付かないって物が多い。
「この処理どうやってんだ?」と思う事でも、作った人にに聞い
てみたらすげー単純な事だったり…。


48 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 06:28
>>47
そーそー。
よくもまあ、そんな簡単に出来たなぁと感激する事が
多々ありますよね。


49 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 06:45
>>48
昔はマリオのジャンプが再現できなくて泣いてましたよ
その後、数学の授業で放物線を習ったときには
喜びのあまり小躍りしたもんです


50 名前: リアル高坊の名無しさん 投稿日: 2001/05/20(日) 13:46
>>49

えーっと、質問。
数学で習う放物線は、物理の天体の軌道などで使いますけれど
地上わずか数メートルを飛び跳ねるマリオに適用しても大丈夫
なんでしょうか。


51 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 14:08
だいじょうぶでしょ。


52 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 14:23
>>50
もちろん問題ない。

というか、放物線を使わないとデコゲーになってしまう。


53 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 14:47
>>51
>>52
いや、これをあえて選択するのは辛いということなのでは。
http://130.158.186.11/mathedu/forAll/kikou/labo/stconic2.htm
http://www2m.biglobe.ne.jp/~funatsu/advanced5/fnat33par1.htm


54 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 15:03
>>50
むしろ、数千メートル以上飛び跳ねるマリオには
採用しないでください。


55 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 15:04
速度とか加速度みたいなのって、
作るうちに自然に出てこなかった?
それが速度かどうかなんて、後で知ってへー?みたいな。

だからかしらんけど、はじめおれはx軸の加速度が理解できなかった(藁
y軸の加速度=重力ってわ置き換えてすぐわかったけど。


56 名前: 吾輩は名無しさんである 投稿日: 2001/05/20(日) 15:16
マリオはこれで良い。

/* 重力加速 */
vy += g;
/* 空気抵抗もどき(縦の速度抑制) */
vy *= 0.98;

x += vx;
y += vy;


57 名前: 吾輩は名無しさんである 投稿日: 2001/05/20(日) 15:17
雷電のプラズマレーザー……すまん、考え中だ。←ヘタレ


58 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 15:30
>>57
それ以前に、誘導兵器一般について標的の選択


59 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 15:34
雷電のプラズマレーザーはデカブツを優先的にロックしてたかしら。


60 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 15:41
http://www.getplus.co.jp/ProductImage/170211.jpg
これか。


61 名前: 吾輩は名無しさんである 投稿日: 2001/05/20(日) 15:44
曲がりっぷりがイマイチだけど、プラズマレーザー発見。
home.earthlink.net/~wshin/games/review/ra/raiden2.htm

ロックはレーザーに引っかかったものすべてだと思うナリ。ザコキャラはすぐ壊れるし。

んで、あとは1フレームごとにロックしている敵を順番に通るよう
スプラインなりで……と思ったけど、
このレーザー、一定間隔のスプライトの集まりなのよね。
スプライン曲線上のポイントを一定間隔で得る方法とかありやす?
もっと単純なアルゴリズムなのかも。


62 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 16:01
http://www.hf.rim.or.jp/~idaka/bs.html
これか。


63 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 16:09
>>56
空気抵抗は、速度の2乗に比例して、逆向きに作用するから、
dy += g - u*y*fabs(y);
y += vy;
だろ。fabs()は邪魔だが。
uは粘性と質量をパラメータとした定数。
軽いモノのほうがデカくなる。
dtにあわせててきとーに設定しろ。
ま、どこまでリアリティを追求するか...


64 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 16:27
>>62
面白そうなゲームなんだけどネタなんだよな…


65 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 17:05
質量は空気抵抗に関係ないっしょ。
「速度に比例」は割とよく使われる近似値かと。


66 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 17:20
速度に比例する粘性抵抗と、速度の2乗に比例する慣性抵抗の両方かけるのが正解。
マリオのジャンプ程度の速度なら、
慣性抵抗はほとんどかからないので考慮しなくてよいかも。


67 名前: 66 投稿日: 2001/05/20(日) 17:22
なお、この慣性移動する物体に空気抵抗をかけるのは
ごく簡単に物体に重量感を持たせることができるので、どんどん使おう。


68 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 17:24
>64
そうなの?本当にこのゲーム作ったんだったらこれはすげえなあと思ったんだが。


69 名前: 62 投稿日: 2001/05/20(日) 17:29
ごめんネタでした。ていうか気付けてくれ > 68


70 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 17:38
宮本茂はリアリティーよりもプレイ感覚で調整したと聞いたが?


71 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 17:55
>>70

バランス調整云々の話をすると、それこそ個々の作品の
『味』や作者の『好み』といった主観的な話になるので
あえて持ち出すことも無いさ。

ここでの話題は、参考程度に知っておく分には何ら害の無い
ごく簡単な技術的なものなので、これではこれで有意義だ。


72 名前: 71 投稿日: 2001/05/20(日) 17:57
× これではこれで有意義だ
○ これはこれで有意義だ

鬱だ氏脳


73 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 19:18
コレデハコレデ コレデハコレデ コレデハコレデ・・・・・


74 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 19:47
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| 粘着荒らしですか。ハァハァ。私とネトーリと愛を育みませんか?

   ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧       / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ( ・∀・)  ∧ ∧ < か、勝手に覗くんじゃねーゴルァ!!
 (  ⊃ )  (゚Д゚;)  \________________
 ̄ ̄ ̄ ̄ ̄ (つ>>73
 ̄ ̄ ̄日∇ ̄\| BIBLO |\
        ̄   =======  \


75 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 00:32
プロでも意外とインベーダすら作れない人、多いよ。


76 名前: 75 投稿日: 2001/05/21(月) 00:33
俺もだけどね。


77 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 00:36
75はsageという概念も理解できないのか。


78 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 00:57
xinvaders - インベーダ
xgalaga - ギャラガ
xバトルス - バトルス(ゼビウスクローン)

どれもUNIXのX-Window版。古くからのUnixユーザなら
一度は遊んだことのあるゲーム達。当然ソースからmakeできる。
探してみそ。


79 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 01:04
マリオとかって、ボタンをちょこんと押したらちょこんってジャンプ、
ボタンを長めに押したらびよーんってジャンプするじゃないですか?
あれってどうやってるかわかります?昔からの疑問です。


80 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 01:09
dでる間もボタンを読み続けてるのでは?


81 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 01:12
ボタンが押された→少し上に移動→まだ押されてるな→少し上に移動
→もう押されてないor一定以上上がった→減速開始


82 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 03:08
xsoldierのソースは参考にしないほうがよいぞ。


83 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 06:56
>>82
何故?


84 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 08:35
>というか、放物線を使わないとデコゲーになってしまう。

どこかでSin関数で近似してる奴がいるって話し聞いたけど
デコゲーだったのか


85 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 12:38
>>84
それは「山崎式正弦跳躍法」アル。


86 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 12:38
山崎由喜憲著『ゲームプログラマになる本』CQ出版
ISBN4-7898-3564-2
http://mentai.2ch.net/prog/kako/981/981281595.html


87 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 12:49
>>1
<必要になること>
・キャラ描画方法
・デバイス入力方法
・当たり判定の方法
・三角関数の知識(アークタンジェント等)
・連結リストの知識
・キャラのデザインセンス
・効果音を作るなら、WAVEの知識
・BGMを流すならMIDIの知識(フェードイン、フェードアウト等)
・時間
・根気
・他人の意見を素直に聞ける能力

これら全てをクリアしてシューティングが可能となります。
まだあるかなぁ


88 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 12:57
>>83 見れば分かると思う。


89 名前: 83 投稿日: 2001/05/21(月) 14:52
>>88
見た。了解。


90 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 14:54
>>87
あと超重要なのは、
・キャラ(敵)配置のセンス
やね。
一見クソでも配置が絶妙だとゲームになる。
センスがなくても
・時間
・根気
でなんとかなるかもしれんけど。


91 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 17:13
>>88-89
うおおおーーッ!何がダメなんだ。気になるじゃないか。
オレも見よっと。


92 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 18:47
何気に>>90が一番難しかったりします。


93 名前: 吾輩は名無しさんである 投稿日: 2001/05/21(月) 19:52
基本的なことですが、敵弾は他のキャラに隠れないように一番手前、
もしくは自機のすぐ下に表示しましょう。
敵弾はプレイヤーが(ふつーの)シューティングを遊ぶにあたって
最も見えなくてはならない「情報」であります。


94 名前: 吾輩は名無しさんである 投稿日: 2001/05/21(月) 19:57
ちなみに、蒼穹紅蓮隊、レイストーム、Gダライアスといったゲームで
「いつのまにか死んでいる」といったケースが多いのは、
これらのゲームが奥行きのある3D画面なため、2Dシューティングのように
無条件に敵や敵弾の表示優先度を高くすることができないからであります。


95 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 20:18
LINE文でビームを描くと、撃ってる間は移動できなくなるぞ(藁


96 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 21:40
>>84
デコゲーのジャンプは直線軌道。最初は dy/dt = a で上がっていって、頂点に
達すると dy/dt = -a で落ちてくる。

デコジャンプで検索すると Web サイトが引っかかるよ。


97 名前: デフォルトの名無しさん 投稿日: 2001/05/22(火) 00:49
>>96
私はそれをソーサリアンジャンプと呼んでた。


98 名前:   投稿日: 2001/05/22(火) 01:02
2chであの遠藤氏が言っていたんですが、ゼピウスの敵の動き
ってすべて加減算のみなんですってね。


99 名前: デフォルトの名無しさん 投稿日: 2001/05/22(火) 01:20
>>98 昔の2Dゲームはほとんど全部そうでし。


100 名前: デフォルトの名無しさん 投稿日: 2001/05/22(火) 01:53
まず自機を表示してキーボードで動かせるようにするべし。
その次は、ショットかな。
あたり判定とかはとりあえず後回しだ.


101 名前: 1 投稿日: 2001/05/22(火) 04:07
ええと、DirectX5ゲームプログラミング入門という本を読みまして、
とりあえず背景を表示してその上でスプライトを動かすという程度
なら出きるようになりました。ただ描画の度に全部描き直している
という感じです。普通は変更のあった個所だけなんですよね?
でもスクロールとなるとやはり全部ですかね・・・。
あとあたり判定というのは、自機や敵にRectを設定して、それが
重なってるかどうかってことですよね?

今想像できないのは、たくさん敵が出てきて、それぞれがタマを
撃ってきて、中には画面外にいって消えてしまってるのもあって
みたいに、それだけたくさんの敵やタマをどうやって管理すれば
いいのかってところです。何言ってるかわからないかもしれません
が・・・^^;。
では、また勉強してきます。


102 名前: デフォルトの名無しさん 投稿日: 2001/05/22(火) 04:54
最近はVRAMにサーフェスを全部作って、
描画タイミングでセカンダリサーフェス全域を合成しなおすのが
普通の書き方らしい。
2Dはみんな十分に速いしね。


103 名前: コードマスター 投稿日: 2001/05/22(火) 05:15
>今想像できないのは、たくさん敵が出てきて、それぞれがタマを
>撃ってきて、中には画面外にいって消えてしまってるのもあって
>みたいに、それだけたくさんの敵やタマをどうやって管理すれば
>いいのかってところです。何言ってるかわからないかもしれません
>が・・・^^;。
構造体配列を使えよ。1フリップ間に全てのキャラクタを動かす。
構造体には、速度情報、座標情報を用意して、全てのキャラクタを
動かし(全てのキャラクタの座標位置に速度を足す)、表示させる
ループエンジンを一つ作ってフリップ毎に呼び出せばなめらかに動
かせるようになるよ。
あとは、配列ごとに障害物用やら、背景用、自機用をつくって、相
互のあたり判定をかましてやれば、ゲームになるよ。


104 名前: デフォルトの名無しさん 投稿日: 2001/05/22(火) 10:21
・・・^^;。 ←何で初心者ってこの顔文字書くやつ多いんだ?むかつくぜ?ボクゥ・・・


105 名前: デフォルトの名無しさん 投稿日: 2001/05/22(火) 10:36
できない奴と人に頼るしかできない奴が良く使う顔文字。


106 名前: デフォルトの名無しさん 投稿日: 2001/05/22(火) 10:38
ていうかオマエ、どこかのサイトの掲示板でFFとかいう名前でMSXの質問して、いくら教えても全くわかってないから管理人から明らかにうざがられてた奴じゃないか?


107 名前: デフォルトの名無しさん 投稿日: 2001/05/22(火) 11:36
>>104

わるかったね。10年以上前から使いまくりだよ。^^;


108 名前: デフォルトの名無しさん 投稿日: 2001/05/22(火) 13:15
104は自分を客観的に見直す必要があるな(藁


109 名前: (^−^; 投稿日: 2001/05/22(火) 15:26
104〜106
すぐキレるあなたにカルシウム!


110 名前: デフォルトの名無しさん 投稿日: 2001/05/22(火) 19:33
ファイナルトリトーンのジャンプの方が、クセがあるのだけど。


111 名前: いねむりさん 投稿日: 2001/05/23(水) 01:52
>>103
配列よりも連結リストの方がベターです。
処理的に効率よい。


112 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 01:56
>>110
ザインマンセー?


113 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 02:00
そんなのどうだか知らないけど複雑にはしないでね。
物事を考えるときは可能な限りシンプルにしなさい。
偉い人のお言葉です。


114 名前: コードマスター 投稿日: 2001/05/23(水) 02:10
>>111
NextとBackを構造体に使って連結する方法ね。
知ってるけど、相手は、素人だから、まずは、配列からお勧めするよ。


115 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 05:45
永遠に2段ジャンプ・・・


116 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 08:49
お利口なテクおぼえたところで、個人プログラマは
システム実現→満足→終了
てなパターンが多いので、面白いゲームを作る方に集中した方がいいよ。


117 名前: 116 投稿日: 2001/05/23(水) 08:52
>面白いゲームを作る

面白いゲームを完成させる
だね。


118 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 09:33
みんなエラそうだね。


119 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 10:17
なぜかゲームプログラミング系のスレには、無分別に相手を厨房と
みなして御高説をたれる「お偉い」方が多いんだよ。他スレでは
なかなかお目にかかれない光景だね。


120 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 10:32
>>119
無分別とは失礼な
まじめな回答の方が多いじゃないか
オレならこんな質問を発している時点で「あんたにゃムリ」で放置モード


121 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 10:44
>>120

憤る前に過去ログを読みましょう。
このスレでは>>1の質問はもう終了してまして、消防相手の
FAQスレだったのは過去の話。今ここにいるのはSTGプログラ
ミング話が好きな連中ばかりで、マターリと技術話に華を咲
かせたいだけなの。


122 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 10:45
ここで能書きたれてる「お偉い」方にどんな製品(ソフト)を
リリースしてるか名前の後に加えてほしいねぇ。
いい仕事は能書きより説得力あるし。

遠藤さんが釣れたりして(藁


123 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 10:50
>>120
浮いてるぞ。スレの流れを追ってくれ。

>>122
そう煽るなよ。マターリな。


124 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 11:03
>>122
ゲハ板に逝ってくれ。


125 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 13:27
なんだかんだいっても、このスレはゲーム系では珍しくよく育ってるぞ。


126 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 16:13
1じゃないけど。

DX8でインベーダー作ってます。敵も味方もメッシュで、弾はスプライトです。

でもって、スペースキーを押したときに自機の弾の出現する位置を計算するところで妙な誤差が出てしまって困っています。

↓カメラ
D3DXMatrixLookAtLH(&mat,
  &D3DXVECTOR3(0.0, 200.0, 0.0), // カメラ座標 x = 0.0f, y = 200.0f, z = 0.0f;
  &D3DXVECTOR3(0, 0, 0), // 視点 x = 0.0f, y = 0.0f, z = 0.0f;
  &D3DXVECTOR3(0, 0, -1)); // カメラの上 x = 0.0f, y = 0.0f, z = 0.0f;

↓透視
FLOAT fAspect = m_d3dsdBackBuffer.Width / (FLOAT)m_d3dsdBackBuffer.Height;
D3DXMatrixPerspectiveFovLH (&mat,
  D3DX_PI / 4, // y 方向視野角
  fAspect, // アスペクト比
  1.0f, // カメラに近い方のクリップ面 z 座標
  1000.0f); // カメラに遠い方のクリップ面 z 座標

という状態で、スペースキーを押したときに

TamaPosition = FighterPosition

としています。
でもって、レンダリングするときに、

float X
= ((float)BackBuffer.Height / 2.0f) * (fAspect - TamaPosition.x / (200.0f * tanf(D3DX_PI / 8)));
float Y
= ((float)BackBuffer.Height / 2.0f) * (1.0f + TamaPosition.z / (200.0f * tanf(D3DX_PI / 8)));

として、

TamaSprite->Draw(TamaTexture, &rct, NULL, NULL, 0, &D3DXVECTOR2(X - 16, Y - 16), 0xffffff00);

としてるんですが、Yは問題ないんですが、 X は TamaPosition.x に 3.0f を足してあげないと適正な位置に弾が表示されません。
この理由がわからないです。

わかる方、教えてください。


127 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 16:45
姉妹スレあげ。
化けることを祈ろう。

セがラリーみたいなの嫌、そのものをつくりたい
http://piza.2ch.net/test/read.cgi?bbs=tech&key=990538812


128 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 18:28
>>114
双方向リストにする必要まではないよーな気が。
シューティングゲーでそういう状況ってあるのかな?
ちょっと想像つかない。


129 名前: コードマスター 投稿日: 2001/05/23(水) 20:03
双方向にしておくと、キャラクタ削除の時に、前後関係を直接
参照できるから、高速で切り離しできるんだよ。
これがもし、片方向だったら、順次に追っていかないといけないので、
ループバックのオーバーヘッドが痛いから、容易に扱えない。
状況的には、あるキャラとキャラどうしがぶつかって消滅するときに、
片方向リストのやり方だと、もう一方のキャラクタの前後関係がわか
らないから、いちいち追わないといけないが、双方向だと、そんなこと
をいちいちやらなくてもよくなる。


130 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 20:33
なんではじめから配列にしないの?
ゲームなんだから不規則に変化するなんてことまずないでしょ?
メモリの変化はできるだけ押さえて、ハードディスクなどへのデータのやり取りは一括しておこなう。
リストを使う利点なんてないでしょ?
それともコンシューマででも組んでるの?
はっきりいってリストを使った話を聞くとややこしく感じる。
だいたいシューティングで一度に画面にでるキャラは何体で一度に入れ替わるキャラの数は何体だろう?
それをふまえたうえでもっともシンプルな組み方はどうなんだろうか。
それがきっと一番いい動作さ。


131 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 20:46
>リストを使う利点なんてないでしょ?

はぁ?


132 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 20:47
リストも配列も手間はそんなに変わらんと思うが。
動的にメモリを確保して云々までしなくても、
構造体の配列にして要素をリストもどきのように扱うこともできるよね。
リストと配列のいいとこどりでうまく扱える方法はあると思う。

教科書どおりのリストや木なんかにとらわれないで、
自分的に効率のいいと思えるデータ構造を設計するのも楽しいですよ。


133 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 20:57
>>131

煽りなさんな。マターリな。


134 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 21:06
>>127
二匹目のドジョウを意図的に狙うのは勝手だが
他スレでの宣伝行為は批判を買うだけで逆効果だぞ。
さだめは甘受せよ。


135 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 21:09
毎回思うがリストや可変長データの設計がぼろぼろでてくる人は
一度コーディングから離れたほうがいいナリ。
このリストの問題だってポインタとってきて配列で纏めた方がよっぽど管理がしやすいナリ。
双方向リストなんてこれまで生きた人生眺めても使ったことナイナリヨ。


136 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 21:34
もう少し具体的な用途で両者を比較すれば
話の見通しがよくなると思うなぁ。

今、キャラ管理の話だったっけ。


137 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 21:39
例えば、弾幕STGの弾丸管理という前提でどうか。


138 名前: デフォルトの名無しさん(522ね) 投稿日: 2001/05/23(水) 21:49
自分もシューティングゲー作成に挑戦しとりますが、単純に構造体の配列にしてます。
シューティングゲーのオブジェクトなんて画面上のオブジェクト全部ひっくるめても1000を超える事はまず無いと思うんですよ。
その程度の大きさなら複雑(と言うほどでもないが)なアルゴリズムは不要だと思うのですが…

>>127
アレと一緒にされてはかなわん。(笑


139 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 22:04
ただ単純に1000個の配列とかにして、それにキャラデータを入れることにすると、
新規のキャラを出すときに頭から順番に空きを探さなければいけないし、
表示のときにも1つ1つの要素についてキャラデータがあるかを調べなくてはいけない。

だから、配列の要素数は固定にしておいて、
使用リスト、不使用リストを使って管理をするようにすると楽。
新しいキャラを出したいときには、単に不使用リストの先頭の番号をもらうだけだし、
キャラを使い終わったら使用リストから削除して、不使用リストの最後に足せばいい。

動的メモリ確保とかいらないしね。


140 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 22:30
>139
なるほどー。


141 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 22:48
どうせ描画以外の部分の負荷は微々たるものなので、
余計なことに気を使うくらいなら、保守性を高めるベシ。


142 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 22:49
イテレータはダメ?


143 名前: 138 投稿日: 2001/05/23(水) 22:59
ああっ、別スレの名前が。
私の場合139さんの言う「いちいち探す」方式です。

全キャラひっくるめて2000個程管理してます。
1フレームあたりの描画を除いた全ての処理を行っても1ms程度しかかかりませんでした。
#Athlon700です。
そんな訳で手抜きしてます。(藁

それよりMode-X 16bpp環境でのDirectDrawの描画が遅い方が遥かに問題。
そんなにキャラ表示させようとすると16msに収まらんのじゃぁぁ!


144 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 23:02
その1msが命とり


145 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 23:03
オタの中には1msの違いを感じ取る能力があるやつがいるらしい。


146 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 23:04
結局、
『ノード毎にヒープ確保するからリスト管理はうざい』
『自己管理のメモリプール使えばオッケーだよ』

という話だったのかな。純粋にデータ構造と検索アルゴの
話だと思ってたよ。キャラ管理でのね。

>>142

お、それだけじゃよく分からんぞ。
もう少し詳しく書いてくれ。


147 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 23:06
このスレ、レベル低いなぁ・・・
固定長配列が一番いいってことでまとまってるし(藁


148 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 23:11
>>147
だからレベル高いこと書けって(藁


149 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 23:11
>>143

「いちいち探す」方式って表現、個人的に好き。
でも「線形探索」,「リニアサーチ」といえば一発ナリよ。


150 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 23:13
>>147
はっはっは。
これでいいの。煽らない。焦らない。


151 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 23:14
お〜い、みんな頑張れよ


152 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 23:20
>>144,147
ここは低レベル厨房お断りだ。
セ"が"ラリーツリーにでも逝け。


153 名前: 138 投稿日: 2001/05/23(水) 23:26
まぁ現実的には2000キャラも表示する訳には行かないので、半分以下に減らす予定ではいます。
これで更に処理が軽くなると。(笑

いずれにせよ描画の方が内部処理より遥かに高コストなんでアルゴリズムに拘りすぎるのも不毛のような気もしますが。


154 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 23:34
>不毛のような気もしますが
いやん。そういうときはリップサービスでいいから
「有意義」と言っとくんだよ。スレが終わっちまう(藁


155 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 23:39
>>147
是非とも素敵なアルゴリズムとデータ構造を提示してくれ。
知識ばっかりで実践への応用経験が無さそうな君には無理かな?


156 名前: コードマスター 投稿日: 2001/05/23(水) 23:43
配列を扱う場合は、キャラクタ数が少ない場合は、そんなに問題ないが、
キャラクタが増えてくると、使われていない配列をいちいちアクセスす
ることに過負荷が生じる。


157 名前: コードマスター 投稿日: 2001/05/23(水) 23:47
俺の場合は、使われないキャラクタをスタックにためておいて、使用する時に
連結リストに結合させる。 この方法が一番高速に実現できる。


158 名前: コードマスター 投稿日: 2001/05/23(水) 23:51
おまえらバカばっかだから、段々、説明する気が失せてきた。


159 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 23:58
なんで使われてない配列にアクセスするの?
なんでスタック?
お前のアルゴリズムなんかおかしいんちゃう?


160 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 00:06
>>147
お前、キティ確定。
処理ループ内で動的に配列サイズを可変させるつもりか?

>>156
全体の処理コストを考えたら無視できるレベル。
連結リストにしたって一件毎に「挿入・切り離し」処理をする事を考えると139の使用・未使用リストを使った方が速い。
なんだか専門学校あたりの教科書を盲信しているようにも思われ。

>>159
同意。
なんでスタック?って感じ
コードマスター言う割には根本的な間違いをしていると思われ(藁
若気の至りって奴かもな


161 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 00:10
なんかすぐカサカサしちゃうの止めようぜ。くだらねぇじゃん。
煽る奴も反応する奴も落ち着いてくれ。マターリな。


162 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 00:11
ハァ? 配列を線形探索? んな処理速度が不安定になることしてどーするんだ。
可変フレームレートとか、処理落ちする場合とかにモロに動きがガタガタになるぞ。

とりあえず、メモリプール&双方向リスト使え。
C++でやりたいヤツはEffective C++の第2章10項のコードを見ろ。


163 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 00:14
自称コードマスターつうだけでキティ


164 名前: 162 投稿日: 2001/05/24(木) 00:14
だがまあ、初心者はこのようなこと気にする必要はなかろう。
(トーンダウンしてみました)


165 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 00:16
このスレ、バカだが根が素直な奴はちゃんといるんだよ。
学習すれば改善する見込みがあるし、だから許してやれ。
バカで煽り厨房な奴は根が腐ってるからアカン。捨てろ。skip it


166 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 00:18
カサーリしてるのが若干一名ほどいらっしゃるような。
一人でエキサイトして荒らしてるんじゃないかな。
もう止めてくれといいたい。マターリと頼む。マジで。


167 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 00:19
自作自演荒らしがいるね。


168 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 00:20
リストにして、自己組織化探索なんてどうよ。>自称コドマスタ


169 名前: 138 投稿日: 2001/05/24(木) 00:23
>>162

>ハァ? 配列を線形探索? んな処理速度が不安定になることしてどーするんだ。

私のは手抜きだし、2000件処理しても1msなので取り敢えず実装優先で手抜きしますが。
#しかも更に減らす予定だし。

シューティングでは処理する対象の数が状況によりガンガン変わって行くので不安定は当たり前では?:-)
前にも書きましたが、内部処理は一瞬で終わるのでこの部分の「処理速度が不安定云々」は無意味でしょ。


170 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 00:23
ペドマスタ


171 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 00:24
このスレ読んで双方向リストのメリットが良く分からん。
双方向リスト使うと、たとえば自機と敵とのあたり判定の時、
全敵データ調べなくて済むようになるわけ?
弾と敵の当り判定で、弾数×敵数の回数だけ判定するのはあほ?
このスレみて疑問に思った。誰か教えてけれ(;´Д`)


172 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 00:25
ゲーム系プログラマってさ、自分より下を見つけると
徹底的にコキ下ろす奴、多いんだね。ハタから眺めて
るけど、了見狭すぎるよアンタら。


173 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 00:26
>>172
オマエモナー


174 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 00:31
>>170=>>173
頼む。アンタ恥ずかしいからもうゲハ板逝ってくれよ。


175 名前: 138 投稿日: 2001/05/24(木) 00:32
しかしまぁ、シューティングって熱いなぁ(笑
目に見える事を実装しようって話でこれだけエキサイトできるんだから。
ある意味珠玉のスレとも言えるような。

話を変えてと、
懸案の「プラズマレーザー」はどうなったんだっけ?


176 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 00:37
>>169
Athlon700なんてすっげーいいモン使っておいて、
1msなんて言われても困るんですけど(笑)。

>シューティングでは処理する対象の数が状況によりガンガン変わって行くので不安定は当たり前では?:-)

そりゃタスクが増えれば処理が重くなるのは当たり前です。

しかし、線形探索ではタスクの生成にかかるコストが不定(2000件なら1〜2000)。
すると、タスクの生成・破棄・処理を含めた全体の処理コストの変動が激しくなる。
分かります?

ついでにゲームはリアルタイムアプリケーションであるとか、
タスク数5桁のゲームもあるよとか言っておくとして。


177 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 00:52
138さんへ

是非、計算機工学の基礎本を一冊購入されることを
オススメいたします。きっと損はしませんよ。


178 名前: >>171 投稿日: 2001/05/24(木) 01:19
>このスレ読んで双方向リストのメリットが良く分からん。

オブジェクトの生成・破棄が「安定」かつ「一瞬」で済みます。
メモリアクセスも最小限で、キャッシュを荒らしません。
(情報処理技術者試験にでも出てきそうな話ですが……)

>弾と敵の当り判定で、弾数×敵数の回数だけ判定するのはあほ?

処理を軽くしたければ、画面をたくさんの矩形領域に分割して、
それぞれの領域内で判定する方法があります。掛け算を分解するわけ。
ただ、典型的な2Dシューティングのオブジェクト数と
最近の高速なマシンでは、あまり効果ないと思いますけど。

数百数千のオブジェクトがそれぞれ相互作用するときなんかは
かなり有効、というか必須ですね。


179 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 01:20
処理なんてどうでもいいから、面白いもの作れよ


180 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 01:34
>>179
野暮な煽りはもう止めとけ。


181 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 01:34
ソフト開発の基本原則から言えば、重い部分を効率化すべきだから、
ここでのデータ構造の議論は実際上あまり意味が無い。

それよりゲームとしての質をどう高めていくか考えたほうがいいと思うよ。
例えばキャラのあたり判定とか。
雑魚敵はともかく大ボスとかで丸いキャラなのに判定が四角いのは変だよね。
そういうのをどうやって処理するかとか考えると面白いよ。
有名な方法だと8角形に近似して計算とかあるけど。


182 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 01:36
>>178
簡単に言うと双方向リストは高度なゲーム向きってことらしい?
かりに2D→3Dっていうと、リストや画面分割は必須?


183 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 01:42
高度なゲームっていうか、リストとかは情報工学の基礎だから、
適材適所で必要と思ったときに使えると劇的に生産性が向上するって話じゃ。


184 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 01:45
>>181
激しく同意。
ゲームプログラムでデータ構造がスピードのボトルネックになんてならんよ。
キャラを5万個くらい管理してるならともかく。


185 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 01:48
>>183
いやいやゲームに限ってのお話でして…


186 名前: 138 投稿日: 2001/05/24(木) 01:55
>>176

何か激しく勘違いしてませんか?
まずAthlon700で1msなら速度が3分の1(PII-233程度)でも3ms。
これが動作ターゲット下限の環境。
これに比べたら描画処理の方が遥かに重いと何度も言ってるのですが、最適化すべき処理を間違えてやしませんか?
1msが0.9msになったとして、それには自慰行為以上の意味があるんでしょうか。
描画は10倍以上コストがかかるのにね。

>タスクの生成・破棄・処理を含めた全体の処理コストの変動が激しくなる。
分かります?

タスクの生成・破棄…?なんでここでタスクって単語が?
もしかして弾一個とかのオブジェクト単位でタスク生成しようとしてるんですか?

因みに前述の1msってのは処理対象1024件のダミーデータ入れた上での計測結果。
でも貴方の言う「タスク」とやらは1つで、処理ループ内では生成・破棄等は行いません。
おわかり?
つうかシューティング作った事ないのでは?

>>177
持ってます。でも実装では手を抜いてます。
既に結論出てますが双方向リストは使いません。
しかも、あの手の本に載ってるアルゴリズムでシューティングに適用できるのは結構少ないです。
でも139さんの使用・未使用リストは簡単に適用できて効果も大きそうなので、大まかな雛型が完成してから適用しますよ。
まずは全ての機能を実装してから最適化するつもりなんで。


187 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 02:04
int M_X[8],M_Y[8];
int M_P=0;
void MissileSet(int x,int y)
{
if(M_P<8)
M_X[M_P]=x,M_Y[M_P]=y,M_P++;
}
void MissileDel(int pos)
{
if(--M_P>0)
M_X[pos]=M_X[M_P],M_Y[pos]=M_Y[M_P];
}
これじゃだめ?


188 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 02:44
あたり判定のあたり、知りたいナリよ。


189 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 02:44
なんか口先だけのお花畑出身の人が混ざってるみたいね。


190 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 02:58
煽るほうもアレだが、ダイレクトに反応するほうもアレだ。
落ち着いた大人の会話が成立してないのが残念でならない。

煽り煽られ2ちゃんねるの王道を逝ってると思うよ。


191 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 03:13
自機や弾の位置を(x1,y1)、敵の中心の位置を(x2,y2)、敵の半径をaとすると、

abs(x1-x2)+abs(y1-y2)<a*sqrt(2) && abs(x1-x2)<a && abs(y1-y2)<a

これが成り立つときに衝突とみなすのが8角形で近似する方法。
(x2,y2)を中心とした半径aの円に外接する正八角形の内部に居るかという判定になってる。


192 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 03:17
どうにかならんものかね。
相談室が荒れてばかりだから、こっちでマターリとSTG話でも
してようかなと思ったら、今度はこっちで喧嘩始めやがるし。
ほんと鬱になるよ。


193 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 03:18
abs()やsqrt()はこういう計算って意味で出しただけだから、
型については突っ込まないでね。


194 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 03:19
>>191=193です。スマソ


195 名前: 188 投稿日: 2001/05/24(木) 03:40
>>191
あ、なるほどね。円に外接する正方形と、その正方形を45度回転させたものとの共通領域にいるかどうかって事なんだね。
もーらい♪


196 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 03:47
タスクとか言い出してるコードマスターベーション逝ってヨシ
オレモナー


197 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 03:54
当たり判定なんてそんなに重要なの?
とりあえず物体同士は2Dでは円。3Dでは球だね。壁とかは2Dは直線で3Dは平面。だね。楽だし。
あんまり凝っても疲れるだけよこの辺は。
マターリマターリ。


198 名前: コードマスター 投稿日: 2001/05/24(木) 04:13
こいつら、タスクとスタックの違いも分からないと思われ...


199 名前: コードマスター 投稿日: 2001/05/24(木) 04:15
>とりあえず物体同士は2Dでは円。
レクチャーだよ。バカ。


200 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 04:17
>>197
当たってないと思っているのに死ぬと、かなりストレスがたまります。
だから当たり判定は結構気を使わないとダメです。
まぁ小さめにとっておけばいいんだけど。

最近は、あたり判定は小さめに、その代わり弾の量が尋常じゃない
ってスタイルのゲームがはやりみたいですね。


201 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 04:19
タスクとスタックの違い……?
タスクは処理単位みたいなもので、スタックはデータ構造(FILO)だよね。
違うも何も比較できないのですが。


202 名前: コードマスター 投稿日: 2001/05/24(木) 04:20
3次元の場合は、物体を囲む巨大な球どうしで最初に当たり判定
をかまして、当たっていたら細かい部分まであたり判定を行うよ
うにするとオーバーヘッドが減るぞ。


203 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 04:20
おお!!コードマスター様がご光臨なされたぞ!!
ありがたやありがたや・・・・


204 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 04:24
タスク
http://www.ascii.co.jp/ghelp/23/002320.html

スタック
http://www.ascii.co.jp/ghelp/19/001988.html


205 名前: コードマスター 投稿日: 2001/05/24(木) 04:53
やっぱ、分かってなかった。
命令用のスタックじゃなくて、俺が言ってるのは、データ用の共有スタックだよ。
ポインタをスタックとしてあらかじめ溜めておけば、mallocとかfreeとか一々
しなくて済むって事だよ。


206 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 05:00
わかってなかった……って、
あなたの「俺解釈」をわかれって言われても。
さらに>>205も意味不明なのですが。

予め沢山mallocしておいて、そのポインタをスタックに積んでおいて、
必要になったらスタックから取り出して使用、不要になったら積みなおす
という解釈でよろしいのでしょうか。

それだと予めメモリを沢山確保しておくことになりますが、
配列に対してアドバンテージが何も無いような気がするのですが。


207 名前: コードマスター 投稿日: 2001/05/24(木) 05:04
その前に、mallocとfreeにかかる時間を計測してみろよ。
半端じゃないから。


208 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 05:24
矩形=rectangleを”レクチャー”って言うの初めて見たヨ。
言いたい事はわかるし同意もするが。
しかし珍妙なマイ解釈を他人に押し付けるのもダメだぞ。単にスタックゆーたら、204のと解釈するのが普通だ。
人にバカ言う前に己を見つめ直し、我が振り直す方が先っぽいぞ。

あと上の方で突然タスク言い出す奴が出てきたのもワカンネー。
処理時間の計算もできん奴が寝言ぬかしてる感じだ。
キャラ管理のデータ構造のハナシだったはずだし。

まぁデータ構造管理は宗教論争っぽくなってるからみんな>>141読み直そうや。


2D当たり判定は単純に矩形交差判定。あんまり凝った判定しても遅くなるだけーヨ。
大きなキャラなら絵より一回り小さめの矩形、自機は絵より極端に小さい矩形を
用意して判定してやれば今時の弾幕STGになるとオモワーレ。
あ、あと自機が撃つ弾は逆にちょっと大きくしたら良いかも。
この辺は自分で思考錯誤しながらやると楽しいかもナ。


209 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 05:25
ぷれい中の確保したメモリの変化は極力避けろっていってんだろゴルァ!


210 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 05:27
とりあえず、138とコードマスター追放きぼん。


211 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 05:29
日本語勉強しなさい>205 & その他大勢


212 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 05:37
今日もいい感じに荒れてるな


213 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 05:37
>>210
コテハン叩きやめとけ、程度低すぎるぞ。


214 名前: この業界から逃げ出した男 投稿日: 2001/05/24(木) 05:39
>>207
ついでに、malloc とfreeで出来るメモリーの断片化も気になる。
普通、リアルタイムではやらないですな。


215 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 05:43
心配すんな。malloc/freeの話題自体程度低い。>>213


216 名前: 吾輩は名無しさんである 投稿日: 2001/05/24(木) 05:44
なんぞめちゃくちゃであるな。話がまるでかみ合っておらぬよ、貴殿ら。
ひとりひとりのカキコのバックグラウンドにある思想・実装を想像すると
そう変な人がいるわけでもないと思うのだが。

さしあたって、実際のコードでも出し合ってみてはどうか?


217 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 05:46
C-FAQでも見ろや


218 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 05:47
じゃあまずいいだしっぺのお前が出せ。>216


219 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 05:48
ゲーハー厨もそうだけど、
非PC系ゲースレの方たちが乱入してきて、余計荒れてる気が・・・
マターリいきましょうよ。

PC系ゲーのオレは、双方向リストもつかってるし可変長配列もばりばり使ってる。
クラス化してどちらも使いやすくしてあるので、適材適所で適当で使いやすい方を採用してる。

まあ、そんなのよりもやっぱ圧倒的に描画の方が時間かかるから、そっちのほうが問題だよね。


220 名前: 吾輩は名無しさんである 投稿日: 2001/05/24(木) 05:49
>>218
とはいえ、吾輩はこの話題に参加しておらぬからな(笑)。
いや、人間とは面白い生き物だて。


221 名前: 219 投稿日: 2001/05/24(木) 05:49
流れはぇ〜。なんかその話もう終わってるし・・・。


222 名前: この業界から逃げ出した男 投稿日: 2001/05/24(木) 05:55
 ところで、フリーで楽しめるシューティングゲームの置いてあるページって
誰か教えていただけませんか?
 久しぶりに、シューティングがやりたくなってきたもので。

 よろしくお願いします。


223 名前: >>219 投稿日: 2001/05/24(木) 06:03
いやしかし、描画のほうがずっと重いからって配列をリニアサーチで空き要素探索、
それで何も疑問に思っていないというのはさすがにどうかと思われるが。
こういう手合いの常として、たぶん他の部分(描画周りも含む)も
ヘタレアルゴリズムがギッシリなんじゃないのか。

で、ソフトが完成する段階になっても、時間がない、面倒くさい、
見落とし、構造上アルゴリズムが変えられなくなってしまったなどの理由から
十分な最適化ができず、水準よりも妙に重いアプリが完成というのがよくあるケース。

もっとも、趣味レベルならどうでもいい話ではあるが・・・。


224 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 06:05
Thanks guys. ^_^ I'll be doing this for my next project, and it's good to have a comprehensive discussion of what
I'll need to do. :)


225 名前: >>222 投稿日: 2001/05/24(木) 06:07
PCゲーム板に、「フリーソフトで面白いゲーム」という優良スレがあるので
チェックされたし。


226 名前: この業界から逃げ出した男 投稿日: 2001/05/24(木) 06:15
>>225
さんくす。
早速逝って来ます。


227 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 06:30
>>233=176?
ナンクセミグルシイ、ネンチャクヤメテトリアエズマターリシトケ。


228 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 06:39
>>208
そういうことだったのか
理解に苦しんだw
「何をレクチャーしたんだろう?」ってね


229 名前: 188 投稿日: 2001/05/24(木) 06:48
なんか一晩たったら見事に荒れてるしー。

100ぐらいまではゲームスレとしては珍しくまったりとして良いスレだったんだけどな。
場の雰囲気を読めない奴ら、逝ってよし。


230 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 07:28
>>222
はいよ。
happousyu.hoops.livedoor.com/GAME.HTM


231 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 07:46
ここレベル低いな


232 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 08:07
223は馬鹿。アホが検討違いなことイッテンジャネーヨ。


233 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 08:13
煽り、騙り、ジサクジエン。もう沢山だ。
スレがどんどん劣化していく。忍びない。


234 名前: 超画期的!!!!! 投稿日: 2001/05/24(木) 08:14
HPを作ったものの、全くアクセスが上がら
ずに悩んでる方に朗報です。ただいま、私
のサイトからへそクリックに仮入会された方
には、一ヶ月間、厳選した約600の掲示板に
一日二回書き込みするサービスをさせてい
ただきます。書き込む先は普通の宣伝掲
示板あるいは商用・ビジネス系掲示板です。

http://home9.highway.ne.jp/cym10262/


235 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 08:16
粘着荒らしが一人いるんだよ。


236 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 08:18
>>223
UNIX Version 6 のソースコードとか読んだことあるかい?


237 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 08:23
んー、速度的なことはもうわかったから「扱いやすさ」という点で話を進めてはいかが?


238 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 08:38
そしたら配列にキマテンジャネーカ。


239 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 08:48
レクチャーだって...


240 名前: 128 投稿日: 2001/05/24(木) 08:50
>>229
すまん。俺がリストの話を蒸し返したからかもしれん。

俺も一晩たって覗いて唖然。
単方向で充分じゃね?っつーちょっとした感想だったんだが。


241 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 08:52
ゲーム論理ヲタにはいまだにタスク信者が多いんだよ。
好きなだけ講釈させてあげようではないか


242 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 08:56
リスト自体いらんでしょ。


243 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 10:00

例えば、三節根があったとして、それを地面に置いて、一方の端を持ち
真横につーっと動かしたときつられて後ろの二根もついてきますよね
それを具体的にどういう風に示すのか が今の壁です


244 名前: 138 投稿日: 2001/05/24(木) 10:18
ありゃりゃ…流石に責任感じるわ。一応自分が参考にしている文献を載せときます。
「アルゴリズムC 第2巻 探索・文字列・計算幾何」ISBN4-7649-0256-7

これの51ページに線形探索法が載っており、そこに書いてある
理由がそのまま採用した理由です。
勿論この手法が完璧な訳もなく、デメリット(ロスなど)も記載されてますが、
これは139さんの手法で簡単に改善可能。

コードマスター氏の連鎖リストも考えたけど、弾等の消去時に連鎖
してる前後の他の管理レコードを触りたくなかったのと、速度的な
メリットがあまり出ない環境(Win+DirectX)なんで不採用としました。
最終的には使用・未使用リストと速度は変わらなくと思われます。

オブジェクトの数も全体で1000件に達しない様に作るので、この辺を
落し所としても十分と考えます。それよりもクソ遅いDirectDrawがね…。
自分はここで終了しといて、あとは一介の名無しとしてマターリしときます。


245 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 10:38
厨房でスンマソ
ドミノ倒しのサンプルってどっかに無いですか?


246 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 10:53
Windows環境で、シューティングゲームなんて作るなや。
あれは、アーケードゲームだから萌えるんだ〜ぁ!


247 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 12:01
普通ゲームを作るときは、敵の最大数とか決めて作らない?
行き当たりぱっだりで作ると、ゲームバランスが滅茶苦茶になるよ。


248 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 12:43
話の流れがむちゃくちゃだが「扱いやすさ」という話だと、
可変長要素を持つ可変長配列および双方向リストだな


249 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 12:44
>>247
突然誰に何を言ってるノカ?
そろそろ話題変えようや。


250 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 12:50
とりあえずオブジェクトは全部で1000個も出ないから1000個の
配列用意しておけば問題ないだろうとか言っている奴は、
プログラムのセンスもなけりゃシューティング作るセンスも無しだ。


251 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 12:57
ほらほら、又だよ。
いつまでも言ってると見苦しいだけだぞ。>>250
何か悔しい事あったのかは知らんが取り敢えず引いとけ。


252 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 13:08
帰れよぅ
ゲーハー板に帰れよぅ… >>250


253 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 13:13
大容量メモリと高速CPUの世界で生きているとアホになるんだね


254 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 13:25
縦シュー萌え〜


255 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 13:43
相変わらず粘着荒らしがいるね。
書くことといえば中傷混じりの一行文。
論理的、具体的な指摘など何所にも無い。
これがエンジニアなのかと思うと情けない。


256 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 13:50
センスという一言で片付けるのは簡単さ。
論理で説明できなければセンスを問う。常套手段。
個々人の主観に依存した議論ほど不毛なものはない。

知恵を使うことを止めた奴が負けなんだ。


257 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 15:22
>>243
自立して動く側を親オブジェクト、従属して動く側を子オブジェクトとすれば、
子オブジェクトの座標系は親からの相対位置にしておいて、
表示等する場合には加算して絶対位置に変換するというのがセオリーですよね。

移動処理時に親オブジェクトを先に計算しないといけないとか、
衝突判定時にいちいち絶対位置への変換がめんどくさいとかが難点ですかね。


258 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 15:25
聞いて >>256♪ ちょっと言いにくいんだけど
聞いて >>256
\______ __________/
          |/


                                   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄)
                                  /       ノ(           \
                                /  ノ(     ⌒   ノ(    ノ(   )
                               /    ⌒         ⌒    ⌒   \
                               |        ______________)
         _,--、_       _______|     _/___________  )
        (_(∇)(@)\   /  \'X,'X,        /_/〜〜〜〜〜〜〜〜〜〜〜\ノ
         |(@)l,\(@)\/ \'X,'X,  \'X,'X,   /_| |   |   |   ,|   |   |   |/
         |(@)|  \(/ 'X,'X,  'X,'X,      〈<\/\/\/\/\/\/\/|
         |(@)|   /'X,'X, \    'X,'X,     \ ̄|   |   |   |   |   |   |  \
        l⌒'ー―――――'  'X,'X, _/ ̄ ̄ ̄|    \  ̄\〜〜〜〜〜〜〜〜〜〜〜/)
       /(∇)(@)(@)(@)(∇)\_/      .|       ̄\  ̄ ̄ ̄ ̄( ̄ ̄) ̄ ̄ ̄ ̄ノ
     /(@),―――――, 〜 _/        .|          ̄ ̄ ̄ ̄ ̄( ̄( ̄ ̄ ̄ ̄ ̄)
   _/(@)/ /\/  'X/_/         \  ノ(            )  )      /
   (_(∇)〈 /\__///__/            \ ⌒      ノ(    ( (       )
    \(@)\\  | l \_/_______/メ-/   \       ⌒    ) )      /
      \(@)\\\_/(@)(@)(@)(@)―+∈―   \________(_(____)
      / \(@)\\/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\メ-\                U
     ,/\ \(@)\'                     いい加減にしろ。変に理屈っぽいだけの
    〈\\\\(@)\                    中身のない煽りはいらん。
    (\__ ,,\(@)\_______/メ-/  
    (\__ /)\(∇)(@)(@)(@)(@)―+∈―              U
    (\ _//)  ヽ_ノ ̄ ̄ ̄ ̄ ̄ ̄\メ-\
    (\\_/ )                                     U . ∧_∧ ・・・・・
   | ̄ ̄ ̄ ̄ ̄ ̄|                                    ∩( ・∀・)
   |            |                             _,._\ U⊂⌒   つ  つ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                ∧
    / ̄ ̄ ̄ ̄ ̄ ̄ ̄   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    |  聞いてくれてありがと♪ >>256


259 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 15:29
シューティング作るセンスとプログラムのセンスを直接結びつけるとは片腹痛いわ。

ゲームプログラマは理論ヲタより、実績を残したゲーム職人を見習うべきだと思けど


260 名前: >243 投稿日: 2001/05/24(木) 15:31
ドブゲラのしっぽみたいな動きですか?


261 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 15:34
敵の弾と自機とのあたり判定で質問です。

敵の弾と自機のあたり判定は、画面を四分割して自機のいるエリアの中にいる弾に関してのみあたり判定をしてやれば良いというのを聞いたことがあるのですが、
たとえば自機が境界線上にいた時は両方に関してやるの?

それと、境界線と数ピクセルのみしかずれてないときも、その境界線の向こうに関して当たり判定をする必要がないの?
おしえてくらさい。


262 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 15:43
>>259

まぁまぁ。片腹を痛めるにはまだ早いナリよ。
2ちゃんねるでは書き込む一人一人の実績など
知る由もないのが辛い。匿名マンセー文化だからね。
面と向かい合う会話とのギャップを埋め、有意義な
ものにする唯一の手段、それは論理性と具体性、それと
AAだ。

実績のある手法があれば、きちんと示せば大丈夫さ。


263 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 15:46
境界線で明確に切ろうと思うから問題なんであって、
例えば各領域を自キャラのおおきさぶん位大きめに、重なるようにとって、
自キャラがすっぽり覆われる領域について計算すればいい。
簡単な判定法としては、自キャラの中心と領域の中心がもっとも近いもの、
ってことになるのかな?


264 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 15:56
>>259

>>256の書いてることには何の抵抗も感じないなぁ。
それに、実績のある手法とは常に具体性に長けるものさ。
それを否定する書き込みには見えないよ。

初っ端からフィルター付きの穿った見方をすると
他人は全て敵に見えてしまうものさ。マターリな。


265 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 15:58
??具体的になったものが実績なんじゃないの??


266 名前: 吾輩は名無しさんである 投稿日: 2001/05/24(木) 16:13
>>259
いやいや、それもやはり君の主観にすぎないところであって。
思うに、この議論は典型的な技術者と職人の対立というやつであるな。
「擬似タスク」でも思ったことだが。

>>261
吾輩は画面を64分割してやっていた。
当たり判定が重なる領域すべてに、判定を登録していく感じだ。
自機弾が40発前後、敵が30前後の状態で、
通常のO(nm)の判定よりも3倍ほど高速化されていたようだ。

しかし、この程度の負荷なら、今のPCやPS2、DCクラスのマシンならば
まったく鼻にもかけぬのではないか。
かなり面倒であるし、やらぬほうがよいかも知れぬ。


267 名前: 吾輩は名無しさんである 投稿日: 2001/05/24(木) 16:20
……すまぬ、勘違いしていた。自機対敵弾の判定についてだったか。
やはり寝起きはいかんのう。

自機の判定が1つだけ(オプションなどなし)なれば特に小細工の要はない。
普通にやるのが最もエレガントかと存ずる。


268 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 16:23
>>265
それを否定する書き込みはまだ何所にもないよ。


269 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 17:16
みんな弾多すぎ...


270 名前: 吾輩は名無しさんである 投稿日: 2001/05/24(木) 17:29
>みんな弾多すぎ...
君もひとつ東亜シュー・ケイブシューでも作ってみないかね?


271 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 17:33
ほんとに最近たま多いな
後ろで見てる分にはキレイだけど


272 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 18:45
>>261
オレは分割も何も総当りでやってたよ・・・
つーか、その辺高速化してもぜんぜんかわらねーんだもん(泣

むしろ描画性能が・・・


273 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 19:28
Microsoft Visual C++ 6.0 による最適化コードの開発
http://www.microsoft.com/Japan/developer/visualc/techmat/feature/optcodedev/

配列構造を使った検索アルゴリズムは、通常、動的に割り当てられるリンクリストを使った検索アルゴリズムより速く動作しますが、これは、配列がメモリに連続的に格納され、仮想メモリの数ページにまたがって存在する可能性が高く、とりわけ RAM 上に存在することが多いからです。一方、動的に割り当てられるリンクリストは、メモリ内に分散して存在することが多く、リンクリストの検索では、ページ違反が発生する可能性が高くなります。しかし、順番に並べられたリンクリストに要素を追加したり、リンクリストから要素を削除する操作は、通常、それと同等の配列を使った操作より速くなります。これは、リンクリストではほかのリスト要素を動かす必要がないからです。


274 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 19:34
キャッシュっていえようるせぇな。


275 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 20:08
class Hikouki{
int x;
int y;
public:
int move();
int shot();
int delete_me();
}
自機のクラスってこれで足りる?


276 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 20:20
>>274

ははは、相変わらずカサーリしてるね。


277 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 20:32
カサーリ?


278 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 20:40
!マターリ


279 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 20:42
やはり今晩も荒れますか。>ココ


280 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 20:47
ageると荒れるよね。
ゲーム系スレはこの板では嫌われてますから。


281 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 20:55
ゲーム系に限らず、マターリするならsage進行が普通だ。
下がってても読んでる人はちゃんと読んでるものだから。
定期的な書き込みさえあればdatに逝くこともない。(あまり知られてない)


282 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 21:19
このスレの何が不幸かというと、スレの題が
典型的な駄スレの臭いを醸し出してることだ。


283 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 21:21
今夜もみれるかなぁ
職人とコードグルメの対決

期待sage


284 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 21:38
ということで、皆様sage進行で


285 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 21:56
どうせお前らワンパターンなゲームしか作れないんだろ?(カサーリ


286 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 22:00
素晴らしいお言葉

http://www11.u-page.so-net.ne.jp/ga2/no-ji/reseach/20001219.htm


287 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 22:07
早速煽り厨が出てきてますが、放置でマターリいきませう。


288 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 22:25
>>286
表面的な事ばかりで重要なこと書いてないね。
>ゲーム作りで、もっとも大切な事は「絶対完成させること」なのです
には共感。


289 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 22:33
否ぁ!断じて否ぁ!
糞なプロジェクトを潰す!
これもまた勇気!


290 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 22:37
とりあえず、sageようや


291 名前: 名無しさんWBS 投稿日: 2001/05/24(木) 22:41
ときに、プラズマレーザーはどうなったんだろう。
実は誰も実装できないハイテクですか?


292 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 22:42
どうでもいいsage


293 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 22:51
  敵 ーーー敵
           \
            \
            A
          /
        /
        |
       自


A点は、レバーによって左右に動く。

A点をすぎたところで一番近い敵を捕捉、通過する点リストに追加。

次に一番近い敵を・・・の繰り返し・・・で何とかならん?


294 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 22:52
追加、レーザーは何て言うか速度ベクトルに相当する物を持っていて、そのせいでレーザーの軌道が曲がるとする・・・ってなかんじでどう?


295 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 22:59
ちがうよ!あれはどう見てもそれぞれ係数が違う2次関数だよ。ある点で傾きを変更、そして敵を補足!敵のところまでの距離を計算してちょうど敵にあたるような係数を導き出して2次関数レーザーを発射!!!


296 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 23:06
一番近い敵だとジグザグに動いたりして具合が悪いから、
現在のレーザーのベクトルを加味してあげたほうがいいと思う。
レーザーの進行方向の逆に居る近い敵よりも、
少し遠くても正面に居る敵を優先するというような。

それか敵の検索範囲を、進行方向の±15度以内とかにするか。


297 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 23:22
もうこのスレ沈めて。ウザイ
sage進行でお願いします。>>288 >>289 >>295 など


298 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 23:36
あのレーザーってランダムで曲げてるらしいよ。


299 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 23:38
キミィ!?ウザイヨ!>298


300 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 23:38
きり番get!


301 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 23:39
>>297
真面目な話題までsageさせるなよ・・・。


302 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 23:39
ゲーム系の板いきなはれ


303 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 23:45
ゲーム系でも技術の話だからここで良いんじゃないか?


304 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 23:50
多分、ゲームってだけでウザイんだろう
クソスレ乱立しまくるしな。


305 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 00:06
各ターゲットを通過するようにホーミング連射でできないかな?


306 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 00:47
ホーミング連射って?

単語からホーミングミサイルの連射しか思い浮かばないんだけど‥‥‥。


307 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 01:18
>>301

スレのためだ。sageる者達に気を悪くしないでくれ。
http://piza.2ch.net/test/read.cgi?bbs=tech&key=990219336&st=279&to=282&nofirst=true


308 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 01:29
>>305
ターゲットが A, B, C とあるときに、ホーミングミサイルを3発発射すると
それぞれ A, B, C に向かうって意味か?


309 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 01:37
レイフoースのホーミングレーザみたいなものかな。
あれ、複数のザコキャラ貫通してたような(うろ憶えナリ


310 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 02:23
ロックした複数の敵キャラを、一発のレイフ゜ース式ホーミングレーザーで
撃墜したいってことか。フレーム毎に接続点(ロックした敵キャラ座標)が変化
する3次スプライン曲線?


311 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 03:11
レイストームの2号機でしょ?

あれはその瞬間のサンダー先頭位置から一定距離、敵に近づくだけ。べつにスプラインでも何でもなかったですけど。


312 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 06:26
そうそうコードな技術は使ってないよ。


313 名前: 昨日の名無しさん 投稿日: 2001/05/25(金) 08:25
昨夜は盛り上がらなかったのか...


314 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 08:32
ホーミングミサイルをターゲットに当たっても消えないようにして
慣性や、回折のパラメータいぢると結構面白い動きしてくれるよ。

試してみたら?


315 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 12:31
以前雷電IIやってましたが、プラズマレーザーがロックオンする対象は1つだけだったような気が。
画面上の硬い敵を探してロックオン。あとは293さんと同じように一旦レバー方向に曲げてからロック対象に曲げ直す、と。
#レーザー1キャラ分づつ曲げ>曲げ>曲げってな感じ?
この曲げる時、レーザーのスプライト1つ分の曲げる角度に一定の制限をかければ良いのかとも思ったけど、
この方法だと曲げる目標となる角度が定まった時点でレーザーが直進しそうだから多分これは違うな…。

一見2次曲線に見えるけどゲーム進行中にそんな計算してるかは謎。
もっと簡単な方法ありそうに気はするのですが。


316 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 12:58
確かにロック点(終点)は一カ所だけど、途中にターゲットがあるときは
ウネーっと変形する。 ガンダーラでも同じレーザーだったような。

自分でやるとしたらホーミング連射が一番楽そうなので、取り敢えずそれで
試してみるとしよう。


317 名前: 吾輩は名無しさんである 投稿日: 2001/05/25(金) 14:07
とりあえず、誰か雷電IIの基盤のCPU分からぬか?
そこからなにぞ使えるアルゴリズムの範囲が分かると思うのだが。


318 名前: 吾輩は名無しさんである 投稿日: 2001/05/25(金) 14:07
s/基盤/基板/


319 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 14:48
MAMEによると初代はV30が2個なんだけど、IIは不明。
ただ、この手のアーケード基板って大抵コプロ載ってないですよね。
(少なくとも手持ちの基板では皆無)
だから実数演算を含むアルゴリズム(2次曲線の算出とか)は
考えにくいんではないかと…


320 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 17:31
>>319
実数演算そのままやる必要はないのでは?

相手が描画なんで、精度はかなりラフでもいけそう。
大胆に丸めてもかまわんしょ


321 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 17:57
固定小数なりでやるにしても、
1フレームに1回補間っちゅーのはけっこキツイような気も。
あと、定間隔のスプライトに置き換えるのはどーしましょ?
小刻みにt増やしてってある程度の距離になるたびに描画、とか・・・。


322 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 17:59
どうも記憶に頼りがちなんで、実物見てこよっと。
たしかRAIDEN FIGHTERSにもあったよね>プラズマレーザー


323 名前: デフォルトの名無しさん 投稿日: 2001/05/26(土) 12:53
SPI基板は386ですよん。
雷電IIからRFJetまでずっとこの基板使ってたんだから凄ぇ、のかな?


324 名前: 323 投稿日: 2001/05/26(土) 13:05
あ、あとコプロの類は無いと思われ。
よって実数なんて夢の話ではないかと思われ。
ただし仮想86でなくネイティブだと思われるので、
ギリギリ32bit固定少数演算は可能と思われ。

というわけで、
ここまでは絞り込んでもokなのではないかと思われ。>>317


325 名前: デフォルトの名無しさん 投稿日: 2001/05/26(土) 15:10
PS版中古で買って久しぶりに見たナリ。>プラズマレーザ
ビュンビュンクネクネしなるしブルブル震えとる。
こりゃtry&errorで実際コード書いて見ないとニントモカントモ。


326 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 01:06
ageて見るけどマターリ逝こうね


327 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 02:50
シューティングと関係ない質問なんですが、アーケードゲーム
の画面みたいに横(縦)に線を入れるというのは、どうやれば
いいのですか?また、これの目的ってなんでしょうか?


328 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 02:54
for(i=0;i<unko;i+=unkoburi){
Bitblt(......................................);
}


329 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 03:08
プログラムと直接関係ないけど敵の動き考えるの大変じゃない?
っつっても一番大事だし(敵の動き&配置)
しかも量いるし。


330 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 03:12
いや。モーションキャプチャをハエやゴキブリにつけてそれをゲームに移すだけだから。


331 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 05:03
はははは、やぱーりsageは要るなこりゃ。


332 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 05:18
330大爆笑!


333 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 05:40
>>330
主任、ノイズ除去したら何も残りませんでした。

>>332
お〜い、頼むからageないでくれ(泣


334 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 08:58
>>327

基盤起動時のチェックのこと?
あれって、VRAMとかベクトル描画とか画面比のチェック?


335 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 15:05
ちびまるこみたいに、顔に縦線を入れるにはどうしたらいいんでしょ?


336 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 16:40
>>335
Σ(゚д゚lll)ガーン


337 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 17:02
ageるヤツはハゲ板住民認定するぞゴルァ

>>327
アーケードゲームは縦の解像度が低いのが多くて、
走査線が少ない(224本前後)ので隙間が見えてるだけでし。
バーチャファイター3とか高解像度のは見えないハズ。


338 名前: 337 投稿日: 2001/05/27(日) 17:03
ていうか、ゲーム機の低解像度ノンインターレースのゲームでも見えるんだけどね。
ゲーセンではRGB接続だから隙間もハッキリクッキリ。


339 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 17:27
モッコリムックリ。


340 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 18:14
ピッチリムッチリ


341 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 19:04
>>339-340
ハゲはハゲ山に帰れ。


342 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 23:17
>>341
童貞は童貞スレに帰れ。


343 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 23:40
もういやだ!!


344 名前: ホーミング連射で... 投稿日: 2001/05/27(日) 23:43
ありゃ、せっかくいい感じにマターリしてきたと思ったのだが...
ーーーーーーーーーーー
手持ちの環境で、発射位置とターゲットの位置により弾の軌跡がどう変化するかちょっと試したところ、なんとなくそれらしくなりました。

  #ホーミングの特性は、発車後時間が経つほど方位決定の
   スパンを短くするように設定。

ただ、60フレ程度だと、着弾までに時間がかかりすぎるため、実際には連射ではなく毎フレーム毎に着弾までのステップ分だけオブジェクトを配置すれば良いと思われます。
(注意:あくまでもこの方法でやる場合の話しね)


345 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 23:44
┌─────────┐
│                  │
│ ageナイーデください│
│                  │
└―――──――――┘
     ヽミ´ー`ミノ
        ミ  へミ
        く


346 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 00:13
Javaでシューティングゲームを作る場合、
よくJavaの入門書にあるように
全てオブジェクトで管理した方がいいの?


347 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 00:30
>>346
ageたので教えてあげません。


348 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 00:32
>>346
それしか方法ないでしょ。Javaの仕様上。


349 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 00:36
>>364

なにいっての???

Javaの勉強しなさい


350 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 00:53
おかげでsage効果の素晴らしさを再認識したよ。
しつこくageる皆さん、頼むから他所へ逝ってくれ。
俺達はマターリとSTGプログラミングの話がしたいだけなんだ。


351 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 00:59
ライデンレーザーはいくつか通過点が固定されていて・・・という話を聞いたこと
がある。教えてくれたのは、某STGめーかーの人間だよ。

基板もってるなら、がりがり動かしてみるべし。ビデオとってみるのもいいかもね。


352 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 08:25
予言者も混じってるようなので、sageで行こう。


353 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 08:29
はぁ?
なんでやらなくてもいいほかのゲームのパクリなんかに力入れてるの?
ビデオまでとって。
独自のアルゴリズムでやればいいじゃん。
つまらねーな。
最近作り手の心が腐ってるよね。
だいたいこういうところってオリジナリティの見せ所じゃん。
それすらないならゲームつくるのやめろよ。
つまらねーageちゃえ。


354 名前: 投稿日: 2001/05/28(月) 08:35
「オリジナルです!!」と声高らかに叫ぶ奴。
でも実際はありきたりのゲームしか作れない。


355 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 08:46
オリジナルといっても、二つある。

1.他の方法を知っててなおかつオリジナルに走る場合
2.知らないでオリジナルに走る場合

2の場合は自己満足に陥りやすいけど、1の場合はそれを応用したものが作れる可能性がある。

もちろん1の場合でもその方法にとらわれすぎて、「あー雷電レーザーのまねだね」とか言われてしまう場合もあるし、2の場合でも素晴らしいものができることもある。
ただ、>>353みたいな短絡的なやつには素晴らしいやつはどう逆立ちしてもできないだろうな。藁


356 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 08:47
いいんだよそれで。
自分で考えて作った結果がそれであれば問題はない。
問題は何故他のゲームを研究までして自分のオリジナリティを切り捨ててしまうのかということ。
技術を盗むとかそういうのとは違うんだよね。
いまこういうやつが何故か非常に多い。
あのゲームのあの部分あの部分・・・


357 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 08:52
パロディならいいべさ。


358 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 08:58
実際にパクリを採用するのは別の話でしょ。
今は、そのアルゴリズムがどうなっているのかをマターリとsage談義してただけなんだから。

短絡的な思考の莫迦が混じってくるのは嫌なのでsage


359 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 09:01
また他のゲームの研究に力をさいてしまうのも問題。
研究しないのも問題だけど。
確かにすべてをしっているのはいいかもしれないけど、それで自分を磨くのを忘れてしまっては本末転倒。


360 名前: >359 投稿日: 2001/05/28(月) 09:05
キミの事ですか?

まさか一般論...なわけないよね。そんなの聞いたこと無い。


361 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 09:18
実際問題使うかはともかく、あれがどーなってるの、って疑問を
持てない人間は開発に向いちゃいないと思うなー。
>あのゲームのあの部分あの部分・・・
特定のパクリゲーの批判をしたいならゲー板逝ってくれ。


362 名前: しなない学生 投稿日: 2001/05/28(月) 09:52
>実際問題使うかはともかく、あれがどーなってるの、って疑問を
>持てない人間は開発に向いちゃいないと思うなー。
はげしく同意。それを実際に使うかどうかは別問題だし。
とりあえず実装してみて「はー、なるほどねー」で終わる私。


363 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 10:14
MSXのコナミのゲームは、全てのゲーム会社の教科書であり目標だった


364 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 10:38
クリエイターに好奇心は必要だね。あたりまえだけど。
エジソン然り、ガリレオ然り。


365 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 11:11
パクルかどうか別として、興味があるエフェクトとかアルゴリズムを探求するのは悪いことじゃないっしょ。
むしろ、やらないとゲームなんかつくれないよね。


366 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 12:45
じゃまたsage進行でマターリいきませう。

キャラ管理の方法に関する話題は荒れるのでうんざりだけど。


367 名前: 名無しさんWBS 投稿日: 2001/05/28(月) 13:28
オリジナルだのパクリだのゲームだの一般系だのは別にして、
「分からないことがあるとなんだか気持ち悪い」というのは
プログラマの習性だと思っていたのだが、最近は違うのかね。


368 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 14:20
>>363
あの技術は、同じVDPを搭載していたぴゅう太ので培われたものです。
MSXに参入する前はTOMYの下請けでぴゅう太に移植してたんで。


369 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 15:32
VDPだけでなくPSGのノウハウも一流だったような


370 名前: 某猫型ロボット 投稿日: 2001/05/28(月) 16:25
コナミビブラート萌え


371 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 19:51
そういえば、みなさんホーミングミサイルの標的の選定ってどうやってます?

俺が以前やってた方法だと、発射時、右発射は自機に対して最も右方にる敵をソートして決定
左は逆からという風に。


372 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 21:28
まだこんなくだらねースレ残ってんのか?
ホーミングのターゲットだぁ?
そんなもん自機の進む方向から敵へ曲線引いて曲率半径が大きい奴からターゲットするって昔からキマッテンダヨ!
感覚的にわからねーか?あぁ?


373 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 21:30
(・∀・)ムキニナル カコワルイ


374 名前: 名無しさんWBS 投稿日: 2001/05/28(月) 21:49
自機からのどっかのオフセット座標基準にして
いっちゃん近いやつから順番にロックすればい〜んじゃない。


375 名前: 地雷踏み踏み 投稿日: 2001/05/28(月) 21:52
イージスシステムを参考にせよ。


376 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 23:06
ステロタイプ発見!


377 名前: ホーミング 投稿日: 2001/05/28(月) 23:17
すみませんイージスシステムとはなんでしょうか?
ゲームなので余り複雑なアルゴリスムは組み込みたくはないんです。

あと、372はゲームのことを書いてるのでしょうか?


378 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 00:10
372だけど。
ゲーム以外なんだっつーの?
まさか曲率半径もしらんでゲームの研究?
基礎体力がたりんのでは?
画面といくらにらめっこしてても曲率半径の意味はわからないよ。
計算自体は高校生だってできるものなんだよ。
複雑?お話にならないよ。


379 名前: 他スレの住人 投稿日: 2001/05/29(火) 00:18
>>378
なにムキになってあげてんのかね?キミは
他のスレの迷惑だからsageてくれや
ただでさえage荒しが多くてウゼえのに。


380 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 00:20
(・∀・)372オモシロイ!!


381 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 00:24
他のスレだってゴミばっかじゃねーか。
何を失うものがあるというのか。


382 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 00:24
「昔からキマッテンダヨ! 」だってさ。へぇ〜(^^;


383 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 00:24
>>379
>>372は自分の知っている情報は自分「だけ」が知ってる情報と思い込んだり、
高圧的な態度で出るしか他人との交際法を知らなかったりする、
かわいそうな人なのです。
健常者である我々はあたたかく見守ることしかできないのです。


384 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 00:27
他のソフトがどうやってたって、
デザイナーは好きなように実装していいんだよ。
それが独創性ってやつ。

他者の尻を追っかけるだけならまだしも、
それが絶対のものだという思考はダメだよね。


385 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 00:28
昔から決まってるのか。
じゃ372はファミコンゲームでもその計算をするというわけだな


386 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 00:36
本当にここはゴミばっかりだな。
オレモフクメテナー。
知らないことはわかるように努力するんじゃなかったのか?
高校程度の数学でもうダウンか?
知識は発想力のガソリンのようなもの。
もちろん使えばなくなる。
経験は磨耗でしかない。すべりがよくなり使いやすくなったころには交換だ。


387 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 00:43
http://piza.2ch.net/test/read.cgi?bbs=tech&key=990219336&st=350&to=350&nofirst=true


388 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 00:44
2Dのゲームにポンポン実数演算持ち込もうとする人はスキルが低いと思われ。

まぁ俺は普通の弾幕STGが好きなんで、ホーミングミサイルとか
プラズマレーザーは好きじゃないんだけどな。(藁


389 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 00:49
何ぃ!マターリと話がしたいだと?
俺が折角荒らしにきたってのに!
つまらん!もう帰る!


390 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 00:52
>>389
(・∀・)カエレ


391 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 01:46
なんでもいいよ。曲率半径(プ だろうが他の方法だろうが。
お馬鹿なホーミングミサイルを上手いこと働かせるように自機を動かすのも
シューティングの醍醐味のひとつだろう。
ゲームのデザインによるってことだな。

もちろん、仕事で賢いホーミング作れやゴルァと言われて
実装できましぇ〜んではプログラマとしてアホだけどな。


392 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 02:09
知識や技術は多ければ多いほうがいいのは確か。
そのための勉強も大事。
っていう当たり前の事が言いにくい雰囲気になっちゃったね(藁

本当に偉いのは実際に作ろうと思って頑張ってる人だけどね(藁


393 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 03:28
>>388
スキルが低いのは実数演算が要求されるアルゴリズムの実装で、ホントに
リアルタイムに実数演算しちゃう奴。
実数演算が要求されるようなアルゴリズムが持ち込まれたら適当な範囲の
適当な精度のテーブルをあらかじめ作っておいて適当に加工して使うのが
セオリー。


394 名前: われは猫型ロボット 投稿日: 2001/05/29(火) 03:38
>>393
まあ、「昔の」セオリーではあるが……。


395 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 04:02
分数使おうぜ
32bitで分母8bit分子24bit

高校のときこれ思いついて俺って天才とか思ったけど、
至極あたりまえのアルゴリズムなんだよね。他人に自慢しなくてよかった(藁


396 名前: !388 投稿日: 2001/05/29(火) 04:51
最近のハードは早いから大丈夫でない?
リアルタイムでやってみて、遅かったら、作り直せばOK。
下手に作ると直せなくなるけど、それは論外って事で…。


397 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 04:53
>>396
それを確認しないでそのまま実装する奴は厨房。
実数演算と整数演算のコストが違うプラットフォームはまだ山のようにあるよ。


398 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 04:56
>>395
値の表現としてはいいかも知れないけど、乗算以外の演算を実装するのが大変そう。
加減算と除算なんて精度の確保を考えただけで鬱。


399 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 04:57
>>398
符号の扱いも大変。


400 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 05:19
単に32bit全体を1/256して考えるってのがいいよ。
加算も減算も符号もそのまんま。


401 名前: 粘土をクレー 投稿日: 2001/05/29(火) 05:21
PCとかムキャとか某2とかだと、
2Dゲームでfloatやdouble使うのと
固定小数点数のクラス作るのとではどっちがいいですか?


402 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 05:25
>>400
分数の表現なんだろ?
通分しないでどうやって加減算するんだ?


403 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 05:29
だから分母が256固定なんだってば。
32bitには分子しか入れないの。


404 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 05:43
>>395
よくわからんけど、固定少数とは違うわけ??


405 名前: われは猫型ロボット 投稿日: 2001/05/29(火) 05:45
たぶんそのものだと思われ


406 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 05:45
同じ


407 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 06:59
今更、固定少数はないだろ?携帯ゲーム機?


408 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 07:18
オレもPCで固定小数使ってたけど、最近バカらしくなってやめたよ。
しかも、速度ぜんぜんかわらなかったし。
最近はCPUはやくなっていいねぇ。

そいうや、浮動小数点の弊害って速度以外に何かあるの?
自分の場合、環境によって微妙に計算結果が違うという現象に遭遇したことがあるけど。
いつのまにかでFPUのコントロールワードが変化してるってのが原因で、
解決不能だった。(まさか毎回計算前に、コントロールワードを初期化するのか?)
なぜか富士通のPC(FMV)だけで起こる(泣


409 名前: 408 投稿日: 2001/05/29(火) 07:19
ゴメンナサイ。クレティカルな部分では固定小数使ってました。
描画ライブラリとか。


410 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 08:15
お前等MMXって知ってるか?
いま