トップページgamedev
1001コメント384KB

シューティングゲーム製作技術総合 2機目

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。04/01/10 21:07ID:hzI9eQA5
ゲームプログラマなら誰もが通る、もしくは、通った道。青春の香り?
それは「シューティングゲーム製作」・・・。

このスレでは、そんなシューティングゲームの製作技術や技術の検証、成功談
失敗談笑い話、難易度の設定方法論、多弾の是非などについて語り合いましょう。
もちろんBulletMLなどで弾幕を作成してみたり、自分の作ったシューティングを
晒してみたり、プロジェクトをはじめてみるなどもOK!

ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。

■ 前スレ

シューティングゲーム製作技術総合
http://bbs.gamdev.org/test/read.cgi/gamedev/1056635103/
0583名前は開発中のものです。04/02/20 14:18ID:Cb7T5gGC
遊んでて楽しく、長く遊べるのは飛翔鮎、ガンデモニウム、D-Force、D-Force2、
STARSHIP FIGHT、HSPじゃないけどやる気無シューあたりかな。
凝った演出ならサイヴァリアみたいな奴があったな。名前忘れたけど。
相関関係については同意。
因果関係が無いと言いたかっただけだしな。必要条件でも十分条件でもない。
0584名前は開発中のものです。04/02/20 18:33ID:bdE51Ih6
>>582
テキストファイルから文字型配列変数に読み込んでnotepad命令群とかを使えば
できないことはない。
大きくなるほど管理が大変になるのは直書きと一緒だけど。
0585名前は開発中のものです。04/02/20 19:32ID:Nf0FYL6h
>>582
HSPでスクリプト動かすように書くと
HSP自体がスクリプト言語だから
スクリプトでスクリプトを動かすという妙なことにならないか?w
0586名前は開発中のものです。04/02/20 19:53ID:kgEsLTmI
妙でも何でも無いし、必要で有ればそういう手段をとるってだけの話じゃ?
0587名前は開発中のものです。04/02/20 20:10ID:WwSCKSXX
HSPエンジンがオープンソースでなおかつX11ライセンスのような
配布形態ならば妙な話ではないな。
0588名前は開発中のものです。04/02/21 02:18ID:kwnqAVPT
メモリノートパッドって、データでかいと無視できないくらい遅くなるから
あまりお勧めできない。
0589名前は開発中のものです。04/02/21 12:45ID:Am0HK1nP
>>580
 単純にユーザー数の違いだと思うけど。
C++を使っている人が多いから自然と良いゲームも増えるんじゃないかな。
俺の検索が足らないのかもしれないが、Delphiで作られた凄いシューティングって
聞いたことが無い。
 知ってたら誰か教えてくれ。
0590名前は開発中のものです。04/02/21 12:57ID:O2ehPeIN
>>589
CreatureJungleはDel。
凄いかどうかは知らん。
0591名前は開発中のものです。04/02/21 14:52ID:ykqZVT4B
初期クドリャフカもDelphiだったはず。CJともども、遊んで面白いゲームだ。
0592名前は開発中のものです。04/02/21 15:32ID:iCjqKBnT
同人のブルーセイバーズと続編のOOHはLGP製だったな。
とりあえず完成度が高いといえる作品だと思う。
LGP自体マイナーでこの板では評判云々以前みたいだけど。
0593名前は開発中のものです。04/02/21 17:15ID:1pqPtaxM
OOH、LGPだったのか。あそこまでの作品が作れるなら十分実用言語だな。
BASIC風でなくC言語風だったら今すぐ試してたかも。そのうち試してみるかな…。
0594名前は開発中のものです。04/02/21 18:25ID:DxMO1ytm
Delphiはネイティブコンパイラだし、C++とポテンシャルは同じ。
単にC++を使っている人が多いだけ。
DelphiはコンパイルがC++とは比較にならないくらい高速だし悪い部分は特にない。
遜色があるのってtempleteがないくらいでは。
0595名前は開発中のものです。04/02/21 18:35ID:KLosngrU
DelphiやBCBはわるくないんだが
DirectXまわりで多少苦労する

それだけできついと思うか問題ないレベルと感じるか

