トップページgamedev
987コメント289KB

シューティングゲーム(非FPS)製作技術総合

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

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

ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。
0636名前は開発中のものです。2010/07/19(月) 20:31:47ID:349rOEJV
>>635
うおおお少ない情報でありがとうございました!60いきました(゚∀゚)
>>629-631
>>633-634
ありがとう!
0637名前は開発中のものです。2010/07/19(月) 23:06:33ID:AisVpGJ6
>>625のサイトにはDXライブラリ関連の技術文書・論文も掲載されているはずだから、
(そもそも、ここのプログラマーはDXライブラリ業界の王手ww)参考にするといいよ。
0638名前は開発中のものです。2010/07/19(月) 23:18:16ID:jCHJu3i/
技術文書のアフィだろ
0639名前は開発中のものです。2010/07/20(火) 09:37:59ID:OgjjYaYW
638 :名前は開発中のものです。:2010/07/19(月) 23:18:16 ID:jCHJu3i/
技術文書のアフィだろ


もはや意味不明なレベル
0640名前は開発中のものです。2010/07/20(火) 19:57:30ID:beQ2RDyx
プログラム関連の板だけに
何らかのスクリプトかも知れないぞ
0641名前は開発中のものです。2010/07/20(火) 22:28:48ID:6D9fpexo
なんだアフィ厨と言われて切れてた奴はアフィの意味がわからないのかwwww
0642名前は開発中のものです。2010/07/21(水) 07:25:06ID:fsgV+PPU
王手飛車とり
0643名前は開発中のものです。2010/07/21(水) 07:50:16ID:+yACZfdP
アフィリエイトで思ったより稼げずに失敗した奴らの嫉妬がひどいな
有名な専門技術系高度知的経済学的ITソリューションには広告依頼がくることくらい普通だ
0644名前は開発中のものです。2010/07/21(水) 11:48:43ID:xSIYF6Al
嫉妬でも普通でもどうでもいい、来るなって言われてんだから来なきゃ良いだけ
そんなに優秀さを証明したいならリンク張らずにサンプル貼れば良いんだよ
0645名前は開発中のものです。2010/07/22(木) 03:56:53ID:/tYkBEs7
サンプルならページ内に沢山あるじゃん
こいつ何言ってんの
0646名前は開発中のものです。2010/07/22(木) 11:05:34ID:MMvuamR1
見る気もおきないリンク先に何があろうと知った事か
本当に優秀なサイトなら宣伝なんかしなくても勝手に噂が広まるもんだ
0647名前は開発中のものです。2010/07/22(木) 17:00:24ID:/tYkBEs7
我慢できなくてレスしちゃうんですね
0648名前は開発中のものです。2010/07/23(金) 01:00:16ID:15bIEw48
見る気もおきないリンク先に何があろうと知った事か
本当に優秀なサイトなら宣伝なんかしなくても勝手に噂が広まるもんだ
0649名前は開発中のものです。2010/07/23(金) 21:54:47ID:zQxbFxpM
見る気もおきないリンク先に何があろうと知った事か
本当に優秀なサイトなら宣伝なんかしなくても勝手に噂が広まるもんだ
0650名前は開発中のものです。2010/07/24(土) 21:29:19ID:v8gN3bTe
見る気もおきないリンク先に何があろうと知った事か
本当に優秀なサイトなら宣伝なんかしなくても勝手に噂が広まるもんだ
0651名前は開発中のものです。2010/07/25(日) 23:14:21ID:64zw549z
>>628
directxでスプライト使ってるならテクスチャでソートすれば?
あと衝突判定を最小限(プレイヤ⇔敵弾、プレイヤ⇔敵、自機弾⇔敵機)にする。
directxなら、プレゼント時の更新領域をちゃんと指定して最小限にしてやる。

これだけでよほど酷い組み方してなきゃ60とか余裕。
3Dだったら知らん。可能なものは擬似的に3Dっぽくするように画像用意してビルボードで処理するとか。

