シューティングゲーム製作技術総合 3機目
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
04/06/16 07:45ID:u0+hin61それは「シューティングゲーム製作」・・・。
このスレでは、そんなシューティングゲームの製作技術や技術の検証、成功談
失敗談笑い話、難易度の設定方法論、多弾の是非などについて語り合いましょう。
もちろんBulletMLなどで弾幕を作成してみたり、自分の作ったシューティングを
晒してみたり、プロジェクトをはじめてみるなどもOK!
ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。
■前スレ
シューティングゲーム製作技術総合 2機目
http://pc5.2ch.net/test/read.cgi/gamedev/1073736474/
0402名前は開発中のものです。
04/07/04 23:14ID:gv0lKorPいつまでたっても完成できないのが問題なんだよ。
0403名前は開発中のものです。
04/07/05 11:02ID:q8IB8pY7作るものもそれなりのものである・・と考えたい。
0404名前は開発中のものです。
04/07/05 13:09ID:MZFN1ncuこれじゃ物足りない…、もっと早くするか…、
これだと全て倒しきれないな…、もっと動きを複雑にするか…
配置が美しくないな…、何度も作り直して延々と時間食う。
0405名前は開発中のものです。
04/07/05 15:40ID:6zSAmhSJ0406名前は開発中のものです。
04/07/05 17:53ID:xyIT+t5Z0407名前は開発中のものです。
04/07/05 19:02ID:coqdbzBM上にスクロールする縦STGとは相性がいいのかもしれんな
0408名前は開発中のものです。
04/07/05 19:17ID:mIaBS7Acこのスレに居て楽しい?
0409名前は開発中のものです。
04/07/05 19:24ID:HCoggD9J0410名前は開発中のものです。
04/07/05 19:31ID:/lwcSRgbさすがにマザーは一枚BMPは無理だね。
ファミコン画質で東京ドームぐらいの広さがあるんだっけ?
0411名前は開発中のものです。
04/07/05 19:36ID:mIaBS7Ac(407とか)何が目的なんだろ?
0412名前は開発中のものです。
04/07/05 19:43ID:FU0s4jcc0413名前は開発中のものです。
04/07/05 19:45ID:AQ5G0Q1N言いたいことはまあわかるけど・・・
0414名前は開発中のものです。
04/07/05 19:55ID:FKGNBF1yドット絵エディタでXxYドットの8bitBMPを作成する。
パレット番号とマップチップ(敵配置マップなら敵番号)を対応させれば
マップエディタを作成せずとも視覚的にマップを作れるかもしれない。
描くときは下から上へ、読み込むときは先頭から読めば良い。
だからなんだの域を出ないような気もするが。
0415名前は開発中のものです。
04/07/05 20:00ID:FKGNBF1yバイナリエディタ直書きに比べればきっとマシだと……思う、自信なし、所詮思いつきだし。
0416名前は開発中のものです。
04/07/05 20:00ID:coqdbzBMmIaBS7Ac乙
0417名前は開発中のものです。
04/07/05 20:04ID:mIaBS7AcBMPと相性がいいスクロール方向なんて無い。
というか絶対にありえない。
0418名前は開発中のものです。
04/07/05 20:06ID:Zqs+hJnqBASIC時代にマップチップを1チップ1画素で表示したのを思い出して懐かしくなった。
遊びとしてはそういうのもアリだと思うよ。
0419名前は開発中のものです。
04/07/05 20:08ID:coqdbzBMマップエディタを作るのが面倒くさい場合は有りかもしれんが
パレットとチップの対応を人力管理しなくちゃならないので
却ってそっちのが面倒くさいだろうな
大抵のドット絵エディタは256色ずつでしか管理できないので
それ以上のチップを扱うときにややこしくなるのも難点か
0420名前は開発中のものです。
04/07/05 20:31ID:mIaBS7Ac視覚的にはBMPの絵柄と描画を同じにした方が分かりやすい。
0421名前は開発中のものです。
04/07/05 21:51ID:AMzjfEbuされたけど微妙に気持ち悪かったから407のような
発言に突っ込みいれたくなる気持ちも分かる。
それでもスルーしたほうが良いかもしれないけど。
0422名前は開発中のものです。
04/07/05 21:51ID:X/bMYedsもっと他にすべきことがあるだろう…
0423300(114)
04/07/06 07:12ID:nZv9mdH7スロー時の、撃った弾がアイテムになる処理等を入れました。
スローにすると、敵の動き(到達地点)が変化してしまうので、修正しないと、、。
後は、宝石の数、倍速モード、ボス等を入れる予定。
因みに、背景は16bitでやってます。良いツールを使えば8bitでも遜色ないでしょうが、
実験してないです。
0424名前は開発中のものです。
04/07/06 07:49ID:vj8/49Vzレス番号を書いてくれ。前半4行が唐突すぎて分からん。
独り言のエクスキューズとして後半2行を加えたように見えるぞ。
0425名前は開発中のものです。
04/07/06 08:27ID:ndffHXS/0426名前は開発中のものです。
04/07/06 09:07ID:j83SEp8O板公認の報告スレを活用したほうがナンボかマシだろ。
■自主製作ゲーム:開発状況報告スレVer0.3■
http://pc5.2ch.net/test/read.cgi/gamedev/1071809112/l50
0427名前は開発中のものです。
04/07/06 10:48ID:Ro4FcwFz上下反転? テクスチャの貼る方向を逆にすりゃええ。
DirectX8じゃない? ヽ(・∀・)ノウンコー
シューティング製作以前の問題だな
0428名前は開発中のものです。
04/07/06 15:08ID:vj8/49Vz踏み絵を踏みに行くような気分だが
背景レイヤーのうちの1(遠景)を
丸々一枚絵方式でやったことはあるぞ。
システムメモリ上に圧縮データ1ステージ分。(約2MB)
ステージ進行中に圧縮データをデコードしつつ
(差分)転送。フレーム単位の転送量は1[KB]程度。
問題なく60[fps]出ていた。
そんときのメモリ上の圧縮データは
展開してもせいぜい7MB程度(256*7200*32[bpp])だったので
むしろそっちでやったほうが良かったという罠があったが。
0429名前は開発中のものです。
04/07/06 15:15ID:vj8/49Vz0430名前は開発中のものです。
04/07/06 15:42ID:jam3e6mdデータ圧縮&1INT内での展開ならOkじゃない?
0431名前は開発中のものです。
04/07/06 16:18ID:AZJilDb1どうってことないんだよな。俺はテクスチャ上のパターンデータ(8x8テクセル)を
フレーム毎に数個づつ書き換えたりするんだけれど、そんときのデータサイズも
似たようなものだし。
結局、一枚絵の弱点はパッケージサイズの肥大化ぐらいかね。
ネットで配布するようなケースでもなければ無問題だと思うよ。
#つーか、漫画板のアゴ無しスレに誤爆した・・・鬱
0432名前は開発中のものです。
04/07/06 16:57ID:7lkdzqgc固まりそうでイヤーンな気がする。演出とか入れてごまかせばいいのかも
しれんけど、シームレスに次のステージに行きたいときは無理。
うまくやれば別スレッドで画像を読みつつスムーズにステージ切り替え
できるかもしれんけど俺はあんましやりたくないな・・
0433名前は開発中のものです。
04/07/06 17:21ID:vj8/49Vz得点算出画面を描画しながら裏でガリガリとロード。
0434名前は開発中のものです。
04/07/06 17:36ID:eRBtqPaD>どうってことないんだよな。
そうか?
かなり前にDirectDrawでシステムメモリのオフスクリーンサーフェイスから
Bltさせた時、タイル化してBltを繰り返した時と1枚絵を1発Bltした時で結構
差が出た記憶が…
オーバーヘッドを少なくする為1枚絵のBltで実装しようとしてる俺は
負け組みですかそうですか
0435名前は開発中のものです。
04/07/06 18:50ID:EvHYmjykたとえば1ピクセルのスクロールごとに処理なら1ライン分の転送だけですむわけだし
0436423
04/07/06 19:03ID:nZv9mdH7では、そうします。
質問や相談もやりつつ、結果を報告出来ると思ったんですが。
1枚絵の背景も、CAVE系を再現したい。てので出た話題なのだし。
自分の場合は、1画面を1BMPで保持して、3画面分同時に描画。
で、1画面スクロールするごとに、一番下の画面を上に移動&テクスチャ再セットしてます。
0437名前は開発中のものです。
04/07/06 19:12ID:IL7Ob6am0438名前は開発中のものです。
04/07/06 19:16ID:sKsjuUN60439名前は開発中のものです。
04/07/06 19:26ID:vj8/49Vz俺もDirectDrawでハイカラー以上でやるときは
システムメモリ上でソフトウェアレンダラーで全て
描き込んでからビデオメモリに一括Blt()するよ。
Direct3Dでやるときは
ビデオメモリ上でハードウェアレンダラーで全て
描き込んだほうが圧倒的にお得だから、組み方が
変わる。
0440名前は開発中のものです。
04/07/06 19:48ID:IhHcFhRb程度(サイズ)にもよるが、
Direct3Dで背景をマップチップでやるときは
固定サイズの頂点メッシュを使ってスプライト機のBGテーブル的な
組み方が出来るんだよ。差分書き換えするのはマップチップの
インデックスではなく頂点のテクスチャUV値になるけどね。
背景の描画はDrawPrimitive2回で済む。
0443名前は開発中のものです。
04/07/06 21:49ID:JKcCaYR/オフコース
0444436
04/07/07 00:34ID:pE7mkQZW>>440
最初はメッシュ&UV設定ツールでも作ろうかと思ってました。
しかし、だったら3Dツールでいいんじゃないかと思ったりして断念。
今のやり方は、>>117を参考に組んでみましたが、半画面で1チップにした方が
効率が良いので、改良してみます。
当面の目的は、ツールに敵配置機能を追加する事ですが、ガルーダ等みてると、
配置と動きが連動していて、(戦車、中型機等)
現在の、敵の動きをハードコーディング部分から
見直す必要があるという問題で煮詰まり中です。
0445436
04/07/07 00:34ID:pE7mkQZW>>440
最初はメッシュ&UV設定ツールでも作ろうかと思ってました。
しかし、だったら3Dツールでいいんじゃないかと思ったりして断念。
今のやり方は、>>117を参考に組んでみましたが、半画面で1チップにした方が
効率が良いので、改良してみます。
当面の目的は、ツールに敵配置機能を追加する事ですが、ガルーダ等みてると、
配置と動きが連動していて、(戦車、中型機等)
現在の、敵の動きをハードコーディング部分から
見直す必要があるという問題で煮詰まり中です。
0446436
04/07/07 00:38ID:pE7mkQZWついでに
X 敵の動きをハードコーディング部分から
○ 敵の動きをハードコーディングしてる部分から、
0447名前は開発中のものです。
04/07/07 04:14ID:HtYxKCPc(1) 地形と全く相互作用せず、進行方向への加減速と移動方向相対変化で記述
(2) 初期ウェイトと移動方向のみ指定、あとは道に埋め込まれているオブジェクトに反応
脱線するが、怒首領蜂大往生の戦車はカーブをなめらかに曲がっているように見える。
実際は少し移動して方向転換、の繰り返しだとは思うけど。
0448名前は開発中のものです。
04/07/07 06:28ID:bXVEuOsHあれバカでかいマップがあって、それを面によってX座標ずらして表示してるんだよな。
ドモグラムの盆踊りや伸縮移動を見るに、画面上の座標と関係なくマップ上の座標で
動かしてるんだろうが、細かいことは判らない。
たしかゼビウスは3つCPU使っててキャラクタデータ管理とかは分けられていた筈…。
0449名前は開発中のものです。
04/07/07 08:19ID:izSQTRuRでも、ゼビウスって今以上にボーナスポイントの設定とか細かいことにこだわって作られてるんだよなぁ。
ブラスターを避けるグロブダは今でも感動する。
0450名前は開発中のものです。
04/07/07 12:48ID:W7BeX/8g少ないな…
0451名前は開発中のものです。
04/07/07 14:10ID:JiYcz3kDアケシューならザコヘリの 等速運動→減速→ホバリング→加速+旋回でUターン といった動きを
ちょっと真似してみるだけでも学べる。
まぁ最初からそこまでやる必要はないけど。
慣れてきたら等速運動や状態遷移なしの動作から先に進んでみると
敵にイイ動きをさせることができるよ、ってことで。
0452名前は開発中のものです。
04/07/07 14:53ID:4qfol9PZ0453名前は開発中のものです。
04/07/07 21:29ID:md0FQhDUゾシーやタルケン等々
テラジなんかはいまだに動きの代名詞となってたり。
最近のザコは寿命が短いせいか、集団で突っ込んでくるのばかりでチトさみしい
0454名前は開発中のものです。
04/07/07 21:43ID:zpLCb2Vn0455名前は開発中のものです。
04/07/07 22:33ID:yldaaZLp昔そういうの作ったよ。
だけど戦車がわらわらと出てきて壊せるだけ。自機は弾に当たっても何もなし。
しかもボスがなければ、タイトルもエンディングもない。道中でスクロールが止まって終了。
ゲームとしての形になってません。こんなのでよかったらアップしますけど、やってみますか?
0456名前は開発中のものです。
04/07/07 22:55ID:N42GpwnW0457名前は開発中のものです。
04/07/07 23:19ID:berQwMOjよくわからんです。自機の方によりつつもループ描いたりとか。
0458名前は開発中のものです。
04/07/07 23:36ID:N42GpwnW0459名前は開発中のものです。
04/07/07 23:42ID:iWy159dS0460名前は開発中のものです。
04/07/08 00:18ID:BsSZ9ww7そうだね。アップはやめておきます。
0461名前は開発中のものです。
04/07/08 02:06ID:ekxb4iLn0462名前は開発中のものです。
04/07/08 15:40ID:Y2fi7c6sあの滑らかな動きはテーブルでもってるのかね〜?
0463名前は開発中のものです。
04/07/08 16:54ID:kyWzD/VJ当時、(参照)テーブルを一切用いずに済むような
(現実的な)実装方法があったのかを考察してみ。
0464名前は開発中のものです。
04/07/08 17:48ID:f5vo4Z1w0465名前は開発中のものです。
04/07/08 21:26ID:QBP54P3g0466名前は開発中のものです。
04/07/08 23:08ID:PENNExbp0467名前は開発中のものです。
04/07/09 00:27ID:/NJ2yS9B0468名前は開発中のものです。
04/07/09 01:28ID:tsG0sz9iアルゴリズム的に、自機と自座標から、加速量をパラメタとして変えてくとか。
0469名前は開発中のものです。
04/07/09 06:24ID:rOtGbY6Nエディタ自作せんと難しいかな。
ツクールとかのデータ流用できないものか。
0470名前は開発中のものです。
04/07/09 07:22ID:l91s44YH例えば、そのパラメータとして渡す加速度は
行動パターン毎に1セット(圧縮データ)に
なっているとする。
すると行動パターン番号から参照するための
テーブルが必要になる。
0471470
04/07/09 10:14ID:l91s44YH加速度を出力するような関数(orロジック)を用意する
って話か。
参照テーブルを一切使わないってことは
敵キャラ1種につき関数1個といった粒度を想定しているのかな。
容量の肥大化はまず避けられないだろうが非現実的ではないな。
俺なら、ロジックの粒度を小さくして呼び出しのシーケンスを
テーブル化するような形に持って行くけどね。
0472名前は開発中のものです。
04/07/09 10:32ID:nlM8j7wC透明オブジェクトとして線データをマップの上に置いといて、
それに沿って移動するような形はどうだ?
…この方法だとゼビウスみたいに分岐があった場合の処理がめんどうだな。
0473名前は開発中のものです。
04/07/09 13:33ID:7OghelOa中身のありそうでなさそうなレスだね。
0474名前は開発中のものです。
04/07/09 14:19ID:QlzJ/HhZああーなるほど。
透明オブジェクトに触れたら方向転換、でもいいかもね…。
やってみよ。
0475名前は開発中のものです。
04/07/09 14:36ID:febHPtbjうん。たしかにテーブルの類を一切使わないという条件があると辛いですね。
敵キャラ加速度データのグラフは直線(矩形やノコギリや三角)を組み合わせた
不連続関数だったりするので、アルゴリズムでやるといっても中で条件分岐が
入りますね。連続関数に分解してテーブル化ってのは至極まっとうな選択だと思います。
加速度の制御だと円弧を表現しにくいので、動きパターンに応じた条件分岐も
出てくるでしょう。ここでもハードコーディングを避けるならテーブル使いますね。
0476名前は開発中のものです。
04/07/09 15:48ID:l91s44YHマップチップでやるならラクができるよ。
自分のいるマップチップ番号を見て、三叉路や
交差点のマップチップ{┤,├, ┴, ┬, >- , -< , Y ,人,┼,×}
ならば経路決定用の関数を呼び出す。
始点
|__
___ /
\./
│
──┼
|
──┴─終点
上図の戦車の分岐シーケンスは
{右折、左折、直進、左折}
この2bitデータの配列を各戦車に
持たせるだけで済む。
0477名前は開発中のものです。
04/07/09 16:03ID:YxAitO+W0478名前は開発中のものです。
04/07/09 17:53ID:gLhVSd5Qあーそっか。マップが格子状に区切られてるから、自分のいる地形の
属性情報をBGテーブル経由で参照できたんだね。たしかに
マップチップだと色々と簡略化できるね。
道路上の戦車の移動は逐次処理だけで済むってのは納得。
けっこう複雑だと思ってたんだけど、ちょっと考えすぎだった。
0479名前は開発中のものです。
04/07/09 20:19ID:l91s44YH円弧や正弦曲線は、ゲームデータ用に
エクスポートする際には近似曲線に
変換するといいよ。特例扱いしなくて済む。
0480名前は開発中のものです。
04/07/09 21:18ID:MWhIjUoXそれだと戦車に与えるパターンが少なくなる代わりに、戦車が存在しうる背景パターンは
10倍の数になるのでわ?
背景がベタな砂漠とかコンクリだけならなんとかなりそうだけど、自然な背景にしたいなら
マップエディットで力つきそうな気がする。
0481名前は開発中のものです。
04/07/09 21:36ID:ZL4f7MqP必要は無い。
マップ編集はちょっと面倒かも知れんけど。
0482名前は開発中のものです。
04/07/09 22:02ID:l91s44YH話の発端はゼビウスとかマップエディタ流用の話なので
そういう無茶な突っ込みしないように。
・マップチップ毎にアトリビュートを付加できない
・マップチップをマルチテクスチャ化できない
・マップを多層化(複数レイヤー化)できない
低機能マップエディタを使ってリアルな背景を
追求したいなら、相応の工夫をしましょう。
0483名前は開発中のものです。
04/07/09 22:03ID:MWhIjUoXちなみに漏れはオブジェクト出現テーブルに移動パターンとカウンタオフセットを与える方法で
やってたけど。
戦車ってそれほどハードにくねらないから30フレくらいの頻度でパターン構成してもそれなりにみえる
でも結局、停止->前進->停止の奴が一番多かったんだけど(w
0484名前は開発中のものです。
04/07/09 22:04ID:MWhIjUoX483は481へのレスです
0485名前は開発中のものです。
04/07/09 22:36ID:CB1SxE8k道路パターンを地面に馴染ませるときは道路パターンを
アルファ付きテクスチャにして地面パターンにかぶせると
楽チンでいいな。
自然な描写を目指してくとマップエディタ自作にしたほうが
楽だと痛感した。
0486ガルーダ週報
04/07/09 23:04ID:gIDSfdVGその他のガルーダ仕様や基本的な処理(スコア、パワーアップ、アイテム効果等)は
一通り出来たので、後はボムの実装ぐらいです。
低レベル層の描画周りを見直してたら、致命的なミスを発見、
修正したら処理落ちが全くなくなりました。
(出現キャラ数は調べてませんが、アーケード版の後半ぐらいは出してる)
後はバランス調整、敵配置、ボス実装、最後に絵を直せば公開出来るんですが。
ボスの考案、絵を描くのが一番しんどい。
フィルタ掛けるとかじゃ不味いんですかね。細かい修正は色々してますが。
0487名前は開発中のものです。
04/07/09 23:30ID:Y0wdFIt0建物の中から出てくるときの敵の当たり判定はどうやるんだろう?
まだ建物の中にある部分は弾が当たっちゃいけないんだし・・・。
やっぱりチップで判定するのかな?
0488名前は開発中のものです。
04/07/09 23:44ID:ulD412icそうね。
絵的なクオリティを上げていくなら3Dカードの機能を活用しない手はないでしょ。
あとマップエディタ。最近は出来のいい汎用エディタがあるのかもしれんけど
俺が作ってたときはマップに深度値を付加したりマップを複数枚重ねられるような
エディタが見つからなかった。この手の機能が無いとマップ編集作業をやってく
うちに不満が炸裂する。
>>485
俺は、森林地帯を戦車が通り抜けるシーンを作るためだけにエディタ
自作しちまった香具師なので、むしろアフォの部類かもしれんけど
独自の拡張がどんどん出来るので、自作したほうが結果的に楽ってのは同感。
0489名前は開発中のものです。
04/07/10 00:10ID:N8kE6kmmチップで判定してもいいし。チップのZ値で判定してもいいし。
戦車が何かの下にいれば弾に当たらなければいいということで。
0490名前は開発中のものです。
04/07/10 00:10ID:tm6dksbf元のマップの画像は、巨大な一枚絵で描いて、
それを16×16とか適当な単位で分割して、チップをあとから作ればいいんじゃない?
0491名前は開発中のものです。
04/07/10 00:15ID:DOlTpm6+>>338
0492名前は開発中のものです。
04/07/10 00:40ID:0VpPjZgq・・・最も速いと思われる当り判定のアルゴリズムを
伝授して欲しいんですが・・・。
CPU500MhzのPCで動かせることを考えると
どうしても処理速度と格闘せにゃならんので・・・。
飛翔鮎が500MhzのPCで軽快に動いてるのが
不思議でたまらないんですが・・・。
0493名前は開発中のものです。
04/07/10 00:50ID:IgJ4aB0q条件次第で変わるから、もう少し限定した条件を出してもらえると答えやすいかも。
判定する物体の形状とか、数とか。
あと、ハードウェア的な制約もあれば。メモリ量も重要だね。
MSXならスプライト同士の接触で割り込みが、とか。
0494492
04/07/10 00:50ID:0VpPjZgq敵弾vs自機の判定は
HSPスレのほうで解決してきたんスけども、
自弾vs敵の判定で凄まじく重くなってしまって。
現在実装中の当り判定は
自弾の数だけループ(1)
自弾の移動
敵の数だけループ(2)
自弾vs敵の当り判定
ループ(2)終
ループ(1)終
ってなってます。
当り判定の基礎はコレで良いと思うんですが、
うちではコレをやると処理落ちしてしまうんスよ。
(程度の低いSTGしか出来ていないのに・・・・)
0495名前は開発中のものです。
04/07/10 00:51ID:SUbK9G3e敵一個の場合とn個の場合の速度比べてみ
0496名前は開発中のものです。
04/07/10 00:58ID:0Y8AoUvEそれ以外のところがおかしいと思われ
0497492
04/07/10 01:05ID:0VpPjZgqうむぅ、一番処理食ってるのが
自弾vs敵のループと
敵弾vs自機の判定
だと思うんだけど、
やっぱ別のところで無駄してるんですかねぇ?
敵1コとnコの場合、明日辺り試して見ますわぁ
0498名前は開発中のものです。
04/07/10 01:28ID:p72KWlK1敵や弾の移動時に、y座標単位のテーブルに登録しておいて、
自機と一定以上近い座標にあるものに対してのみ当たり判定を行うとか。
それ以前に、その重さは考えにくいから、
やっぱ当たり判定自体かループがおかしい気はするが。
0499492
04/07/10 01:29ID:0VpPjZgq当り判定ルーチンにはこういう内容のものが詰まってます。
http://cgi.members.interq.or.jp/hiphop/youhama/up/source/yaguyasu0495.txt
0500名前は開発中のものです。
04/07/10 05:42ID:Jg7JgvWaこの程度で遅くなるかなあ…。
描画じゃないの?回転とか使ってるし。
ビデオカードによってはそれだけで結構遅くなるよ。
0501ガルーダ
04/07/10 06:53ID:pcMLfY2gコードよくわからんけど、
貫通弾じゃない限り、ヒットしたら敵のループから抜ける
というのがなさげだけど?
あったほうがいいと思う。俺も全然やってないけど。
それ以前に、タスクのリスト総舐めしてる。
■ このスレッドは過去ログ倉庫に格納されています