どっちにしろ言語なんてよほどへぼくないかぎり問題じゃねー
0596名前は開発中のものです。04/02/21 19:29ID:YV96YjeY
>>592-593
LGPは機能面、パフォーマンスもかなりいいと思うんだけど
コンパイラの安定性に不安面が多い
一時期導入しようと試してたんだけど
コンパイル段階で例外処理出ることが多くて断念した。
その辺りを回避できれば、かなりいいと思うよ
0597名前は開発中のものです。04/02/22 08:15ID:UXf2Xtar
>>589
既出のとおりDelphiはDirectXとは相性が悪い。
Delphi使えるようなプログラマならたいていC++も使えるから、当然C++を選ぶさ。
0598名前は開発中のものです。04/02/22 11:15ID:gIVNowfr
プログラムから絵まで一人で作っている人にお尋ねします。

ゲームで使用する『絵』は作業行程の中でいつ描いていますか?

例えば敵を1体作るとき、ゲームで使う絵をしっかりと描いてからプログラムを組んでいますか?
それとも、とりあえず▲○など適当に絵を用意してプログラムを組んでいます?

▲○などの仮絵を使ってプログラムを組んでいた人は、いつゲームで使用する絵を描き始めますか?
敵を1体作ってから?それともゲームをしてある程度できてからですか?

返信お願いします。
0599名前は開発中のものです。04/02/22 11:17ID:gIVNowfr
× ゲームをしてある程度
○ ゲームとしてある程度

訂正です。
0600名前は開発中のものです。04/02/22 11:31ID:A5TXuShz
最初は適当な立方体メッシュで作ってました。
グラフィック作り始めるときは気分。プログラムに疲れたらとか。
どうせ使いまわしするのでそんなに量は要りませんでした。
0601名前は開発中のものです。04/02/22 12:12ID:iUNPZJjU
自機と敵弾はかなり早い段階で用意しておいたほうがやる気が湧くなぁ。
あとは逐次敵移動パターンを考えた後でデザイン、又は敵をデザインした後、
その形から連想させる移動パターンをインプリメント。
060259804/02/22 12:52ID:OsecqzJh
うほ。返信ありがとう。

そうか、自機だけでも用意しておこうかな。
だけど、絵を描き始めると、描いては消しての繰り返しで全然進まない。

絵が描けない人は、下手でも割り切った方がいいのかな。
0603名前は開発中のものです。04/02/22 13:16ID:a95QltEK
私は絵は先に用意します。
絵に時間がかかるので、先にやらないとプログラムに触らない期間が長くなって
忘れてしまいそうなので…w。
0604名前は開発中のものです。04/02/22 13:25ID:xiIMmH/I
適当にやってる。
モデリングする気分だったらモデリングして、
プログラムする気分だったらプログラムという感じに。
0605名前は開発中のものです。04/02/22 16:10ID:3LI3E3r3
>>602
絵は事前に用意できる限り用意しといたほうがいいと思うなぁ。イメージを固めやすい。
ただ、いずれにせよ後から手を加えることになるのは確実なので
なるべく後付けできるようにしておく準備は必要。
下手でも割り切ったほうがいいというか、割り切らないと完成はしないと思う。
0606名前は開発中のものです。04/02/22 17:03ID:a95QltEK
絵が上手いとか下手とか関係なく割り切りは必要だと思う
0607名前は開発中のものです。04/02/23 10:40ID:HEpYBJBc
おもろけりゃABAさんとこみたいなのや、爆烈矩形弾みたいなのでも可。
0608名前は開発中のものです。04/02/23 14:00ID:MrwURP+q
時間によって変化する敵の動作ルーチンを上手く書けないよ…
動きパターン分全て関数書くのマンドクセ
0609名前は開発中のものです。04/02/23 14:21ID:o9BQJ8wG
ハードコーディングで敵キャラ書く場合、
int mode;
int time;
switch
キーワードはこの3つ。
これだけ分かってて上手く書けないと言っているなら、
そうなるとスクリプトでも実装するくらいしかないかな。

2Dシューティング製作で一番時間食うのは敵キャラの行動の実装だと思う
0610名前は開発中のものです。04/02/23 14:27ID:DXbHT5w2
敵キャラ行動はツール使っちゃってるからそんなにはかからないなー。
やっぱ絵に時間かかる。
0611名前は開発中のものです。04/02/23 15:17ID:1+DXVBhl
動きパターンが増えたり、キャラの種類が増えたりすると、なかなか大変だよな。