0652名前は開発中のものです。2010/07/27(火) 00:20:08ID:QM1qUzkU
釣りに亀マジレス。夏だな。
0653名前は開発中のものです。2010/08/16(月) 02:16:43ID:mRrQskyV
シューティングじゃないかもしれないけど
剣を振ったような映像ってどうやって作ればいいんですか?
ドット絵大量に使ってアニメーション作る以外に方法があったら教えて下さい。
0654名前は開発中のものです。2010/08/17(火) 02:57:19ID:ah8NolnG
動画再生とか
0655名前は開発中のものです。2010/08/17(火) 11:54:54ID:e29U2ZuP
剣を振ったような映像ってのがわからないな。
まずは作ってうpしてくれないか?
0656名前は開発中のものです。2010/08/18(水) 02:02:58ID:ouBVn/Dn
>>653
STGとかにあるワイパー(ソード)なら、
軌跡を台形や扇形を何枚かで描いて、いい感じに色の掛け合わせがフェードアウト上になってれば十分それっぽく見えると思うよ。
3Dアクションでもps2の頃はそんな表示のゲーム多いと思う。
0657名前は開発中のものです。2010/08/24(火) 01:38:54ID:6Tu0PzOb
>>225

ゲーム作成に参加した。
0658名前は開発中のものです。2010/08/28(土) 03:20:50ID:aICodZDh
みなさんソースファイルいくつですか
1キャラ1クラス作ってて結構な数になりそうなんだけど大丈夫かな
0659名前は開発中のものです。2010/08/29(日) 21:13:57ID:psbrtQID
小さいクラスは同じファイルにまとめた。
0660名前は開発中のものです。2010/09/17(金) 18:37:52ID:b92kLMfZ
作りかけだけど30くらいかな
0661名前は開発中のものです。2010/09/18(土) 13:09:03ID:E//Ilx3F
>>658
俺はキャラ複数いてもキャラのクラスは1つにするな
キャラごと違う部分は
if(CharaType==1)・・・
else if(CharaType==2)・・・
って感じにしてる
0662名前は開発中のものです。2010/09/18(土) 20:00:38ID:PYS0rAUC
それやる位ならスイッチの方が良さそうな気がするが
キャラ多い場合は
0663名前は開発中のものです。2010/09/19(日) 02:01:02ID:RC+1/PZB
swichでやる必要性ってあるの?
0664名前は開発中のものです。2010/09/19(日) 04:26:28ID:cXxorQOH
可読性が高くなるし、その分うっかりミスも少なくなる。
else 〜 なんかずらずらつなげるのは switch の存在を知らない初心者くらいだろう。
0665名前は開発中のものです。2010/09/19(日) 10:11:40ID:WZ0Mul8v
速度としても、数が増えてくるとswitchの方が早くなるはず
0666名前は開発中のものです。2010/09/19(日) 10:14:50ID:G+U2QefM
そこらへんはコンパイラが最適化してくれんじゃねーの?
0667名前は開発中のものです。2010/09/19(日) 22:25:58ID:RC+1/PZB
javaだとswichよりelse使った方が容量が減るよ。
処理速度が速いってのはどの言語にも当てはまるの?
0668名前は開発中のものです。2010/09/19(日) 23:38:24ID:WZ0Mul8v
javaかー
俺はC++しか知らないから、他の言語はわからないや
0669名前は開発中のものです。2010/09/20(月) 00:23:05ID:ypVTyM0c
じゃヴぁでシューティングって
0670名前は開発中のものです。2010/09/20(月) 00:41:21ID:YYPdi3El
キーボード等からの入力と画面への描画が出来ればどんな言語でもゲームは作れる。
0671名前は開発中のものです。2010/09/20(月) 01:34:39ID:Nx+Q2MDR
携帯アプリでシューティング作ろうとしたら
javaでしか無理じゃん
0672名前は開発中のものです。2010/09/20(月) 02:16:01ID:FLEKFsTh
>>671
Flash
0673名前は開発中のものです。2010/09/20(月) 13:20:12ID:GNe4C34S
携帯アプリって本当にC言語とか使えないの?
OSはC言語なんでしょ?
0674名前は開発中のものです。2010/09/20(月) 14:21:53ID:Nx+Q2MDR
メモリに直接アクセスできるC言語なんて使えたら
アプリで携帯をぶっ壊すことが可能になっちゃうだろ
0675名前は開発中のものです。2010/09/20(月) 14:24:27ID:xBpgp9ZY
確かauのBREWはCでも組めたよ
0676名前は開発中のものです。2010/09/20(月) 16:31:44ID:JYtE6tSU
http://www1.axfc.net/uploader/He/so/294554
>>607の改造版
0677名前は開発中のものです。2010/09/20(月) 17:39:11ID:ioukBWfm
>>676
産業で言うと