このスレで紹介されているページのいくつかに、
ハードコーディングによる敵動作ルーチンがあったはず。
見やすく、それでいてマンドクサくならない記述の参考になるかも知れない。
0612名前は開発中のものです。04/02/23 16:30ID:NkVvf1OH
現在画像の回転のアルゴリズムでつまっています。
正攻法でやると回転後の画像に穴があくので、
逆の、ここの画素は、あそこからのものだ。
という方法で考えています。
ですが、この逆に導けばいいと分かったまではいいのですが、
どうやって導けばいいのか、式、法則が分かりません。
アドバイスいただけないでしょうか?
0613名前は開発中のものです。04/02/23 16:36ID:o9BQJ8wG
その回転行列の逆行列を使えば元の画像の位置が分かります。
画像の位置を割り出したら、最近傍点か、近傍4点の線形補完から色を取得しましょう。
D3DFILTER_POINTとかLINEARとかと同じことです。
つまりその考え方って3Dなんかでポリゴン描画するときと一緒なんですね。
0614名前は開発中のものです。04/02/23 16:38ID:G/WXJT+1
ttp://www.sm.rim.or.jp/~shishido/kaiten.html
0615名前は開発中のものです。04/02/23 16:56ID:NkVvf1OH
>>614
途中の式が知りたいのです。
なぜ、この式になったのかどうかです。
わがままですいません。
行列は習ってないのです・・・
0616名前は開発中のものです。04/02/23 16:58ID:U2ZcXvkN
>>612
アフィン変換
0617名前は開発中のものです。04/02/23 17:04ID:G/WXJT+1
ttp://www3.omn.ne.jp/~renas/3D/TransProcession.htm
0618名前は開発中のものです。04/02/23 17:08ID:o9BQJ8wG
行列習ってないってことなら方程式で説明ね。
ソースからディスティネーションを求める式は知ってるようですが
dest_x = cos(a)*src_x + sin(b)*src_y
dest_y = -sin(a)*src_x + cos(b)*src_y
この連立方程式をsrc_xとsrc_yについて解けばよいのです。
そうすればdest_xとdest_yからsrc_xとsrc_yが求まります。

逆行列を求めるってのはそれと同じ話です。
式の見た目が変わっても所詮行列なんて同じことやってますので。
0619名前は開発中のものです。04/02/23 17:17ID:NkVvf1OH
数学の基礎からやり直します。
ありがとうございました。
0620名前は開発中のものです。04/02/23 20:14ID:tv/X8gcU
ここは勉強になるインターネットですね。
今まで調べ方がヘタでわかんなかったんだけど、>>613-618でわかった気がします。
0621名前は開発中のものです。04/02/24 12:07ID:qzSu5niu
転送元→角度a回転→転送先,が分かるなら。
転送先→角度-a回転→転送元,で分かるハズ。
0622名前は開発中のものです。04/02/24 18:24ID:cyEpjmsz
ゲームプログラミング練習長を買いました。

この本でのキャラクタの描き方は、for文で透過部分以外の色を
(背景をコピーしたバックバッファの)アドレスに書き写すというやり方なのですが、これって普通ですか?

バックバッファをDCで持ってBitBltのANDとXOR(だっけ)でやるのが一般的&簡単だと思ってたのですが。
062361204/02/24 18:29ID:NPJ634Xn
おかげさまで無事回転させることに成功しました。
今ではなんでも回ってます。
今の僕に回せないものはありません。
どうもありがとうございました。
062461204/02/24 18:56ID:NPJ634Xn
>>622
>バックバッファをDCで持って
というのが何を意味するかわかりませんが、
ゲームには画面の書き換えが必要です。
画面の書き換えには時間が必要です。
この書き換えの時間が長いと、描いている途中の画像がユーザーに見えてしまって、
気持ちよくありません。
ホラーゲームなどで、「わっ」とおどろかせるところで、途中の書き換えている
シーンが見えてしまってはだいなしです。