解凍したら赤さんでてきて釣りかと思った
起動したら爆音がするって書いておけカス
進歩が見られない
0678名前は開発中のものです。2010/09/20(月) 18:18:12ID:NT835AJ6
>>663
ソース内で制御構文使って分岐をベタ書きしても全く不都合ない、つー前提を
>>661から読み取るとifとswitchの主な差は可読性だろうなぁ
「単純な識別子に応じて複数の処理があるよ」てことをswitch文は示唆するから
一瞥した時にif文よりも幾分読みやすいだろ

ただマジックナンバー使ってるから「即席・作り捨ての小さなプログラム」とも読み取れるし
ここではどっちでもいい話かもな

あとif文とswitch文に速度差が出るくらい識別子の種類が増えたり、メインプログラムの
ソース内にベタ書きすると不便になるくらい頻繁に修正が入るような部分なら外に追い払うだろ
0679名前は開発中のものです。2010/09/20(月) 18:56:42ID:ZXsfQDzK
クラス使えばポインタで分岐できて見やすい
0680名前は開発中のものです。2010/09/20(月) 20:15:10ID:d2fwGT9E
ポインタとイフスイッチどっちが速いの?
0681名前は開発中のものです。2010/09/20(月) 20:24:53ID:YYPdi3El
場合による
0682名前は開発中のものです。2010/09/20(月) 20:50:24ID:Nx+Q2MDR
>>676
×押してもプロセスが終了しないんだが
0683名前は開発中のものです。2010/09/22(水) 23:47:32ID:nqz2yjng
今Flash使ってアクションシューティングもどき作ってる初心者ですが
一つの敵に腕とか複数のパーツがある敵ってどう作ればいいか全く見当がつきません
ググっても分かりません助けてください
0684名前は開発中のものです。2010/09/22(水) 23:55:19ID:zu5HzNuZ
初心者はシューティングだけにしとけ
Flashやめてツクールにしなさい
0685名前は開発中のものです。2010/09/22(水) 23:59:06ID:8UDo2dBB
腕とかもひとつのキャラとして扱って、その座標を本体にあわせるだけ。
0686名前は開発中のものです。2010/09/23(木) 00:10:07ID:o1v/wkDY
>>685
そこまでは分かるけどそれだと親から子へどうやって情報を渡せば良いんでしょうか・・・
0687名前は開発中のものです。2010/09/23(木) 01:23:32ID:UiyQ0o5D
俺は単純に子の情報を親に持たせて、そこから操作させてるけど
一般的にもっといい方法あるかもね。

俺は動けばいいレベルしか作れんし。
0688名前は開発中のものです。2010/09/23(木) 02:53:39ID:Jre2ShzM
俺はまず敵を作る時にIDを設定する。
で、親が子を作る時に一番上の親(root)のIDと、一つ上の親(parent)のIDを渡してる。

敵の座標などのパラメータは全て配列で制御していて、そのIDを入れるとその敵の座標を参照できるようにしてる。
要は敵を生成する時にまとめて x[ID] = 10; みたいな感じでパラメータを入れてる。

子の座標(x, y)が ((enemyX[parentID] + x), (enemyY[parentID] + y)) みたいな感じ。
コレを繰り返すと触手みたいになるって寸法。

まぁ、Cで独自にやってるので凄く微妙な作りだと思います。
Flashなら腕を動かしてるアニメをあらかじめ作っちゃうって手もあるかもw
0689名前は開発中のものです。2010/09/23(木) 03:18:16ID:Jre2ShzM
一番上と自分のIDを子に渡すだった。。。
0690名前は開発中のものです。2010/09/24(金) 01:46:36ID:4mRtFkVz
な、何でこんなににぎわってるんだすごくうれしいぞ!どんなレスでもにぎわってるほうがいいなやはり。