なので、たいていのゲームでは、いったん裏の画面に次の画面を
すべて描き込んでから、あたかも切り替えているかのように、
表の画面に一気にコピーします。
まとめていっかつコピーの方が処理が早いので、このやり方が
よく使われています。

また、別の理由でもこのいったん別に裏の画像をつくって
ここで、絵の具を混ぜるかのように、コネコネして・・・という利用方法もあります。
まだ、納得できないのであれば、ご自身のやり方でやっていけば
よいかと思います。

普通かどうかは知りません。基準がありません。
0625名前は開発中のものです。04/02/24 19:17ID:VF0olofu
>バックバッファをDCで持って
CreateCompatibleDCと、
CreateCompatibleBitmapの事じゃね?

つーか普通の画面だから何してもいいと思うぞ、俺は。
まぁ、初心者にとっては未開の領域だがな。
0626名前は開発中のものです。04/02/24 19:55ID:Sqqk0eCG
>今の僕に回せないものはありません。
>どうもありがとうございました。
良い奴だなw
0627名前は開発中のものです。04/02/24 19:59ID:Ahp8G2S4
>>623
ワロタ

>>622
(;´Д`)そりゃ大分古いやり方だねぇ…>XOR&AND
確かに高速っちゃ高速なんですが今はαブレンディングの時代です。
0628名前は開発中のものです。04/02/24 20:33ID:R5i+m3eH
そこでDirectX Graphics使おうぜとなるわけですよ。
0629名前は開発中のものです。04/02/24 20:43ID:loBiLg69
いつもより多く廻しております。
0630名前は開発中のものです。04/02/24 23:00ID:pYHD2VUT
では一休、そこな屏風に描かれた虎をば回してみせよ
0631名前は開発中のものです。04/02/24 23:09ID:QzqFx48f
まずは虎を追い出してください、その脳内から
0632名前は開発中のものです。04/02/25 00:29ID:2natJd+B
すごい男がいたもんだ。
0633名前は開発中のものです。04/02/25 00:32ID:4JmPJQga
ワラタ
0634ぴろきし04/02/26 17:08ID:0qzzCbkV
おい、いまトラでてるぞ!はやくまわせ!
0635名前は開発中のものです。04/02/27 00:38ID:BUcvZ4ig
ひっぱりすぎだってw
0636名前は開発中のものです。04/02/29 14:40ID:uyqQHmrJ
スレが止まった?
0637名前は開発中のものです。04/02/29 14:58ID:qWPtuZdT
ネタが無ければどうしようもないからな

あげてみるか
0638名前は開発中のものです。04/03/01 00:18ID:AscDXZhd
   ___        __/
  /    /\     / _/\      ___
/ ̄ ̄ ̄\/|   /| ̄ .\/|    /    /\
       |  |   |/\__.|/  /| ̄ ̄ ̄\/| 
  / ̄ ̄~|/|   \/_/    | |____|/ 
./| ̄ ̄ ̄.|  |.      ̄/__    |/     / 
|  |     |  |   /フ ̄/\   | ̄| ̄ ̄ ̄ 
|/\   .|  |  /| ̄ ̄ ̄\/|  |/\ 
\/ ̄ ̄~|/|  |/\    ___|/  \  \   __ 
   ̄ ̄ ̄~|/  \/ ̄ ̄/      \/ ̄ ̄ /
              ̄ ̄ ̄          ̄ ̄ ̄ 
           (⊃)     (⊃)
     ∧_∧  / / ∧_∧  / /
    ( ´_ゝ`)./ / (  ´_>`)./ /
    ./     /  /     / 
   /   / ̄ ̄ ̄ ̄/   / 
__(__ニつ/   age.  /____|__
    \/____/
0639 ネタが無い04/03/01 15:31ID:4aChjl+7

で、結局ここにいるほとんどの香具師は、大往生目指してるのかね?
0640名前は開発中のものです。04/03/01 15:39ID:y6lrx97D
いえ、全然。まあ夏コミを見てろって。
0641名前は開発中のものです。04/03/01 16:23ID:ynCb/iqn
>>639
あれの何を目指すの?
0642名前は開発中のものです。04/03/01 16:34ID:AscDXZhd
大往生は好きだけど
目指してはいない
0643名前は開発中のものです。04/03/01 17:10ID:4aChjl+7
>>641
計算された、美しくも凶悪な数多の弾幕。
0644名前は開発中のものです。04/03/01 17:15ID:SkeJyEEE
このさきには
暴力的で
鬼のような
コーディングが
あなたを待っています。

そ れ で も 作りますか?
0645名前は開発中のものです。04/03/01 17:17ID:ynCb/iqn
>>643
クリアにリアリティを感じないw
無駄にやる気がうせるw
要素しかないと思うのですがどうでしょうか。
0646名前は開発中のものです。04/03/01 17:22ID:AscDXZhd
1周目はそうでもないし、俺は1周しか出来ないが面白いよ。
0647名前は開発中のものです。04/03/01 17:38ID:9GjqQG3u
大往生のキャッチーでない点を改良したいと思うことはあるな
これの面白さがわかるくらいの腕前にプレイヤーの意識の底上げをはかるような
シューティングは目標の一つだが、難しいね

で、実は>>1を読むとわかるが、スレ違い。>>639は死ぬがよい
0648名前は開発中のものです。04/03/01 19:10ID:c5LZvNHg
別にスレ違いじゃないが。
元々プログラミング技術ネタだけのスレではない
0649名前は開発中のものです。04/03/01 19:18ID:CIsWoPFf
単に機転利かせて死にかけてたスレにネタ投入したのでは。

ちなみに、うちのは敵味方16人のキャラが過去の
0650名前は開発中のものです。04/03/01 21:03ID:waHxpDlO
>>649
しんだか?
0651名前は開発中のものです。04/03/01 22:14ID:uapoU+9s
このスレの住人、結構現在進行中のプロジェクト持ってんだな
0652名前は開発中のものです。04/03/02 04:54ID:yqAin6hD
永遠に進行中のプロジェクトばかりです
0653名前は開発中のものです。04/03/03 20:17ID:80+x+sMk
製作者様、携帯アプリ版にて活躍してください
0654名前は開発中のものです。04/03/03 20:56ID:Fu+gGh9z
>>653
相手にされないからって関係ないスレまで来んなと。
0655名前は開発中のものです。04/03/08 23:34ID:pHSecGCw
このスレ死んだのか?
0656名前は開発中のものです。04/03/08 23:48ID:jyC2X44L
ネタが無いだけでしょage
0657名前は開発中のものです。04/03/09 22:03ID:RnEMQBDT
円と線分の当たり判定ってどうやってとってる?
0658名前は開発中のものです。04/03/09 23:14ID:PD/7PAPd
四角の当たり判定を複数置いてごまかしてる
0659名前は開発中のものです。04/03/09 23:18ID:UV8BsELg
円の中心を線分に垂直に落とせばいいんじゃないの
0660名前は開発中のものです。04/03/10 03:55ID:/zacbJ53
円の中心点と線の最短距離を求めて、円の半径と比較すればOKだな
俺も面倒だから当たり判定複数置いちゃうけど。
0661名前は開発中のものです。04/03/10 04:31ID:ch20m1TO
・円Cが点Aと点Bを含む→交差しない
・円Cが点A、又はBのどちらか片方のみを含む→交差する
・円Cが点Aと点Bを含まない→垂線の足を求めて垂線の足が線分上にあるかどうかチェック

これをチェック。最後の奴だけど、
垂線の足をh、パラメータtとすると、h = a + t*(b-a)
(b-a)・(h-c) = (b-a)・(a + t*(b-a) - c) = 0
tについて解くと t = (b-a)・(c-a) / |b-a|^2
ここで0<t<1なら垂線の足が線分AB上にあることになる。
|b-a|^2を不等式に持ってくれば割り算が1個減るかな。

こんなもんかな? 間違ってたら修正よろしく…眠くてもうだめ(´・ω・`)
0662名前は開発中のものです。04/03/10 04:33ID:ch20m1TO
ごめん追記(´・ω・`)
垂線の足が線分上にあるかチェックして、
更に直線との距離が半径r以内でないといけませんね(´・ω・`)
0663名前は開発中のものです。04/03/14 18:50ID:UHsOUMif
縦シュー作っている人に質問!