>>683
基本的には>>688のとおり。スキンメッシュやアニメーションメッシュなんかも原理的にはこれ。

class NestableUnit{
public NestableUnit Parent;
public List<NestableUnit> Children;
public PosVelocityAccele GrobalMoveState;

protected PosVelocityAccele localMoveState;
public abstract void Move(object arg);
public abstract void Draw(Vector3 addPosition); //大きい敵撃破時の振動エフェクト処理など、衝突判定その他には関係ないが描画位置を動かしたい場合にここから渡す。
・・・
}
class UnitA : NestableUnit{
public override void Move(object arg){
foreach(a this.Children){
a.Move(this);
}
}
}

グローバル座標は、直親のグローバル座標と子のローカル座標から算出。
判定処理はもちろんグローバル座標で処理する。

・・・ただ、実際のところほとんどの敵キャラは座標の階層化しないから、うちはNestableUnitの親にCustomUnitがいて、ほとんどの表示物はそいつの派生になってる。
Unit(汎用クラス。ほぼインタフェース状態。)
-CustomUnit(自分のゲームシステム用にメンバの追加や基本処理でoverrideを行ったもの。自分は最近接キャラに対する追尾弾などを処理するのを楽するため、StageはList<CustomUnit>をもち、CustomUnitはStageを持つ。)
--CustomNestableUnit(触手系用にメンバを増やしたもの。)
--Custom3DUnit(Unitはスクリーン座標管理なので、3Dグラフィックのキャラをスクリーン座標で管理できるようにしたもの。)
0691名前は開発中のものです。2010/09/24(金) 20:50:47ID:AOoN4ZAZ
>>688
ふむ…なるほどぅ
親が子供に命令を出すのじゃなく子供が親の状態を見るわけかせんきゅう
今作ってる奴もぴったり生成時にx[ID] = 10;みたいにまとめてパラメータを入力してるからちょうどええで
いける気がしましたやってみます!
>>690
悲しいかな私のFlashはMXでした…AS3っぽいけど全く分からなかったデス吸いません;;
0692名前は開発中のものです。2010/10/13(水) 22:56:03ID:dRb2l7e2
javascriptでシューティング作ろうとしたら重すぎてだめだった。
0693名前は開発中のものです。2010/10/14(木) 23:23:32ID:8GZOnq4X
綺麗なレーザーの作り方がいまいち良く解らん
どっかに解説してるサイトとか無いかな…
0694名前は開発中のものです。2010/10/15(金) 00:02:01ID:9Tf2hbLL
木こりの泉にレーザーを落とすんダ
0695名前は開発中のものです。2010/10/15(金) 04:00:40ID:hWDK4IHz
貴方の落としたレーザーは、この汚いレーザーですか、それとも綺麗なレーザーですか、ってか。

>>693

自分が綺麗だ、と思うレーザーみて真似するのが早いんじゃない?

君が望むレーザーがどんなものか判らん上に、なのが「良く解らん」のかも判らん以上、
他の人にはどうしようもないと思うが。
0696名前は開発中のものです。2010/10/15(金) 20:03:02ID:st9rDedo
レーザーなんて線の絵を書いて張り付けるだけじゃないの?
0697名前は開発中のものです。2010/10/15(金) 22:03:33ID:v07HWj+k
グラディウスみたいな直線レーザー
レイフォースみたいな曲がるレーザー
蜂みたいな滝レーザー

他にも雷電のリーマンレーザーとかSTGって色々なレーザーあるよね
0698名前は開発中のものです。2010/10/15(金) 22:15:55ID:e21fI4aL
LINE文を使うんだろ?
0699名前は開発中のものです。2010/10/15(金) 23:51:07ID:YwMPVDHf
それでもいけそうだな。
0700名前は開発中のものです。2010/10/16(土) 00:35:45ID:bCbR/GgY
テグザーか
0701名前は開発中のものです。2010/10/16(土) 00:56:35ID:UzFrsD/J
曲がるレーザーってどうやって当たり判定するの?
0702名前は開発中のものです。2010/10/16(土) 01:15:20ID:Mg6mqKVP
一ドットずつ調べんだよ
0703名前は開発中のものです。2010/10/16(土) 02:01:47ID:ey43RyYZ
>>701
俺は先端にだけ判定付けてる。

↓こんな感じ。

●○○○○○
0704名前は開発中のものです。2010/10/21(木) 06:40:18ID:cb6r656W
曲がってないようにみえる
0705名前は開発中のものです。2010/10/21(木) 08:39:33ID:3JqvbtKj
○簡易ホーミングレーザー

・1、敵弾
・2、自機に向かう敵弾(追尾弾ではなく自機の位置を見て発射するもの)
・3、方向を指定して撃てる弾(細長いものなどで角度も合わせる)
・4、レーザー(絵を繋いだ敵弾・またはLINEで描いたり)

・A、動く敵
・B、敵を生成する敵
・C、円を描いて追尾する敵
・D、蛇(グラディウスのドラゴンみたいなやつ)

を各自こなして、4とDを足したようなのを作れば完成!

※4は細かくすればするほど動きが綺麗(なめらか)になるが重くなる。
※絵や線の周りを光らせるような処理を描くと見た目がとても派手になるぞ!
0706名前は開発中のものです。2010/10/21(木) 08:41:19ID:3JqvbtKj
書き忘れた…

→円を描いて追尾する敵(カバードコアのホーミングミサイルみたいなやつ)
0707名前は開発中のものです。2010/10/21(木) 15:42:28ID:Vd75RcHy
俺の場合、ミサイルがしっぽのように吐く煙と同じように
レーザーの先端がレーザーのしっぽを吐くようにしてるな。
(レーザーの1フレームの移動速度はしっぽの長さを越えない事が前提)

当たり判定は先端にしかないけど、
全体に判定つけたければ、しっぽに判定つけるだけで済むわ。
0708名前は開発中のものです。2010/10/21(木) 22:33:16ID:Q7DGlSYo
カバードコアのってホーミングか?
丸い奴だよな?
0709名前は開発中のものです。2010/10/21(木) 22:52:54ID:3JqvbtKj
ごめん、ホーミングじゃなかったなw
向きを変えたり円を描くような動きはするので、動き的にはあんな感じではあるかな。
その動きを自機に向かいながら繰り返せばホーミングミサイルって言うか。
0710名前は開発中のものです。2010/10/25(月) 02:00:23ID:d7jBwYt4
シューティングの背景って常に流れるようにするのがむずすぎ
やっぱ3Dを勉強しないとダメなんだろうか
0711名前は開発中のものです。2010/10/25(月) 04:27:45ID:2PMR2Ic+

1・星(や雲)を流す
2・マップチップ(ループ背景)
3・大きい絵をスクロール
4・動画を流す
5・3D
0712名前は開発中のものです。2010/10/25(月) 07:49:59ID:hzk9GvVv
3Dはやった事ないから難易度はわからんけど
2Dの背景をスクロールさせる(?)なんて難しくもなんともないだろう?
キャラクター動かすのとなんら変わるところはない。

それとも何か別の事を指して言っているのか?
0713名前は開発中のものです。2010/10/25(月) 10:40:35ID:yjPjoxeK
道中からボス戦へ背景が変わるのをやりたいとか。
ていうか3Dだろうと2Dだろうとやってることはそんなに変わらんでしょ
0714名前は開発中のものです。2010/11/07(日) 21:54:29ID:x5vJfpN3
>>707
俺は先頭の弾が移動するたびに移動しないで当たり判定だけある
弾を生成してタイムリリースするようにしてるけど、ほぼ同じ
処理だよね?このやり方だと早いレーザーの処理がむりなんす
けどね。
0715名前は開発中のものです。2010/11/07(日) 22:50:20ID:X0bQhyNg
ほぼというかまったく同じだろうね。