自分は画面の大きさは352×416で
タイトルも、ゲーム中も同じ大きさです。

皆さんは画面の大きさはどのくらいですか?
東方のようにタイトルは画面一杯に使って、
ゲーム中だけ、縦長にしてますか?
0664名前は開発中のものです。04/03/14 19:01ID:eNoVoUMR
今作ってるんだけど、個人的にはアーケードをPCに移植した感じに
したいので縦長画面の中ですべてやりたいなあ。
0665名前は開発中のものです。04/03/15 02:26ID:zjdBMyyS
縦長にしようかなとも思ったけど結局全画面。
まだ完成には遠いけどね
0666名前は開発中のものです。04/03/15 09:20ID:YvkBb34B
タイトルは640×480の全画面
ゲーム中は320×480のゲーム画面をセンタリング
両脇に各種ステータスでやってます
0667名前は開発中のものです。04/03/15 13:21ID:DBPbealS
ウチは縦横比4:3(3:4)にこだわりたいから640×480の画面内に360×480を表示領域として使ってるよ。
0668名前は開発中のものです。04/03/15 13:24ID:HtEH2iL6
縦長にすると意外と見にくいんだよな
480*480など1:1に一票

これなら縦画面でも横画面でも(ry
0669名前は開発中のものです。04/03/15 13:26ID:43PM+emf
私も667氏と一緒ですね。
0670名前は開発中のものです。04/03/15 16:19ID:do65pldz
うちは320×240+横スクロール
スタソルの影響が大きいな...
0671名前は開発中のものです。04/03/15 19:31ID:YiWxi1G9
640x480で400x480で両脇に各種ステータス。
ABA Gamesさんところ、ちょっと縦長すぎるかなあ、なんて思ったりしてね。
結局やる気なシューとサイズ同じってことで。
067266304/03/16 00:18ID:9G1lxB1c
皆さんありがとうございます。参考になりました。
067366304/03/16 00:20ID:9G1lxB1c
もう一つ質問いいですか?

自機の絵サイズはどれくらいですか?
自分は32×32です。画面サイズ352×416で、自機が32×32だと
やっぱり小さいでしょうか?
0674名前は開発中のものです。04/03/16 00:30ID:Sp2WMbU0
数値だけ言われても判断しづらいなあ。。。
0675名前は開発中のものです。04/03/16 01:02ID:hXlklgri
弾速とかそーいうのにも依るからそこまではなんとも言えんな。
0676名前は開発中のものです。04/03/16 07:42ID:gL0QadPJ
うおおおおおお!
やっとスクロールできるようになった。
苦闘8時間。。。

やった!おれは勝った!
0677名前は開発中のものです。04/03/16 10:09ID:8zXVVqQP
>>663
自分が好きなゲームや世間で評判の良いゲームを構造解析したら良いんでない?
画面の端から端まで移動するのに何秒とか,画面全体と自機の大きさの比率とか。
別に実行ファイルをクラックしろってんじゃ無くて,スナップショット撮ったり,ストップウォッチ片手にカチカチやったり。
そういうのはパクリでもなんでもないと思うけど。
0678名前は開発中のものです。04/03/16 12:54ID:LYMTIPWV
>>663
基本的に360×480だけど、
解像度可変かつ90度回転なんかも可能なように作っておこうかなあと思ってたり。
0679名前は開発中のものです。04/03/16 16:37ID:7stYpxMs
Win32で弾のうごかしかたをおしえてください!!
0680名前は開発中のものです。04/03/16 16:42ID:8zXVVqQP
>>679
スゲェな。
あー、春休みか。
0681名前は開発中のものです。04/03/16 16:42ID:4c+iQVtt
内部座標を動かすのは別にwin32関係ない
0682ぁきまさ04/03/16 22:00ID:slDWxodP
現在STGをつくってるわけですが、
おもしろいステージを作るのに、
何か、コツとか定説とかそういったものはありますか?
どうも「おもしろい」という感覚が漠然としすぎていて、
どんな風にステージ設計したらおもしろいかなぁと思っています。

一応自分のSTGのコンセプトは
・展示用
・へぼな俺の練習用
・正しい道筋を考えよう
です。

ご教授キボンヌ。
■ このスレッドは過去ログ倉庫に格納されています