早いレーザーなら、それこそ弾道にそって複数の当たり判定ある玉を並べて生成すればいいんじゃね?
0716名前は開発中のものです。2010/11/17(水) 00:19:57ID:/GdGrnFL
シューティングって他のゲームと比べて作るのが楽なの?
0717名前は開発中のものです。2010/11/17(水) 00:28:35ID:M4Yd1VFw
比較的楽というだけで楽ではないけどな。
0718名前は開発中のものです。2010/11/17(水) 00:33:19ID:5zoGAHwQ
基礎を学ぶにはいいと思う
0719名前は開発中のものです。2010/11/17(水) 09:13:18ID:9K2YbatA
作るだけなら楽だが、面白くなるように調整する大変さは他のゲームと変わらない。
0720名前は開発中のものです。2010/11/17(水) 18:01:27ID:TjnmUltd
まぁ、解説サイトが多いから作り易いし
0721名前は開発中のものです。2010/11/17(水) 19:07:46ID:VPXiT162
技術的にはできるようになったけど面白いゲームが作れなくて
もう2年も試作みたいなのしか作れない。
マジでステージとか考えれる奴はすごいと思う。
1面すらまともなのができる気がしない。
0722名前は開発中のものです。2010/11/17(水) 20:08:43ID:7lX3zJ21
なんでもそうだけど、最初は真似から入るのがいいんじゃないかな。
好きなゲームをそのまま自分で作るつもりで。

微にいり細にいり、1ドットも違わずまるコピー……じゃなくて、うろ覚えでいいから。
自機の動く感覚とか弾の出るタイミングとか、そうやって覚えていけばなんとかなるんじゃないかな。

もちろんそうやって丸コピーしたゲームを自作オリジナル作品として公開なんかしたら
叩かれるのは目に見えてるから、そこらへんはうまくやらないといけないけど。
0723名前は開発中のものです。2010/11/18(木) 00:37:50ID:qpJm5sXz
市販のゲーム追いかけ過ぎなんじゃないかね
参考にするのはいいけど自分の作りたいように作ればいいんじゃね
0724名前は開発中のものです。2010/11/19(金) 08:24:08ID:QhwpoYkw
シューティングは廃れたジャンル
0725名前は開発中のものです。2010/11/19(金) 09:12:31ID:mY5Ker5U
みんな同人に移っちまったからな
0726名前は開発中のものです。2010/11/19(金) 16:14:05ID:LZOYQqz3
ゲームプログラミングの教材としたらかなりのもんだと思うのだが
0727名前は開発中のものです。2010/11/19(金) 18:04:27ID:lptLtI9S
シューティングはオワコン。
素人でも作れるということがバレれしまい、
お金を出さなくなった。
0728名前は開発中のものです。2010/11/19(金) 18:45:31ID:cN9sseqM
素人には作れないシューティングを作るしか無い
0729名前は開発中のものです。2010/11/19(金) 19:36:21ID:7StUoQpy
俺は素人だから無理だな。
0730名前は開発中のものです。2010/11/19(金) 20:09:14ID:QhwpoYkw
アイデアで勝負だよ
0731名前は開発中のものです。2010/11/19(金) 21:27:30ID:nXKhCIFM
廃れた廃れた詐欺だよな
十数年前から廃れてたけど新作は出る
0732名前は開発中のものです。2010/11/20(土) 02:56:40ID:WORTq2j2
これって人に売ったり評価されるために作るのか
自分で好き勝手に作りたいものを作る、あるいは単に学習の為に作るのか
という立場で違ってくるよね
0733名前は開発中のものです。2010/11/22(月) 20:25:34ID:Qla5p+27
ゲーム製作の入門書とかにあるのとか弾幕みたいのを作ってシューティングは簡単って言っちゃだめだよぅ。
0734名前は開発中のものです。2010/11/23(火) 00:05:54ID:GjcQcyV5
ソースコードが長くなると、ちょっとの機能追加が大変な事になるからな。
これを理解出来ない厨房の何と多い事か。
0735名前は開発中のものです。2010/11/23(火) 00:31:37ID:0llWMy4J
ソースコードが増えても仕様変更に耐えうる柔軟な設計さえできていれば機能追加がそこまで苦痛にはならないよな
先を見据えた設計ができないと問題にぶち当たったときモチベが死ぬ
■ このスレッドは過去ログ倉庫に格納されています